*DECK DLFP PRGM DLFP; # POST PROCESSOR FOR ZZZZZDN FILE FROM NAM# *IF DEF,IMS # * DDDDDDDD LL FFFFFFFFFF PPPPPPPP * DDDDDDDDD LL FFFFFFFFFF PPPPPPPPP * DD DD LL FF PP PP * DD DD LL FF PP PP * DD DD LL FFFFFFFF PPPPPPPPP * DD DD LL FFFFFFFF PPPPPPPP * DD DD LL FF PP * DD DD LL FF PP * DDDDDDDDD LLLLLLLLLL FF PP * DDDDDDDD LLLLLLLLLL FF PP * * * DLFP IS A NETWORK PRODUCTS UTILITY PROGRAM. IT IS USED TO LIST * THE CONTENT OF THE LOG FILE FROM NIP (ZZZZZDN) AND THE DEBUG TRACE * FILE FROM AIP, ALSO NAMED ZZZZZDN. IT IS POSSIBLE TO REQUEST DLFP * TO ANALYSE THE LOG FILE BY SPECIFYING THAT ONLY A CERTAIN SET OF * MESSAGES BE SELECTED FOR OUTPUT. THAT IS DONE BY DIRECTIVES IN THE * DIRECTIVE FILE INPUT BY NIP. ERROR MESSAGES ARE OUTPUT TO LOCAL * DAYFILE OR OUTPUT FILE IF ERROR CONDITIONS ARE ENCOUNTERED. THE * ERROR CONDITION CAN BE A BAD PROGRAM CALL CARD OR, A BAD DIRECTIVE, * OR CAN BE A BAD LOG FILE. * * FORMAT OF THE PROGRAM CALL CARD IS * * DLFP [,P1] [,P2] [,P3] [,P4] [,P5] . * * P1, P2, P3, P4, P5 CAN BE ONE OF THE FOLLOWING: * * 1. I = 0 NO INPUT DIRECTIVE FILE * I = FILEN FILEN IS THE NAME OF THE INPUT DIRECTIVE * FILE. * OMITTED INPUT IS THE NAME OF THE INPUT * * 2. B = FILEN FILEN IS THE NAME OF THE LOG FILE. * OMITTED ZZZZZDN IS THE NAME OF THE LOG FILE * * 3. L = FILEN FILEN IS THE NAME OF THE OUTPUT FILE NAME * OMITTED OUTPUT IS THE NAME OF THE OUTPUT FILE. * * 4. N = FILEN NEW DEBUG LOG FILE GENERATED WITH * FILE NAME = FILEN ACCORDING TO THE * SELECTION DIRECTIVES. NORMAL OUTPUT * WILL NOT BE PRODUCED. * OMITTED NORMAL OUTPUT PRODUCED. * * 5. D IGNORED ERRORS * OMITTED DO NOT IGNORE ERRORS * * DLFP READS THE INPUT DIRECTIVE FILE IF AVAILABLE FOR DIRECTIONS. * FOR A NIP LOG FILE, ONLY ON DIRECTIVE (CN) IS VALID, WHILE ALL * DIRECTIVES LISTED BELOW ARE AVAILABLE FOR AN AIP LOG FILE. * * DIRECTION VALUE * KEYWORD POSSIBLE ACTION * * B SPECIFIES A SEARCH FOR MESSAGES WITH * THE USER BREAK FLAG SET IN THE APPLI- * ATION BLOCK HEADER. * * BD= YYMMDD SPECIFIED A SEARCH FOR MESSAGES WHICH * WERE LOGGED ON OR AFTER THIS DATE. * MESSAGES BEFORE THIS DATE ARE NOT OUT- * PUT. YY IS THE RIGHTMOST 2 DIGITS OF * THE YEAR, MM IS THE MONTH, AND DD IS * THE DAY OF THE MONTH TO BEGIN * SEARCHING. * * BT= HHMMSS SPECIFIES A SEARCH FOR MESSAGES WHICH * WERE LOGGED ON OR AFTER THIS TIME. * MESSAGES BEFORE THIS TIME ARE NOT * OUTPUT. NOTE THAT IF THE DEBUG LOG * FILE CONTAINS MORE THAN ONE DAY'S * MESSAGES, SEARCHING WILL BEGIN AFTER * THE FIRST OCCURRENCE OF THIS TIME IF * BD IS NOT SPECIFIED. HH IS THE HOUR, * MM IS THE MINUTE, AND SS IS THE * SECOND TO BEGIN SEARCHING. * * CN= N SPECIFIES A SEARCH FOR MESSAGES ON THE * CONNECTION NUMBER N. ALL SYNCHRONOUS * AND ASYNCHRONOUS SUPERVISORY MESSAGES * AND DATA BLOCKS ON CONNECTION NUMBER * N ARE OUTPUT. * * E SPECIFIES SCAN FOR ERROR BIT SET IN * THE SUPERVISORY MESSAGE. * * ED= YYMMDD SPECIFIES THAT MESSAGES ON OR AFTER * THIS DATE ARE NOT TO BE OUTPUT. YY IS * THE RIGHTMOST 2 DIGITS OF THE YEAR, * MM IS THE MONTH, AND DD IS THE DAY OF * THE MONTH TO END SEARCHING. * * ET= HHMMSS SPECIFIES THAT MESSAGES ON OR AFTER * THIS TIME ARE NOT TO BE OUTPUT. NOTE * THAT IF THE DEBUG LOG FILE CONTAINS * MORE THAN ONE DAY'S MESSAGES, SEARCHING * WILL TERMINATE AFTER THE FIRST * OCCURRENCE OF THIS TIME ED IS NOT * SPECIFIED. HH IS THE HOUR, MM IS * THE MINUTE, AND SS IS THE SECOND TO * END SEARCHING. * * LE= N SPECIFIES MAX LENGTH OF EACH MESSAGE * TO BE OUTPUT IN THE CM WORDS. 1 @ N @ * 410 (DEFAULT=10) * * F SPECIFIES SCAN FOR A MESSAGE(S) WITH * THE NO FORMAT EFFECTOR BIT SET IN * APPLICATION BLOCK HEADER. * * N WHEN SPECIFIED, ALL NETLOG ENTRIES * IN THE DEBUG LOG FILE ARE IGNORED * ON THE OUTPUT. * * NM= N SPECIFIED THAT ONLY N MESSAGES WILL * BE OUTPUT. * * P SPECIFIES SCAN FOR MESSAGE(S) WITH THE * PARITY ERROR FLAG BIT SET APPLICATION * BLOCK HEADER. * * PF= SYMBOL SPECIFIES A SEARCH FOR SUPERVISORY * MESSAGES WITH PFC EQUAL TO SYMBOL. * SYMBOL MUST BE A VALID PFC (DEFINED * IN APPENDIX F OF NAM RM). * * PS= SYMBOL SPECIFES A SEARCH FOR A MESSAGE WITH * PFC/SFC EQUAL TO SYMBOL. SYMBOL MUST * BE A VALID SFC (DEFINED IN * APPENDIX F OF NAM REFERENCE MANUAL) * * R SPECIFIES A SEARCH FOR MESSAGES WITH * THE RESPONSE BIT SET IN A SUPERVISORY * MESSAGE. * * SM= N SPECIFIES THAT NO MESSAGES WILL BE * OUTPUT UNTIL AFTER THE NTH MESSAGE, * WHICH SATISFIES ALL THE OTHER KEYWORD * OPTIONS, HAD BEEN FOUND. * * T SPECIFIES A SEARCH FOR MESSAGES WITH * THE TRUNCATED DATA BIT SET IN THE * APPLICATION BLOCK HEADER. * * U SPECIFIES SCAN FOR MESSAGE(S) WITH * THE INPUT BLOCK UNDELIVERABLE (IBU) * BIT SET IN THE APPLICATION BLOCK * HEADER. * * X SPECIFIES A SEARCH FOR MESSAGE(S) WITH * THE TRANSPARENT BIT SET IN APPLICATION * BLOCK HEADER. * * THE SAME KEYWORD CAN APPEAR MORE THAN ONCE IN A DIRECTIVE RECORD. * IF THERE IS A VALUE ASSOCIATED WITH THIS KEYWORD, THE VALUE IN THE * LAST OCCURRENCE OF THE KEYWORD WILL BE THE ONE USED FOR THE * SEARCH. * # *ENDIF CONTROL PRESET; # * * * * * * * * * * * * * * * --- CRCOM --- * * * * * * * * * * * * *# *IF DEF,IMS # * * DC CRCOM * COPYRIGHT INFORMATION # *ENDIF *CALL CRCOM #* * * * * * * * * * * * * * * --- CYBERDEFS --- * * * * * * * * * * *# *IF DEF,IMS # * * DC CYBERDEFS * COMMON DEFS TO DEFNE CYBER MACHINES CHARACTERISTICS. # *ENDIF *CALL CYBERDEFS # * * * * * * * * * * * * * * * --- ARGERR --- * * * * * * * * * * * * # *IF DEF,IMS # * * DC ARGERR * COMMON DECK CONTAINING ALL ERROR MESSAGES ISSUED BY * DLARG. # *ENDIF *CALL ARGERR # * * * * * * * * * * * * * --- ARGTBL --- * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC ARGTBL * COMMON BLOCK TO PASS INPUTS FROM PROGRAM CALL CARD * TO VARIOUS MODULES IN DLFP. # *ENDIF *CALL ARGTBL # * * * * * * * * * * * * --- AWLDEFS --- * * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC AWLDEFS * MISCELLANEOUS DEFINITIONS USED BY DLFP. # *ENDIF *CALL AWLDEFS # * * * * * * * * * * * * --- DEQCOM --- * * * * * * * * * * * * * * * # *IF DEF,IMS # * * DC DEQCOM * COMMON DECK CONTAINING DEFINITIONS USED BY DLFP. # *ENDIF *CALL DEQCOM # * * * * * * * * * * * * --- DIERR --- * * * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC DIERR * COMMON DECK CONTAINING ERROR CODES AND ERROR MESSAGES * USED BY DLDIRP. # *ENDIF *CALL DIERR # * * * * * * * * * * * * --- DIRTBL --- * * * * * * * * * * * * * * * # *IF DEF,IMS # * * DC DIRTBL * COMMON BLOCK SAVING SELECTED VALUES FOR DIRECTIVE * * THE TABLE DIRTBL RECEIVES THE VALUES OF THE INPUT DIRECTIVES. * IF A DIRECTIVE HAS NOT BEEN SELECTED, THEN A ZERO VALUE * IS PLACED IN THE TABLE SELECTED DIRECTIVES HAVE THE FOLLOWING * FORMAT: * 4 * 0 2 * I--------------------------I-----------------I * I I I * I DIRVALU I DIRID I * I I I * I--------------------------I-----------------I * * DIRVALU - VALUE OF THE DIRECTIVE * DIRID - IDENTIFICATION CODE FOR THE SELECTED DIRECTIVES * * THE IDENTIFICATION CODES HAVE BEEN GROUPED FOR EFFICIENCY * ACCORDING TO THE TYPE OF INFORMATION TO BE READ FROM THE * ZZZZZDN FILE. THE PROCEDURE DLREP COPIES NON-ZERO VALUES * INTO THREE CONDENSED TABLES SO THAT ALL DIRECTIVES WILL * NOT HAVE TO BE EXAMINED FOR EVERY MESSAGE. * NOTE THAT SINCE DLREP COPIES A RANGE OF VALUES TO EACH * TABLE, THE DIRECTIVE GROUPINGS MUST REMAIN INTACT. THE * CN DIRECTIVE IS USED IN TWO TABLES. A CHANGE IN THE ID$ * VALUE MUST ALSO CHANGE THE CORRESPONDING SWITCH DEFINITIONS * IN PROCEDURES DLABH,DLMSG,DLNBH,DLSM. * # *ENDIF *CALL DIRDEFS *CALL DIRTBL # * * * * * * * * * * * * --- DIRTBLH --- * * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC DIRTBLH * SUBSET OF DIRECTIVE VALUE TABLE FOR HEADER PROCESSING * * DIRTBLH IS A SUBSET OF DIRTBL CREATED BY THE PROCEDURE * DLREP FOR USE BY DLABH FOR AN APPLICATION ZZZZZDN FILE * OF FOR USE BY DLNBH FOR A NIP ZZZZZDN FILE. DLABH AND * DLNBH ARE NOT CALLED IF THERE ARE NO DIRECTIVES IN * DIRTBLH (DIRNUMH EQ 0). ONLY APPLICATION BLOCK HEADERS * MAY BE EXAMINED FOR CONNECTION NUMBER (CN) AND/OR THE * DATA BLOCK CLARIFIER BITS BREAK FLAG(B), CANCEL FLAG(C), * NO FORMAT EFFECTOR FLAG(F), PARITY ERROR FLAG(P), * TRUNCATED DATA FLAG(T), UNDELIVERABLE INPUT BLOCK(U), * OR TRANSPARENT BIT(X). THE NETWORK BLOCK HEADER MAY BE * EXAMINED FOR DESTINATION NODE(DN), SOURCE NODE(SN), * CONNECTION NUMBER(CN), AND/OR THE BITS CANCEL FLAG(C), * NO FORMAT EFFECTOR FLAG(F), PARITY ERROR FLAG(P), OR * TRUNCATED DATA FLAG(T). * # *ENDIF *CALL DIRTBLH # * * * * * * * * * * * * --- DIRTBLM --- * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC DIRTBLM * SUBSET OF DIRECTIVE VALUE TABLE FOR DATA MESSAGE PROCESSING * * DIRTBLM IS A SUBSET OF DIRTBL CREATED BY DLREP FOR * USE BY DLMSG. DLMSG IS NOT CALLED IF THERE ARE NO * DIRECTIVES IN DIRTBLM (DIRNUMM EQ 0). IF SELECTED, * NUMBER OF ENTRIES WRITTEN TO OUTPUT(NM), BEGINNING * TIME(BT), ENDING TIME(ET), AND NETLOG ENTRIES * NOT SELECTED (N) DIRECTIVES WILL BE * EXAMINED FOR EACH MESSAGE ON THE ZZZZZDN FILE. * BT DIRECTIVE MUST BE THE LAST ENTRY IN THE DIRTBLM TABLE * # *ENDIF *CALL DIRTBLM # * * * * * * * * * * * * --- DIRTBLS --- * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC DIRTBLS * SUBSET OF DIRECTIVE VALUE TABLE FOR SUPERVISORY MESSAGE * PROCESSING * * DIRTBLS IS A SUBSET OF DIRTBL CREATED BY DLREP FOR USE * BY DLSM. DLSM IS NOT CALLED BY DLSCAN IF THERE ARE NO * ENTRIES IN DIRTBLS (DIRNUMS EQ 0). IF SELECTED, THE * ERROR BIT(E), RESPONSE BIT(R), CONNECTION NUMBER(CN), * PFC(PF), OR PFCSFC(PS) FIELDS ARE EXAMINED. * # *ENDIF *CALL DIRTBLS # * * * * * * * * * * * * --- DLONEL --- * * * * * * * * * * * * * * * # *IF DEF,IMS # * * DC DLONEL * COMMON BLOCK CONTAINING THE FORMAT FOR ONE BLANK LINE # *ENDIF *CALL DLONEL # * * * * * * * * * * * * --- DLNOD --- * * * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC DLNOD * ARRAY TO STORE NUMBER OF DAYS IN EACH MONTH # *ENDIF *CALL DLNOD # * * * * * * * * * * * * --- DLTLC --- * * * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC DLTLC * TEXT LENGTH IN CHARACTERS OF SELECTED MESSAGE # *ENDIF *CALL DLTLC *CALL DRHDIMS *CALL DRHDR # * * * * * * * * * * * * --- ERRMSG --- * * * * * * * * * * * * * * * # *IF DEF,IMS # * * DC ERRMSG * COMMON BLOCK CONTAINING ALL ERROR OR INFORMATIVE MESSAGES * USED IN DLFP. # *ENDIF *CALL ERRMSG # * * * * * * * * * * * * * * --- FETDEFS --- * * * * * * * * * * * * # *IF DEF,IMS # * * DC FETDEFS * BASED ARRAY TO DEFINE DIFFERENT FIELDS IN FET AREA * * WORD 0 * 4 5 5 5 5 5 * 0 2 0 1 5 6 9 * I------------------------------I------I---I-I---I--I * I I I I I I I * I FETNAM I IEOII IEORI I * I I I I I I I * I------------------------------I------I---I-I---I--I * * FETNAM - FILE NAME * EOI - END OF INFORMATION FLAG * EOR - END OF RECORD OR END OF FILE FLAG * * WORD 1 * 4 5 * 4 5 * 0 2 9 * I------------------------------I------------------I * I I I * I I FET1ST I * I I I * I------------------------------I------------------I * * FET1ST - FET FIRST POINTER * * WORD 2 * 4 5 * 0 2 9 * I-----------------------------I--------------------I * I I I * I I FETIN I * I I I * I-----------------------------I--------------------I * * FETIN - FET IN POINTER * * WORD 3 * 4 5 * 0 2 9 * I-----------------------------I--------------------I * I I I * I I FETOUT I * I I I * I-----------------------------I--------------------I * * FETOUT - FET OUT POINTER * * WORD 4 * 4 5 * 0 2 9 * I-----------------------------I--------------------I * I I I * I I FETLMT I * I I I * I-----------------------------I--------------------I * * FETLMT - FET LIMIT POINTER * # *ENDIF *CALL FETDEFS # * * * * * * * * * * * * * * --- ICIOBB --- * * * * * * * * * * * * * # *IF DEF,IMS # * * DC ICIOBB * COMMON BLOCK RESERVING SPACE FOR DIRECTIVE FILE CIO BUFFER # *ENDIF *CALL ICIOBB # * * * * * * * * * * * * * --- IFETB --- * * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC IFETB * COMMON BLOCK RESERVING SPACE FOR FET AREA OF DIRECTIVE FILE # *ENDIF *CALL IFETB # * * * * * * * * * * * * * --- MISCOM --- * * * * * * * * * * * * * * # *IF DEF,IMS # * * DC MISCOM * COMMON DECK HOLDING DEFINITIONS FOR DIFFERENT CHARACTER TYPES # *ENDIF *CALL MISCOM # * * * * * * * * * * * * * --- MISDEF --- * * * * * * * * * * * * * * # *IF DEF,IMS # * * DC MISDEF * MISCELLANEOUS DEFINITIONS USED BY NIP AND DLFP. # *ENDIF *CALL MISDEF # * * * * * * * * * * * * * --- MISDEFX --- * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC MISDEFX * MISCELLANEOUS DEFINITIONS # *ENDIF *CALL MISDEFX # * * * * * * * * * * * * --- MISRES --- * * * * * * * * * * * * * * * # *IF DEF,IMS # * * DC MISRES * COMMON BLOCK TO HOLD NIP RESPONSE TIME AVERAGES FOR EACH * CONNECTION * * WORD 0 * 5 * 0 1 2 9 * I------I-------I-----------------------------------I * I I I I * I INPF I EXTF I CNCTR I * I I I I * I------I-----I-------------------------------------I * * INPF - INPUT BLOCK EXISTS FLAG * EXTF - CONNECTION NUMBER EXISTS FLAG * CNCTR - NUMBER OF RESPONSES * * WORD 1 * * CNSUM - ACCUMULATOR * * WORD 2 * * CNINPTM - INPUT BLOCK CLOCK TIME * # *ENDIF *CALL MISRES *CALL NCIOBB *CALL NFETB *CALL NHIMS *CALL NHEADER # * * * * * * * * * * * --- NP$NWNC --- * * * * * * * * * * * * * * * *# *IF DEF,IMS # * DC NP$NWNC * COMMON BLOCK TO HOLD COEFFICIENTS FOR EQUATIONS TO CALCULATE * THE NUMBER OF WORDS AND CHARACTES IN A DATA BLOCK # *ENDIF *CALL NP$NWN1 # * * * * * * * * * * * * * * * --- OCIOBB --- * * * * * * * * * * * * # *IF DEF,IMS # * * DC OCIOBB * COMMON BLOCK TO HOLD THE CIO BUFFER FOR OUTPUT FILE # *ENDIF *CALL OCIOBB # * * * * * * * * * * * * * * --- OFETB --- * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC OFETB * COMMON BLOCK TO HOLD THE FET AREA FOR OUTPUT FILE # *ENDIF *CALL OFETB # * * * * * * * * * * * * * * * --- OUTCDA --- * * * * * * * * * * * * # *IF DEF,IMS # * * DC OUTCDA * COMMON DECK FOR OUTPUT REPORT AS USED IN DLREP AND ITS * SUBORDINATE ROUTINES. # *ENDIF *CALL OUTCDA # * * * * * * * * * * * * * * * --- SYSDATEX --- * * * * * * * * * * * # *IF DEF,IMS # * * DC SYSDATEX * COMMON BLOCK TO STORE CURRENT DATE FROM SYSTEM * * 5 * 0 6 9 * I---------I----------------------------------------I * I I I * I I YYMMDD I * I I I * I---------I----------------------------------------I * * YYMMDD - CURRENT DATE * # *ENDIF *CALL SYSDATEX # * * * * * * * * * * * * * * * --- VDDIR --- * * * * * * * * * * * * *# *IF DEF,IMS # * * DC VDDIR * COMMON BLOCK OF VALID DIRECTIVE KEYWORDS. * * VDDR ENTRIES HAVE THE FOLLOWING FORMAT: * * 4 5 * 0 2 9 * I-----------------------------I--------------------I * I I I * I VDENTR I VDLEN I * I I I * I-----------------------------I--------------------I * * VDENTR - THE DISPLAY CODE VALUE OF A VALID ENTRY * VDLEN - =3, FOR TWO LETTER INPUT DIRECTIVES * =1, FOR ONE LETTER INPUT DIRECTIVES * # *ENDIF *CALL VDDIR # * * * * * * * * * * * * * * * --- VDPARM --- * * * * * * * * * * * * # *IF DEF,IMS # * * DC VDPARM * COMMON BLOCK TO LIST ALL VALID PARAMETERS FROM PRGM CALL CARD # *ENDIF *CALL VDPARM # * * * * * * * * * * * * * * * --- WRDPAIR --- * * * * * * * * * * * *# *IF DEF,IMS # * * DC WRDPAIR * COMMON BLOCK CONTAINING PARAMETERS USED BY DLDIS ROUTINE. # *ENDIF *CALL WRDPAIR # * * * * * * * * * * * * * * --- ZCIOBB --- * * * * * * * * * * * * * # *IF DEF,IMS # * * DC ZCIOBB * COMMON BLOCK TO HOLD CIO BUFFER AREA FOR ZZZZZDN FILE # *ENDIF *CALL ZCIOBB # * * * * * * * * * * * * * --- ZFETB --- * * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC ZFETB * COMMON BLOCK TO HOLD FET AREA FOR THE ZZZZZDN FILE # *ENDIF *CALL ZFETB # * * * * * * * * * * * * * * --- ZHRCD --- * * * * * * * * * * * * * *# *IF DEF,IMS # * * DC ZHRCD * COMMON BLOCK HOLDING TEMPLATE FOR THE HEADER RECORD OF ZZZZZDN * FILE. * INTERNAL FORMAT OF ZZZZZDN - * * HEADER WORD 0 - * W 7 * 4 * 0 2 * I----------------------------I * I I * I NIP I * I I * I----------------------------I * * WHERE * THE LEFTMOST 42 BITS CONTAINS DISPLAY CODE LITERALS NIP WITH * ZERO FILL. * * HEADER WORD 1 - * W 7 * 2 * 0 4 * I----------------------I-----------------------I * I I I * I SECONDS I MILLISECONDS I * I I I * I---------------------I-----------------------I * * WHERE * * * SECONDS = ELAPSED TIME SINCE DEADSTART IN SECS. * MILLISECONDS = ELAPSED TIME SINCE DEADSTART IN MILLISECONDS. * * HEADER WORD 2 - * * W 7 * 1 2 3 4 5 * 6 8 4 6 2 4 * I----I-----I-----I------I-----I------I-----I * I I I I I I I I * I I HH I . I MM I . I SS I . I * I I I I I I I I * I----I-----I-----I------I-----I------I-----I * * * WHERE * * HH = HOUR IN DISPLAY CODE. * MM = MINUTE IN DISPLAY CODE. * SS = SECONDS IN DISPLAY CODE. * * * HEADER WORD 3 - * W 7 * 1 2 3 4 5 * 6 8 4 6 2 4 * I----I------I-----I------I-----I------I-----I * I I I I I I I I * I I YY I / I MM I / I DD I / I * I I I I I I I I * I----I------I-----I------I-----I------I-----I * * * WHERE * * YY = YEAR IN DISPLAY CODE. * EG. 1978 WILL BE EXPRESSED AS 4243B. * MM = MONTH IN DISPLAY CODE. * DD = DATE OF THE MONTH IN DISPLAY CODE. * * * THE HEADER RECORD IS FOLLOWED BY INDIVIDUAL ZZZZZDN ENTRY * CONTAINING AN INBOUND OR OUTBOUND MESSAGE. * INTERNAL FORMAT OF EACH ZZZZZDN ENTRY - * * * WORD 0 - * * W 7 * 2 * 0 4 * I---------------------I-----------------------I * I I I * I SECONDS I MILLISECONDS I * I I I * I---------------------I-----------------------I * * WHERE * * * SECONDS = ELAPSED TIME SINCE DEADSTART IN SECS. * MILLISECONDS = ELAPSED TIME SINCE DEADSTART IN MILLISECONDS. * * * WORD 1 - * * W 7 * 2 * 6 3 * I----------I----------I * I I I * I BPIPID I BPIPBS I * I I I * I----------I----------I * * * WHERE * * BPIPID = BLOCK ID. * 14 FOR INBOUND, 15 FOR OUTBOUND. * BPIPBS = BLOCK SIZE. SIZE OF ZZZZZDN ENTRY MINUS ONE. * * * WORD 2 - * * W 5 * 1 2 2 2 3 4 4 4 * 0 8 6 4 5 8 2 0 4 8 * I--I--I--I-----I-----I--I-----I-----I-I--I * IDNISNICNINHPRIINHBSNIBTINHDBCINHACTIBICCI * I--I--I--I-----I-----I--I-----I-----I-I--I * * SEE NHEADER FOR EXPLANATION OF THE ABOVE FIELDS. * MESSAGE TEXT WILL FOLLOW THIS WORD. * # *ENDIF *CALL ZHRCD *IF DEF,IMS # *1DC DLFP * * 1. PROC NAME AUTHOR DATE. * DLFP P.C.TAM 78/09/15 * * 2. FUNCTIONAL DESCRIPTION. * MAIN PROGRAM. * CALL DLARG TO PROCESS ARGUMENT FROM PROGRAM CALL CARD, * CALL DLDIRP TO SCAN DIRECTIVES * CALL DLREP TO GENERATE OUTPUT * * 3. METHOD USED. * SAME AS 2. * * 4. ENTRY PARAMETERS. * NONE. * * 5. EXIT PARAMETERS. * NONE. * * 6. COMMON DECKS CALLED. * CRCOM CYBERDEFS ARGERR ARGTBL AWLDEFS * DEQCOM DIERR DIRTBL DIRTBLH DIRTBLM * DIRTBLS DLONEL DLNOD DLTLC DRHDR * ERRMSG FETDEFS ICIOBB IFETB MISCOM * MISDEF MISDEFX MISRES NCIOBB NFETB * NHEADER OCIOBB OFETB OUTCDA SYSDATEX * VDDIR VDPARM WRDPAIR ZCIOBB ZFETB * ZHRCD * * 7. ROUTINES CALLED. * DLABEND ABORT MAIN LINE * DLARG PROCESS ARGUMENTS FROM PROGRAM CALL CARD * DLDT GET CURRENT DATE * DLDIRP SCAN DIRECTIVE FILE * DLDFM LOG DAYFILE MESSAGE * DLENDPR TERMINATION PROCESSING * DLINT INITIATE READ/WRITE ON FILE * DLOPEN OPEN FILE * DLPSIN BUBBLE SORT VALUES OF PFC/SFC * DLRDW READ A RECORD FROM FILE * DLRECL WAIT FOR EVENT COMPLETION * DLREP REPORT GENERATOR * DLRWD REWIND FILE BACK TO BOI * * 8. DAYFILE MESSGES. * NONE. * # *ENDIF # EXTERNAL VARIABLES # XREF BEGIN PROC DLABEND; # ABORT MAIN LINE # PROC DLARG; # SCAN FOR PARAMETERS IN PROGRAM CALL # PROC DLCLOSE; # CLOSE FILE # PROC DLDT; # GET CURRENT DATE # PROC DLDIRP; # SCAN DIRECTIVE FILE # PROC DLDFM; # LOG DAYFILE MESSAGE PROCESSOR # PROC DLENDPR; # TERMINATION PROCESSING # PROC DLINT; # INITIATE READ/WRITE ON FILE # PROC DLOPEN; # OPEN FILE # PROC DLPSIN; # BUBBLE SORT VALUES OF PFC/SFC # PROC DLRDW; # READ RECORD FROM FILE # PROC DLRECL; # WAIT FOR EVENT COMPLETION # PROC DLREP; # OUTPUT FILE GENERATOR # PROC DLRWD; # REWIND FILE TO BOI # END # LOCAL VARIABLES # ITEM ERRCODE I, # ERROR RETURN CODE FROM SUBMODULES # RSIZE I, # REAL RECORD SIZE # I I, # TEMPORARY VARIABLE # UNPTR B, # FLAG FOR DLDIRP MODULE # IEOF B = FALSE; # END OF FILE FLAG # BASED ARRAY PRODID[0:0] S(1); BEGIN ITEM PROD$ID C(00,00,03); END #**********************************************************************# BEGIN # SCAN PARAMETERS TO DETERMINE INPUT, OUTPUT, AND DIRECTIVE FILE NAMES # NTOFF = FALSE; DLARG; # PROCESS CONTROL CARD PARAMETERS # DLPSIN; # BUBBLE SORT VALUES OF PFC/SFC # DLDT(SYSDATEY); # GET DATE # P = LOC(OFET0[0]); # INITIALIZE OUTPUT FILE NAME # FETNAM[0] = ARGENTR[OFILE]; # SET OUTPUT FILE NAME # DLOPEN(OFET, WRITENR); # OPEN OUTPUT FILE # DLINT(OFET, WRITENR); # INITIALIZE WRITE OPERATION # IF ARGFLAG[NFILE] THEN BEGIN # INITIALIZE NEW DEBUG LOG FILE FETS # P = LOC(NFET); FETNAM[0] = ARGENTR[NFILE]; DLOPEN(NFET, WRITENR); DLINT(NFET, WRITENR); END P = LOC(ZFET0[0]); # INITIALIZE ZZZZZDN FILE NAME # FETNAM[0] = ARGENTR[ZFILE]; # SET ZZZZZDN FILE NAME # DLOPEN(ZFET, READNR); # OPEN ZFILE # DLRWD(ZFET); # REWIND ZZZZZDN FILE TO BOI # DLINT(ZFET, READNR); # INITIATE FILE FOR READING # DLRDW(ZFET, ZHSIZE, TEMPB1, RSIZE); # READ FILE HEADER # P = LOC(TEMPB1); IF RSIZE LS 0 # (EOF) OR (EOI) # THEN # ZZZZZDN FILE EMPTY # BEGIN DLDFM(EMP$ZFILE); # EMPTY ZZZZZDN FILE # END ELSE BEGIN IF RSIZE NQ ZHSIZE OR PROD$ID[0] EQ " " THEN BEGIN # BAD ZZZZZDN FILE CONTENT # DLDFM(BAD$ZFILE); DLABEND; END # SCAN DIRECTIVE FILE AND GENERATE REPORT # IF ARGENTR[INFILE] NQ O"33000000000000000000"# I=0, NO DIR FILE # THEN # INPUT DIRECTIVE FILE EXISTS # BEGIN P = LOC(IFET0[0]);# INITIALIZE INPUT FILE # FETNAM[0] = ARGENTR[INFILE];# SET INPUT FILE NAME # DLOPEN(IFET, READNR); # OPEN FILE # DLINT(IFET, READNR); # INITIALIZE READ # DLRECL(IFET); # WAIT FOR INITIALIZE READ TO FIN # # LOOP TO READ EACH DIRECTIVE RECORD, AND PROCESS IT # FOR I = 0 STEP 1 WHILE NOT IEOF DO BEGIN ERRCODE = 0; IF FETIN[0] EQ FETOUT[0] AND # CIO BUFFER EMPTY # (FETEOI[0] EQ 1 OR # FILE AT EOI # FETEOF[0] EQ 3 OR # FILE AT EOF # (FETEOR[0] EQ 2 AND # FILE AT EOR AND # FETDT[0] NQ "TT")) # NOT A TERMINAL INPUT # THEN IEOF = TRUE; ELSE # DIRECTIVES AVAILABLE # BEGIN DLDIRP(UNPTR,ERRCODE);# FILE DIRECTIVE SCANNER # IF FETDT[0] EQ "TT" # IT IS A TERMINAL JOB # THEN BEGIN IF UNPTR AND # EMPTY LINE INPUT # I NQ 0 # NOT 1ST TIMER # THEN IEOF = TRUE; END END IF (NOT IEOF OR (IEOF AND I EQ 0)) AND ERRCODE EQ 0 THEN # INPUT AVAILABLE, OR INPUT FILE EMPTY # BEGIN DLRWD(ZFET); # REWIND FILE TO BOI # DLINT(ZFET, READNR);# INITIATE FILE FOR READ # DLREP; # REPORT GENERATOR # IF FETEOR[0] EQ 2 AND FETDT[0] EQ "TT" THEN # RE-INITIALIZE READ # DLINT(IFET,READNR); END END END ELSE # NO INPUT DIRECTIVE FILE # BEGIN DLRWD(ZFET); # REWIND FILE TO BOI # DLINT(ZFET, READNR); # INITIATE FILE FOR READ # DLREP; # REPORT GENERATOR # END END DLDFM(DL$COMP); # DLFP COMPLETE # DLENDPR; # TERMINATION PROCESSING # STOP; END TERM