cdc:nos2.source:nam5871:dlrep
Table of Contents
DLREP
Table Of Contents
- [00015] PROC DLREP
- [00113] PROC DLABEND
- [00114] PROC DLCND
- [00115] PROC DLDFM
- [00116] PROC DLFLUSH
- [00117] PROC DLINT
- [00118] PROC DLRECL
- [00119] PROC DLREST
- [00120] PROC DLRT
- [00121] PROC DLSCAN
- [00122] PROC DLRDW
- [00123] PROC DLUPTM
- [00124] PROC DLWRT
Source Code
- DLREP.txt
- *DECK DLREP
- USETEXT DLFPDEF
- USETEXT DIERR
- USETEXT DIRTBL
- USETEXT DIRTBLH
- USETEXT DIRTBLM
- USETEXT DIRTBLS
- USETEXT ERRMSG
- USETEXT MISRES
- USETEXT OFETB
- USETEXT OUTCDA
- USETEXT ZCIOBB
- USETEXT ZFETB
- USETEXT ZHRCD
- PROC DLREP; # REPORT GENERATING PROGRAM #
- *IF DEF,IMS
- #
- *1DC DLREP
- *
- * 1. PROC NAME AUTHOR DATE
- * DLREP P.C.TAM 78/12/12
- *
- * 2. FUNCTIONAL DESCRIPTION.
- * REPORT GENERATING ROUTINE
- *
- * 3. METHOD USED.
- * INITIALIZE COUNTER OF NUMBER OF ENTRIES WRITTEN TO OUTPUT
- * AND CLEAR COMPLETE FLAG.
- * READ DEBUG LOG FILE INFORMATION.
- * DETERMINE IF AIP OR NIP DEBUG LOG FILE.
- * CALL DLRT TO COMPUTE MIDNIGHT OFFSET.
- * ADD INITIAL RT VALUE TO COMPUTE RT VALUE.
- * IF BD PARAMETER EXISTS IN PARAMETER TABLE, CALL DLCND TO
- * COMPUTE NUMBER (IN SECONDS) OF FULL 24 HOUR PERIODS FROM
- * DATE IN HEADER TO BD DATE (NUMBER = 0 IF BD DATE @ HEADER
- * + 1). NUMBER IS ADDED TO MIDNIGHT RT VALUE TO GET BD RT
- * VALUE.
- * IF BT PARAMETER EXISTS IN PARAMETER TABLE, CALL DLRT TO
- * CONVERT IT TO A RT VALUE AND ADD SRTMILS (START TIME)
- * AND ADD BEGIN DATE OFFSET TO COMPUTE BT RT VALUE.
- * IF BT PARAMETER DOES NOT EXIST AND BD PARAMETER DOES
- * THEN BT RT VALUE IS SET TO START TIME. IF BT PARAMETER
- * DOES NOT EXIST AND BD PARAMETER DOES NOT EXIST, THEN
- * PARAMETER TABLE BT VALUE IS LEFT AT ZERO.
- * ZERO BD PARAMETER IN PARAMETER TABLE.
- * IF ED PARAMETER EXISTS IN PARAMETER TABLE, CALL DLCND TO
- * COMPUTE NUMBER OF FULL 24 HOUR PERIODS IN SECONDS FROM
- * DATE IN HEADER TO ED DATE (NUMBER = - MIDNIGHT RT VALUE
- * IF ED DATE @ HEADER DATE). NUMBER IS ADDED TO MIDNIGHT RT
- * VALUE TO GET ED RT VALUE.
- * IF ET PARAMETER EXISTS IN PARAMETER TABLE, CALL DLRT TO
- * CONVERT IT TO A RT VALUE AND ADD TO SRTMILS (START
- * TIME) AND TO END DATE OFFSET TO COMPUTE ET RT VALUE.
- * ZERO ED PARAMETER IN PARAMETER TABLE.
- * IF AIP LOG FILE, ZERO DN AND SN ENTRIES IN PARAMETER TABLE.
- * IF NIP LOG FILE, ZERO T, U, AND B ENTRIES IN PARAMETER TABLE,
- * AND INITIALIZE THE CONNECTION TABLE.
- * COPY FIRST 6 ENTRIES OF PARAMETER TABLE, IF NONZERO,
- * TO MESSAGE PROCESSING TABLE.
- * COPY NEXT 11 ENTRIES OF PARAMETER TABLE, IF NONZERO,
- * TO ABH/NBH PROCESSING TABLE (INCLUDING CN)
- * COPY LAST 5 ENTRIES OF PARAMETER TABLE, IF NONZERO,
- * TO SUPMSG PROCESSING TABLE (INCLUDING CN)
- * IF LE PARAMETER EXISTS IN PARAMETER TABLE, STORE IN LENGTH.
- * OTHERWISE, SET LENGTH TO TLWMAX (410 WORDS).
- * SET SM TO SM PARAMETER IN PARAMETER TABLE. THIS WILL SET
- * SM TO ZERO IF THE SM PARAMETER DOES NOT EXIST.
- * CALL DLSCAN TO PROCESS DEBUG LOG FILE
- * IF END OF FILE IS ENCOUNTERED SET COMPLETE FLAG TO
- * FALSE TO PROCESS THE NEXT FILE (MAY HAVE MULTI-FILE FILES).
- * CALL DLFLUSH TO WRITE EOR TO OUTPUT FILE
- * IF NIP DEBUG LOG FILE AND MESSAGES HAVE BEEN OUTPUT,
- * THEN CALL DLREST TO WRITE AVERAGE RESPONSE TIME TO
- * OUTPUT FILE.
- *
- * 4. ENTRY PARAMETERS.
- * NONE.
- *
- * 5. EXIT PARAMETERS.
- * NONE.
- *
- * ARGTBL NCIOBB NFETB
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * DIERR DIRTBL DIRTBLH DIRTBLM
- * DIRTBLS MISRES OFETB OUTCDA
- * SYSDATEX ZCIOBB ZFETB ZHRCD
- * ERRMSG
- *
- * 7. ROUTINES CALLED.
- * DLABEND ABORT PROGRAM
- * DLCND CALCULATE DATE OFFSET IN SECONDS
- * DLDFM DAYFILE MESSAGE PROCESSOR
- * DLFLUSH WRITE EOR ON OUTPUT FILE
- * DLINT INITIALIZE READ FOR ANOTHER EOR
- * DLRECL RECALL ON COMPLETION BIT
- * DLREST NIP RESPONSE TIME AVERAGES
- * DLRT COMPUTES REAL TIME FROM CLOCK TIME
- * DLSCAN SCAN DEBUG LOG FILE
- * DLRDW RECORD A SPECIFIED NO OF WORDS FROM FILE
- * DLUPTM CALCULATE THE CLOCK TIME FROM OFFSET
- *
- * 8. DAYFILE MESSAGES.
- * *BAD FILE CONTENT*
- *
- #
- *ENDIF
- #
- EXTERNAL VARIABLES
- #
- XREF
- BEGIN
- PROC DLABEND; # ABORT MAIN PROGRAM #
- PROC DLCND; # CALCULATE OFFSET DATE IN SECONDS #
- PROC DLDFM; # DAYFILE MESSAGE PROCESSOR #
- PROC DLFLUSH; # WRITE EOR ON OUTPUT FILE #
- PROC DLINT; # INITIALIZE READ #
- PROC DLRECL; # RECALL ON COMPLETION BIT #
- PROC DLREST; # NIP RESPONSE TIME AVERAGES #
- PROC DLRT; # COMPUTES REAL TIME FROM CLOCK TIME #
- PROC DLSCAN; # SCAN DEBUG LOG FILE #
- PROC DLRDW; # READ RECORD FROM CIO BUFFER #
- PROC DLUPTM; # CALCULATE CLOCK TIME #
- PROC DLWRT; # DIRECT WRITE TO CIO BUFFER #
- END
- #
- COMMON VARIABLES
- #
- CONTROL NOLIST; # SEE DLFP FOR LISTING OF ARGTBL #
- *CALL ARGTBL
- CONTROL LIST;
- CONTROL NOLIST; # SEE DLFP FOR LISTING OF NCIOBB #
- *CALL NCIOBB
- CONTROL LIST;
- CONTROL NOLIST;
- *CALL NFETB
- CONTROL LIST;
- *CALL SYSDATEX
- #
- LOCAL VARIABLES
- #
- ITEM
- BRTIME, # BEGIN REAL TIME #
- ERTIME, # END REAL TIME #
- RSIZE I, # READ IN DATA SIZE #
- OFF$DATE, # DATE OFFSET IN SECONDS #
- J, # TEMPORARY VARIABLE #
- I I; # TEMPORARY VARIABLE #
- BASED ARRAY DUMMY; ;
- # ******************************************************************** #
- BEGIN
- #
- INITIALIZE LOCAL VARIABLES
- #
- PAGE$COUNT = 0;
- MSG$COUNT = 0;
- OUMSGNO = 0;
- COMPLETE = FALSE;
- FOR I = I WHILE NOT COMPLETE
- DO
- BEGIN
- LINE$COUNT = MAXNO;
- DLRDW(ZFET, ZHSIZE, TEMPB1, RSIZE);# READ IN HEADR #
- IF RSIZE EQ 0 OR
- RSIZE LS 0
- THEN
- BEGIN # EOF, EOI OR EMPTY RECORDS ENCOUNTERED #
- COMPLETE = TRUE;
- TEST I;
- END
- IF RSIZE NQ ZHSIZE
- THEN
- BEGIN # BAD DEBUG LOG FILE CONTENT #
- DLDFM(BAD$ZFILE);
- DLABEND;
- END
- L1NAME[0] = ZHNAME[0]; # PRESET HEADER INFORMATION #
- FOR I = 0 STEP 1 UNTIL 7 DO
- BEGIN # CONVERT ZERO BYTES TO BLANK #
- IF C<I>L1NAME[0] EQ 0
- THEN
- C<I>L1NAME[0] = " ";
- END
- L1DATE[0] = SYSDATE[0];
- L2DATE[0] = ZHYMD[0];
- SRTSEC = ZHSEC[0];
- SRTMILS = ZHMILS[0];
- SCLHHMMSS = ZHWD2[0];
- SDTYYMMDD = ZHWD3[0];
- IF C<0,3>ZHNAME[0] EQ "NIP"
- THEN # CHANGE THE PRESET VALUE #
- NIP = TRUE;
- DLRT("240000",BRTIME);
- MIDNITE = SRTMILS + BRTIME;
- #
- WRITE NEW DEBUG LOG FILE IF NECESSARY
- #
- IF ARGFLAG[NFILE]
- THEN
- BEGIN # HEADER FOR NEW DEBUG LOG FILE #
- DLWRT(NFET, TEMPB1, RSIZE);
- NMSGCNT = 0;
- END
- #
- BEGIN TIME PROCESSING
- #
- IF DIRID[ID$BD] NQ 0
- THEN
- BEGIN # BEGIN DATE SPECIFIED #
- DLCND(DIRWD0[ID$BD],OFF$DATE); # COMPUTE BEGIN DATE OFFSET #
- IF DIRID[ID$BT] NQ 0
- THEN
- BEGIN # BEGIN TIME SPECIFIED #
- DLRT(DIRWD0[ID$BT],BRTIME); # COMPUTE BEGIN TIME OFFSET #
- BRTIME = SRTMILS + OFF$DATE + BRTIME;
- END
- ELSE
- BRTIME = MIDNITE + OFF$DATE - 86400000;
- IF BRTIME LS SRTMILS
- THEN
- BRTIME = SRTMILS;
- END
- ELSE
- BEGIN # BEGIN DATE NOT SPECIFIED #
- IF DIRID[ID$BT] NQ 0
- THEN
- BEGIN # BEGIN TIME SPECIFIED #
- DLRT(DIRWD0[ID$BT],BRTIME); # COMPUTE BEGIN TIME OFFSET #
- IF BRTIME LS 0
- THEN
- BRTIME = 0;
- BRTIME = SRTMILS + BRTIME;
- END
- ELSE
- BRTIME = 0;
- END
- #
- END TIME PROCESSING
- #
- IF DIRID[ID$ED] NQ 0
- THEN
- BEGIN # END DATE SPECIFIED #
- DLCND(DIRWD0[ID$ED],OFF$DATE);# COMPUTE DATE OFFSET #
- IF DIRID[ID$ET] NQ 0
- THEN
- BEGIN # END TIME SPECIFIED #
- DLRT(DIRWD0[ID$ET],ERTIME); # COMPUTE TIME OFFSET #
- ERTIME = SRTMILS + OFF$DATE + ERTIME;
- END
- ELSE
- ERTIME = MIDNITE + OFF$DATE - 86400000;
- IF ERTIME LS SRTMILS
- THEN
- ERTIME = SRTMILS;
- END
- ELSE
- BEGIN # END DATE NOT SPECIFIED #
- IF DIRID[ID$ET] NQ 0
- THEN
- BEGIN # END TIME SPECIFIED #
- DLRT(DIRWD0[ID$ET],ERTIME); # COMPUTE TIME OFFSET #
- IF ERTIME LS 0
- THEN
- ERTIME = SRTMILS ; # END TIME BEFORE NETON TIME #
- ELSE
- ERTIME = SRTMILS + ERTIME ;
- END
- ELSE
- ERTIME = 0;
- END
- IF NOT NIP
- THEN # AIP LOG FILE, ZERO DN, SN #
- BEGIN
- DIRWD0[ID$DN] = 0;
- DIRWD0[ID$SN] = 0;
- END
- ELSE
- BEGIN # NIP LOG FILE, ZERO T,U,B #
- DIRWD0[ID$T] = 0;
- DIRWD0[ID$U] = 0;
- DIRWD0[ID$B] = 0;
- FOR I = 0 STEP 1 UNTIL MAXCN
- DO
- BEGIN # ZERO RESPONSE TIME AVERAGE TABLE #
- CNWD0[I] = 0;
- CNWD1[I] = 0;
- END
- END
- #
- SET MESSAGE PROCESSING TABLE
- #
- J = 0;
- IF DIRID[ID$NM] NQ 0
- THEN
- BEGIN # NM= DIRECTIVE #
- J = J + 1;
- DIRMID[J] = ID$NM;
- DIRMVAL[J] = DIRVALU[ID$NM];
- END
- IF ERTIME NQ 0
- THEN
- BEGIN # SET ET= VALUE #
- J = J + 1;
- DIRMID[J] = ID$ET;
- DIRMVAL[J] = ERTIME;
- END
- IF DIRID[ID$N] NQ 0
- THEN
- BEGIN # N DIRECTIVE #
- J = J + 1;
- DIRMID[J] = ID$N;
- END
- IF BRTIME NQ 0
- THEN
- BEGIN # SET BT= VALUE #
- J = J + 1;
- DIRMID[J] = ID$BT;
- DIRMVAL[J] = BRTIME;
- END
- DIRNUMM = J;
- #
- SET ABH/NBH PROCESSING TABLE
- #
- J = 0;
- FOR I = ID$B STEP 1 UNTIL ID$CN
- DO
- IF DIRID[I] NQ 0
- THEN
- BEGIN
- J = J + 1;
- DIRHID[J] = DIRID[I];
- DIRHVAL[J] = DIRVALU[I];
- END
- DIRNUMH = J;
- #
- SET SUPERVISORY PROCESSING TABLE
- #
- J = 0;
- FOR I = ID$CN STEP 1 UNTIL ID$PS
- DO
- IF DIRID[I] NQ 0
- THEN
- BEGIN
- J = J + 1;
- DIRSID[J] = DIRID[I];
- DIRSVAL[J] = DIRVALU[I];
- END
- DIRNUMS = J;
- IF DIRWD0[ID$LE] NQ 0
- THEN # MAXIMUM LENGTH OF MESSAGE TO BE OUTPUT #
- LENGTH = DIRVALU[ID$LE];
- ELSE
- LENGTH = TLWMAX;
- # START MESSAGE AFTER THIS MESSAGE NUMBER #
- SM = DIRVALU[ID$SM];
- #
- PROCESS LOG FILE
- #
- DLSCAN;
- IF EOFFLAG
- THEN
- BEGIN # (EOF) ENCOUNTERED #
- COMPLETE = FALSE; # PROCESS NEXT FILE #
- EOFFLAG = FALSE;
- PAGE$COUNT = 0 ;
- NMSGCNT = 0 ;
- OUMSGNO = 0 ;
- END
- IF NTOFF
- THEN
- BEGIN # NETOFF ENCNTERED, CHK EOR #
- DLRDW(ZFET, ZHSIZE, TEMPB1, RSIZE);
- IF RSIZE EQ 0
- THEN
- BEGIN
- DLINT(ZFET, READNR); # INTIALIZE READ AFTER EOR #
- IF ARGFLAG[NFILE]
- THEN
- BEGIN
- DLFLUSH(NFET);
- DLRECL(NFET);
- END
- COMPLETE = FALSE;
- END
- END
- END
- IF NOT ARGFLAG[NFILE]
- THEN
- BEGIN # N= OPTION NOT SELECTED #
- IF MSG$COUNT EQ 0
- THEN
- BEGIN
- P<DUMMY> = LOC(D$EM0[D$NMF]);# NO MESSAGES FOUND #
- DLWRT(OFET,DUMMY,5);
- END
- ELSE
- IF NIP
- THEN # NIP TRACE FILE #
- DLREST; # WRITE NIP RESP TIME AVG #
- DLFLUSH(OFET); # WRITER ON FILE #
- END
- END # DLREP #
- TERM
cdc/nos2.source/nam5871/dlrep.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator