*DECK PRQUIT
USETEXT COMCBEG 
USETEXT COMADEF 
USETEXT COMACBF 
USETEXT COMACBX 
USETEXT COMADFM 
USETEXT COMAFET 
USETEXT COMAMCB 
PROC PRQUIT;
# TITLE PRQUIT - PROCESS QUIT COMMAND.  # 
  
      BEGIN  # PRQUIT # 
  
# 
**    PRQUIT - PROCESS QUIT COMMAND.
* 
*     PRQUIT MUST DECIDE WHAT TO DO WITH A QUIT LEVEL 7 COMMAND 
*     THAT HAS BEEN RECEIVED. 
* 
*     PROC PRQUIT 
* 
*     ENTRY      <FTTENT> = FWA FTT ENTRY.
*                QUIT COMMAND IS IN LEV7BUF.
* 
*     EXIT       LFETEC = EOI (END OF DATA).
*                FTTDXPA = QR ATTRIBUTE.
*                FTTQRSENT = TRUE, IF 2D ES COMMAND SENT. 
* 
*     PROCESS    IF SENDING FILE
*                  FETCH DATA-TRANSFER-PHASE ATTRIBUTE
*                  IF VALID STATE-OF-TRANSFER 
*                    IF NEW ATTRIBUTE EXCEEDS PREVIOUS
*                    WAIT FOR CIO TO COMPLETE 
*                    SET LOCAL (CIO) FET TO END-OF-DATA 
*                    RETURN.
*                CALL PROTERR (PROTOCOL ERROR). 
* 
****  PROC PRQUIT - XREF LIST BEGIN.
# 
  
      XREF
        BEGIN 
        FUNC APFETCH U;              #  FETCH APPLICATION PARAMETER # 
        PROC DAYFMSG;                #  WRITE DAYFILE MESSAGE # 
        FUNC DECCHF     C(10);       # DECIMAL DISPLAY CODE # 
        PROC ENDXFR;                 #  SEND ES COMMAND # 
        PROC PROTERR;                #  PROCESS PROTOCOL ERROR #
        PROC CALLSYS;                # MAKES RA+1 CALLS # 
        END 
  
# 
****  PROC PRQUIT XREF LIST END.
# 
                                               CONTROL EJECT; 
      IF FTTDIRECN EQ SEND         # SENDING FILE # 
        AND (FTTSTATE EQ S"DATAXFRPRG"
          OR FTTSTATE EQ S"ESISSWFACK"
          OR FTTSTATE EQ S"WTFRERCMD")
      THEN
        BEGIN 
        RTNFLAG = APFETCH (TAIHW7MSG,ATTR,QUAL,TEXTL,TEXTACP);
  
        IF   TEXTSTRING[0] EQ P$QR$OK 
          OR TEXTSTRING[0] EQ P$QR$ERR21
          OR TEXTSTRING[0] EQ P$QR$ERR22
        THEN
          BEGIN 
          IF TEXTSTRING[0] GT FTTDXPA 
          THEN
            BEGIN 
            IDFM$ACN2B[PRETERMRCV] = DECCHF (FTTACN,4); 
            DAYFMSG (PRETERMRCV); 
            FTTDXPA = TEXTSTRING[0];
            IF FTTSTATE NE S"DATAXFRPRG"
            THEN
              BEGIN 
              FTTQRSENT = TRUE; 
              ENDXFR; 
              END 
            END 
  
          IF NOT LFETCOMP[0]       # IF CIO FET BUSY #
          THEN
            BEGIN 
            RCLRECALL[0] = TRUE;
            RCLPARAMAD[0] = LOC(LFETCOMP[0]); 
            CALLSYS(RCLCALL); 
            END 
  
          LFETEC = EOI;            # SET END-OF-DATA #
          RETURN; 
          END 
        END 
  
      PROTERR;                     # PROTOCOL ERROR # 
  
      END    # PRQUIT # 
  
      TERM
