COBOL5
.PROC,COBOL5*I,\
NOTAF   ' DISABLE TAF INTERFACE      (NO/YES)  '=(*N=TAF,NO=TAF,
                                                  YES=NOTAF,*K=NOTAF),
NOCDCS  ' DISABLE CDCS2 INTERFACE    (NO/YES)  '=(*N=$DMSLIB/$,YES=,
                                                  *K=,NO=$DMSLIB/$),
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMD1 
*CALL COMPROC 
. 
.HELP 
* 
  
.*****  COBOL5
  
.***    NOTE
.*
.*      COBOL5 CREATES A LARGE COMPILE FILE WHEN UPDATING 
.*      THE OLDPL (UPDATE,F,P=OLDPL,...) THEREFORE IT IS
.*      SUGGESTED THAT IT BE THE ONLY JOB INSTALLING AT THIS
.*      TIME TO ELIMINATE POTENTIAL MASS STORAGE PROBLEMS 
.*      (I.E., TRACK LIMIT) 
.*
.*      IF MORE THAN ONE PRODUCT IS BEING INSTALLED THEN THE
.*      MASS STORAGE DISPLAY SHOULD BE MONITORED CLOSELY. 
  
.***    NOTE1 - COBOL5 CAN BE INSTALLED WITHOUT AN INTERFACE OPTION 
.*              TO *TAF* BY USING THE FOLLOWING CALL -
.*
.*              BEGIN,COBOL5,INSTALL,NOTAF) 
.*
.ENDHELP
  
  
.*
.*  START COBOL5 VIA SUBPROC. 
.*
BEGIN(SUBPROC,INSTALL,COBOL5,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF) 
REVERT.        COBOL5.
EXIT. 
REVERT(ABORT)  COBOL5.
  
  
.DATA,ZZZPROC 
.PROC,COBOL5. 
  
* COBOL5 - COBOL 5.3
*CALL     PSRLEV
BEGIN(PRDIN,INSTALL,PRDNAME=COB5,#PN=PN,#PR=PR,DISK=0)
IFE($NOCDCS$ .NE. $$, SELCDCS)
RETURN(CDCS2F)
NOTE(CDCS2F,NR)+*PURGE DMGMNT 
NOTE(CDCS2F,NR)+*IDENT DMGMNT 
NOTE(CDCS2F,NR)+*DELETE CB5TEXT.245 
NOTE(CDCS2F,NR)+ OP.DCS   CEQU   OP.DCS2      CDCS ACTIVE 
NOTE(CDCS2F,NR)+*DELETE ASSEMOP.36
NOTE(CDCS2F,NR)+      DEF CB5$CDCS ####"CDCS2"####;####CDCS ACTIVE####
NOTE(CDCS2F,NR)+*/ END OF MODSET. 
PACK(CDCS2F)
GTR(CDCS2F,USER)TEXT/*
PACK(USER)
BEGIN(GETULIB,INSTALL,DMSLIB) 
ENDIF(SELCDCS)
BEGIN(UP,INSTALL,RANDOM=NO,PCPL=CPRD,#PC=PC,#CC=CC,PCDECK=CL5)
IFE($NOTAF$.EQ.$TAF$,DEF) 
RETURN(IN)
NOTE(IN,NR);*ID,TAF 
NOTE(IN,NR);*#D CL5A980.20
NOTE(IN,NR);OP.TAF    EQU     OP.YES
NOTE(IN,NR);*C CB5TEXT,CWEOR0,C$ACCMN,C$DSPLY,C$MSG,C$TRACE,C$STOPR 
PACK(IN)
UPDATE(Q,P=NEWER,I=IN,C=TAF)
COMPASS(A,I=TAF,S=IPTEXT,B=TAFTXT,L=LIST) 
COMPASS(A,I=TAF,S=SYSTEXT,S=IOTEXT,G=TAFTXT,B=TAFBIN,L=LIST)
RETURN(TAFTXT,TAF)
ENDIF(DEF)
RETURN(NEWER) 
COMPASS(A,I,S=IPTEXT,B=TEXT,L=LIST) 
COMPASS(A,I,G=TEXT,B=CTEXT,L=LIST)
SYMPL(ET=T,I,B=SYMTEXT,L=LIST)
COMPASS(A,I,S=PSSTEXT,S=IOTEXT,G=TEXT,S=CPUTEXT,B=REL,L=LIST) 
COMPASS(A,I,S=IOTEXT,G=TEXT,G=CTEXT,B=REL,L=LIST) 
SYMPL(ET=T,I,Y=SYMTEXT,B=REL,L=LIST)
COMPASS(A,I,S=0,B=SKEL,L=LIST)
COMPASS(A,I,S=SYSTEXT,S=IOTEXT,S=SSYTEXT,G=TEXT,B=LIB,L=LIST) 
COMPASS(A,I,S=CPUTEXT,G=TEXT,B=TERMBIN,L=LIST)
SYMPL(ET=T,I,Y=SYMTEXT,B=TDBINS,L=LIST) 
COMPASS(A,I,S=CPUTEXT,G=TEXT,B=TDBINS,L=LIST) 
RETURN(COMPILE) 
BEGIN(GETULIB,INSTALL,BAMLIB,SRT5LIB,SYSLIB,SYMLIB,FTN5LIB) 
REWIND(REL,SKEL)
COPYLM(SKEL,REL,NEW)
RETURN(SKEL,REL)
RENAME(REL=NEW) 
LDSET(OMIT=QDUMMY)
LDSET(LIB=BAMLIB/_NOCDCS_SRT5LIB/SYSLIB)
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(REL) 
NOGO(LGO) 
NOTE(IN);*BEFORE *,REL/*
LIBEDIT(P=0,B=LIB,I=IN,L=0,N=LIBA)
LIBGEN(F=LIBA,P=COB5LIB)
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=COB5LIB/SYSLIB) 
GROUP(COBOL5) 
CAPSULE($C$$MSGC$,$C$$TERM$)
LOAD(TERMBIN) 
NOGO(TERMCAP) 
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=COB5LIB/SYSLIB) 
LDSET(OMIT=XXXX)
LOAD(TDBINS)
NOGO(TDABS) 
RETURN(LIBA,COB5LIB)
REWIND(LIB,TERMCAP) 
GTR(LIB,OUT,,NR)REL/* 
GTR(TERMCAP,OUT,,NR)CAP/* 
RETURN(LIB,TERMCAP) 
RENAME(LIB=OUT) 
REWIND(LGO,TDABS) 
GTR(TDABS,A,,NR)ABS/* 
GTR(LGO,A,,NR)ABS/* 
GTR(LGO,A,,NR)OVL/* 
RENAME(LGO=A) 
IFE(.NOT.FILE(TAFBIN,AS),L00001)
WRITEF(TAFBIN)
ENDIF(L00001) 
RENAME(LIB2=TAFBIN)RELS FOR TRANLIB 
* KEEP RELS AND LIBS FOR USE BY COBOL5Q 
REWIND(LIB,LIB2,REL,NEWPL,TEXT,LGO) 
RETURN(HOLD)
COPYBF(NEWPL,HOLD)     FILE 1 
COPYBR(TEXT,ABS)
COPYBF(LGO,ABS) 
RENAME(LGO=ABS) 
REWIND(LGO) 
COPYBF(LGO,HOLD)       FILE 2 
COPYBF(LIB,HOLD)
BKSP(HOLD)
WRITER(HOLD)
COPYBF(LIB2,HOLD) 
BKSP(HOLD)
WRITER(HOLD)
WRITEF(HOLD)           FILE 3 
COPYBF(REL,HOLD)       FILE 4 
RENAME(NEWPL=HOLD)
* 
BEGIN(SAVELIB,INSTALL,LIB=LIB,LIBNAME=COBOL5) 
BEGIN(PRDOUT,INSTALL,PRDNAME=COB5,#PNO=PNO,#PRO=PRO)
GTR(LGO,GLOBLGO)ABS/*,OVL/* 
REWIND(LIB2)
COPYBR(LIB2,CHECK)
GTR(CHECK,EMPTY,,,,NA)REL/*,CAP/* 
IFE(FILE(EMPTY,AS),X50) 
RETURN(CHECK,EMPTY) 
BEGIN(SAVELIB,INSTALL,LIB=LIB2,LIBNAME=TRANLIB) 
BEGIN(GENLIB,INSTALL,LIBRARY=TRANLIB,LIB=LIB2)
ENDIF(X50)
* 
BEGIN(GENDIR,INSTALL,LIB=19)
BEGIN(SAVELGO,INSTALL,PRDNAME=COB5) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.  COBOL5.
EXIT. 
REVERT(ABORT)  COBOL5.
*WEOR 
