*NOSEQ .PROC,RGENTMS,FM=. .IFE,OT.NE.SYO,OT1. $REVERT,ABORT. INCORRECT ACCESS. .ENDIF,OT1. .IFE,$FM$.EQ.$$,FM1. $REVERT,ABORT. NO FAMILY NAME. .ENDIF,FM1. **************************************** * * RGENTMS * * THIS PROCEDURE ROUTES A SYSTEM ORIGIN * JOB THAT GENERATES THE *TMS* BILLING * FILE *TFDUMP* ON USER INDEX 377777 OF * THE SPECIFIED FAMILY. THIS PROCEDURE * MUST BE CALLED FROM A SYSTEM ORIGIN * JOB. * * FORMAT OF CALL - * * RGENTMS,FAMILY. * * FAMILY NAME OF FAMILY TO * GENERATE *TMS* BILLING * FILE ON. MANDATORY * ENTRY. * * THE FOLLOWING LOCAL FILE NAMES ARE USED BY * *RGENTMS* - * * ZZZJOB * * THE FOLLOWING MESSAGE MAY BE FLASHED BY * *RGENTMS* IF UNSUCCESSFUL - * * RGENTMS ABORTED. * **************************************** $ROUTE,ZZZJOB,OT=SYOT,DC=IN. $REVERT. RGENTMS COMPLETE. $EXIT. $OPMSG. RGENTMS ABORTED, SEE DAYFILE. $REVERT,ABORT. RGENTMS ABORTED. $EXIT. $REVERT,ABORT. RGENTMS ABORTED. .DATA,ZZZJOB. GENTMS(T7777) GENERATE BILLING FOR *TMS* TAPES. $ASSIGN,MS,OUTPUT. $NOTE(OUTPUT/NR)/1 *** GENTMS - GENERATE TMS BILLING INFORMATION. *** $SUI(377777) $FAMILY,FM. * $WHILE,R1 .EQ. 0,LOOP. $PURGE(TFDUMP/NA) $DEFINE(TFDUMP/PW=CHANGE,NA) * $IF,FILE(TFDUMP,PM),GENTMS1. IF TFDUMP WAS DEFINED $SET(R1=1) END LOOPING $ELSE(GENTMS1) *** INSTRUCTIONS. * * THERE WAS A PROBLEM DEFINING AN EMPTY * PERMANENT FILE (TFDUMP) ON WHICH TO * WRITE BILLING INFORMATION. * TYPE GO,JSN TO RETRY. * TYPE DROP,JSN TO ABANDON GENTMS RUN. * $OPMSG. GENTMS ABORTED. GO,JSN TO RETRY. $SKIP,RETRY. $EXIT. OPERATOR DROPPED. $EXIT. ABANDON RUN. $ENDIF,RETRY. $ENDIF,GENTMS1. * $ENDW,LOOP. * * GET MACHINE READABLE FILE * FROM THE TAPE FILE CATALOG * VIA *TFSP*. * $SET,R1=0. $WHILE,R1.EQ.0,MREAD1. $RETURN,MREAD. $TFSP,L=0,SS=MREAD,OP=Z,RT./MREADUN= $SET,R1=1. $NOTE,OUTPUT,NR./ / MACHINE READABLE FILE $NOTE,OUTPUT,NR./ GENERATED FROM FAST-ATTACHED $NOTE,OUTPUT,NR./ TAPE CATALOG FILE. $SKIP,MREAD2. $EXIT. * * UNABLE TO ACCESS FAST-ATTACHED FILE. * ATTEMP TO ACCESS DIRECT-ACCESS FILE * *ZZZZZFC*. * $ATTACH,OLD=ZZZZZFC/M=M. $RETURN,MREAD. $TFSP,L=0,LF,SS=MREAD,OP=Z./MREADUN= $RETURN,OLD. $SET,R1=1. $NOTE,OUTPUT,NR./ / MACHINE READABLE FILE $NOTE,OUTPUT,NR./ GENERATED FROM DIRECT-ACCESS $NOTE,OUTPUT,NR./ FILE *ZZZZZFC*. $SKIP,MREAD2. $EXIT. * * UNABLE TO ACCESS DIRECT-ACCESS FILE. * CHECK IF DIRECT-ACCESS FILE EXISTS. * $CATLIST,FN=ZZZZZFC. *** INSTRUCTIONS. * * UNABLE TO ACCESS TAPE CATALOG FILE. * TYPE GO,JSN TO RETRY. * TYPE DROP,JSN TO ABANDON GENTMS RUN. * $OPMSG. GENTMS ABORTED. GO,JSN TO RETRY. $SKIP,MREAD2. $EXIT. * * DIRECT-ACCESS FILE *ZZZZZFC* * DOES NOT EXIST * OR * OPERATOR DROPPED TO ABANDON RUN. * $NOTE,OUTPUT,NR./ / TAPE CATALOG FILE *ZZZZZFC* $NOTE,OUTPUT,NR./ DOES NOT EXIST $NOTE,OUTPUT,NR./ OR $NOTE,OUTPUT,NR./ OPERATOR DROPPED TO ABANDON RUN. $SET,R1=2. FLAG CATALOG ERROR. $SKIP,ERRPROC. PROCESS NO CATALOG ERROR AND ABORT. $ENDIF,MREAD2. $ENDW,MREAD1. * * CONVERT MACHINE READABLE LISTING * TO TFDUMP VIA *GENTMS* BINARY. * $REWIND,MREAD. $TMSBILL. $IFE,FILE(TAPE2,AS),FILE1. $REWIND,TAPE2. $SORT5.FROM=TAPE2 TO=TFDUMP KEY=((8,7,COBOL6,A),(21,6,COBOL6,A)) $ENDIF,FILE1. $NOTE,OUTPUT,NR./ / CONVERSION FROM MACHINE READABLE FILE $NOTE,OUTPUT,NR./ TO *TFDUMP* COMPLETE. $PACK,OUTPUT. $ROUTE,OUTPUT,DC=PR. $DAYFILE,OUT. $ROUTE,OUT,DC=PR. $EXIT. $ENDIF,ERRPROC. $IFE,R1.NE.2,CONVERR. $NOTE,OUTPUT,NR./ / ERROR OCCURRED IN CONVERSION $NOTE,OUTPUT,NR./ FROM MACHINE READABLE LISTING $NOTE,OUTPUT,NR./ TO *TFDUMP*. $ENDIF,CONVERR. *** INSTRUCTIONS. * * A PROBLEM OCCURRED WHILE WRITING * BILLING INFORMATION TO THE FILE * *TFDUMP* OR THE TMS DATA BASE COULD * NOT BE ATTACHED. * TYPE EITHER GO,JSN OR DROP,JSN TO * ACKNOWLEDGE. * SAVE THIS JOB'S OUTPUT FOR ANALYSIS. * MANUALLY INITIATE GENTMS AGAIN WHEN * THE CAUSE IS CORRECTED. * $PURGE(TFDUMP/NA) $PACK,OUTPUT. $OPMSG. GENTMS ABORTED. CFO,JSN.OK TO ACKNOWLEDGE. $REVERT,ABORT. GENTMS ABORTED. $EXIT. $REVERT,ABORT. GENTMS ABORTED. *WEOR .PROC,TMSDBLD,FM=,AFN=,DFN=DIRFILE,STIME=000000,ETIME=250000, SAM=0/1,EAM=0/1. .IFE,OT.NE.SYO,OT1. $REVERT,ABORT. INCORRECT ACCESS. .ENDIF,OT1. .IFE,$FM$.EQ.$$,FM1. $REVERT,ABORT. NO FAMILY NAME. .ENDIF,FM1. $RFL,0. $FAMILY,FM. $SUI,377777. **************************************** * * TMSDBLD * * THIS PROCEDURE USES THE ACCOUNT FILE * TO GENERATE *TFSP* DIRECTIVES THAT CAN * BE USED TO RECOVER A TMS TAPE CATALOG * FILE. THIS PROCEDURE MUST BE CALLED FROM A * SYSTEM ORIGIN JOB. * * FORMAT OF CALL - * * TMSDBLD,FAMILY,#AFN,#DFN,#STIME,#ETIME,#SAM,#EAM. * * FAMILY NAME OF FAMILY TO BUILD * DIRECITIVES AGAINST. MANDATORY * ENTRY. * * #AFN LOCAL FILE NAME OF * ACCOUNT FILE. IF NOT SPECIFIED, * THE CURRENT ACCOUNT FILE WILL BE * USED. * * #DFN LOCAL FILE NAME OF *TFSP* * DIRECTIVE FILE. DEFAULT IS *DIRFILE*. IF #DFN IS NOT AN EMPTY * FILE, THE DIRECTIVES ARE COPIED * TO THE END OF THE FILE. * * #STIME STARTING TIME TO BEGIN READING * ACCOUNT FILE. FORMAT IS HHMMSS. * IF NOT SPECIFIED, THE ACCOUNT * FILE WILL BE READ FROM THE START. * * #ETIME ENDING TIME TO COMPLETE READING * ACCOUNT FILE. FORMAT IS HHMMSS. * IF NOT SPECIFIED, THE ACCOUNT * FILE WILL BE READ TO THE END. * * #SAM IF SPECIFIED, THE STARTING TIME * IS AFTER MIDNIGHT IN THE ACCOUNT * FILE. * * #EAM IF SPECIFIED, THE ENDING TIME IS * AFTER MIDNIGHT IN THE ACCOUNT * FILE. * * THE CALLING JOB EXITS AT USER INDEX 377777 * OF THE FAMILY. * * THE FOLLOWING LOCAL FILE NAMES ARE USED BY * *TMSDBLD* - * * ACCFILE * DIRFILE * FAMNAME * * THE FOLLOWING MESSAGE MAY BE FLASHED BY * *TMSDBLD* IF UNSUCCESSFUL - * * TMSDBLD ABORTED, CHECK DAYFILE. * **************************************** .IFE,$AFN$.EQ.$$,AFN1. $AFD,ACCFILE. .ELSE,AFN1. $RENAME,ACCFILE=AFN. .ENDIF,AFN1. $IFE,FILE(DFN,AS),DFN1. $RENAME,DIRFILE=DFN. $ENDIF,DFN1. $RETURN,FAMNAME. $NOTE,FAMNAME,NR./FM .IFE,$ETIME$.EQ.$250000$,ETIME1. $NOTE,FAMNAME,NR./STIME_SAM_ETIME_1 .ELSE,ETIME1. .IFE,$SAM$.EQ.$1$,SAM1. $NOTE,FAMNAME,NR./STIME_SAM_ETIME_1 .ELSE,SAM1. $NOTE,FAMNAME,NR./STIME_SAM_ETIME_EAM .ENDIF,SAM1. .ENDIF,ETIME1. $PACK,FAMNAME. $REWIND,ACCFILE. $RECTMS. $RENAME,DFN=DIRFILE. $PACK,DFN. .IFE,$AFN$.NE.$$,AFN2. $RENAME,AFN=ACCFILE. .ENDIF,AFN2. $REVERT. TMS TMSDBLD COMPLETE. $EXIT. $OPMSG. TMSDBLD ABORTED, SEE DAYFILE. $REVERT,ABORT. TMSDBLD ABORTED. $EXIT. $REVERT,ABORT. TMSDBLD ABORTED. *WEOR .PROC,TMSDUMP,FM=,DFM=,DUI=377777,DPF=. .IFE,OT.NE.SYO,OT1. $REVERT,ABORT. INCORRECT ACCESS. .ENDIF,OT1. .IFE,$FM$.EQ.$$,FM1. $REVERT,ABORT. NO FAMILY NAME. .ENDIF,FM1. $FAMILY,FM. $SUI,377777. **************************************** * * TMSDUMP * * THIS PROCEDURE USES *PFDUMP* TO DUMP A * TAPE CATALOG FILE OF A FAMILY TO A DIFFERENT * DEVICE. THIS PROCEDURE MUST BE CALLED * FROM A SYSTEM ORIGIN JOB. * * FORMAT OF CALL - * * TMSDUMP,FAMILY,#DFM,#DUI,#DPF. * * FAMILY NAME OF THE FAMILY OF THE * TAPE CATALOG FILE TO DUMP. * MANDATORY ENTRY. * * #DFM NAME OF THE FAMILY TO RECEIVE * THE DUMP FILE. DEFAULT IS * THE SAME AS THE FAMILY OF THE * TAPE CATALOG FILE. * * #DUI USER INDEX TO RECEIVE THE DUMP * FILE. DEFAULT IS 377777. * * #DPF NAME OF THE DIRECT-ACCESS FILE * TO RECEIVE THE DUMP. IF NOT * SPECIFIED, THE DUMP WILL BE * COPIED TO A LOCAL FILE *TAPE*. * * THE CALLING JOB EXITS AT USER INDEX 377777 * OF THE FAMILY. * * THE FOLLOWING LOCAL FILE NAMES ARE USED BY * *TMSDUMP* - * * TAPE * * THE FOLLOWING MESSAGE MAY BE FLASHED BY * *TMSDUMP* IF UNSUCCESSFUL - * * TMSDUMP ABORTED, SEE DAYFILE. * **************************************** .IFE,$DPF$.NE.$$,DPF1. .IFE,$DFM$.NE.$$,DFM1. $FAMILY,DFM. .ENDIF,DFM1. $SUI,DUI. $PURGE,DPF/NA. $DEFINE,TAPE=DPF. $FAMILY,FM. $SUI,377777. .ENDIF,DPF1. $PFDUMP,#FM=FM,UI=377777,PF=ZZZZZFC. $REVERT. TMSDUMP COMPLETE. $EXIT. $OPMSG. TMSDUMP ABORTED, SEE DAYFILE. $REVERT,ABORT. TMSDUMP ABORTED. $EXIT. $REVERT,ABORT. TMSDUMP ABORTED. *WEOR .PROC,TMSLOAD,FM=,DFM=,DUI=377777,DPF=. .IFE,OT.NE.SYO,OT1. $REVERT,ABORT. INCORRECT ACCESS. .ENDIF,OT1. .IFE,$FM$.EQ.$$,FM1. $REVERT,ABORT. NO FAMILY NAME. .ENDIF,FM1. $FAMILY,FM. $SUI,377777. **************************************** * * TMSLOAD * * THIS PROCEDURE USES *PFLOAD* TO RELOAD A * TAPE CATALOG FILE OF A FAMILY FROM A DIFFERENT * DEVICE. THIS PROCEDURE MUST BE CALLED * FROM A SYSTEM ORIGIN JOB. * * FORMAT OF CALL - * * TMSLOAD,FAMILY,#DFM,#DUI,#DPF. * * FAMILY NAME OF THE FAMILY OF THE * TAPE CATALOG FILE TO RELOAD. * MANDATORY ENTRY. * * #DFM NAME OF THE FAMILY THAT HAS * THE DUMP FILE. DEFAULT IS * THE SAME AS THE FAMILY OF THE * TAPE CATALOG FILE. * * #DUI USER INDEX THAT HAS THE DUMP * FILE. DEFAULT IS 377777. * * #DPF NAME OF THE DIRECT-ACCESS FILE * THAT HAS THE LOAD FILE. IF NOT * SPECIFIED, THE LOCAL FILE * *TAPE* IS ASSUMED TO BE * THE DUMP FILE. * * THE CALLING JOB EXITS AT USER INDEX 377777 * OF THE FAMILY. * * THE FOLLOWING LOCAL FILE NAMES ARE USED BY * *TMSLOAD* - * * TAPE * * THE FOLLOWING MESSAGE MAY BE FLASHED BY * *TMSLOAD* IF UNSUCCESSFUL - * * TMSLOAD ABORTED, SEE DAYFILE. * **************************************** .IFE,$DPF$.NE.$$,DPF1. .IFE,$DFM$.NE.$$,DFM1. $FAMILY,DFM. .ENDIF,DFM1. $SUI,DUI. $ATTACH,TAPE=DPF. $FAMILY,FM. $SUI,377777. .ENDIF,DPF1. $REWIND,TAPE. $PFLOAD,#FM=FM,UI=377777,PF=ZZZZZFC,OP=OR. $REVERT. TMSLOAD COMPLETE. $EXIT. $OPMSG. TMSLOAD ABORTED, SEE DAYFILE. $REVERT,ABORT. TMSLOAD ABORTED. $EXIT. $REVERT,ABORT. TMSLOAD ABORTED. *WEOR .PROC,TMSRBLD,FM=,P=,N=NEW,I=DIRFILE. .IFE,OT.NE.SYO,OT1. $REVERT,ABORT. INCORRECT ACCESS. .ENDIF,OT1. .IFE,$FM$.EQ.$$,FM1. $REVERT,ABORT. NO FAMILY NAME. .ENDIF,FM1. $FAMILY,FM. $SUI,377777. **************************************** * * TMSRBLD * * THIS PROCEDURE CAN BE USED TO REBUILD A * TAPE CATALOG FILE GIVEN AN OLD TAPE * CATALOG FILE AND A *TFSP* DIRECTIVE FILE. * THIS PROCEDURE MUST BE CALLED FROM A * SYSTEM ORIGIN JOB. * * FORMAT OF CALL - * * TMSRBLD,FAMILY,OFN,NFN,DFN. * * FAMILY NAME OF FAMILY OF TAPE * CATALOG FILE. MANDATORY * ENTRY. * * OFN LOCAL FILE NAME OF OLD * TAPE CATALOG FILE TO BUILD * AGAINST. IF NOT SPECIFIED, * THE DIRECT-ACCESS FILE * *ZZZZZFC* ON USER INDEX * 377777 OF THE FAMILY IS * USED. *ZZZZZFC* MUST NOT * BE A FAST-ATTACHED FILE * WHEN *TMSRBLD* IS CALLED. * * NFN LOCAL FILE NAME OF THE * REBUILT TAPE CATALOG FILE. * DEFAULT IS *NEW*. THE * *OFN* AND *NFN* PARAMETERS * MAY HAVE THE SAME NAME. * * DFN LOCAL FILE NAME OF THE * *TFSP* DIRECTIVE INPUT * FILE TO APPLY AGAINST THE * OLD TAPE CATALOG FILE. * DEFAULT IS *DIRFILE*. * * THE CALLING JOB EXITS AT USER INDEX 377777 * OF THE FAMILY. * * THE FOLLOWING LOCAL FILE NAMES ARE USED BY * *TMSRBLD* - * * ZZZZZFC * NEW * DIRFILE * * THE FOLLOWING MESSAGE MAY BE FLASHED BY * *TMSRBLD* IF UNSUCCESSFUL - * * TMSRBLD ABORTED, CHECK DAYFILE. * **************************************** $REWIND,I. .IFE,$P$.EQ.$$,P1. $ATTACH,ZZZZZFC/M=W. $TFSP,LF,#P=ZZZZZFC,#N=N,#I=I,A. .ELSE,P1. $TFSP,LF,#P=P,#N=N,#I=I,A. .ENDIF,P1. $REVERT. TMS TMSRBLD COMPLETE. $EXIT. $OPMSG. TMSRBLD ABORTED, SEE DAYFILE. $REVERT,ABORT. TMSRBLD ABORTED. $EXIT. $REVERT,ABORT. TMSRBLD ABORTED. *WEOR