Table of Contents

VALEX

Table Of Contents

  • [00019] VALEX - VALIDATION EXECUTIVE.
  • [00024] VALIDATION EXECUTIVE.
  • [00400] PROGRAM EQUIVALENCES.
  • [00442] GLOBAL DATA AREA.
  • [00511] COMMAND PROCESSORS.
  • [00513] USE - *USER* AND *ACCOUNT* COMMANDS.
  • [00593] CHA - *CHARGE* COMMAND.
  • [00649] LOG - LOGOUT COMMANDS.
  • [00697] XPR - EXECUTE SEQUENCED PROLOGUE.
  • [00773] PROLOGUE AND EPILOGUE SEQUENCING ROUTINES.
  • [00775] ACF - ACCESS PROLOGUE OR EPILOGUE FILE.
  • [00826] EEF - EXECUTE EPILOGUE FILE.
  • [00900] EPF - EXECUTE PROLOGUE FILES.
  • [01045] IPS - INITIALIZE PROLOGUE OR EPILOGUE SEQUENCING.
  • [01064] RPF - RESTORE USER-S PERMANENT FILE PARAMETERS.
  • [01085] CHARGE VALIDATION ROUTINES.
  • [01087] GDC - GET DEFAULT CHARGE AND PROJECT NUMBERS.
  • [01117] RCH - READ CHARGE FROM *INPUT* FILE.
  • [01221] VCH - VALIDATE CHARGE AND PROJECT NUMBERS.
  • [01335] SUBROUTINES.
  • [01337] ABT - ISSUE ERROR MESSAGE AND ABORT.
  • [01362] END - NORMAL END.
  • [01382] EXP - EXECUTE PROLOGUE OR EPILOGUE.
  • [01413] ICA - ISSUE COMMAND TO DAYFILE AND ABORT.
  • [01426] RPV - PROCESS REPRIEVE.
  • [01488] RSE - RESET EXTERNAL ERROR.
  • [01506] STI - SET TERMINAL INTERACTION PARAMETERS.
  • [01542] TER - TERMINATION PROCESSING.
  • [01569] TRJ - TERMINATE JOB.
  • [01627] BUFFER ALLOCATION.
  • [01640] OVERLAID SUBROUTINES.
  • [01642] GPR - GET PROLOGUE/EPILOGUE STATUS.
  • [01657] PRS - PRESET.
  • [01668] SCA - SET COMMAND ARGUMENTS.
  • [01720] VUN - VALIDATE USER NAME.

Source Code

VALEX.txt
  1. IDENT VALEX,ORIG
  2. ABS
  3. SST
  4. SYSCOM B1
  5. ENTRY ACCOUNT
  6. ENTRY BYE
  7. ENTRY CHARGE
  8. ENTRY GOODBYE
  9. ENTRY HELLO
  10. ENTRY LOGIN
  11. ENTRY LOGOUT
  12. ENTRY USER
  13. ENTRY XPR
  14. ENTRY ARG=
  15. ENTRY VAL=
  16. ENTRY RFL=
  17. ENTRY SDM=
  18. ENTRY SSJ=
  19. TITLE VALEX - VALIDATION EXECUTIVE.
  20. SPACE 4,10
  21. *COMMENT VALEX - VALIDATION EXECUTIVE.
  22. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  23. SPACE 4,10
  24. *** VALEX - VALIDATION EXECUTIVE.
  25. * R. P. ROHRBOUGH 72/09/08.
  26. * G. R. GREENFIELD 75/11/25.
  27. * P. C. SMITH 81/06/10.
  28. * G. S. YODER 87/03/13.
  29. SPACE 4,10
  30. *** USER AND ACCOUNT COMMANDS.
  31. *
  32. * USER,USERNAM,PASSWOR,FAMILY.
  33. *
  34. * USER,UN=USERNAM,PW=PASSWOR,FM=FAMILY.
  35. *
  36. * ACCOUNT,USERNAM,PASSWOR,FAMILY.
  37. *
  38. * ACCOUNT,UN=USERNAM,PW=PASSWOR,FM=FAMILY.
  39. *
  40. * USERNAM = USER NAME (1-7 ALPHNUMERIC CHARACTERS
  41. * INCLUDING ASTERISK).
  42. *
  43. * PASSWOR = PASSWORD (1-7 ALPHNUMERIC CHARACTERS).
  44. *
  45. * FAMILY = FAMILY NAME (1-7 ALPHANUMERIC CHARACTERS).
  46. *
  47. * IF THE FAMILY NAME IS OMITTED, THE DEFAULT FAMILY WILL BE
  48. * ASSUMED. DEFAULT CHARGE VALIDATION WILL BE PERFOMED IF THE
  49. * USER NAME REQUIRES CHARGE VALIDATION AND NO *CHARGE* COMMAND
  50. * FOLLOWS THE *USER* COMMAND. IF DEFAULT CHARGE VALIDATION
  51. * FAILS AND FILE *INPUT* IS ASSIGNED TO A TERMINAL, THE USER
  52. * WILL BE PROMPTED FOR ENTRY OF A VALID CHARGE AND PROJECT
  53. * NUMBER.
  54. SPACE 4,10
  55. *** CHARGE COMMAND.
  56. *
  57. * CHARGE,CHARGE,PROJECT.
  58. *
  59. * CHARGE,CN=CHARGE,PN=PROJECT.
  60. *
  61. * CHARGE.
  62. *
  63. * CHARGE = EITHER OF THE FOLLOWING -
  64. *
  65. * - CHARGE NUMBER (1-10 ALPHANUMERIC
  66. * CHARACTERS INCLUDING ASTERISK).
  67. *
  68. * - DEFAULT CHARGE PARAMETER (*). IF
  69. * SPECIFIED, AND THE PROJECT NUMBER IS
  70. * NULL, THE DEFAULT CHARGE AND PROJECT
  71. * NUMBERS CONTAINED IN THE USER-S
  72. * VALIDATION FILE ENTRY ARE USED.
  73. *
  74. * PROJECT = PROJECT NUMBER (1-20 ALPHANUMERIC CHARACTERS
  75. * INCLUDING ASTERISK).
  76. *
  77. * IF BOTH CHARGE AND PROJECT NUMBERS ARE SPECIFIED THEY WILL BE
  78. * VALIDATED FROM THE PROJECT PROFILE FILE (PROFILX) AND IF
  79. * VALID, A NEW ACCOUNT BLOCK WILL BE BEGUN. OTHERWISE, THE JOB
  80. * WILL BE ABORTED. IF THE DEFAULT CHARGE PARAMETER (*) IS
  81. * SPECIFIED AS THE CHARGE PARAMETER AND THE PROJECT PARAMETER
  82. * IS NULL, THE DEFAULT CHARGE AND PROJECT NUMBERS IN THE USER-S
  83. * VALIDATION FILE (VALIDUX) ENTRY WILL BE USED AND PROCESSED AS
  84. * IF THEY HAD BEEN ENTERED ON THE *CHARGE* COMMAND WITH THE
  85. * EXCEPTION THAT IF BOTH THE DEFAULT CHARGE AND PROJECT FIELDS
  86. * ARE NULL AND THE USER NAME DOES NOT REQUIRE A *CHARGE*
  87. * COMMAND (*CCNR* PRIVILEGE) THE COMMAND WILL BE PROCESSED AS A
  88. * NO-OP. THIS IS FOR COMPATIBILITY WITH PREVIOUS SYSTEM LEVELS
  89. * AND WILL BE REMOVED IN A FUTURE RELEASE. IF THE *CHARGE.*
  90. * FORM OF THE COMMAND IS USED THE CHARGE AND PROJECT NUMBERS
  91. * WILL BE READ FROM THE FILE *INPUT*. IF *INPUT* IS NOT
  92. * ASSIGNED TO A TERMINAL DEVICE, THE CHARGE AND PROJECT NUMBERS
  93. * MUST APPEAR ON ONE LINE IN THE FORM -
  94. *
  95. * CHARGE,PROJECT
  96. *
  97. * IF *INPUT* IS A TERMINAL FILE, THE USER WILL BE PROMPTED
  98. * FOR CHARGE AND PROJECT NUMBERS. THEY MAY BE ENTERED
  99. * SEPARATELY OR IN THE ABOVE FORMAT IN RESPONSE TO THE CHARGE
  100. * NUMBER PROMPT. IF AN ASTERISK IS ENTERED IN RESPONSE TO
  101. * THE CHARGE NUMBER PROMPT, THE DEFAULT CHARGE WILL BE USED
  102. * AND NO PROJECT NUMBER PROMPT WILL BE ISSUED. IN THE CASE
  103. * OF AN ERROR IN INPUT OR CHARGE VALIDATION, THE USER WILL BE
  104. * REPROMPTED FOR CHARGE AND PROJECT NUMBERS UP TO A DEFINED
  105. * ERROR LIMIT.
  106. *
  107. *
  108. * *CHARGE* COMMAND PROCESSING -
  109. *
  110. * - IF THE COMMAND IS A SECONDARY *CHARGE* COMMAND AND A
  111. * PROJECT EPILOGUE EXISTS FOR THE CURRENT PROJECT NUMBER
  112. * THE EPILOGUE IS EXECUTED BEFORE ANY PROCESSING IS PERFORMED
  113. * ON THE *CHARGE* COMMAND. THE SECONDARY *CHARGE* COMMAND IS
  114. * REEXECUTED WHEN THE EPILOGUE TERMINATES.
  115. *
  116. * - FOR A SECONDARY *CHARGE* COMMAND THE ACCOUNTING INFORMATION
  117. * FOR THE CURRENT ACCOUNT BLOCK IS DISPLAYED IN THE ACCOUNT
  118. * DAYFILE AND THE SRU-S ACCUMULATED DURING THE ACCOUNT BLOCK
  119. * ARE ADDED TO THE ACCUMULATOR IN THE PROFILE FILE LEVEL 3
  120. * BLOCK.
  121. *
  122. * - THE NEW CHARGE AND PROJECT NUMBERS ARE SET IN THE JOB-S
  123. * NFL, THE SRU ACCUMULATOR IS CLEARED, AND THE SRU
  124. * MULTIPLIERS AND SRU LIMITS ARE RESET IF NECESSARY.
  125. *
  126. * - IF A PROJECT PROLOGUE IS DEFINED FOR THE NEW PROJECT NUMBER
  127. * IT IS EXECUTED. CHARGE REQUIRED STATUS MAY BE SET ON
  128. * TERMINATION DEPENDING ON THE OPTION SET IN THE PROFILE FILE
  129. * ENTRY. SEE PROLOGUE SEQUENCING DOCUMENTATION.
  130. *
  131. * CHARGE VALIDATION MAY BE INVOKED IMPLICITLY BY *USER* COMMAND
  132. * PROCESSING. SEE *USER* COMMAND DOCUMENTATION.
  133. SPACE 4,15
  134. *** LOGOUT COMMANDS.
  135. *
  136. * BYE,ANAME.
  137. *
  138. * BYE,AP=ANAME.
  139. *
  140. * GOODBYE,ANAME.
  141. *
  142. * GOODBYE,AP=ANAME.
  143. *
  144. * HELLO,ANAME.
  145. *
  146. * HELLO,AP=ANAME.
  147. *
  148. * LOGIN,ANAME.
  149. *
  150. * LOGIN,AP=ANAME.
  151. *
  152. * LOGOUT,ANAME.
  153. *
  154. * LOGOUT,AP=ANAME.
  155. *
  156. * ANAME = NETWORK APPLICATION NAME (1-7 ALPHANUMERIC
  157. * CHARACTERS). THE DEFAULT IS *LOGOUT* FOR THE
  158. * *BYE*, *GOODBYE*, AND *LOGOUT* COMMANDS AND
  159. * *LOGIN* FOR THE *HELLO* AND *LOGIN* COMMANDS.
  160. *
  161. *
  162. * LOGOUT COMMANDS ARE PROCESSED AS FOLLOWS -
  163. *
  164. * - AN EPILOGUE PROGRAM IS EXECUTED IF ONE IS DEFINED.
  165. *
  166. * - AN ONLINE INTERACTIVE JOB IS DISCONNECTED FROM THE
  167. * TERMINAL AND THE TERMINAL IS OPTIONALLY SWITCHED TO
  168. * ANOTHER NETWORK APPLICATION.
  169. *
  170. * - THE JOB IS TERMINATED.
  171. SPACE 4,10
  172. *** *XPR* COMMAND - EXECUTE SEQUENCED PROLOGUE.
  173. *
  174. * $XPR.IT NNNNNNN
  175. *
  176. * I = PROLOGUE INDEX.
  177. * = 0 IF SYSTEM PROLOGUE.
  178. * = 1 IF PROJECT PROLOGUE.
  179. * = 2 IF USER PROLOGUE.
  180. *
  181. * T = PROLOGUE TERMINATION OPTION + 1 TO SET IF .NE. 0.
  182. * = 0 IF NO CHANGE IN TERMINATION OPTION.
  183. *
  184. * NNNNNNN = PROLOGUE FILE NAME.
  185. * = NULL (LINE TERMINATION) IF PROLOGUE FILE
  186. * ACCESS ERROR.
  187. *
  188. *
  189. * THE *XPR* COMMAND IS USED IN PROLOGUE SEQUENCING TO CLEAR
  190. * NO-DROP STATUS AND TO RESET THE LOCAL FILE NAME OF A PROLOGUE
  191. * FILE AFTER TERMINATION OF A PREVIOUS PROLOGUE. THE PROLOGUE
  192. * TERMINATION OPTION MAY ALSO BE CHANGED OR CLEARED IF
  193. * NECESSARY.
  194. SPACE 4,10
  195. *** PROLOGUE AND EPILOGUE EXECUTION.
  196. *
  197. * SYSTEM AND USER PROLOGUE EXECUTION IS INITIATED ONLY BY A
  198. * VALID PRIMARY *USER* COMMAND. PROJECT PROLOGUE EXECUTION IS
  199. * INITIATED BY A VALID *CHARGE* COMMAND OR BY A *USER* COMMAND
  200. * IF A CHARGE IS VALIDATED IMPLICITLY. FOR A PRIMARY *USER*
  201. * COMMAND THE EXECUTION ORDER IS SYSTEM, PROJECT, AND USER
  202. * PROLOGUE. FOR THE SYSTEM AND PROJECT PROLOGUES, OPTIONS CAN
  203. * BE SELECTED UNDER *MODVAL* OR *PROFILE* TO SPECIFY SECURITY
  204. * PROCESSING TO BE PERFORMED ON PROLOGUE TERMINATION. THIS
  205. * MAKES IT POSSIBLE TO RESTRICT THE USAGE OF USER NAMES AND
  206. * PROJECT NUMBERS TO SPECIFIC APPLICATIONS OR TO PERFORM
  207. * VALIDATION CHECKS BEFORE ALLOWING UNRESTRICTED USAGE. IF A
  208. * SHELL PROGRAM IS DEFINED, IT IS POSSIBLE TO PREVENT NORMAL
  209. * PROCESSING OF COMMANDS IN A PROCEDURE. THEREFORE, EITHER
  210. * SHELL CONTROL WILL BE CLEARED OR THE JOB WILL BE ABORTED
  211. * DEPENDING ON THE SHELL PROGRAM ABORT OPTION UPON INITIATION
  212. * OF A SYSTEM OR PROJECT PROLOGUE. THE PROLOGUE FILES ARE
  213. * ACCESSED INTERNALLY BY *CHARGE* TO AVOID PASSING PERMANENT
  214. * FILE PASSWORDS TO THE SEQUENCING PROCEDURE. IF ANY OF THE
  215. * PROLOGUES ABORT, THE SEQUENCING PROCEDURE WILL ABORT AT THAT
  216. * POINT. IF A PROLOGUE FILE WAS DEFINED BUT COULD NOT BE
  217. * ACCESSED, THE SEQUENCING PROCEDURE WILL ABORT AT THE POINT AT
  218. * WHICH THAT PROLOGUE IS INVOKED.
  219. *
  220. * PROJECT EPILOGUE EXECUTION IS INITIATED BY A SECONDARY
  221. * *CHARGE* COMMAND OR BY A LOGOUT COMMAND IF AN EPILOGUE IS
  222. * DEFINED FOR THE CURRENT ACCOUNT BLOCK. SHELL CONTROL IS
  223. * CLEARED BEFORE EPILOGUE EXECUTION BEGINS AND CHARGE REQUIRED
  224. * IS SET ON EPILOGUE TERMINATION TO ENSURE TERMINATION OF THE
  225. * ACCOUNT BLOCK. AN ATTEMPT TO SET SHELL CONTROL WITHOUT THE
  226. * CLEAR CONTROL ON SHELL ABORT OPTION IN AN ACCOUNT BLOCK WHICH
  227. * HAS AN EPILOGUE DEFINED WILL ABORT THE JOB.
  228. *
  229. * *CHARGE* COMMANDS ARE NOT PERMITTED IN A SYSTEM OR PROJECT
  230. * PROLOGUE OR IN A PROJECT EPILOGUE TO AVOID AMBIGUITY WITH
  231. * RESPECT TO SETTING CHARGE REQUIRED WHICH WOULD RESULT FROM
  232. * PROLOGUE OR EPILOGUE NESTING. FOR THE SAME REASON, LOGOUT
  233. * COMMANDS ARE NOT PERMITTED IN A PROJECT PROLOGUE IF AN
  234. * EPILOGUE IS DEFINED FOR THE CURRENT ACCOUNT BLOCK.
  235. SPACE 4,10
  236. *** DAYFILE MESSAGES.
  237. *
  238. * * ALTERNATE FAMILY NOT ALLOWED.*
  239. * THE USER IS NOT VALIDATED TO SPECIFY AN ALTERNATE
  240. * FAMILY ON A SECONDARY *USER* COMMAND.
  241. *
  242. * * ALTERNATE USER NAME NOT ALLOWED.*
  243. * THE USER IS NOT VALIDATED TO SPECIFY AN ALTERNATE USER
  244. * NAME ON A SECONDARY *USER* COMMAND.
  245. *
  246. * * CHARGE = CHARGENUMBER, PROJECT = PROJECTNUMBER.
  247. * AN ACCOUNT BLOCK HAS BEEN INITIATED UNDER THE
  248. * INDICATED CHARGE AND PROJECT NUMBERS.
  249. *
  250. * * CHARGE ABNORMAL.*
  251. * INTERNAL SYSTEM ERROR OCCURRED.
  252. *
  253. * * CHARGE ABORTED.*
  254. * EXTERNAL JOB ABORT.
  255. *
  256. * * CHARGE COMMAND REQUIRED.*
  257. * THE COMMAND CANNOT BE EXECUTED UNTIL A VALID *CHARGE*
  258. * COMMAND IS EXECUTED.
  259. *
  260. * * CHARGE FILE BUSY.*
  261. * FILE IS NOT AVAILABLE FOR CHARGE PURPOSES. WAIT AND
  262. * TRY AGAIN.
  263. *
  264. * * CHARGE NOT VALID.*
  265. * 1) CHARGE OR PROJECT NUMBER DOES NOT EXIST.
  266. * 2) PROJECT NUMBER IS NOT AVAILABLE TO A USER WITH THIS
  267. * USER NAME.
  268. * 3) CHARGE OR PROJECT NUMBER EXISTS BUT IS INACTIVE.
  269. *
  270. * * CHARGE NOT VALID AT THIS HOUR.*
  271. * THIS PROJECT NUMBER CANNOT BE USED AT THIS TIME OF
  272. * DAY.
  273. *
  274. * * CHARGE NUMBER EXPIRED.*
  275. * CHARGE NUMBER EXPIRATION DATE HAS OCCURRED.
  276. *
  277. * * CHARGE RESTRICTED TO DEFAULT.*
  278. * THE USER MAY ONLY USE THE DEFAULT CHARGE AND PROJECT
  279. * NUMBER.
  280. *
  281. * * COMMAND NOT ALLOWED IN PROLOGUE/EPILOGUE.*
  282. * A *CHARGE* COMMAND WAS EXECUTED IN A SYSTEM PROLOGUE,
  283. * PROJECT PROLOGUE OR PROJECT EPILOGUE OR A LOGOUT
  284. * COMMAND WAS EXECUTED IN A PROJECT PROLOGUE WHEN AN
  285. * EPILOGUE WAS DEFINED (ISSUED BY *CPM*).
  286. *
  287. * * CUMULATIVE LIMIT EXCEEDED.*
  288. * ONE OF THE INSTALLATION DEFINED RESOURCE USAGE
  289. * ACCUMULATORS FOR THIS PROJECT EXCEEDS THE MAXIMUM
  290. * ALLOWABLE VALUE.
  291. *
  292. * * CUMULATIVE SRU LIMIT EXCEEDED.*
  293. * SRU ACCUMULATOR FOR THIS PROJECT EXCEEDS THE MAXIMUM
  294. * ALLOWABLE VALUE.
  295. *
  296. * * DATA BASE ERROR.*
  297. * ERROR IN VALIDATION FILE STRUCTURE DETECTED.
  298. *
  299. * * DEFAULT CHARGE NOT VALID.*
  300. * SAME AS "CHARGE NOT VALID" EXCEPT THAT THE DEFAULT
  301. * CHARGE INFORMATION WAS USED FOR PROCESSING.
  302. *
  303. * * DEFAULT CHARGE NULL.*
  304. * THE DEFAULT CHARGE NUMBER AND THE DEFAULT PROJECT
  305. * NUMBER WERE NULL.
  306. *
  307. * * EPILOGUE AND SHELL CONFLICT.*
  308. * A SHELL PROGRAM WITH THE NO-ABORT OPTION WAS ACTIVE AT
  309. * THE TIME A CHARGE AND PROJECT NUMBER WITH AN EPILOGUE
  310. * WAS VALIDATED.
  311. *
  312. * * ERROR IN ARGUMENTS.*
  313. * ARGUMENT ERROR WAS DETECTED ON COMMAND.
  314. *
  315. * * ERROR IN DEFAULT CHARGE. *
  316. * DEFAULT CHARGE PROCESSING WAS NOT ATTEMPTED BECAUSE
  317. * THE DEFAULT CHARGE INFORMATION IN THE USER-S
  318. * VALIDATION FILE ENTRY WAS INCORRECT.
  319. *
  320. * * EXTENDED MEMORY MINIMUM CM NOT VALIDATED.*
  321. * MINIMUM CM REQUIRED FOR EXTENDED MEMORY USAGE EXCEEDS
  322. * VALIDATION LIMIT.
  323. *
  324. * * FORMAT ERROR IN INPUT.*
  325. * THE CHARGE OR PROJECT NUMBER READ FROM THE INPUT FILE
  326. * WAS NOT IN THE CORRECT FORMAT.
  327. *
  328. * * INCORRECT COMMAND.*
  329. * THE *XPR* COMMAND WAS EXECUTED IN OTHER THAN THE
  330. * PROLOGUE SEQUENCING PROCEDURE.
  331. *
  332. * * INPUT ERROR LIMIT.*
  333. * THE MAXIMUM ALLOWED NUMBER OF CONSECUTIVE INPUT ERRORS
  334. * WAS EXCEEDED.
  335. *
  336. * * NO USER COMMAND EXECUTED.*
  337. * *CHARGE* COMMAND WAS NOT PRECEDED BY A *USER* COMMAND.
  338. *
  339. * * PROJECT EPILOGUE NOT FOUND.*
  340. * THE PROJECT EPILOGUE FILE COULD NOT BE ACCESSED.
  341. *
  342. * * PROJECT NUMBER EXPIRED.*
  343. * PROJECT NUMBER EXPIRATION DATE HAS OCCURRED.
  344. *
  345. * * PROJECT PROLOGUE NOT FOUND.*
  346. * THE PROJECT PROLOGUE FILE COULD NOT BE ACCESSED.
  347. *
  348. * * PROJECT PROLOGUE FILE NOT LOCAL.*
  349. * THE FILE ZZZZPR1 WAS NOT LOCAL TO THE JOB AT THE TIME
  350. * THE PROJECT PROLOGUE WAS TO BE EXECUTED.
  351. *
  352. * * PROLOGUE AND SHELL CONFLICT.*
  353. * A SHELL PROGRAM WITH THE NO-ABORT OPTION WAS ACTIVE AT
  354. * THE TIME A CHARGE AND PROJECT NUMBER WITH A PROLOGUE
  355. * WAS VALIDATED.
  356. *
  357. * * SECONDARY USER COMMANDS DISABLED.* = THE SYSTEM IS NOT
  358. * OPERATING IN SECURE MODE AND SECONDARY USER COMMANDS
  359. * ARE DISABLED.
  360. *
  361. * * SECURITY CONFLICT.*
  362. * USER AND/OR FAMILY NAME SPECIFIED ON A *USER* COMMAND
  363. * WERE NOT VALID OR A SECONDARY *USER* COMMAND WAS
  364. * EXECUTED WHEN THE SYSTEM WAS RUNNING IN SECURED MODE
  365. * (ISSUED BY *CPM*).
  366. *
  367. * * SYSTEM PROLOGUE NOT FOUND.*
  368. * THE SYSTEM PROLOGUE FILE COULD NOT BE ACCESSED.
  369. *
  370. * * TL NOT VALIDATED.*
  371. * JOB COMMAND *TL* PARAMETER IS GREATER THAN THE USER-S
  372. * VALIDATION LIMIT.
  373. *
  374. * * USER PROLOGUE NOT FOUND.*
  375. * THE USER PROLOGUE FILE COULD NOT BE ACCESSED.
  376. *
  377. * * USER PROLOGUE FILE NOT LOCAL.*
  378. * THE FILE ZZZZPR2 WAS NOT LOCAL TO THE JOB AT THE TIME
  379. * THE USER PROLOGUE WAS TO BE EXECUTED.
  380. *
  381. * * YOUR PASSWORD EXPIRES AT 00.00.00 ON YY/MM/DD.*
  382. * YOUR PASSWORD EXPIRES ON THE SPECIFIED TIME AND DATE.
  383. SPACE 4,10
  384. *** ACCOUNT FILE MESSAGES -
  385. *
  386. * *ABUN, USER, FAMILY, TERMINAL.*
  387. * PRIMARY *USER* COMMAND EXECUTED.
  388. *
  389. * *ABIC, CHARGE, PROJECT.*
  390. * INITIAL DEFAULT CHARGE AND PROJECT NUMBER.
  391. *
  392. * *ACUN, USER, FAMILY.*
  393. * SECONDARY USER COMMAND EXECUTED.
  394. *
  395. * *ABCN, CHARGE, PROJECT.*
  396. * BEGIN ACCOUNT BLOCK FOR PRIMARY CHARGE.
  397. *
  398. * *ACCN, CHARGE, PROJECT.*
  399. * BEGIN ACCOUNT BLOCK FOR SECONDARY CHARGE.
  400. TITLE PROGRAM EQUIVALENCES.
  401. ** ASSEMBLY OPTIONS.
  402. *
  403. * LIM$ EQU 0 - FULL CHECKING- CHARGE PERFORMS ALL CHECKS
  404. * CORRESPONDING TO THE ABOVE ERROR MESSAGE
  405. * DOCUMENTATION.
  406. * LIM$ EQU 1 - SUPPRESSES CHECKING OF SRU ACCUMULATORS AND
  407. * INSTALLATION DEFINED RESOURCE USAGE
  408. * ACCUMULATORS, BUT RETAINS ALL OTHER CHECKING.
  409. * RPE$ DEFINED - ASSEMBLE CODE TO READ PROFILE FILE LEVEL 3
  410. * BLOCK FROM RANDOM ADDRESS.
  411.  
  412.  
  413. RPE$ EQU 0
  414. LIM$ EQU 0
  415. SPACE 4,10
  416. *CALL COMCCMD
  417. *CALL COMCMAC
  418. *CALL COMSACC
  419. *CALL COMSJCE
  420. *CALL COMSLFD
  421. *CALL COMSPRD
  422. *CALL COMSPFM
  423. LIST X
  424. *CALL COMSPRO
  425. LIST *
  426. *CALL COMSRPV
  427. *CALL COMSSCD
  428. *CALL COMSSRU
  429. *CALL COMSSSJ
  430. *CALL COMSTCM
  431.  
  432. SPACE 4,10
  433. ** PROGRAM EQUATES.
  434.  
  435.  
  436. ARG= EQU 0 SUPPRESS COMMAND CRACKING
  437. SDM= EQU * SUPPRESS DAYFILE MESSAGE
  438. VAL= EQU * ALLOW VALIDATION
  439. BUFL EQU 101B BUFFER LENGTH
  440. ERLIM EQU 5 INPUT ERROR RETRY LIMIT
  441. RPMS EQU /COMSRPV/OTMS+/COMSRPV/TIMS+/COMSRPV/PPMS RPV MASK
  442. TITLE GLOBAL DATA AREA.
  443. ** FETS.
  444.  
  445.  
  446. ORG 120B
  447. ORIG BSS 0
  448. I BSS 0
  449. INPUT FILEB IBUF,BUFL,FET=10B
  450. O BSS 0
  451. ZZZZZG0 FILEB OBUF,BUFL,FET=10B,DTY=2RTT
  452. F BSS 0
  453. FILE FILEB FBUF,BUFL,EPR,(FET=17B)
  454. SSJ= SPACE 4,10
  455. * SPECIAL SYSTEM JOB PARAMETER AREA.
  456.  
  457. SSJ= VFD 12/0,24/0,12/PRCS,12/0
  458. BSSZ SSJL-1
  459. SPACE 4,10
  460. * GLOBAL STORAGE.
  461.  
  462. ACSF CON 0 *ASCII* CHARACTER SET FLAG
  463. APN CON 0 APPLICATION NAME FOR LOGOUT
  464. DFCF CON 0 DEFAULT CHARGE PRESENT FLAG
  465. EXER CON 0 EXTERNAL ERROR CODE
  466. PRST CON 0 PROLOGUE/EPILOGUE STATUS
  467. TJEF CON 0 TERMINATE JOB ON ERROR FLAG
  468. TRIA CON 0 TERMINAL INTERRUPT ADDRESS
  469. TRIF CON 0 TERMINAL INTERACTION FLAG
  470.  
  471. * THE ORDER OF THE FOLLOWING NINE LOCATIONS MUST BE MAINTAINED.
  472.  
  473. SPF CON 0 SYSTEM PROLOGUE FILE NAME
  474. DATA 7LLIBRARY SYSTEM PROLOGUE USER NAME
  475. CON 0 SYSTEM PROLOGUE PASSWORD
  476. PPF CON 0 PROJECT PROLOGUE FILE NAME AND OPTION
  477. CON 0 PROJECT PROLOGUE USER NAME
  478. CON 0 PROJECT PROLOGUE PASSWORD
  479. UPF CON 0 USER PROLOGUE FILE NAME
  480. CON 0 USER PROLOGUE USER NAME
  481. CON 0 USER PROLOGUE PASSWORD
  482.  
  483. * USER VALIDATION PARAMETER BLOCK.
  484.  
  485. UNAM CON 0 USER NAME
  486. UPSW CON 0 USER PASSWORD / SPECIAL USER NAMES FLAG
  487. UFAM CON 0 FAMILY NAME / STATUS FLAGS
  488. UALMW CON 0 ALMW - ACCOUNT LIMIT WORD
  489. UACLW CON 0 ACLW - ACCOUNT COUNTING LIMIT WORD
  490. UAACW CON 0 AACW - ACCOUNT ACCESS CONTROL WORD
  491. UPRO CON 0 PROLOGUE FILE NAMES
  492. UPJ1 CON 0 DEFAULT PROJECT NUMBER (FIRST WORD)
  493. UPJ2 CON 0 DEFAULT PROJECT NUMBER (SECOND WORD)
  494. UCRN CON 0 DEFAULT CHARGE NUMBER
  495. UTRN CON 0 TERMINAL NAME/TERMINAL NUMBER
  496.  
  497. * CHARGE VALIDATION PARAMETER BLOCK.
  498.  
  499. SRUM BSS 2 CONTROL POINT SRU WORDS
  500. CGN BSS 1 CHARGE NUMBER
  501. PRN BSS 2 PROJECT NUMBER
  502. ACCM BSS 5 ACCOUNT FILE MESSAGE BUFFER
  503.  
  504. * PROLOGUE/EPILOGUE CONTROL PARAMETER BLOCK.
  505.  
  506. PRC CON 0
  507.  
  508. * REPRIEVE PARAMETER BLOCK.
  509.  
  510. RPB RPVBLK RPV
  511. TITLE COMMAND PROCESSORS.
  512. USER SPACE 4,20
  513. ** USE - *USER* AND *ACCOUNT* COMMANDS.
  514. *
  515. * EXIT TO *EPF* IF CHARGE NOT REQUIRED.
  516. * TO *CHARGE* IF CHARGE REQUIRED AND NEXT COMMAND IS
  517. * *CHARGE*.
  518. * TO *RCH* IF DEFAULT CHARGE ERROR AND TERMINAL INPUT
  519. * FILE.
  520. * TO *ABT* IF DEFAULT CHARGE ERROR AND NOT TERMINAL
  521. * INPUT FILE.
  522. *
  523. * USES X - 1, 2, 3, 5, 6.
  524. * A - 0, 1, 2.
  525. * B - 3, 6.
  526. *
  527. * CALLS ABT, EPF, GPR, PRS, RCH, SCA, STI, VCH, VUN.
  528. *
  529. * MACROS CONTROL, DISSR, MESSAGE, WRITEC, WRITER.
  530.  
  531.  
  532. USER BSS 0 ENTRY
  533. ACCOUNT BSS 0
  534. RJ PRS PRESET
  535. DISSR IAAC DISABLE SRU ACCUMULATION
  536. SA0 USEA SET ARGUMENT TABLE ADDRESS
  537. SB3 USEB SET SECURE ARGUMENT TABLE ADDRESS
  538. RJ SCA SET COMMAND ARGUMENTS
  539. USE1 SA1 A0 READ ARGUMENT TABLE
  540. ZR X1,USE2 IF END OF ARGUMENTS
  541. SA1 X1 READ ARGUMENT
  542. SX1 X1
  543. SA0 A0+B1 ADVANCE ARGUMENT POINTER
  544. ZR X1,USE1 IF ARGUMENT .LE. 7 CHARACTERS
  545. SB6 ERAR * ERROR IN ARGUMENTS.*
  546. EQ ABT ABORT
  547.  
  548. USE2 RJ VUN VALIDATE USER NAME
  549. CONTROL CCDR,RSS READ NEXT COMMAND
  550. SA1 ACTR
  551. MX0 -6 CHECK FOR LEADING *$* OR */*
  552. MX3 42
  553. LX1 6
  554. BX0 -X0*X1
  555. SX2 X0-1R$
  556. ZR X2,USE3 IF *$*
  557. SX2 X0-1R/
  558. ZR X2,USE3 IF */*
  559. LX1 -6
  560. USE3 SA2 =6LCHARGE
  561. BX1 X3*X1
  562. BX2 X1-X2
  563. NZ X2,USE4 IF NOT *CHARGE*
  564. CONTROL CCDR ADVANCE TO *CHARGE* COMMAND
  565. EQ CHARGE PROCESS *CHARGE* COMMAND
  566.  
  567. USE4 SA1 SSJ=+AACS GET CHARGE REQUIRED FLAG
  568. LX1 59-7
  569. NG X1,EPF IF CHARGE NOT REQUIRED, PROCESS PROLOGUES
  570. DISSR IACH SET CHARGE VALIDATION UNIT CHARGE
  571. RJ GPR GET PROLOGUE/EPILOGUE STATUS
  572. SX2 B0 SET VALIDATE DEFUALT CHARGE
  573. RJ VCH VALIDATE DEFAULT CHARGE
  574. RJ STI SET TERMINAL INTERACTION
  575. SA1 TRIF
  576. ZR X1,ABT IF NOT INTERACTIVE JOB
  577. MESSAGE B6,,R ISSUE ERROR MESSAGE
  578. WRITEC O,B6 ISSUE MESSAGE TO TERMINAL
  579. WRITER O,R
  580. EQ RCH READ CHARGE FROM INPUT FILE
  581.  
  582.  
  583. USEA BSS 0 ARGUMENT TABLE
  584. UN ARG UNAM,UNAM,400B,1
  585. PW ARG UPSW,UPSW,400B,1
  586. FM ARG UFAM,UFAM,400B,1
  587. ARG
  588.  
  589. USEB BSS 0 SECURE ARGUMENTS FOR REMOVAL
  590. VFD 42/2LPW,18/2 PASSWORD
  591. CON 0 END OF TABLE
  592. CHARGE SPACE 4,15
  593. ** CHA - *CHARGE* COMMAND.
  594. *
  595. * EXIT TO *ABT* IF INVALID CHARGE.
  596. * TO *RCH* TO READ CHARGE FROM INPUT FILE.
  597. *
  598. * USES X - 1, 2, 6, 7.
  599. * A - 0, 1, 2.
  600. * B - 3, 6.
  601. *
  602. * CALLS ABT, EEF, GPR, ICA, PRS, RCH, SCA, STI, VCH.
  603. *
  604. * MACROS DISSR.
  605.  
  606.  
  607. CHARGE BSS 0 ENTRY
  608. RJ PRS PRESET
  609. RJ GPR GET PROLOGUE/EPILOGUE STATUS
  610. SA1 PRST
  611. MX6 2
  612. MX0 -25
  613. SB6 ERCN * COMMAND NOT ALLOWED IN PROLOGUE/ ...*
  614. SX7 CRPT SET CHARGE REQUIRED OPTION
  615. BX2 X6*X1
  616. BX1 -X0*X1
  617. NZ X2,ICA IF IN SYSTEM OR PROJECT PROLOGUE/EPILOGUE
  618. NZ X1,EEF IF EPILOGUE PENDING
  619. DISSR IACH DISABLE SRU ACCUMULATION
  620. SA0 CHAA SET ARGUMENT TABLE ADDRESS
  621. SB3 B0+ SET NO SECURE ARGUMENTS
  622. RJ SCA SET COMMAND ARGUMENTS
  623. SB6 ERNU * NO USER COMMAND EXECUTED.*
  624. SA1 SSJ=+UIDS
  625. MX0 42
  626. BX1 X0*X1
  627. ZR X1,ABT IF NO USER COMMAND EXECUTED
  628. SA1 CGN
  629. SA2 PRN
  630. SB6 ERAR * ERROR IN ARGUMENTS.*
  631. ZR X1,CHA2 IF CHARGE PARAMETER NOT SPECIFIED
  632. LX1 6
  633. NZ X2,CHA1 IF PROJECT NUMBER SPECIFIED
  634. SX1 X1-1R*
  635. NZ X1,ABT IF NOT DEFAULT CHARGE PARAMETER
  636. CHA1 RJ VCH VALIDATE CHARGE AND PROJECT NUMBERS
  637. EQ ABT ABORT
  638.  
  639. CHA2 NZ X2,ABT IF PROJECT NUMBER SPECIFIED
  640. RJ STI SET TERMINAL INTERACTION
  641. EQ RCH READ CHARGE FROM *INPUT* FILE
  642.  
  643.  
  644. CHAA BSS 0 ARGUMENT TABLE
  645. CN ARG CGN,CGN,400B,1
  646. PN ARG PRN,PRN,400B,2
  647. ARG
  648. LOG SPACE 4,15
  649. ** LOG - LOGOUT COMMANDS.
  650. *
  651. * EXIT TO *ABT* IF ERROR.
  652. * TO *EEF* TO EXECUTE EPILOGUE.
  653. * TO *TRJ* TO TERMINATE JOB.
  654. *
  655. * USES X - 1, 6, 7.
  656. * A - 0, 1.
  657. * B - 3, 6.
  658. *
  659. * CALLS ABT, EEF, GPR, ICA, PRS, SCA, TRJ.
  660.  
  661.  
  662. HELLO BSS 0 ENTRY
  663. LOGIN BSS 0 ENTRY
  664. SA1 =5LLOGIN SET DEFAULT APPLICATION
  665. BX6 X1
  666. SA6 APN
  667. BYE BSS 0 ENTRY
  668. GOODBYE BSS 0 ENTRY
  669. LOGOUT BSS 0 ENTRY
  670. RJ PRS PRESET
  671. RJ GPR GET PROLOGUE/EPILOGUE STATUS
  672. SA2 PRST
  673. MX0 -25
  674. BX1 -X0*X2
  675. ZR X1,LOG1 IF NO EPILOGUE PENDING
  676. SB6 ERCN * COMMAND NOT ALLOWED IN PROLOGUE/ ...*
  677. NG X2,ICA IF IN PROLOGUE
  678. SX7 LOPT SET LOGOUT OPTION
  679. EQ EEF EXECUTE EPILOGUE
  680.  
  681. LOG1 SA0 LOGA SET ARGUMENT TABLE ADDRESS
  682. SB3 0 SET NO SECURE ARGUMENTS
  683. RJ SCA SET COMMAND ARGUMENTS
  684. SA1 APN
  685. SX1 X1
  686. NZ X1,LOG2 IF ERROR IN APPLICATION NAME
  687. EQ TRJ TERMINATE JOB
  688.  
  689. LOG2 SB6 ERAR * ERROR IN ARGUMENTS.*
  690. EQ ABT ABORT
  691.  
  692.  
  693. LOGA BSS 0 ARGUMENT TABLE
  694. AP ARG APN,APN,400B,1
  695. ARG
  696. XPR SPACE 4,10
  697. ** XPR - EXECUTE SEQUENCED PROLOGUE.
  698. *
  699. * EXIT TO *END* IF NO ERROR.
  700. * TO *ABT* IF PROLOGUE FILE ERROR.
  701. * TO *ICA* IF ERROR IN *XPR* CALL.
  702. *
  703. * CALLS ABT, END, GPR, ICA, PRS, SNM.
  704. *
  705. * MACROS RENAME, SETFS.
  706.  
  707. XPR BSS 0 ENTRY
  708. RJ PRS PRESET
  709. RJ GPR GET PROLOGUE/EPILOGUE STATUS
  710. SA1 PRST
  711. SA5 CCDR
  712. SB6 ERIC * INCORRECT COMMAND.*
  713. LX1 59-58
  714. LX5 -18
  715. PL X1,ICA IF NOT CALLED FROM SEQUENCING PROCEDURE
  716. MX0 -6
  717. BX6 -X0*X5
  718. SB6 ERAR * ERROR IN ARGUMENTS.*
  719. SX1 X6-1R0
  720. SX6 X6-1R1
  721. SX2 X1-CAPT-2
  722. NG X1,ICA IF NOT VALID TERMINATION OPTION
  723. PL X2,ICA IF NOT VALID TERMINATION OPTION
  724. NG X6,XPR1 IF NOT TO CHANGE TERMINATION OPTION
  725. SX1 B1 SET TERMINATION OPTION
  726. LX6 18
  727. BX6 X6+X1
  728. SA6 PRC
  729. XPR1 SA3 =6LZZZZPR
  730. SA4 CCDR+1
  731. LX5 -6
  732. BX6 -X0*X5
  733. SX1 X6-1R0
  734. SX2 X6-1R3
  735. SX7 B1
  736. LX6 18
  737. NG X1,ICA IF NOT VALID PROLOGUE INDEX
  738. PL X2,ICA IF NOT VALID PROLOGUE INDEX
  739. SB6 ERPF * XXXXXXX PROLOGUE NOT FOUND.*
  740. ZR X4,XPR2 IF PROLOGUE FILE ACESSS ERROR
  741. BX6 X6+X7
  742. BX6 X6+X3
  743. BX7 X4
  744. SA6 F
  745. SA7 F+6
  746. RENAME F RESET FILE NAME
  747. SA1 F
  748. MX7 -8
  749. LX1 -10
  750. BX1 -X7*X1
  751. SB6 ERPL * XXXXXXX PROLOGUE FILE NOT LOCAL.*
  752. NZ X1,XPR2 IF PROLOGUE FILE NOT LOCAL
  753. SX7 B1 SET FILE NAME IN FET
  754. BX7 X4+X7
  755. SA7 F
  756. SETFS F,AD CLEAR NO-DROP STATUS
  757. EQ END TERMINATE
  758.  
  759. * PROCESS PROLOGUE FILE ERROR.
  760.  
  761. XPR2 BX6 -X0*X5 SET PROLOGUE TYPE
  762. SX6 X6-1R0
  763. SA1 XPRA+X6 SET PROLOGUE/EPILOGUE TYPE IN MESSAGE
  764. SB5 B6+ SET MESSAGE ADDRESS
  765. SB2 1R?
  766. RJ SNM
  767. EQ ABT ABORT
  768.  
  769.  
  770. XPRA DATA 6LSYSTEM
  771. DATA 7LPROJECT
  772. DATA 4LUSER
  773. TITLE PROLOGUE AND EPILOGUE SEQUENCING ROUTINES.
  774. ACF SPACE 4,15
  775. ** ACF - ACCESS PROLOGUE OR EPILOGUE FILE.
  776. *
  777. * ENTRY (X1) = 42/PERMANENT FILE NAME, 18/0.
  778. * (X2) = 42/PASSWORD, 18/0.
  779. * (X3) = 42/USERNAME, 18/0.
  780. * (X4) = 42/LOCAL FILE NAME, 18/0.
  781. * (B6) = 0 IF TO CLEAR SSJ= FILE STATUS.
  782. * (B6) .NE. 0 IF TO SET NO-DROP FILE STATUS.
  783. *
  784. * EXIT (X5) = 0 IF FILE FOUND.
  785. *
  786. * USES X - 0, 5, 6, 7.
  787. * A - 5, 6, 7.
  788. *
  789. * MACROS ATTACH, GET, SETFS.
  790.  
  791.  
  792. ACF SUBR ENTRY/EXIT
  793. SX6 3 SET FILE STATUS
  794. SX7 SRNF*10000B+PTRD SET NO FAST ATTACH AND READ MODE
  795. BX6 X4+X6
  796. BX7 X1+X7
  797. SA6 F+CFSN SET LOCAL FILE NAME
  798. SA7 F+CFPN SET PERMANENT FILE NAME AND MODE
  799. SX5 ACFA SET ERROR MESSAGE ADDRESS
  800. BX6 X3
  801. BX7 X2+X5
  802. SA6 F+CFOU SET USERNAME
  803. SA7 F+CFPW SET PASSWORD
  804. GET F,,,,,,IP
  805. SA5 X2 CHECK ERROR
  806. MX0 -8
  807. AX5 10
  808. BX5 -X0*X5
  809. SX6 X5-/ERRMSG/FNF
  810. NZ X6,ACF1 IF NOT *FILE NOT FOUND*
  811. ATTACH F,,,,,,,IP
  812. SA5 X2+ SET ERROR STATUS
  813. AX5 10
  814. BX5 -X0*X5
  815. ACF1 NZ X5,ACFX IF ERROR IN ACCESS
  816. NZ B6,ACF2 IF SET NO-DROP STATUS
  817. SETFS F,AD CLEAR SSJ= STATUS
  818. EQ ACFX EXIT
  819.  
  820. ACF2 SETFS F,NAD SET NO-DROP STATUS
  821. EQ ACFX EXIT
  822.  
  823.  
  824. ACFA BSS 3 ERROR MESSAGE
  825. EEF SPACE 4,20
  826. ** EEF - EXECUTE EPILOGUE FILE.
  827. *
  828. * ENTRY (X1) = PROFILE FILE LEVEL 3 BLOCK POINTERS.
  829. * (X7) = EPILOGUE TERMINATION OPTION.
  830. *
  831. * EXIT TO *EXP* TO EXECUTE EPILOGUE.
  832. * TO *ABT* IF ERROR.
  833. *
  834. * USES X - 0, 1, 2, 3, 7.
  835. * A - 0, 1, 2, 3, 7.
  836. * B - 2, 5, 6.
  837. *
  838. * CALLS ACF, EXP, IPS, RPE, RPF, SNM.
  839. *
  840. * MACROS MESSAGE, MOVE, WRITEC.
  841.  
  842.  
  843. EEF BSS 0 ENTRY
  844. SX6 X7-LOPT
  845. LX7 18
  846. NZ X6,EEF1 IF NOT LOGOUT ON TERMINATION OPTION
  847. SA6 EEFB SET NO *REVERT,EX* PROCESSING
  848. EEF1 SX2 3 SET EPILOGUE PENDING AND OPTION FLAGS
  849. BX7 X7+X2 SET EPILOGUE CONTROLS
  850. SA7 PRC
  851. RJ RPE READ PROFILE ENTRY
  852. NZ B6,ABT IF ERROR IN PROFILE ENTRY
  853. RJ RPF RESTORE USER-S PERMANENT FILE PARAMETERS
  854. SA1 B5+PENW READ EPILOGUE FILE NAME
  855. SA3 B5+PEUW READ USERNAME
  856. SA2 B5+PEPW READ PASSWORD
  857. MX0 42
  858. BX1 X0*X1
  859. BX3 X0*X3
  860. BX2 X0*X2
  861. BX4 X1 EPILOGUE LOCAL FILE NAME
  862. SA0 A1 SAVE EPILOGUE NAME ADDRESS
  863. SB6 B0 CLEAR SSJ= FILE STATUS
  864. RJ ACF ACCESS FILE
  865. SA1 EEFB
  866. NZ X1,EEF2 IF *CHARGE* COMMAND
  867. MOVE 8,CCDR,EEFB MOVE LOGOUT COMMAND
  868. EQ EEF3 SET EPILOGUE CALL
  869.  
  870. EEF2 MOVE 7,CCDR,EEFB+2 MOVE *CHARGE* COMMAND
  871. SX1 0 PACK *CHARGE* COMMAND CALL
  872. SB5 EEFB
  873. SB2 1R? SET SEARCH CHARACTER
  874. RJ SNM
  875. EEF3 ZR X5,EEF4 IF NO FILE ACCESS ERROR
  876. MESSAGE EREF * PROJECT EPILOGUE NOT FOUND.*
  877. EQ EEF5 INITIALIZE SEQUENCING
  878.  
  879. EEF4 SA1 A0+ SET FILE NAME
  880. MX0 42
  881. BX1 X0*X1
  882. SB5 EEFA SET CALL ADDRESS
  883. SB2 1R? SET SEARCH CHARACTER
  884. RJ SNM SET EPILOGUE CALL
  885. EEF5 RJ IPS INITIALIZE EPILOGUE SEQUENCING
  886. NZ X5,EEF6 IF EPILOGUE FILE ACCESS ERROR
  887. WRITEC F,EEFA WRITE EPILOGUE CALL
  888. EEF6 WRITEC F,EEFB WRITE CHARGE OR LOGOUT COMMAND
  889. WRITEC F,(=C*$REVERT,NOLIST.*)
  890. WRITEC F,(=C*EXIT.*) WRITE EXIT PROCESSING
  891. WRITEC F,EEFB
  892. WRITEC F,(=C*$REVERT,NOLIST.*)
  893. EQ EXP EXECUTE EPILOGUE
  894.  
  895.  
  896. EEFA DATA C*???????. PROJECT EPILOGUE*
  897. EEFB DATA 20L$REVERT,EX.?????????
  898. BSSZ 8
  899. EPF SPACE 4,15
  900. ** EPF - EXECUTE PROLOGUE FILES.
  901. *
  902. * ENTRY (SPF - SPF+8) = PROLOGUE PARAMETERS.
  903. *
  904. * EXIT PROLOGUE AND EPILOGUE CONTROLS SET IF REQUIRED.
  905. * TO *EXP* TO EXECUTE PROLOGUES.
  906. *
  907. * USES X - 1, 2, 3, 4, 5.
  908. * A - 0, 1, 2, 3, 4.
  909. * B - 2, 5, 6, 7.
  910. *
  911. * CALLS ACF, END, EXP, SNM.
  912.  
  913.  
  914. EPF BSS 0 ENTRY
  915.  
  916. * PROCESS SYSTEM AND PROJECT PROLOGUE TERMINATION OPTIONS.
  917.  
  918. SA1 SPF
  919. SA2 PPF
  920. SA3 UPF
  921. SA4 PRC
  922. SX7 X1+
  923. SX0 X2+
  924. BX6 X1+X2
  925. ZR X6,EPF3 IF NO SYSTEM OR PROJECT PROLOGUE DEFINED
  926. IX0 X7-X0 CHECK SYSTEM AND PROJECT PROLOGUE OPTIONS
  927. PL X0,EPF1 IF PROJECT PROLOGUE OPTION NOT GREATER
  928. SX7 X2+ USE PROJECT PROLOGUE OPTION
  929. EPF1 SX6 B1 SET INITIAL TERMINATION OPTION FLAGS
  930. LX7 18
  931. BX7 X4+X7
  932. BX7 X7+X6
  933. SA7 A4
  934. LX6 18
  935. ZR X2,EPF2 IF NO PROJECT PROLOGUE DEFINED
  936. NG X0,EPF2 IF PROJECT PROLOGUE OPTION SET AS INITIAL
  937. SA4 EPFA+2
  938. SX7 X2+B1 SET TO CHANGE TERMINATION OPTION
  939. LX7 18
  940. IX7 X4+X7
  941. SA7 A4
  942. EPF2 ZR X3,EPF3 IF NO USER PROLOGUE DEFINED
  943. SA4 EPFA+4
  944. IX6 X4+X6 SET TO CLEAR TERMINATION OPTION
  945. SA6 A4
  946. SX6 X2-CRPT CHECK PROJECT PROLOGUE OPTION
  947. NZ X6,EPF3 IF NOT UNCONDITIONAL CHARGE REQUIRED
  948. SA6 UPF CLEAR USER PROLOGUE PROCESSING
  949.  
  950. * ACCESS PROLOGUE FILES.
  951.  
  952. EPF3 SB7 B0 INITIALIZE PROLOGUE INDEX
  953. SB6 B0 INITIALIZE EXECUTE PROLOGUE FLAG
  954. SB5 EPFB INITIALIZE PROLOGUE CALL ADDRESS
  955. SA0 SPF SET PROLOGUE PARAMETERS ADDRESS
  956. EPF4 SA1 A0 READ FILE NAME
  957. SA3 A0+B1 READ USER NAME
  958. SA2 A0+2 READ PASSWORD
  959. MX0 42
  960. ZR X1,EPF6 IF PROLOGUE NOT DEFINED
  961. BX1 X0*X1
  962. BX4 X1 PRESET LOCAL FILE NAME
  963. ZR B6,EPF5 IF NO PREVIOUS PROLOGUE
  964. SX5 B7
  965. SA4 =7LZZZZPR0 SET LOCAL FILE NAME
  966. LX5 18
  967. IX4 X4+X5
  968. EPF5 RJ ACF ACCESS PROLOGUE FILE
  969. SB6 B1 SET EXECUTE PROLOGUE FLAG
  970. NZ X5,EPF8 IF FILE NOT FOUND
  971. SA1 A0 SET PROLOGUE NAME IN CALL
  972. MX0 42
  973. SB2 B7+B7 INDEX*2
  974. BX1 X0*X1
  975. BX6 X1
  976. SA6 EPFA+1+B2
  977. SB2 1R?
  978. RJ SNM
  979. EPF6 NZ B7,EPF7 IF SYSTEM PROLOGUE NOT JUST PROCESSED
  980. RJ RPF RESTORE USER-S PERMANENT FILE PARAMETERS
  981. EPF7 SB7 B7+1 ADVANCE PROLOGUE INDEX
  982. SB5 B5+4 ADVANCE PROLOGUE CALL ADDRESS
  983. SB2 B7-3
  984. SA0 A0+3 ADVANCE PARAMETER ADDRESS
  985. NZ B2,EPF4 IF ALL PROLOGUES NOT PROCESSED
  986. ZR B6,END IF NO PROLOGUES DEFINED
  987.  
  988. * BUILD SEQUENCING PROCEDURE.
  989.  
  990. EPF8 RJ IPS INITIALIZE PROLOGUE SEQUENCING
  991. SA0 SPF SET PARAMETERS ADDRESS
  992. MX0 42 SET FIRST PROLOGUE MASK
  993. SB7 B0 SET CALL PARAMETERS INDEX
  994. EPF9 SA1 A0+
  995. SA5 EPFA+1+B7
  996. ZR X1,EPF11 IF PROLOGUE NOT DEFINED
  997. BX2 X0*X5
  998. NZ X2,EPF10 IF FIRST PROLOGUE AND NO ACCESS ERROR
  999. WRITEC F,EPFA+B7 WRITE REENTRY PROCESSING
  1000. EPF10 ZR X5,EPF12 IF FILE ACCESS ERROR
  1001. SB2 B7+B7 WRITE PROLOGUE CALL
  1002. WRITEC F,EPFB+B2
  1003. SX0 B0+ CLEAR FIRST PROLOGUE MASK
  1004. EPF11 SB7 B7+2 ADVANCE CALL PARAMETERS INDEX
  1005. SA0 A0+3 ADVANCE PARAMETER ADDRESS
  1006. SB2 B7-6
  1007. NZ B2,EPF9 IF ALL PROLOGUES NOT PROCESSED
  1008. EPF12 WRITEC F,(=C*$REVERT,NOLIST.*)
  1009. WRITEC F,(=C*EXIT.*)
  1010. WRITEC F,(=C*$REVERT,ABORT. PROLOGUE EXECUTION ABORTED*)
  1011.  
  1012. * INSURE TERMINATION OPTION SET FOR *XPR* PROCESSING IF USER
  1013. * PROLOGUE NOT FOUND AND NO SYSTEM OR PROJECT PROLOGUE DEFINED.
  1014.  
  1015. SX1 A0-UPF
  1016. NZ X1,EXP IF NOT EXIT ON USER PROLOGUE NOT FOUND
  1017. SA1 SPF
  1018. SA2 PPF
  1019. BX1 X1+X2
  1020. SX6 B1
  1021. NZ X1,EXP IF SYSTEM OR PROJECT PROLOGUE DEFINED
  1022. SX1 CCPT SET *CLEAR CONTROLS* TERMINATION OPTION
  1023. LX1 18
  1024. BX6 X1+X6
  1025. SA1 PRC ADD TO OTHER OPTIONS, IF ANY
  1026. BX6 X1+X6
  1027. SA6 A1
  1028. EQ EXP EXECUTE PROLOGUES
  1029.  
  1030.  
  1031. EPFA VFD 30/0L$XPR.,6/1L0,6/1L0,18/3H
  1032. CON 0
  1033. VFD 30/0L$XPR.,6/1L1,6/1L0,18/3H
  1034. CON 0
  1035. VFD 30/0L$XPR.,6/1L2,6/1L0,18/3H
  1036. CON 0
  1037.  
  1038. EPFB DATA 24L???????. SYSTEM PROLOGUE
  1039. DATA 0
  1040. DATA 25L???????. PROJECT PROLOGUE
  1041. DATA 0
  1042. DATA 30L$BEGIN,,???????. USER PROLOGUE
  1043. DATA 0
  1044. IPS SPACE 4,10
  1045. ** IPS - INITIALIZE PROLOGUE OR EPILOGUE SEQUENCING.
  1046. *
  1047. * EXIT PROCEDURE HEADER WRITTEN TO SEQUENCING PROCEDURE FILE.
  1048. *
  1049. * USES X - 1, 6.
  1050. * A - 1, 6.
  1051. *
  1052. * MACROS RETURN, WRITEC.
  1053.  
  1054.  
  1055. IPS SUBR ENTRY/EXIT
  1056. SA1 =7LZZZZZG1 SET FILE NAME IN FET
  1057. SX6 B1
  1058. BX6 X6+X1
  1059. SA6 F
  1060. RETURN F,R
  1061. WRITEC F,(=14L.PROC,ZZZZZG1.) WRITE PROCEDURE HEADER
  1062. EQ IPSX RETURN
  1063. RPF SPACE 4,10
  1064. ** RPF - RESTORE USER-S PERMANENT FILE PARAMETERS.
  1065. *
  1066. * EXIT USER-S PERMANENT FILE PARAMETERS RESTORED.
  1067. *
  1068. * USES X - 1, 6, 7.
  1069. * A - 1, 6, 7.
  1070. *
  1071. * MACROS SETPFP.
  1072.  
  1073.  
  1074. RPF SUBR ENTRY/EXIT
  1075. SA1 SSJ=+UIDS RESTORE USER-S PERMANENT FILE PARAMETERS
  1076. SX7 3 SET USER NAME AND INDEX
  1077. BX6 X1
  1078. SA7 RPFA
  1079. SA6 RPFA+2
  1080. SETPFP RPFA SET PERMANENT FILE PARAMETERS
  1081. EQ RPFX RETURN
  1082.  
  1083.  
  1084. RPFA BSS 3 PERMANENT FILE PARAMETERS
  1085. TITLE CHARGE VALIDATION ROUTINES.
  1086. GDC SPACE 4,20
  1087. ** GDC - GET DEFAULT CHARGE AND PROJECT NUMBERS.
  1088. *
  1089. * CALLS *CPM* TO GET DEFAULT CHARGE AND PROJECT NUMBERS IF NOT
  1090. * ALREADY PRESENT.
  1091. *
  1092. * ENTRY (DFCF) .NE. 0 IF DEFAULT CHARGE PRESENT.
  1093. *
  1094. * EXIT (UCRN) = DEFAULT CHARGE NUMBER.
  1095. * (UPJ1 - UPJ2) = DEFAULT PROJECT NUMBER.
  1096. * (DFCF) .NE. 0.
  1097. *
  1098. * USES X - 1, 6.
  1099. * A - 1, 6.
  1100. *
  1101. * CALLS CPM=.
  1102. *
  1103. * MACROS MOVE.
  1104.  
  1105.  
  1106. GDC SUBR ENTRY/EXIT
  1107. SA1 DFCF
  1108. NZ X1,GDCX IF DEFAULT CHARGE INFORMATION PRESENT
  1109. SX6 B1 SET INFORMATION PRESENT
  1110. SA6 A1
  1111. SX1 SBUF SET PARAMETER BLOCK ADDRESS
  1112. SX2 126B SET RETURN USER BLOCK FUNCTION
  1113. RJ CPM=
  1114. MOVE 3,(SBUF+APJN),UPJ1 SET DEFAULT CHARGE INFORMATION
  1115. EQ GDCX RETURN
  1116. RCH SPACE 4,15
  1117. ** RCH - READ CHARGE FROM *INPUT* FILE.
  1118. *
  1119. * ENTRY (TRIF) = TERMINAL INTERACTION FLAG.
  1120. *
  1121. * EXIT TO *VCH* TO VALIDATE CHARGE AND PROJECT.
  1122. * TO *ABT* IF RETRY LIMIT EXCEEDED.
  1123. * TO *RSE* IF EXTERNAL ERROR.
  1124. *
  1125. * USES X - 0, 1, 2, 3, 4, 6, 7.
  1126. * A - 1, 2, 3, 4, 6, 7.
  1127. * B - 2, 6.
  1128. *
  1129. * CALLS ABT, POP, USB, VCH.
  1130. *
  1131. * MACROS READ, READC, WRITEC, WRITER.
  1132.  
  1133.  
  1134. RCH BSS 0 ENTRY
  1135. SA1 TRIF
  1136. SA2 EXER
  1137. SX0 X1+
  1138. ZR X1,RCH1 IF NO TERMINAL INTERACTION
  1139. NZ X2,RSE IF EXTERNAL ERROR
  1140. SX6 RCH SET INTERRUPT ADDRESS
  1141. SA6 TRIA
  1142. WRITEC O,RCHA ISSUE CHARGE NUMBER PROMPT
  1143. WRITER O,R FORCE WRITE
  1144. RCH1 READ I,R READ CHARGE NUMBER
  1145. READC I,SBUF,4
  1146. NG X1,RCH5 IF NULL INPUT
  1147. SB2 SBUF UNPACK INPUT
  1148. RJ USB
  1149. SA1 USBC FORCE TERMINATION
  1150. SX6 1R.
  1151. SX7 X1+B1
  1152. SA6 X7
  1153. SA7 USBC
  1154. RJ POP ASSEMBLE CHARGE NUMBER
  1155. SA3 POPA
  1156. NG B5,RCH5 IF ERROR IN ASSEMBLY
  1157. GE B5,B1,RCH5 IF CHARGE NUMBER TOO LONG
  1158. ZR X3,RCH5 IF NO CHARGE NUMBER
  1159. BX6 X3 SET CHARGE NUMBER
  1160. LX3 6
  1161. SX2 X3-1R*
  1162. SA6 CGN
  1163. NZ B6,RCH2 IF NOT TERMINATOR
  1164. ZR X2,RCH4 IF DEFAULT CHARGE PARAMETER
  1165. ZR X0,RCH5 IF NOT TERMINAL INPUT
  1166. WRITEC O,RCHB ISSUE PROJECT NUMBER PROMPT
  1167. WRITER O,R FORCE WRITE
  1168. READ I,R READ PROJECT NUMBER
  1169. READC I,SBUF,3
  1170. NG X1,RCH5 IF NULL INPUT
  1171. SB2 SBUF UNPACK PROJECT NUMBER
  1172. RJ USB
  1173. SA1 USBC FORCE TERMINATION
  1174. SX6 1R.
  1175. SX7 X1+B1
  1176. SA6 X7
  1177. SA7 USBC
  1178. RCH2 RJ POP ASSEMBLE PROJECT NUMBER
  1179. SA2 POPA
  1180. SA4 POPA+1
  1181. NG B5,RCH5 IF ERROR IN ASSEMBLY
  1182. GT B5,B1,RCH5 IF PROJECT NUMBER TOO LONG
  1183. NZ B6,RCH5 IF NOT TERMINATOR
  1184. ZR X2,RCH5 IF NO PROJECT NUMBER
  1185. BX7 X7-X7
  1186. ZR B5,RCH3 IF ONE WORD PROJECT NUMBER
  1187. BX7 X4
  1188. RCH3 BX6 X2
  1189. SA6 PRN SET PROJECT NUMBER
  1190. SA7 A6+B1
  1191. RCH4 SX6 B0+ CLEAR INTERRUPT ADDRESS
  1192. SA6 TRIA
  1193. RJ VCH VALIDATE CHARGE AND PROJECT
  1194. EQ RCH6 PROCESS VALIDATION ERROR
  1195.  
  1196. * PROCESS ERROR IN INPUT.
  1197.  
  1198. RCH5 SB6 ERFI * FORMAT ERROR IN INPUT.*
  1199. RCH6 SA1 TRIF
  1200. ZR X1,ABT IF NOT TERMINAL INTERACTION
  1201. WRITEC O,B6 ISSUE ERROR MESSAGE TO TERMINAL
  1202. WRITER O,R FORCE WRITE
  1203. SA2 RCHC
  1204. SX3 X2-ERLIM+1
  1205. SX6 X2+B1
  1206. PL X3,RCH7 IF INPUT ERROR LIMIT EXCEEDED
  1207. SA6 A2 SET RETRY COUNT
  1208. EQ RCH REPROMPT FOR CHARGE NUMBER
  1209.  
  1210. RCH7 SX0 ERIL * INPUT ERROR LIMIT.*
  1211. WRITEC O,X0
  1212. WRITER O,R FORCE WRITE
  1213. SB6 X0
  1214. EQ ABT ABORT
  1215.  
  1216.  
  1217. RCHA DATA C*CHARGE NUMBER: "CB"*
  1218. RCHB DATA C*PROJECT NUMBER: "CB"*
  1219. RCHC CON 0 ERROR RETRY COUNT
  1220. VCH SPACE 4,20
  1221. ** VCH - VALIDATE CHARGE AND PROJECT NUMBERS.
  1222. *
  1223. * ENTRY (X2) = 0 IF TO VALIDATE DEFAULT CHARGE.
  1224. * (CGN) = CHARGE NUMBER IF NOT DEFAULT CHARGE.
  1225. * (PRN- PRN+1) = PROJECT NUMBER IF NOT DEFAULT CHARGE.
  1226. *
  1227. * EXIT TO *EPF* IF NO ERROR.
  1228. * (B6) = MESSAGE ADDRESS IF ERROR.
  1229. * CHARGE AND PROJECT NUMBERS DISPLAYED IN DAYFILE IF NO
  1230. * ERROR.
  1231. *
  1232. * USES X - ALL.
  1233. * A - 1, 2, 3, 4, 5, 6, 7.
  1234. * B - 2, 6.
  1235. *
  1236. * CALLS BAB, CHG, EPF, GDC, SNM.
  1237. *
  1238. * MACROS MESSAGE.
  1239.  
  1240.  
  1241. VCH SUBR ENTRY/EXIT
  1242. NZ X2,VCH2 IF NOT TO VALIDATE DEFAULT CHARGE
  1243. RJ GDC GET DEFAULT CHARGE AND PROJECT
  1244. SA3 UCRN
  1245. SA5 UPJ1
  1246. SA4 UPJ2
  1247. NZ X3,VCH1 IF DEFAULT CHARGE NUMBER PRESENT
  1248. SB6 ERDN * DEFAULT CHARGE NULL.*
  1249. SA1 SSJ=+AACS CHECK *CCNR* PRIVILEGE
  1250. LX1 59-7
  1251. PL X1,VCHX IF USER NAME REQUIRES CHARGE COMMAND
  1252. MESSAGE B6,,R ISSUE DEFAULT CHARGE MESSAGE
  1253. EQ EPF EXIT TO PROCESS PROLOGUES
  1254.  
  1255. VCH1 SB6 ERDC * ERROR IN DEFAULT CHARGE.*
  1256. ZR X5,VCHX IF DEFAULT PROJECT NOT PRESENT
  1257. BX6 X3 SET CHARGE NUMBER
  1258. BX7 X5 SET PROJECT NUMBER WORD 1
  1259. SA6 CGN
  1260. SA7 PRN
  1261. BX6 X4 SET PROJECT NUMBER WORD 2
  1262. SA6 A7+B1
  1263. SX2 B1 SET DEFAULT CHARGE
  1264. EQ VCH4 VALIDATE CHARGE
  1265.  
  1266. VCH2 SA1 SSJ=+AACS CHECK RESTRICTION TO DEFAULT CHARGE
  1267. LX1 59-22
  1268. NG X1,VCH3 IF NOT RESTRICTED TO DEFAULT CHARGE
  1269. RJ GDC GET DEFAULT CHARGE AND PROJECT
  1270. SB6 ERRD * CHARGE RESTRICTED TO DEFAULT.*
  1271. SA1 CGN
  1272. SA2 UCRN
  1273. BX1 X1-X2
  1274. NZ X1,VCHX IF NOT DEFAULT CHARGE NUMBER
  1275. SA1 PRN
  1276. SA3 UPJ1
  1277. SA2 A1+B1
  1278. SA4 A3+B1
  1279. BX1 X1-X3
  1280. BX2 X2-X4
  1281. NZ X1,VCHX IF NOT DEFAULT PROJECT NUMBER
  1282. NZ X2,VCHX IF NOT DEFAULT PROJECT NUMBER
  1283. VCH3 SX2 0 SET NOT DEFAULT CHARGE
  1284. VCH4 SA3 SSJ=+UIDS VALIDATE CHARGE AND PROJECT NUMBERS
  1285. RJ VCN
  1286. NZ B6,VCHX IF ERROR
  1287. SA2 B5+PPNW READ PROJECT PROLOGUE FILE NAME
  1288. SA5 PRST READ PROLOGUE/EPILOGUE STATUS
  1289. SB6 ERPC * PROLOGUE AND SHELL CONFLICT.*
  1290. MX0 42
  1291. MX7 -2
  1292. BX6 X0*X2
  1293. LX5 59-57
  1294. ZR X6,VCH5 IF NO PROJECT PROLOGUE DEFINED
  1295. NG X5,VCHX IF PROLOGUE AND SHELL CONFLICT
  1296. SA3 B5+PPUW READ PROJECT PROLOGUE USER NAME
  1297. SA4 B5+PPPW READ PROJECT PROLOGUE PASSWORD
  1298. BX7 -X7*X2
  1299. ERRNZ CRPT-CCPT-1 CODE DEPENDS ON VALUE
  1300. ERRNZ CAPT-CRPT-1 CODE DEPENDS ON VALUE
  1301. SX7 X7+CCPT SET TERMINATION OPTION
  1302. BX6 X6+X7
  1303. SA6 PPF SET PROJECT PROLOGUE FILE NAME
  1304. BX6 X0*X3
  1305. BX7 X0*X4
  1306. SA6 PPF+1 SET PROJECT PROLOGUE USER NAME
  1307. SA7 PPF+2 SET PROJECT PROLOGUE PASSWORD
  1308. VCH5 SA2 B5+PENW
  1309. BX2 X0*X2
  1310. ZR X2,VCH6 IF NO PROJECT EPILOGUE DEFINED
  1311. SB6 EREC * EPILOGUE AND SHELL CONFLICT.*
  1312. NG X5,VCHX IF EPILOGUE AND SHELL CONFLICT
  1313. SX1 B1 SET EPILOGUE PENDING FLAG
  1314. SX6 B1+B1
  1315. LX1 21
  1316. BX6 X6+X1
  1317. SA6 PRC
  1318. VCH6 SA1 CGN SET CHARGE NUMBER
  1319. SB5 VCHA SET MESSAGE ADDRESS
  1320. SB2 1R?
  1321. RJ SNM
  1322. SA1 PRN SET PROJECT NUMBER WORD 1
  1323. SB2 1R!
  1324. RJ SNM
  1325. SA1 PRN+1 SET PROJECT NUMBER WORD 2
  1326. SB2 1R+
  1327. RJ SNM
  1328. MESSAGE VCHA,,R ISSUE CHARGE MESSAGE
  1329. VCH7 RJ BAB BEGIN ACCOUNT BLOCK
  1330. EQ EPF PROCESS PROLOGUES
  1331.  
  1332.  
  1333. VCHA DATA 50H CHARGE = ??????????, PROJECT = !!!!!!!!!!++++++++
  1334. DATA 3L++.
  1335. TITLE SUBROUTINES.
  1336. ABT SPACE 4,15
  1337. ** ABT - ISSUE ERROR MESSAGE AND ABORT.
  1338. *
  1339. * ENTRY (B6) = ERROR MESSAGE ADDRESS.
  1340. * (TJEF) = TERMINATE JOB FLAG.
  1341. *
  1342. * EXIT TO *TRJ* IF TO TERMINATE ON ERROR.
  1343. *
  1344. * USES X - 1, 2.
  1345. * A - 1, 2.
  1346. *
  1347. * CALLS TER, TRJ.
  1348. *
  1349. * MACROS ABORT, MESSAGE.
  1350.  
  1351.  
  1352. ABT BSS 0 ENTRY
  1353. MESSAGE B6,,R ISSUE ERROR MESSAGE
  1354. SA1 TJEF
  1355. SA2 TRIF
  1356. NZ X1,TRJ IF TERMINATE ON ERROR
  1357. ZR X2,ABT1 IF NO TERMINAL INTERACTION
  1358. MESSAGE =0,1,R CLEAR *MS1W* ERROR MESSAGE
  1359. ABT1 RJ TER PERFORM TERMINATION
  1360. ABORT
  1361. END SPACE 4,15
  1362. ** END - NORMAL END.
  1363. *
  1364. * ENTRY (EXER) = EXTERNAL ERROR CODE.
  1365. *
  1366. * EXIT TO *RSE* IF EXTERNAL ERROR.
  1367. *
  1368. * USES X - 1.
  1369. * A - 1.
  1370. *
  1371. * CALLS RSE, TER.
  1372. *
  1373. * MACROS ENDRUN.
  1374.  
  1375.  
  1376. END BSS 0 ENTRY
  1377. SA1 EXER
  1378. NZ X1,RSE IF EXTERNAL ERROR
  1379. RJ TER PERFORM TERMINATION
  1380. ENDRUN
  1381. EXP SPACE 4,15
  1382. ** EXP - EXECUTE PROLOGUE OR EPILOGUE.
  1383. *
  1384. * ENTRY (B2) = ADDRESS OF PROLOGUE OR EPILOGUE CALL.
  1385. * (EXER) = EXTERNAL ERROR CODE.
  1386. *
  1387. * EXIT TO *RSE* IF EXTERNAL ERROR.
  1388. *
  1389. * USES X - 1.
  1390. * A - 1.
  1391. *
  1392. * CALLS RSE, TER.
  1393. *
  1394. * MACROS MEMORY, SYSTEM, WRITER.
  1395.  
  1396.  
  1397. EXP BSS 0 ENTRY
  1398. WRITER F,R
  1399. SA1 EXER
  1400. NZ X1,RSE IF EXTERNAL ERROR
  1401. RJ TER PERFORM TERMINATION
  1402. MEMORY CM,,R,CCFL*100B REQUEST STORAGE FOR *CCL* LOAD
  1403. SA1 =C*ZZZZZG1.* SET PROCEDURE CALL
  1404. BX6 X1
  1405. SA6 CCDR
  1406. REPRIEVE RPB,SETUP,0 CLEAR REPRIEVE PROCESSING
  1407. SYSTEM LDR,R,EXPA LOAD *CCL* *BEGIN* PROCESSOR
  1408.  
  1409.  
  1410. EXPA VFD 42/5LBEGIN,18/0 *LDR* CALL BLOCK
  1411. VFD 6/0,6/0,2/0,3/0,1/1,1/1,4/0,1/0,18/0,18/0
  1412. ICA SPACE 4,10
  1413. ** ICA - ISSUE COMMAND TO DAYFILE AND ABORT.
  1414. *
  1415. * ENTRY (B6) = ERROR MESSAGE ADDRESS.
  1416. *
  1417. * EXIT TO *ABT*.
  1418. *
  1419. * MACROS MESSAGE.
  1420.  
  1421.  
  1422. ICA BSS 0 ENTRY
  1423. MESSAGE CCDR ISSUE COMMAND TO DAYFILE
  1424. EQ ABT ABORT
  1425. RPV SPACE 4,20
  1426. ** RPV - PROCESS REPRIEVE.
  1427. *
  1428. * ENTRY (TRIA) = TERMINAL INTERRUPT ADDRESS IF .NE. 0.
  1429. *
  1430. * EXIT TO POINT OF INTERRUPT IN INTERRUPT HANDLER MODE IF NO
  1431. * TERMINAL INTERRUPT ADDRESS AND NOT USER BREAK.
  1432. * TO POINT OF INTERRUPT WITH INTERRUPT ENABLED IF NO
  1433. * TERMINAL INTERRUPT ADDRESS AND USER BREAK.
  1434. * TO *RSE* IN INTERRUPT HANDLER MODE IF TERMINAL
  1435. * INTERRUPT ADDRESS SPECIFIED AND NOT USER BREAK.
  1436. * TO INTERRUPT ADDRESS WITH INTERRUPT ENABLED IF ADDRESS
  1437. * SPECIFIED AND USER BREAK.
  1438. * (EXER) = ERROR CODE IF NOT USER BREAK.
  1439. *
  1440. * USES X - 0, 1, 2, 3, 6, 7.
  1441. * A - 1, 2, 6, 7.
  1442. * B - 2.
  1443. *
  1444. * MACROS REPRIEVE.
  1445.  
  1446.  
  1447. RPV BSS 0 ENTRY
  1448. SA1 RPB+/COMSRPV/OSEF
  1449. SA2 TRIA
  1450. MX0 -12
  1451. BX6 -X0*X1 ISOLATE ERROR CODE
  1452. SB2 X6-TIET
  1453. ZR B2,RPV1 IF USER BREAK ONE
  1454. SB2 X6-TAET
  1455. RPV1 NZ X2,RPV2 IF INTERRUPT ADDRESS SPECIFIED
  1456. ZR B2,RPV3 IF USER BREAK
  1457. SA6 EXER SET ERROR CODE
  1458. REPRIEVE RPB,IRESUME,RPMS RESUME EXECUTION
  1459.  
  1460. RPV2 NZ B2,RSE IF NOT USER BREAK
  1461. SA1 RPB+/COMSRPV/EXPA
  1462. MX0 18
  1463. LX0 -6
  1464. LX2 36
  1465. SX7 B0
  1466. BX6 -X0*X1 SET INTERRUPT ADDRESS
  1467. BX6 X6+X2
  1468. SA6 A1
  1469. SA7 RPB+/COMSRPV/ITIO CLEAR TERMINAL INPUT
  1470. SA7 RPB+/COMSRPV/PRAR CLEAR PENDING RA+1 REQUEST
  1471. SA1 I READ INPUT FET POINTERS
  1472. SA2 A1+B1
  1473. SX3 B1
  1474. LX0 -36
  1475. BX6 X1+X3 SET COMPLETE
  1476. BX7 X0*X2
  1477. SA6 A1 WRITE FIRST
  1478. SA7 A2+B1 SET IN = FIRST
  1479. SA7 A7+B1 SET OUT = FIRST
  1480. SA1 O READ OUTPUT FET POINTERS
  1481. SA2 A1+B1
  1482. BX6 X1+X3 SET COMPLETE
  1483. BX7 X0*X2
  1484. SA7 A2+B1 SET IN = FIRST
  1485. SA7 A7+B1 SET OUT = FIRST
  1486. RPV3 REPRIEVE RPB,RESUME,RPMS RESUME EXECUTION
  1487. RSE SPACE 4,10
  1488. ** RSE - RESET EXTERNAL ERROR.
  1489. *
  1490. * ENTRY (TJEF) = TERMINATE JOB FLAG.
  1491. *
  1492. * EXIT ERROR FLAG RESET AND JOB ABORTED.
  1493. *
  1494. * USES X - 1.
  1495. * A - 1.
  1496. *
  1497. * MACROS REPRIEVE.
  1498.  
  1499.  
  1500. RSE BSS 0 ENTRY
  1501. SA1 TJEF
  1502. NZ X1,TRJ IF TERMINATE ON ERROR
  1503. RJ TER PERFORM TERMINATION
  1504. REPRIEVE RPB,RESET,0 RESET ERROR FLAG
  1505. STI SPACE 4,15
  1506. ** STI - SET TERMINAL INTERACTION PARAMETERS.
  1507. *
  1508. * EXIT (TRIF) .NE. 0 IF FILE *INPUT* ASSIGNED TO TERMINAL.
  1509. * (ACSF) .NE. 0 IF *INPUT* ASSIGNED TO TERMINAL AND
  1510. * *ASCII* CHARACTER SET MODE SET.
  1511. * OUTPUT FILE *ZZZZZG0* ASSIGNED TO TERMINAL, NORMAL
  1512. * MODE SET, AND PROMPT DISABLED IF *INPUT* ASSIGNED
  1513. * TO TERMINAL.
  1514. *
  1515. * USES X - 1, 2, 7.
  1516. * A - 1, 7.
  1517. *
  1518. * CALLS STF.
  1519. *
  1520. * MACROS CSET, PROMPT, REQUEST, RETURN, SETFS, TSTATUS.
  1521.  
  1522.  
  1523. STI SUBR ENTRY/EXIT
  1524. SX2 I CHECK *INPUT* FILE ASSIGNMENT
  1525. RJ STF
  1526. NZ X6,STIX IF NOT ASSIGNED TO TERMINAL
  1527. SX7 1 SET TERMINAL INTERACTION FLAG
  1528. SA7 TRIF
  1529. RETURN O,R
  1530. REQUEST O,U,N ASSIGN TERMINAL OUTPUT FILE
  1531. SETFS O,SSST SET SSJ= FILE STATUS
  1532. PROMPT OFF DISABLE TERMINAL PROMPT
  1533. TSTATUS SBUF GET TERMINAL CHARACTER SET
  1534. SA1 SBUF+B1
  1535. SX7 B1
  1536. LX1 59-2
  1537. PL X1,STIX IF NOT *ASCII* MODE
  1538. SA7 ACSF SET *ASCII* MODE FLAG
  1539. CSET NORMAL CLEAR *ASCII* MODE
  1540. EQ STIX EXIT
  1541. TER SPACE 4,15
  1542. ** TER - TERMINATION PROCESSING.
  1543. *
  1544. * ENTRY (ACSF) .NE. 0 IF CHARACTER SET TO BE RESET.
  1545. * (PRCF) = PROLOGUE/EPILOGUE REQUEST FLAGS.
  1546. *
  1547. * EXIT TERMINAL CHARACTER SET RESET IF NECESSARY.
  1548. * PROLOGUE/EPILOGUE CONTROLS MODIFIED IF REQUEST FLAGS
  1549. * SET.
  1550. *
  1551. * USES X - 1.
  1552. * A - 1.
  1553. *
  1554. * MACROS CSET.
  1555.  
  1556.  
  1557. TER SUBR ENTRY/EXIT
  1558. SA1 ACSF
  1559. ZR X1,TER1 IF NOT *ASCII* MODE ON ENTRY
  1560. CSET ASCII RESET *ASCII* MODE
  1561. TER1 SA1 PRC
  1562. SX1 X1
  1563. ZR X1,TERX IF NO CONTROLS TO SET
  1564. SX1 A1 SET STATUS WORD ADDRESS
  1565. SX2 104B SET PROLOGUE/EPILOGUE CONTROLS FUNCTION
  1566. RJ CPM=
  1567. EQ TERX RETURN
  1568. TRJ SPACE 4,10
  1569. ** TRJ - TERMINATE JOB.
  1570. *
  1571. * USES X - 1, 2.
  1572. *
  1573. * CALLS CPM=.
  1574. *
  1575. * MACROS ENCSF, ENDRUN, RETURN, SETJOB.
  1576.  
  1577.  
  1578. TRJ BSS 0 ENTRY
  1579. SETJOB TRJA SET JOB TERMINATION
  1580. SX1 APN SET APPLICATION NAME
  1581. SX2 132B SET LOGOUT FUNCTION
  1582. RJ CPM=
  1583. RETURN F,R CLEAR COMMANDS
  1584. ENCSF F
  1585. ENDRUN
  1586.  
  1587.  
  1588. TRJA VFD 60/0 SETJOB PARAMETERS
  1589. VFD 36/0,12/2RTJ,12/0
  1590. SPACE 4,10
  1591. * COMMON DECKS.
  1592.  
  1593.  
  1594. *CALL COMCCIO
  1595. *CALL COMCCPM
  1596. *CALL COMCLFM
  1597. *CALL COMCPFM
  1598. *CALL COMCPOP
  1599. *CALL COMCMVE
  1600. *CALL COMCRDC
  1601. *CALL COMCRDW
  1602. *CALL COMCSNM
  1603. *CALL COMCSTF
  1604. *CALL COMCSYS
  1605. *CALL COMCUSB
  1606. *CALL COMCWTC
  1607. *CALL COMCWTW
  1608. SPACE 4,10
  1609. * ERROR MESSAGES.
  1610.  
  1611.  
  1612. ERDC DATA C* ERROR IN DEFAULT CHARGE.*
  1613. ERDN DATA C* DEFAULT CHARGE NULL.*
  1614. ERFI DATA C* FORMAT ERROR IN INPUT.*
  1615. ERIL DATA C* INPUT ERROR LIMIT.*
  1616. EREC DATA C* EPILOGUE AND SHELL CONFLICT.*
  1617. ERPC DATA C* PROLOGUE AND SHELL CONFLICT.*
  1618. ERRD DATA C* CHARGE RESTRICTED TO DEFAULT.*
  1619.  
  1620.  
  1621. USE LITERALS FLUSH OUT LITERALS
  1622.  
  1623.  
  1624. LIST X,F
  1625. *CALL COMCCHG
  1626. LIST *
  1627. TITLE BUFFER ALLOCATION.
  1628. * BUFFERS.
  1629. *
  1630. * NOTE - THESE BUFFERS OVERLAY BOTH THE BUFFERS IN *COMCCHG*
  1631. * AND THE REMAINING ROUTINES IN *VALEX*.
  1632.  
  1633.  
  1634. FBUF BSSN BUFL PROLOGUE/EPILOGUE FILE BUFFER
  1635. IBUF BSSN BUFL INPUT FILE BUFFER
  1636. OBUF BSSN BUFL OUTPUT FILE BUFFER
  1637. SBUF BSSN ARBS SCRATCH BUFFER
  1638. ENDBUF BSSN 0 END OF BUFFERS
  1639. END BSSN
  1640. TITLE OVERLAID SUBROUTINES.
  1641. GPR SPACE 4,10
  1642. ** GPR - GET PROLOGUE/EPILOGUE STATUS.
  1643. *
  1644. * EXIT (PRST) = PROLOGUE AND EPILOGUE STATUS FLAGS.
  1645. *
  1646. * USES X - 1, 2.
  1647. *
  1648. * CALLS CPM=.
  1649.  
  1650.  
  1651. GPR SUBR ENTRY/EXIT
  1652. SX2 131B SET FUNCTION CODE
  1653. SX1 PRST SET STATUS WORD ADDRESS
  1654. RJ CPM= GET PROLOGUE/EPILOGUE STATUS
  1655. EQ GPRX RETURN
  1656. PRS SPACE 4,10
  1657. ** PRS - PRESET.
  1658. *
  1659. * MACROS REPRIEVE.
  1660.  
  1661.  
  1662. PRS SUBR ENTRY/EXIT
  1663. NE B1,B0,PRSX IF PRESET ALREADY PERFORMED
  1664. SB1 1
  1665. REPRIEVE RPB,SETUP,RPMS SET REPRIEVE PARAMETERS
  1666. EQ PRSX RETURN
  1667. SCA SPACE 4,15
  1668. ** SCA - SET COMMAND ARGUMENTS.
  1669. *
  1670. * ENTRY (A0) = ADDRESS OF ARGUMENT TABLE.
  1671. * (B3) = ADDRESS OF SECURE ARGUMENT TABLE IF .GT. 0.
  1672. *
  1673. * EXIT COMMAND ISSUED TO DAYFILE.
  1674. * TO *ABT* IF ARGUMENT ERROR.
  1675. *
  1676. * USES X - 1, 5, 6.
  1677. * A - 5, 6.
  1678. * B - 2, 3, 4, 6.
  1679. *
  1680. * CALLS ABT, ARM, POP, RSP, USB.
  1681. *
  1682. * MACROS MESSAGE.
  1683.  
  1684.  
  1685. SCA SUBR ENTRY/EXIT
  1686. SB2 CCDR UNPACK COMMAND
  1687. RJ USB
  1688. ZR B3,SCA1 IF NO SECURE ARGUMENTS
  1689. SA4 A0+ SET ARGUMENT TABLE ADDRESS
  1690. SA5 CCDR SET COMMAND ADDRESS
  1691. SB6 B3 SET SECURE ARGUMENT TABLE ADDRESS
  1692. SB2 B0 SET NO PARAMETERS TO SKIP
  1693. RJ RSP REMOVE SECURE PARAMETERS
  1694. SCA1 MESSAGE CCDR ISSUE COMMAND TO DAYFILE
  1695. SB6 USBB SET STRING BUFFER ADDRESS
  1696. RJ POP
  1697. NZ X6,SCA2 IF NO LEADING *$* OR */*
  1698. RJ POP SKIP KEYWORD
  1699. SCA2 SB3 A0 SET ARGUMENT TABLE ADDRESS
  1700. SB4 SCAA SET ASSEMBLY ADDRESS
  1701. SB2 B0 SET ARGUMENT TABLE LENGTH
  1702. SCA3 SA1 A0+B2
  1703. SB2 B2+B1 INCREMENT ARGUMENT COUNT
  1704. NZ X1,SCA3 IF NOT END OF TABLE
  1705. RJ CPA CONVERT POSITIONAL ARGUMENTS
  1706. NG B5,SCA4 IF ARGUMENT ERROR
  1707. PL X1,SCAX IF NO ARGUMENTS PROCESSED
  1708. SX6 B5 SET END OF STRING
  1709. SA6 USBC
  1710. SB3 A0 SET ARGUMENT TABLE ADDRESS
  1711. SB6 SCAA SET BUFFER ADDRESS
  1712. RJ ARM PROCESS ARGUMENTS
  1713. ZR X1,SCAX IF NO ARGUMENT ERROR
  1714. SCA4 SB6 ERAR * ERROR IN ARGUMENTS.*
  1715. EQ ABT ABORT
  1716.  
  1717.  
  1718. SCAA BSS 87 STRING BUFFER
  1719. VUN SPACE 4,15
  1720. ** VUN - VALIDATE USER NAME.
  1721. *
  1722. * EXIT TO *ABT* IF ERROR.
  1723. * TO *RSE* IF ERROR IN VALIDATION.
  1724. *
  1725. * USES X - ALL.
  1726. * A - 1, 2, 3, 5, 6, 7.
  1727. * B - 2, 5, 6.
  1728. *
  1729. * CALLS CMI, COD, SNM.
  1730. *
  1731. * MACROS EDATE, GETFLC, MESSAGE, MOVE, VALID.
  1732.  
  1733.  
  1734. VUN SUBR ENTRY/EXIT
  1735.  
  1736. * VALIDATE USER NAME, PASSWORD, FAMILY NAME.
  1737.  
  1738. SA1 UPSW SET SPECIAL USER NAMES FLAG
  1739. SX6 10B
  1740. BX6 X1+X6
  1741. SA6 A1
  1742. VALID UNAM
  1743. SA2 EXER
  1744. SA1 UFAM
  1745. SX0 70B
  1746. NZ X2,RSE IF ERROR IN VALIDATION
  1747. BX0 X0*X1
  1748. ZR X0,VUN1 IF NO ERROR CODE RETURNED
  1749. SX2 X0-10B
  1750. SB6 ERCR * CHARGE COMMAND REQUIRED.*
  1751. ZR X2,ABT IF CHARGE COMMAND REQUIRED
  1752. SX2 X0-20B
  1753. SB6 ERSD * SECONDARY USER COMMANDS DISABLED.*
  1754. ZR X2,ABT IF SECONDARY USER COMMANDS DISABLED
  1755. SX2 X0-30B
  1756. SB6 ERAF * ALTERNATE FAMILY NOT ALLOWED.*
  1757. ZR X2,ABT IF ALTERNATE FAMILY NOT ALLOWED
  1758. SB6 ERAU * ALTERNATE USER NAME NOT ALLOWED.*
  1759. EQ ABT ABORT
  1760.  
  1761. VUN1 SX6 1 SET DEFAULT CHARGE PRESENT
  1762. SA6 DFCF
  1763.  
  1764. * VALIDATE JOB COMMAND PARAMETERS.
  1765.  
  1766. LX1 59-0
  1767. MX6 -12
  1768. NG X1,VUN2 IF NOT FIRST USER COMMAND
  1769. SA1 JOPR
  1770. LX1 -24
  1771. BX1 -X6*X1 JOB ORIGIN TYPE
  1772. SX1 X1-SYOT
  1773. ZR X1,VUN2 IF SYSTEM ORIGIN
  1774. SX6 B1+ SET TERMINATE ON ERROR
  1775. SA6 TJEF
  1776.  
  1777. * VALIDATE JOB COMMAND CM FIELD LENGTH.
  1778.  
  1779. SA1 UALMW GET CM VALIDATION LIMIT
  1780. LX1 -18
  1781. RJ CMI CONVERT CM VALIDATION LIMIT
  1782. BX5 X1 SAVE CM VALIDATION LIMIT
  1783. GETFLC ,VUNE GET EM FIELD LENGTH CONTROL WORD
  1784. SA3 VUNE
  1785. MX0 -12
  1786. LX3 36 GET MAXFL (EXTENDED MEMORY)
  1787. BX3 -X0*X3
  1788. ZR X3,VUN2 IF NO EXTENDED MEMORY FL REQUESTED
  1789. NG X5,VUN2 IF CM VALIDATION UNLIMITED
  1790. SX2 MCMX/100B
  1791. IX6 X5-X2
  1792. SB6 EREM * EXTENDED MEMORY MINIMUM CM NOT ...*
  1793. NG X6,ABT IF NOT VALIDATED FOR AT LEAST *MCMX*
  1794.  
  1795. * MOVE ACCOUNT WORDS TO *SSJ=* AREA.
  1796.  
  1797. VUN2 MOVE 3,UALMW,(SSJ=+ALMS)
  1798. SA1 UNAM
  1799. BX6 X1
  1800. SA6 SSJ=+UIDS
  1801.  
  1802. * ISSUE ACCOUNTING MESSAGES.
  1803.  
  1804. SA5 UFAM
  1805. SA1 =4HABUN
  1806. SB5 VUNA SET MESSAGE ADDRESS
  1807. LX5 59-0
  1808. PL X5,VUN3 IF FIRST *USER* COMMAND
  1809. SA1 =4HACUN
  1810. VUN3 SB2 1R?
  1811. RJ SNM SET MESSAGE IDENTIFIER
  1812. SA1 UNAM GET USER NAME
  1813. MX0 42
  1814. BX1 X0*X1
  1815. SB2 1R!
  1816. RJ SNM SET USER NAME
  1817. SA1 UFAM GET FAMILY NAME
  1818. BX1 X0*X1
  1819. SB2 1R+
  1820. RJ SNM SET FAMILY NAME
  1821. SA1 UTRN GET TERMINAL NAME
  1822. BX1 X0*X1
  1823. SB2 1R&
  1824. RJ SNM SET TERMINAL NAME
  1825. MESSAGE VUNA,5 ISSUE USER MESSAGE TO ACCOUNT FILE
  1826. NG X5,VUN4 IF NOT FIRST *USER* COMMAND
  1827. SA1 UFAM GET SERVICE CLASS
  1828. MX0 -6
  1829. AX1 12
  1830. SX3 10 SET WORD NUMBER
  1831. BX1 -X0*X1
  1832. BX4 X1
  1833. SX6 X3
  1834. IX3 X1/X3
  1835. SA2 VUND+X3 READ SERVICE CLASS WORD
  1836. IX3 X3*X6
  1837. IX4 X4-X3
  1838. SX3 6 SET SHIFT COUNT
  1839. IX4 X3*X4
  1840. SB2 X4
  1841. MX0 6
  1842. LX2 X2,B2 GET SERVICE CLASS CHARACTER
  1843. BX1 X0*X2
  1844. SB5 VUNB SET MESSAGE ADDRESS
  1845. SB2 1R?
  1846. RJ SNM SET SERVICE CLASS
  1847. MESSAGE VUNB,5 ISSUE SERVICE CLASS TO ACCOUNT FILE
  1848. MESSAGE VUNB,3 ISSUE SERVICE CLASS TO USER DAYFILE
  1849. SA1 UCRN
  1850. ZR X1,VUN4 IF NO CHARGE NUMBER
  1851. SB5 VUNC SET DEFAULT CHARGE MESSAGE ADDRESS
  1852. SB2 1R?
  1853. RJ SNM SET CHARGE NUMBER
  1854. SA1 UPJ1 READ FIRST PART OF PROJECT NUMBER
  1855. SB2 1R!
  1856. RJ SNM SET PROJECT NUMBER
  1857. SA1 UPJ2 READ SECOND PART OF PROJECT NUMBER
  1858. SB2 1R+
  1859. RJ SNM SET PROJECT NUMBER
  1860. MESSAGE VUNC,5 ISSUE DEFAULT CHARGE TO ACCOUNT FILE
  1861.  
  1862. * ISSUE PASSWORD EXPIRATION MESSAGE.
  1863.  
  1864. VUN4 SA1 UPSW
  1865. MX0 -18
  1866. LX1 -24
  1867. BX1 -X0*X1
  1868. ZR X1,VUN6 IF NO PASSWORD EXPIRATION DATE
  1869. EDATE X1 CONVERT EXPIRATION DATE
  1870. BX1 X6
  1871. SB5 VUNF
  1872. SB2 1R!
  1873. RJ SNM SET EXPIRATION DATE IN MESSAGE
  1874. MESSAGE B5,3 * YOUR PASSWORD EXPIRES AT ...*
  1875.  
  1876. * SET SYSTEM AND USER PROLOGUE PARAMETERS.
  1877.  
  1878. VUN6 NG X5,VUNX IF NOT FIRST *USER* COMMAND
  1879. SA1 UPRO
  1880. MX7 42
  1881. BX7 X1*X7 SET USER PROLOGUE FILE NAME
  1882. SA7 UPF
  1883. BX1 X1-X7
  1884. AX1 12
  1885. ZR X1,VUNX IF NO SYSTEM PROLOGUE DEFINED
  1886. SX0 X1-SSPMN
  1887. RJ COD CONVERT PROLOGUE INDEX
  1888. SB2 B2-6
  1889. MX6 6
  1890. ZR B2,VUN7 IF ONE DIGIT
  1891. MX6 12
  1892. VUN7 SA1 =4LPROC SET SYSTEM PROLOGUE NAME
  1893. SX2 CCPT SET CLEAR CONTROLS TERMINATION OPTION
  1894. NG X0,VUN8 IF NO LOGOUT ON SYSTEM PROLOGUE ABORT
  1895. SX2 LAPT SET LOGOUT ON ABORT TERMINATION OPTION
  1896. VUN8 BX4 X6*X4
  1897. LX4 -24
  1898. BX7 X1+X4
  1899. BX7 X7+X2
  1900. SA7 SPF
  1901. EQ VUNX RETURN
  1902.  
  1903.  
  1904. * ACCOUNT MESSAGE TEMPLATES.
  1905.  
  1906. VUNA DATA C*????, !!!!!!!, +++++++, &&&&&&&.*
  1907. VUNB DATA C*ABSC, ?.*
  1908. VUNC DATA C*ABIC, ??????????, !!!!!!!!!!++++++++++.*
  1909.  
  1910. VUND DATA 0H"NMDS" SERVICE CLASS IDENTIFIERS
  1911.  
  1912. VUNE CON 0 CM FIELD LENGTH CONTROL WORD
  1913.  
  1914. * PASSWORD EXPIRATION WARNING MESSAGE.
  1915.  
  1916. VUNF DATA 50H YOUR PASSWORD EXPIRES AT 00.00.00 ON!!!!!!!!!!
  1917. CON 0
  1918. SPACE 4,10
  1919. * OVERLAID COMMON DECKS.
  1920.  
  1921.  
  1922. CMI$ SET 1 ASSEMBLE *CMI*
  1923. TLI$ SET 1 ASSEMBLE *TLI*
  1924. *CALL COMCARM
  1925. *CALL COMCCDD
  1926. *CALL COMCCOD
  1927. *CALL COMCCPA
  1928. *CALL COMCCVI
  1929. *CALL COMCEDT
  1930. *CALL COMCRSP
  1931. SPACE 4,10
  1932. * OVERLAID ERROR MESSAGES.
  1933.  
  1934.  
  1935. ERAF DATA C* ALTERNATE FAMILY NOT ALLOWED.*
  1936. ERAR DATA C* ERROR IN ARGUMENTS.*
  1937. ERAU DATA C* ALTERNATE USER NAME NOT ALLOWED.*
  1938. ERCN DATA C* COMMAND NOT ALLOWED IN PROLOGUE/EPILOGUE.*
  1939. ERCR DATA C* CHARGE COMMAND REQUIRED.*
  1940. EREF DATA C* PROJECT EPILOGUE NOT FOUND.*
  1941. EREM DATA C* EXTENDED MEMORY MINIMUM CM NOT VALIDATED.*
  1942. ERIC DATA C* INCORRECT COMMAND.*
  1943. ERNU DATA C* NO USER COMMAND EXECUTED.*
  1944. ERPF DATA C* ??????? PROLOGUE NOT FOUND.*
  1945. ERPL DATA C* ??????? PROLOGUE FILE NOT LOCAL.*
  1946. ERSD DATA C* SECONDARY USER COMMANDS DISABLED.*
  1947. ERTL DATA C* TL NOT VALIDATED.*
  1948. SPACE 4,10
  1949. CHGFL MAX *+4,CHGL+4,ENDBUF+4
  1950. RFL= EQU CHGFL
  1951.  
  1952. ERRNG AFFL*100B-RFL= FIELD LENGTH EXCEEDS MAXIMUM
  1953. END