cdc:nos2.source:nam5871:dlmsg
Table of Contents
DLMSG
Table Of Contents
- [00007] PROC DLMSG
- [00063] PROC DLABEND
- [00064] PROC DLDFM
Source Code
- DLMSG.txt
- *DECK DLMSG
- USETEXT DLFPDEF
- USETEXT DIRTBLM
- USETEXT ERRMSG
- USETEXT OUTCDA
- USETEXT ZHRCD
- PROC DLMSG; # SEARCH MESSAGE DIRECTIVE TABLE #
- BEGIN
- *IF DEF,IMS
- #
- *1DC DLMSG
- *
- * 1. PROC NAME AUTHOR DATE.
- * DLMSG S.KRULEVITCH 79/01/10
- *
- * 2. FUNCTIONAL DESCRIPTION.
- * SEARCH FOR MESSAGES ACCORDING TO MESSAGE DIRECTIVES.
- *
- * 3. METHOD USED.
- * LOOP THROUGH MESSAGE PROCESSING TABLE PROCESSING EACH
- * ENTRY AS FOLLOWS UNTIL EITHER THE CHOSEN FLAG IS
- * CLEARED OR EVERY ENTRY HAS BEEN PROCESSED.
- *
- * NM CHECK IF NUMBER OF ENTRIES WRITTEN TO OUTPUT MATCHES
- * THIS VALUE. IF SO, CLEAR CHOSEN FLAG AND SET COMPLETE
- * FLAG.
- * BT CHECK IF TIME OF CURRENT MESSAGE IS GREATER THAN OR
- * EQUAL TO THIS TIME. IF NOT, CLEAR CHOSEN FLAG. IF
- * SO, ZERO TABLE ENTRY SO IT WILL NOT BE PROCESSED
- * ANYMORE.
- * ET CHECK IF CURRENT MESSAGE IS GREATER THAN OR EQUAL
- * TO THIS TIME. IF SO, CLEAR CHOSEN FLAG AND SET
- * COMPLETE FLAG.
- * N CHECK IF NETLOG MESSAGES ARE DE-SELECTED OR NOT.
- *
- * 4. ENTRY PARAMETERS.
- * DIRNUMM - NUMBER OF ENTRIES IN MESSAGE PROCESSING TABLE.
- * DIRTBLM - MESSAGE PROCESSING DIRECTIVE TABLE.
- * TEMPB1 - ADDRESS OF LOG FILE ENTRY
- *
- * 5. EXIT PARAMETERS.
- * CHOSEN - FALSE IF CONDITIONS NOT SATISFIED.
- * COMPLETE - TRUE IF SEARCH COMPLETE.
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * DIRTBLM DLFPDEF ERRMSG OUTCDA
- * ZHRCD
- *
- * 7. PROCEDURES CALLED.
- * DLABEND ABORT PROGRAM
- * DLDFM ISSUE DAYFILE MESSAGE
- *
- * 8. DAYFILE MESSAGES.
- * BAD DIRECTIVE TABLE ENTRY.
- *
- #
- *ENDIF
- #
- EXTERNAL PROCEDURES
- #
- XREF
- BEGIN
- PROC DLABEND; # ABORT PROGRAM #
- PROC DLDFM; # ISSUE DAYFILE MESSAGE #
- END
- #
- LOCAL VARIABLES
- #
- ITEM
- I; # TEMPORARY LOOP VARIABLE #
- BASED ARRAY DATLINE P(4);
- *CALL NP$DLA
- SWITCH PROCESS ERR,NM,ET,BT,ERR,ERR,N,ERR,ERR,ERR,ERR,ERR,ERR,
- ERR,ERR,ERR,ERR,ERR,ERR,ERR,ERR;
- #**********************************************************************#
- #
- DLMSG EXECUTION BEGINS HERE
- #
- P<DATLINE> = LOC(TEMPB1);
- FOR I = 1 STEP 1 WHILE CHOSEN AND I LQ DIRNUMM DO
- BEGIN
- GOTO PROCESS[DIRMID[I]];
- NM:
- IF DIRMVAL[I] LQ MSG$COUNT
- THEN
- BEGIN
- CHOSEN = FALSE;
- COMPLETE = TRUE;
- END
- GOTO CONTN;
- N:
- IF DL$OPC[0] EQ OP$LOG
- THEN
- CHOSEN = FALSE; # IGNORE APP LOG MESSAGES #
- GOTO CONTN;
- BT:
- IF ZNMILS[0] LS DIRMVAL[I]
- THEN
- CHOSEN = FALSE;
- ELSE
- BEGIN # REMOVE BT ENTRY #
- DIRMWD[I] = 0;
- DIRNUMM = DIRNUMM - 1;
- END
- GOTO CONTN;
- ET:
- IF ZNMILS[0] GQ DIRMVAL[I]
- THEN # ENDING TIME FOUND #
- BEGIN
- CHOSEN = FALSE;
- COMPLETE = TRUE;
- END
- GOTO CONTN;
- ERR:
- DLDFM(BAD$DNTRY); # BAD DIRECTIVE TABLE ENTRY #
- DLABEND; # ABORT PROGRAM #
- CONTN:
- END # LOOPING THROUGH MESSAGE DIRECTIVE TABLE #
- END # DLMSG #
- TERM
cdc/nos2.source/nam5871/dlmsg.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator