Table of Contents

MSABT

Table Of Contents

  • [00011] MESSAGE ABORT TASK.
  • [00037] COMMUNICATION BLOCK DEFINITION.
  • [00081] SEND MESSAGE TO A TERMINAL TO INFORM THE USER THAT

Source Code

MSABT.txt
  1. IDENT MSABT
  2. ENTRY MSABT
  3. LCC OVERLAY(MSABT,0,0)
  4. COMMENT 72/09/24. 72/09/24. MESSAGE ABORT TASK.
  5. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  6. MSABT TITLE MSABT - MESSAGE ABORT TASK.
  7.  
  8. ***** MSABT - MESSAGE ABORT TASK.
  9. * J. R. HOGUE. 1972.
  10. MSABT SPACE 4
  11. *** MSABT - MESSAGE ABORT TASK.
  12. *
  13. * *MSABT* IS A SYSTEM TASK WHICH SENDS ERROR MESSAGES TO
  14. * THE ORIGINATING TERMINAL WHEN A TRANSACTION DOES NOT END
  15. * NORMALLY DUE TO A SYSTEM DETECTED ERROR. ERROR CODES ARE
  16. * PLACED IN THE COMMUNICATIONS BLOCK BY THE CALLING PROGRAM,
  17. * THE TRANSACTION FACILITY, OR THE INITIAL TASK. *MSABT* IS
  18. * SCHEDULED AS ANY OTHER TASK, CHECKS THE ERROR CODE, AND SENDS
  19. * THE APPROPRIATE MESSAGE VIA THE *SEND* MACRO. *MSABT* THEN
  20. * ENDS WITH AN ABNORMAL CEASE.
  21. *
  22. * *MSABT* IS ALSO CALLED BY THE INITIAL TASK TO ISSUE ERROR
  23. * MESSAGES.
  24. *
  25. * THE DESIGN, IMPLEMENTATION AND TESTING OF CHANGES TO
  26. * *MSABT* MUST BE DONE WITH SPECIAL CARE SINCE IT IS
  27. * THIS TASK THAT INSURES THAT AT LEAST ONE RESPONSE
  28. * IS RETURNED FOR EACH TRANSACTION.
  29. *
  30. * *MSABT* WILL BE SCHEDULED BY THE TRANSACTION FACILITY
  31. * TO SEND AN ERROR MESSAGE TO THE ORIGINATING
  32. * TERMINAL IF AT LEAST ONE *SEND* HAS NOT BEEN MADE TO THE
  33. * ORIGINATING TERMINAL DURING THE LIFE OF THE TRANSACTION.
  34. * IT WILL ALSO INSURE THAT AN ERROR MESSAGE IS SENT TO
  35. * THE ORIGINATING TERMINAL IF THE TRANSACTION ABORTS OR
  36. * IF *ITASK* CANNOT PROCESS THE TRANSACTION.
  37. TITLE COMMUNICATION BLOCK DEFINITION.
  38. * COMMON DECKS.
  39.  
  40. *CALL COMCMAC
  41. *CALL COMKMAC
  42. *CALL COMSPRD
  43. TRXCOM B1 DEFINE COMMUNICATION BLOCK SYMBOLS
  44.  
  45. MACROS SPACE 4
  46. ** TMSG DEFINE A TERMINAL ERROR MESSAGE.
  47. *
  48. * TMSG A
  49. *
  50. * A MESSAGE TEXT
  51.  
  52.  
  53. PURGMAC TMSG
  54. TMSG MACRO A
  55. LOCAL ADR,LEN
  56. .1 NOREF
  57. ADR SET *
  58. LOC .1
  59. .1 SET .1+1
  60. DIS ,*_A*
  61. LOC *O
  62. LEN SET *-ADR
  63. RMSG RMT
  64. VFD 12/0,12/LEN*10,18/LEN,18/ADR
  65. RMSG RMT
  66. ENDM
  67. SPACE 4,10
  68. *** COMMUNICATION BLOCK HEADER WORDS.
  69. *
  70. *T SEQC 12/ DB,24/ UA,24/ SEQ
  71. *T, TERC 42/ TN,18/
  72. *
  73. * DB DATA BASE FOR TERMINAL.
  74. * UA USER ARGUMENT FOR TERMINAL.
  75. * SEQ TRANSACTION SEQUENCE NUMBER.
  76. * TN TERMINAL NAME.
  77.  
  78.  
  79. BSS COMCL RESERVE SPACE FOR COMMUNICATION BLOCK
  80. MSABT TITLE MAP ERROR CODE TO ERROR MESSAGE.
  81. ** MSABT - SEND MESSAGE TO A TERMINAL TO INFORM THE USER THAT
  82. * THE TRANSACTION ENDED ABNORMALLY DUE TO SYSTEM ERROR.
  83. * IF THE ERROR CODE IS 32 (CDCS FATAL ERROR) SEND THE
  84. * MESSAGE FROM THE LAST 14 WORDS OF COMMUNICATION BLOCK AREA.
  85. *
  86. * ENTRY (TERC) = TERMINAL NAME IF NONZERO.
  87. * (TIMC) = ERROR CODE.
  88. * (TIMC-1) = ZERO IF ERROR NOT FROM *ITASK*.
  89. *
  90. * EXIT MESSAGE SENT.
  91. *
  92. * USES X - 0, 1, 4, 6, 7.
  93. * A - 1, 4, 6, 7.
  94. * B - 2, 3.
  95. *
  96. * CALLS CBT.
  97. *
  98. * MACROS CEASE, SEND.
  99.  
  100.  
  101. MSABT SA1 TERC CHECK FOR SYSTEM ORIGN
  102. MX0 42
  103. BX1 X1*X0
  104. NZ X1,MSA1 IF TRANSACTION ASSOCIATED WITH A TERMINAL
  105. CEASE NO TERMINAL - DONT SEND MESSAGE
  106.  
  107. * DETERMINE WHICH MESSAGE TO SEND.
  108.  
  109. MSA1 SA1 TIMC-1 PICK UP ERROR CODE
  110. ZR X1,MSA2 IF ERROR FROM TRANSACTION
  111. SB2 X1+ INITIAL TASK ERROR CODE
  112. NG B2,MSA5 IF INCORRECT CODE
  113. SB3 B2-TITML-1
  114. PL B3,MSA5 IF INCORRECT CODE
  115. SA4 B2+TITM-1
  116. EQ MSA3 SEND MESSAGE
  117.  
  118. MSA2 SA1 TIMC PICK UP TRANSACTION ERROR CODE
  119. SB2 X1
  120. BX7 X1
  121. NG B2,MSA5 IF INCORRECT CODE
  122. SB3 B2-TTEML
  123. PL B3,MSA5 IF INCORRECT CODE
  124. SA4 B2+TTEM
  125. SA7 MSAE SAVE ERROR CODE
  126.  
  127. * SEND MESSAGE TO THE ORIGINATING TERMINAL.
  128.  
  129. MSA3 SX6 X4 FWA OF MESSAGE
  130. MX5 48
  131. SA3 MSAA SEND CONTROL WORD
  132. MX0 6
  133. AX4 18 MESSAGE LENGTH IN WORDS
  134. SA2 MSAB APPLICATION BLOCK HEADER
  135. BX3 X0*X3
  136. SX1 X4
  137. LX6 30
  138. BX7 X6+X1
  139. AX4 18 MESSAGE LENGTH IN CHARACTERS
  140. BX7 X3+X7
  141. SA7 A3
  142. BX2 X5*X2
  143. BX6 X4+X2 APPLICATION BLOCK HEADER CHARACTER LENGTH
  144. SA6 A2
  145. SEND MSAA SEND MESSAGE
  146.  
  147. * CHECK FOR BINARY TERMINAL.
  148.  
  149. SA1 SEQC TRANSACTION USER ARGUMENTS
  150. RJ CBT CHECK FOR BINARY TERMINAL
  151. ZR X6,MSA4 IF NOT BINARY TERMINAL
  152. SA6 MSAD
  153. SEND MSAC SEND MESSAGE
  154. MSA4 SA1 TIMC-1
  155. ZR X1,MSA5 IF FROM TRANSACTION FACILITY
  156. CEASE NORMAL CEASE IF FROM INITIAL TASK
  157.  
  158. MSA5 SB3 32
  159. SA1 MSAE CHECK CDCS ERROR CODE
  160. SB2 X1
  161. NE B2,B3,MSA6 IF NOT CDCS FATAL ERROR
  162. BX7 X7-X7
  163. SA4 MSAF
  164. SA7 MSAE
  165. EQ MSA3 SEND CDCS FATAL ERROR MESSAGE
  166.  
  167. MSA6 CEASE 1 CEASE WITH ABORT
  168.  
  169. MSAA VFD 3/0,1/1,1/0,1/1,54/0 SEND CONTROL WORD
  170. CON 0 DEFAULT TERMINAL
  171. MSAB VFD 6/2,30/0,4/4,8/0,12/0 APPLICATION BLOCK HEADER
  172. MSAC VFD 12/0,18/MSAD,12/0,18/1 BINARY SEND CONTROL WORD
  173. MSAD CON 0 BINARY REQUEST WORD
  174. MSAE BSSZ 1 TEMPORARY ERROR CODE STORAGE
  175. MSAF VFD 12/0,12/120,18/12,18/TIMC-14
  176.  
  177. ** TRANSACTION ERROR MESSAGE TABLE.
  178.  
  179. .1 SET 0
  180.  
  181. TMSG ("SYSPR"ARITHMETIC OR OTHER SOFTWARE ERROR IN TASK)
  182. TMSG ("SYSPR"TASK CEASE WITH REQUESTED ABORT.)
  183. TMSG ("SYSPR"SYSTEM REQUEST PARAMETER ADDRESS OUTSIDE FL)
  184. TMSG ("SYSPR"SYSTEM REQUEST WITH INCORRECT FUNCTION CODE)
  185. TMSG ("SYSPR"SYSTEM REQUEST CALL ERROR)
  186. TMSG ("SYSPR"MORE THAN FIVE TASKS IN TASK CHAIN)
  187. TMSG ("SYSPR"INCORRECT TASK NAME REQUESTED FOR SCHEDULING)
  188. TMSG ("SYSPR"REFERENCE MADE TO INCORRECT TERMINAL NAME)
  189. TMSG ("SYSPR"INCORRECT WORD COUNT ON TERMINAL OUTPUT)
  190. TMSG ("SYSPR"INCORRECT JOURNAL FILE REQUEST)
  191. TMSG ("SYSPR"TASK REQUESTED CEASE BEFORE DM FINISHED)
  192. TMSG ("SYSPR"TASK NOT VALIDATED FOR REQUEST)
  193. TMSG ("SYSPR"TOO MANY BRANCHES IN TASK CHAIN REQUESTED)
  194. TMSG ("SYSPR"INCORRECT PARAMETER IN SYSTEM REQUEST CALL)
  195. TMSG ("SYSPR"TOO MANY SYSTEM REQUEST CALLS)
  196. TMSG ("SYSPR"TASK TIME LIMIT)
  197. TMSG ("SYSPR"SYSTEM ABORT OF TASK)
  198. TMSG ("SYSPR"ERROR IN SUBMITTED FILE)
  199. TMSG ("SYSPR"CALLRTN NESTED CALL LIMIT EXCEEDED.)
  200. TMSG ("SYSPR"MSABT CALL ERROR.)
  201. TMSG ("SYSPR"INCORRECT TERMINAL INPUT REQUEST.)
  202. TMSG ("SYSPR"WAITINP FROM MULTI QUEUED TASK.)
  203. TMSG ("SYSPR"APPLICATON ERROR - NO TERMINAL OUTPUT.)
  204. TMSG ("SYSPR"INVALID DATA MANAGER PARAMETER.)
  205. TMSG ("SYSPR"MSABT CALL ERROR.)
  206. TMSG ("SYSPR"TOTAL DATA MANAGER NOT LOADED.)
  207. TMSG ("SYSPR"INCORRECT TOTAL INTERLOCK REQUEST.)
  208. TMSG ("SYSPR" SEND TO TERMINAL NOT LOGGED IN.)
  209. TMSG ("SYSPR"TASK REQUEST ARGUMENT ERROR.)
  210. TMSG ("SYSPR"MSABT CALL ERROR.)
  211. TMSG ("SYSPR"CRM DATA MANAGER NOT LOADED.)
  212. TMSG ("SYSPR"CDCS NOT AVAILABLE.)
  213. TMSG ("SYSPR"CDCS REQUESTED ABORT.)
  214. TMSG ("SYSPR"REQUEST FOR EXTENDED MEMORY NOT ALLOWED.)
  215. TMSG ("SYSPR"INCORRECT COMMON MEMORY MANAGER REQUEST.)
  216. TMSG ("SYSPR"FL REQUEST BEYOND MFL-CM.)
  217. TMSG ("SYSPR"INCORRECT FL REDUCTION.)
  218. TMSG ("SYSPR"MEMORY REQUEST WITH D.M. REQUEST OUTSTANDING.)
  219. TMSG ("SYSPR"CDCS INVOKE FAILURE.)
  220. TMSG ("SYSPR"DATA MANAGER USAGE NOT SELECTED.)
  221. TMSG ("SYSPR"TAF TRANSACTION NAME UNKNOWN.)
  222.  
  223. TTEM BSS 0 TAF ERROR MESSAGE INDEX TABLE
  224. RMSG HERE
  225. TTEML EQU *-TTEM LENGTH OF TABLE
  226.  
  227. ** MESSAGE TABLE FOR INITIAL TASK ERROR MESSAGES.
  228.  
  229. .1 SET 1
  230.  
  231. TMSG ("SYSPR"INCORRECT SUB-TRANSACTION CODE - INITIAL TASK)
  232.  
  233. TITM BSS 0 MESSAGE INDEX TABLE
  234. RMSG HERE
  235. TITML EQU *-TITM LENGTH OF A MESSAGE TABLE
  236. SPACE 4
  237. * COMMON DECK.
  238.  
  239.  
  240. *CALL COMKCBT
  241. SPACE 4
  242. END MSABT