cdc:nos2.source:nam5871:dlfp
Table of Contents
DLFP
Table Of Contents
- [00002] PRGM DLFP
- [00828] PROC DLABEND
- [00829] PROC DLARG
- [00830] PROC DLCLOSE
- [00831] PROC DLDT
- [00832] PROC DLDIRP
- [00833] PROC DLDFM
- [00834] PROC DLENDPR
- [00835] PROC DLINT
- [00836] PROC DLOPEN
- [00837] PROC DLPSIN
- [00838] PROC DLRDW
- [00839] PROC DLRECL
- [00840] PROC DLREP
- [00841] PROC DLRWD
Source Code
- DLFP.txt
- *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<FETDEFS> = 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<FETDEFS> = LOC(NFET);
- FETNAM[0] = ARGENTR[NFILE];
- DLOPEN(NFET, WRITENR);
- DLINT(NFET, WRITENR);
- END
- P<FETDEFS> = 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<PRODID> = 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<FETDEFS> = 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
cdc/nos2.source/nam5871/dlfp.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator