*DECK DFTERM
PROC DFTERM;
# TITLE  DFTERM - TERMINATE PROCESSING OF DIRECTIVE FILE.  #
  
      BEGIN    # DFTERM # 
  
      CONTROL PRESET; 
  
# 
**    DFTERM - TERMINATE PROCESSING OF DIRECTIVE FILE.
* 
*     DFTERM IS CALLED FROM MFLINK AND MFQUEUE TO 
*     TERMINATE PROCESSING OF THE DIRECTIVE FILE. 
* 
*     PROC  DFTERM
* 
*     PROCESS - IF INT: 
*                 CLOSE/UNLOAD CONNECTED FILES
*               ASLONGAS (I EQ 0 AND NOT INT AND NOT EOF):  
*                 READ CONTROL STATEMENT RECORD 
*                 IF NOT EOF: 
*                   IF FIRST CHAR NQ PC:  
*                     BACKSPACE CONTROL STATEMENT RECORD
*                     EOF = TRUE
*               ASLONGAS (I NQ 0 AND NOT INT AND NOT EOF):  
*                 READ DIRECTIVE FILE.
* 
*               RETURN. 
* 
# 
  
*CALL COMCBEGN
*CALL COMDFRD 
# 
****  PROC DFTERM - XREF LIST BEGIN.
# 
      XREF
        BEGIN 
        PROC DF$PON;               # TURN NOS PROMPT BACK ON #
        PROC DF$UNL;               # CLOSE/UNLOAD FILE #
        PROC DF$RCS;               # READ CONTROL STATEMENT RECORD #
        PROC DF$RDH;               # READ CODED LINE #
        END 
# 
****  PROC DFTERM - XREF LIST END.
# 
      CONTROL EJECT;
      IF INT
      THEN
        BEGIN 
        DF$PON; 
        IF DFETNAME EQ INTDIRFILE 
        THEN
          BEGIN 
          DF$UNL(DFET); 
          END 
        END 
  
      IF RA$JOT EQ 3               # IF INTERACTIVE JOB # 
      THEN
        BEGIN 
        IF OUFETLIMIT EQ 0
        THEN
           BEGIN
           OUFETFIRST = LOC(CIOOUT);
           OUFETIN = OUFETFIRST;
           OUFETOUT = OUFETFIRST; 
           OUFETLIMIT = OUFETFIRST + BUFLGTH + 1; 
           END
  
        DF$UNL(OUFET);
        END 
  
      ASLONGAS (I EQ 0 AND NOT INT AND NOT EOF) 
      DO
        BEGIN 
        DF$RCS(NXT,EOF);
        IF NOT EOF
        THEN
          BEGIN 
          IF RA$CSFC NQ PROMPT
          THEN
            BEGIN 
            DF$RCS(BKSP,EOF); 
            EOF = TRUE; 
            END 
  
          END 
  
        END 
  
      ASLONGAS (I NQ 0 AND NOT INT AND NOT EOF) 
      DO
        BEGIN 
        DF$RDH(DFET,DUM,ONE,EOF); 
        END 
  
      RETURN; 
  
      END    # DFTERM # 
      TERM
