* 03/29/76 -- 15:30
* MODULE NAME: INITIAL
* NUMBER: 2
* PURPOSE: INITIALIZATION AFTER LOG-ON AND
*          CLEAN-UP AFTER 'END' COMMAND
*
* ENTRY POINTS:
*
         DEF      S02INIT           INITIALIZATION AFTER LOG-ON
         DEF      C02END            CLEANUP AFTER 'END' COMMAND
         DEF      BATCHFLG          BATCH MODE FLAG
         DEF      S02BCHK           BATCH MODE ERROR CHECK
*
         REF      S03LOGON,S03WMREC
         REF      S03RELPR          RELEASE PRINT FILE
         REF      S27CHDR,S27CTXT   CLOSE TEXT, HEADER FILES
         REF      S15INIT           INITIALIZE AF BUFFERS
         REF      S27INIT,S27END    INITIALIZE,RESTORE M:UC
         REF      S41STOP           BOX-DRAWING INITIALIZATION
         REF      S36M:EXIT         EXIT TO MONITOR
         REF      S27PRINT          PRINT LINE TO TERMINAL
         REF      J:JIT             FIRST WORD OF JIT
         REF      S29STD            WRITE STANDARD MESSAGE
         REF      S27CLOSE          CLOSE A FILE
         REF      S27OPEN           OPEN A FILE
         REF      S27SETLP          SET UP LP FOR OUTPUT
         REF      S03BWSCK          SET UP BATCH WORKING STORAGE
         REF      S36ADJ            ADJUST DCB
         REF      S36OPNLP          OPEN DCB TO LP
         REF      M:LO              M:LO DCB
         REF      F:LO              F:LO DCB
         REF      F:LL              F:LL DCB
         REF      DCBADDR           DCB ADDRESS SAVE WORD
         REF      ZRORTNST          ZERO RTN STACK
*
*
         SYSTEM   TEXTDEF
         SYSTEM   ITEMDEF
            INVWSSTA
*
*
         DEF      2P,2D
2P       EQU      %
         DATA     X'02'             MODULE NUMBER
         DATA     X'032976'         DATE
         DATA     X'1530'           TIME
*
         TITLE    '** INITIAL(2) **'
*
*
* LOG-ON INITIALIZATION
*
S02INIT  EQU      %
         SAVRTN
*
*
* INITIALIZATION ROUTINES
*
*
         LI,AC1   0                 INIT TO ON-LINE
         MTW,0    J:JIT             BATCH/ON-LINE
         BLZ      INIT10            ON-LINE
         AI,AC1   1                 SET TO BATCH
INIT10   RES      0
         STW,AC1  BATCHFLG          SAVE IN BATCH FLAG
         MTW,0    BATCHFLG          BATCH MODE
         BGZ      INIT20            YES, SKIP M:UC INIT
         BAL,SRTN S27INIT           INITIALIZE M:UC
         B        INIT30
INIT20   RES      0
         BAL,SRTN S27SETLP          SET UP LP FOR OUTPUT (BATCH)
         LI,AC3   F:LO              GET F:LO DCB
         BAL,SRTN S27CLOSE          CLOSE LP
*
* IF OUTPUT ASSIGNED TO FILE, OPEN KEYED
         LW,AC1   M:LO              GET 'ASN' FIELD OF DCB
         AND,AC1  L(X'F')
         CI,AC1   1                 ASN = 1 MEANS FILE
         BNE      INIT25            NOT FILE
         LI,AC3   M:LO              GET M:LO DCB
         BAL,SRTN S36ADJ            SET TO KEYED
INIT25   RES      0
* SEE IF F:LL HAS BEEN ASSIGNED TO A FILE;
* IF NOT, OPEN TO LP
*
         LW,AC1   F:LL              GET 'ASN' FIELD OF F:LL
         AND,AC1  L(X'F')
         CI,AC1   1                 ASN = 1 MEANS FILE DCB
         BNE      INIT30            NOT FILE DCB
         LI,X1    2                 SET UP INDEX
         LB,AC1   F:LL+22,X1        GET NO. OF WORDS IN FILE NAME
         BNEZ     INIT30            F:LL ASSIGN'ED TO FILE
         LI,AC1   F:LL              GET ADDR OF F:LL
         STW,AC1  DCBADDR           SAVE FOR OPEN
         BAL,SRTN S36OPNLP          OPEN F:LL TO LP
INIT30   RES      0
         BAL,SRTN S15INIT           INITIALIZE AUX FILE STATUS
*
*
* INITIALIZE AND PRINT LOG-ON STATUS
*
         LW,AC1   BATCHFLG          IF BATCH MODE
         STB,AC1  BATCHFLG          SET TO OUTPUT THRU F:LL
         LI,BUF1  BA(LOGONMSG)+1    GET ADDR OF VERSION MSG
         LB,AC1   LOGONMSG          GET SIZE OF MESSAGE
         BAL,SRTN S27PRINT          PRINT VERSION MSG
         BAL,SRTN S03BWSCK          SET UP BATCH WORKING STORAGE
         BAL,SRTN S03LOGON          INITIALIZE LOGON STATUS
         BAL,SRTN S41STOP           INITIALIZE BOX-DRAWER .
         RETURN
*
*
         PAGE
*
*
C02END   EQU      %
*
         MTW,0    BATCHFLG          BATCH MODE
         BEZ      END50             NO
         LI,AC1   #SAVE             SET FOR CLOSE WITH SAVE
         LI,AC3   M:LO              DCB = M:LO
         BAL,SRTN S27CLOSE          CLOSE OUTPUT FILE
         LI,AC1   #SAVE             SET FOR CLOSE WITH SAVE
         LI,AC3   F:LL              DCB = F:LL
         BAL,SRTN S27CLOSE          CLOSE F:LL WITH SAVE
END50    RES      0
*
         BAL,SRTN S03RELPR          RELEASE PRINT FILE
         LI,AC1   #REL              SET TO RELEASE IF BATCH
         MTW,0    BATCHFLG          BATCH MODE
         BGZ      CLSWS             YES
         BAL,SRTN S03WMREC          WRITE MASTER RECORD
         LI,AC1   #SAVE                NLINES>0, SAVE FILES
*
CLSWS    EQU      %
         BAL,SRTN S27CHDR           CLOSE HEADER FILE
         BAL,SRTN S27CTXT           CLOSE TEXT FILE
*
         MTW,0    BATCHFLG          BATCH MODE
         BGZ      S36M:EXIT         YES, EXIT
         BAL,SRTN S27END            SESTORE M:UC PARAMETERS
         B        S36M:EXIT         EXIT TO MONITOR
*
*
         PAGE
*
*
* S02BCHK -- BATCH MODE ERROR CHECK
*
S02BCHK  RES      0
         SAVRTN
         MTW,0    BATCHFLG          BATCH MODE
         BEZ      BCHK900           NO
         LI,AC1   69                SET UP 'INVALID BATCH COM' MSG
         STB,AC1  BATCHFLG          SET TO OUTPUT THRU F:LO
         BAL,SRTN S29STD            GO WRITE MESSAGE
         B        ZRORTNST          GO READ NEXT COMMAND
BCHK900  RES      0
         RETURN
*
*
*
*
LOGONMSG MESSAGE  'TEXT -- VERSION B00, 3/29/76'
*
*
         PAGE
*
*  LOCAL VARIABLES
*
2D       CSECT    0
*
*
BATCHFLG DATA     0                 BATCH MODE FLAG
*
*
*
         USECT    #PLOC
         END
