User Tools

Site Tools


cdc:nos2.source:nam5871:dlsm

Table of Contents

DLSM

Table Of Contents

  • [00009] PROC DLSM(TEMPB2)
  • [00073] PROC DLABEND
  • [00074] PROC DLDFM

Source Code

DLSM.txt
  1. *DECK DLSM
  2. USETEXT DLFPDEF
  3. USETEXT ABH
  4. USETEXT DIRTBL
  5. USETEXT DIRTBLS
  6. USETEXT ERRMSG
  7. USETEXT NHEADER
  8. USETEXT ZHRCD
  9. PROC DLSM(TEMPB2); # SELECT SUPERVISORY MSG #
  10.  
  11. *IF DEF,IMS
  12. #
  13. *1DC DLSM
  14. *
  15. * 1. PROC NAME AUTHOR DATE
  16. * DLSM P.C.TAM 79/01/09
  17. *
  18. * 2. FUNCTIONAL DESCRIPTION
  19. * SELECT SUPERVISORY MESSAGES FOR OUTPUT
  20. *
  21. * 3. METHOD USED
  22. * IF AIP LOG FILE AND BLOCK TYPE IS LESS THAN
  23. * APPCMD, CLEAR CHOSEN FLAG.
  24. * IF NIP LOG FILE AND BLOCK TYPE IS NETCMD, CLEAR CHOSEN FLAG.
  25. * LOOP THROUGH SUPMSG PROCESSING TABLE, PROCESS EACH ENTRY.
  26. * AS FOLLOWS WHILE THE SELECT$ FLAG IS STILL SET OR
  27. * UNTIL EVERY ENTRY HAS BEEN PROCESSED.
  28. * E CHECK IF ERROR BIT IS SET IN SUPERVISORY MESSAGE
  29. * OF CURRENT MESSAGE, OTHERWISE CLEAR CHOSEN FLAG.
  30. * R CHECK IF RESPONSE BIT IS SET IN SUPERVISORY
  31. * MESSAGE OF CURRENT MESSAGE, OTHERWISE CLEAR CHOSEN
  32. * FLAG.
  33. * CN COMPARE THE CONNECTION NUMBER IN THE SUPERVISORY
  34. * MESSAGE PROCESSING TABLE WITH ONE IN CURRENT TABLE.
  35. * IF NOT MATCH, CLEAR CHOSEN FLAG.
  36. * PF COMPARE THE PFC IN TABLE WITH ONE IN MESSAGE. IF
  37. * NOT MATCH, CLEAR CHOSEN FLAG.
  38. * PS COMPARE THE PFC/SFC IN TABLE WITH ONE IN MESSAGE. IF
  39. * NOT MATCH, CLEAR CHOSEN FLAG.
  40. *
  41. * 4. ENTRY PARAMETERS.
  42. * DIRTBLS COMMON BLOCK WITH ALL SELECTION
  43. * CRITERIA.
  44. * TEMPB2 CONTAINS TEXT
  45. * ZHRCD COMMON BLOCK WHERE THE INPUT RECORD IS.
  46. *
  47. * 5. EXIT PARAMETERS.
  48. * CHOSEN IN ZHRCD COMMON BLOCK
  49. *
  50. * 6. COMDECKS CALLED AND SYMPL TEXTS CALLED.
  51. * ABH DIRTBL DIRTBLS DLFPDEF
  52. * ERRMSG NP$DLA NHEADER SUPMSG
  53. * ZHRCD
  54. *
  55. * 7. ROUTINES CALLED.
  56. * DLABEND ABORT PROGRAM
  57. * DLDFM ISSUE DAYFILE MESSAGE
  58. *
  59. * 8. DAYFILE MESSAGES.
  60. * BAD DIRECTIVE TABLE ENTRY.
  61. *
  62.  #
  63. *ENDIF
  64. #
  65.   FORMAL PARAMETER
  66. #
  67. ARRAY TEMPB2; ; # CONTAINS MESSAGE TEXT #
  68. #
  69.   EXTERNAL PROCEDURES
  70. #
  71. XREF
  72. BEGIN
  73. PROC DLABEND; # ABORT PROGRAM #
  74. PROC DLDFM; # ISSUE DAYFILE MESSAGE #
  75. END
  76.  
  77. #
  78.   LOCAL VARIABLES
  79. #
  80. BASED ARRAY DATLINE P(4); # AIP ENTRY TEMPLATE #
  81. *CALL NP$DLA
  82.  
  83. BASED ARRAY SUPMS;
  84. BEGIN
  85. *CALL SUPMSG
  86. ITEM SUPCN U(0,24,12);# CONNECTION NUMBER IN SUP MSG #
  87. END
  88.  
  89. SWITCH CRIT
  90. ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR,ERR,
  91. ERR, ERR, ERR, ERR, CN$PROC, E$PROC, R$PROC, PF$PROC,
  92. PS$PROC, ERR, ERR;
  93. ITEM
  94. I, # TEMPORARY VARIABLE #
  95. TEMP1; # TEMPORARY VARIABLE #
  96.  
  97. # ******************************************************************** #
  98. BEGIN
  99. P<NHEADER> = LOC(ZHWD1[0]) + BLKHSIZE;
  100. P<ABH> = P<NHEADER> + 1;
  101. P<SUPMS> = LOC(TEMPB2);
  102. IF NOT NIP
  103. THEN
  104. BEGIN # AIP LOG FILE #
  105. P<DATLINE> = LOC(TEMPB1);
  106. IF DL$OPC[0] GQ OP$GETF AND DL$OPC[0] LQ OP$GTFL
  107. THEN
  108. P<SUPMS> = P<SUPMS> + 1;
  109.  
  110. IF ABHABT[0] LS APPCMD
  111. THEN
  112. IF DIRNUMS GR 1 OR DIRSID[1] NQ ID$CN
  113. THEN
  114. CHOSEN = FALSE;
  115. ELSE
  116. GOTO DLSMX;
  117.  
  118. END
  119. ELSE
  120. BEGIN # NIP LOG FILE #
  121. IF BT[0] NQ NETCMD
  122. THEN
  123. IF DIRNUMS GR 1 OR DIRSID[1] NQ ID$CN
  124. THEN # ENTRY MUST BE SUP MSG #
  125. CHOSEN = FALSE; # CURRENT ENTRY IS NOT SUP MSG #
  126. ELSE # DO NOT CHECK FOR VALID CN #
  127. GOTO DLSMX;
  128. END
  129. #
  130.   LOOP TO PROCESS ALL SELECTION REQUIREMENTS
  131. #
  132. FOR I = 1 STEP 1 WHILE CHOSEN AND I LQ DIRNUMS
  133. DO
  134. BEGIN
  135. GOTO CRIT[DIRSID[I]];
  136. E$PROC: # ERROR BIT PROCESSING #
  137. CHOSEN = EB[0];
  138. GOTO NEXT;
  139. R$PROC: # RESPONSE BIT PROCESSING #
  140. CHOSEN = RB[0];
  141. GOTO NEXT;
  142. CN$PROC: # CONNECTION NUMBER PROCESSING #
  143. IF (ABHADR[0] EQ 0 AND SUPCN[0] NQ DIRSVAL[I] AND NOT NIP) OR
  144. (CN[0] EQ 0 AND SUPCN[0] NQ DIRSVAL[I] AND NIP)
  145. THEN
  146. CHOSEN = FALSE;
  147. GOTO NEXT;
  148. PF$PROC: # PFC PROCESSING #
  149. IF PFC[0] NQ DIRSVAL[I]
  150. THEN
  151. CHOSEN = FALSE;
  152. GOTO NEXT;
  153. PS$PROC: # PFC/SFC PROCESSING #
  154. TEMP1 = DIRSVAL[I];
  155. IF B<54,6>TEMP1 NQ SFC[0] OR
  156. B<44,8>TEMP1 NQ PFC[0]
  157. THEN
  158. CHOSEN = FALSE;
  159. GOTO NEXT;
  160. ERR:
  161. DLDFM(BAD$DNTRY); # BAD DIRECTIVE TABLE ENTRY #
  162. DLABEND; # ABORT PROGRAM #
  163. NEXT:
  164. END
  165. DLSMX:
  166. END
  167. TERM
cdc/nos2.source/nam5871/dlsm.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator