SUBPROC 
.PROC,SUBPROC*I,
JOB1    ' 1 TO 6 CHARACTERS OF JOB NAME        '=(*N=,*F),
JOB2    ' SEVENTH CHARACTER OF JOB NAME        '=(*N=,*F),
*CALL COMLIST 
*CALL COMIA 
*CALL COMTOB
*CALL COMTOL
*CALL COMUSER 
*CALL COMDEN
*CALL COMIUN
JOBTYPE ' TYPE OF JOB: CCP OR NORM             '=(*N=NORM,NORM,CCP),
*CALL COMPROC 
. 
.HELP 
  
.****   SUBPROC - EXECUTE BATCH JOB.  SUBMIT BATCH JOB IF 
.*                CALLED FROM INTERACTIVE JOB.  GENERATE JOB STATISTICS 
.*                AND DAYFILE.
  
.**     PARAMETERS
.*
.*      JOB1_JOB2   JOB NAME.  PROCEDURE *JOB* MUST BE ON ZZZPROC.
.*                  JOB1 IS FIRST 1 TO 6 CHARACTERS OF JOB NAME.
.*                  JOB2 IS SEVENTH CHAR OF A SEVEN LETTER NAME.
.*      LIST        NAME OF LISTING FILE
.*      TOBLD       IF 'WAIT' THE JOB'S OUTPUT FILE WILL BE PLACED
.*                  IN THE WAIT QUEUE.   UJN=JOB1_B.
.*      TOLIST      IF 'WAIT'  THE 'LIST' FILE WILL BE PLACED IN THE
.*                  WAIT QUEUE.   UJN=JOB1_L. 
.*      USERF       NAME PERMANENT FILE CONTAINING 'USER' MODSETS.
.*                  THIS FILE IS MADE LOCAL TO THE JOB BY 'GETUSER'.
  
.ENDHELP
*CALL     PSRLEV
  
.*
.*  SUBMIT BATCH JOB IF CALLED FROM INTERACTIVE JOB.
.*
IFE( OT .EQ. TXO .AND. $IA$ .EQ. $YES$,RUNIA) 
  ASSIGN(MS,OUTPUT) 
ENDIF(RUNIA)
IFE( OT .NE. BCO .AND. $IA$ .NE. $YES$,SUBMIT)
  IFE($IUCHG$ .EQ. $YES$,USERC) 
    RENAME(USERCHG=USERCG)
  ENDIF(USERC)
  SUBMIT(ZZZJOB,B)
  RETURN(ZZZJOB,ZZZPROC,USERCHG)
  NOTE(OUTPUT,NR)/ JOB1_JOB2 SUBMITTED. 
  REVERT.  SUBPROC.  JOB1_JOB2 SUBMITTED. 
  EXIT. 
  RETURN(ZZZJOB,USERCHG)
  NOTE(OUTPUT,NR)/ JOB1_JOB2 NOT SUBMITTED. 
  REVERT(ABORT)  SUBPROC.  JOB1_JOB2 NOT SUBMITTED. 
ENDIF(SUBMIT) 
RETURN(USERCHG,USERCG,LGO,NEW,OLD,PFGFILE,IAESMD,GLOBLGO) 
BEGIN(STARTUP,INSTALL,JOB1,JOB2,LIST,IA,TOBLD,TOLIST,USERF) NULL PROC.
*START JOB1_JOB2
*START UP TIME ***********************
.*
.*  INITIATE BUILD JOB. 
.*
SET(EF=0) 
SET(EFG=0)
.IF, ($JOBTYPE$ .NE. $CCP$),SUBPROC0. 
SETTL(*)
SETASL(*) 
SETJSL(*) 
RFL(55000)
.ENDIF,SUBPROC0.
WRITER(OUTPUT)
RETURN(ZZZJOB)
BEGIN(ATTGLOB,INSTALL)
MAP(MAPTYPE)
.IF, ($JOBTYPE$ .NE. $CCP$),SUBPROC1. 
BEGIN(GETUSER,INSTALL,JOB1,USERF) 
RETURN(XMTPROC,XMTFILE) 
NOTE(XMTPROC,NR)+.PROC,IAESMD.
NOTE(XMTPROC,NR)+REWIND(IAESMD) 
NOTE(XMTPROC,NR)+SKIPF(IAESMD)
NOTE(XMTPROC,NR)+REVERT. IAESMD 
NOTE(XMTPROC,NR)+EXIT. IAESMD 
NOTE(XMTPROC,NR)+REVERT(ABORT) IAESMD 
PACK(XMTPROC) 
.ENDIF,SUBPROC1.
BEGIN(JOB1_JOB2,ZZZPROC)
.*
.*  COMPLETE JOB AND GENERATE STATISTICS. 
.*
RETURN(JOB1_JOB2,ZZZPROC,ZZZJOB,JSTATUS)
BEGIN(JOBPASS,INSTALL,JOB1,JOB2,LIST,TOBLD,TOLIST)
NOTE(JSTATUS,NR);JOB1_JOB2;      ;
SKIP(EXIT)
EXIT. 
.*
.*  JOB TERMINATED ABNORMALLY.
.*
BEGIN(JOBFAIL,INSTALL,JOB1,JOB2,LIST,TOBLD,TOLIST)
RETURN(JOB1_JOB2,ZZZPROC,ZZZJOB,JSTATUS)
IFE(OT.EQ.SYO,DIS)
* DROP. 
  DIS.
ENDIF(DIS)
**************************************************
*                                                *
NOTE(JSTATUS,NR);JOB1_JOB2;FAILED      ;         *
*                                                *
**************************************************
ENDIF(EXIT) 
*END   UP TIME ***********************
.*
.*  GENERATE JOB STATISTICS.
.*
IF, ( R1G .EQ. 0 ) ,SUBPROC1. 
BEGIN(JOBEND,INSTALL,JOB1,JOB2) 
ENDIF(SUBPROC1) 
.IF, (OT .EQ. TXO) .AND. FILE(OUTPUT,AS) ,TXOJOB. 
  RENAME(IAOUT=OUTPUT)
.ENDIF(TXOJOB)
.IF, (OT .EQ. TXO) .AND. FILE(GLOBAL,AS) ,LOCLIB. 
  LIBRARY(GLOBAL) 
.ENDIF(LOCLIB)
IF, (EF.NE.0) ,CHECKEF. 
  SKIP(FAIL)
ENDIF(CHECKEF)
REVERT.  SUBPROC.  JOB1_JOB2 COMPLETE.
EXIT. 
ENDIF(FAIL) 
REVERT(ABORT)  SUBPROC.  JOB1_JOB2 ABORTED. 
.DATA,USERCG
USER(IUN,IPW,IFAMILY) 
CHARGE(ICHG)
RESOUR
PCKNAM
.DATA,ZZZJOB. 
/#JOB 
JOB1_JOB2.
/READ,USERCHG 
RENAME(ZZZPROC=INPUT) 
BEGIN(SUBPROC,INSTALL,JOB1,JOB2,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF, 
#JOBTYPE=JOBTYPE) 
EXIT. 
**********************************
* *                            * *
*   **************************   *
*   *                        *   *
*   *    JOB1_JOB2 ABORTED   *   *
*   *                        *   *
*   **************************   *
* *                            * *
**********************************
/EOR
/READ,ZZZPROC 
*WEOR 
