*DECK XFRERR
USETEXT COMCBEG 
USETEXT COMCAPR 
USETEXT COMCCAE 
USETEXT COMQDEF 
USETEXT COMQFIL 
USETEXT COMQNET 
    PROC XFRERR;
      BEGIN    # XFRERR # 
# 
**    XFRERR    PROCESS NETXFR STATUS.
* 
*     ENTRY      ACN = AFT INDEX. 
* 
*     EXIT       SEE PROCESS. 
* 
*     PROCESS    LOOK UP NETXFR RESPONSE IN TABLE.
*                SET IDLE.
*                SET SHUTDOWN.
*                IF CONNECTION BROKEN OR NAM TRANSFER ERROR:  
*                  CALL CONERR TO END CONNECTION. 
*                  SET FILECB = TRUE. 
*                ELSE:  
*                  IF TRANSFER ERROR MESSAGE: 
*                    CALL RCMERR (SETS FILCER). 
*                    SET FILEXFR = RETRY. 
# 
  
# 
****  XREF
# 
      XREF
        BEGIN 
        PROC CONERR;               # PROCESS CONNECTION ERROR # 
        PROC NAME;                 # DEBUG CODE # 
        PROC RCMERR;               # PROCESS FILE ERROR # 
        FUNC YCDZ       C(10);     # CONVERT BINARY TO DPC #
        END 
  
# 
****  XREF END
# 
  
  
      ITEM I          I;           # SCRATCH #
  
*CALL COMDXFR 
  
      DEF LEMSGXFR   #37#;
      ARRAY EMSGXFR    S(4);
        BEGIN 
        ITEM $DXFRA     C(00,00,18) = ["NETXFR ERROR NN - "]; 
        ITEM EMSGXFRORD C(01,18,02);
        ITEM EMSGXFRMSG C(01,48,19);
        END 
  
  
      I = FILESTS;
      EMSGXFRORD = YCDZ(I, 2);
      IF (I LT 1) OR (I GT MAXXFRERR) 
      THEN
        BEGIN 
        I = 0;                     # UNDEFINED NETXFR STATUS CODE # 
        END 
  
      IDLE        = IDLE        OR XFR$IDLE[I]; 
      SHUTDOWN    = SHUTDOWN    OR XFR$SHUT[I]; 
      EMSGXFRMSG  = XFR$ERRMSG[I];
      IF XFR$CONBRK[I]             # IF CONNECTION BROKEN # 
        OR (NAM AND XFR$CONCB[I])  # OR NAM TRANSFER ERROR #
      THEN
        BEGIN 
        CONERR (LOC(EMSGXFR),LEMSGXFR); 
        FILECB = TRUE;             # SET CONNECTION BROKEN #
        END 
  
      ELSE
        BEGIN 
        IF XFR$ERRFLG[I] NE " " 
        THEN
          BEGIN 
          RCMERR (LOC(EMSGXFR),LEMSGXFR); 
          FILESTX = STO$RETRY;     # SET RETRY STATE-OF-TRANSFER #
          END 
  
        END 
  
      END  # XFRERR # 
    TERM
