IDENT VALEX,ORIG ABS SST SYSCOM B1 ENTRY ACCOUNT ENTRY BYE ENTRY CHARGE ENTRY GOODBYE ENTRY HELLO ENTRY LOGIN ENTRY LOGOUT ENTRY USER ENTRY XPR ENTRY ARG= ENTRY VAL= ENTRY RFL= ENTRY SDM= ENTRY SSJ= TITLE VALEX - VALIDATION EXECUTIVE. SPACE 4,10 *COMMENT VALEX - VALIDATION EXECUTIVE. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** VALEX - VALIDATION EXECUTIVE. * R. P. ROHRBOUGH 72/09/08. * G. R. GREENFIELD 75/11/25. * P. C. SMITH 81/06/10. * G. S. YODER 87/03/13. SPACE 4,10 *** USER AND ACCOUNT COMMANDS. * * USER,USERNAM,PASSWOR,FAMILY. * * USER,UN=USERNAM,PW=PASSWOR,FM=FAMILY. * * ACCOUNT,USERNAM,PASSWOR,FAMILY. * * ACCOUNT,UN=USERNAM,PW=PASSWOR,FM=FAMILY. * * USERNAM = USER NAME (1-7 ALPHNUMERIC CHARACTERS * INCLUDING ASTERISK). * * PASSWOR = PASSWORD (1-7 ALPHNUMERIC CHARACTERS). * * FAMILY = FAMILY NAME (1-7 ALPHANUMERIC CHARACTERS). * * IF THE FAMILY NAME IS OMITTED, THE DEFAULT FAMILY WILL BE * ASSUMED. DEFAULT CHARGE VALIDATION WILL BE PERFOMED IF THE * USER NAME REQUIRES CHARGE VALIDATION AND NO *CHARGE* COMMAND * FOLLOWS THE *USER* COMMAND. IF DEFAULT CHARGE VALIDATION * FAILS AND FILE *INPUT* IS ASSIGNED TO A TERMINAL, THE USER * WILL BE PROMPTED FOR ENTRY OF A VALID CHARGE AND PROJECT * NUMBER. SPACE 4,10 *** CHARGE COMMAND. * * CHARGE,CHARGE,PROJECT. * * CHARGE,CN=CHARGE,PN=PROJECT. * * CHARGE. * * CHARGE = EITHER OF THE FOLLOWING - * * - CHARGE NUMBER (1-10 ALPHANUMERIC * CHARACTERS INCLUDING ASTERISK). * * - DEFAULT CHARGE PARAMETER (*). IF * SPECIFIED, AND THE PROJECT NUMBER IS * NULL, THE DEFAULT CHARGE AND PROJECT * NUMBERS CONTAINED IN THE USER-S * VALIDATION FILE ENTRY ARE USED. * * PROJECT = PROJECT NUMBER (1-20 ALPHANUMERIC CHARACTERS * INCLUDING ASTERISK). * * IF BOTH CHARGE AND PROJECT NUMBERS ARE SPECIFIED THEY WILL BE * VALIDATED FROM THE PROJECT PROFILE FILE (PROFILX) AND IF * VALID, A NEW ACCOUNT BLOCK WILL BE BEGUN. OTHERWISE, THE JOB * WILL BE ABORTED. IF THE DEFAULT CHARGE PARAMETER (*) IS * SPECIFIED AS THE CHARGE PARAMETER AND THE PROJECT PARAMETER * IS NULL, THE DEFAULT CHARGE AND PROJECT NUMBERS IN THE USER-S * VALIDATION FILE (VALIDUX) ENTRY WILL BE USED AND PROCESSED AS * IF THEY HAD BEEN ENTERED ON THE *CHARGE* COMMAND WITH THE * EXCEPTION THAT IF BOTH THE DEFAULT CHARGE AND PROJECT FIELDS * ARE NULL AND THE USER NAME DOES NOT REQUIRE A *CHARGE* * COMMAND (*CCNR* PRIVILEGE) THE COMMAND WILL BE PROCESSED AS A * NO-OP. THIS IS FOR COMPATIBILITY WITH PREVIOUS SYSTEM LEVELS * AND WILL BE REMOVED IN A FUTURE RELEASE. IF THE *CHARGE.* * FORM OF THE COMMAND IS USED THE CHARGE AND PROJECT NUMBERS * WILL BE READ FROM THE FILE *INPUT*. IF *INPUT* IS NOT * ASSIGNED TO A TERMINAL DEVICE, THE CHARGE AND PROJECT NUMBERS * MUST APPEAR ON ONE LINE IN THE FORM - * * CHARGE,PROJECT * * IF *INPUT* IS A TERMINAL FILE, THE USER WILL BE PROMPTED * FOR CHARGE AND PROJECT NUMBERS. THEY MAY BE ENTERED * SEPARATELY OR IN THE ABOVE FORMAT IN RESPONSE TO THE CHARGE * NUMBER PROMPT. IF AN ASTERISK IS ENTERED IN RESPONSE TO * THE CHARGE NUMBER PROMPT, THE DEFAULT CHARGE WILL BE USED * AND NO PROJECT NUMBER PROMPT WILL BE ISSUED. IN THE CASE * OF AN ERROR IN INPUT OR CHARGE VALIDATION, THE USER WILL BE * REPROMPTED FOR CHARGE AND PROJECT NUMBERS UP TO A DEFINED * ERROR LIMIT. * * * *CHARGE* COMMAND PROCESSING - * * - IF THE COMMAND IS A SECONDARY *CHARGE* COMMAND AND A * PROJECT EPILOGUE EXISTS FOR THE CURRENT PROJECT NUMBER * THE EPILOGUE IS EXECUTED BEFORE ANY PROCESSING IS PERFORMED * ON THE *CHARGE* COMMAND. THE SECONDARY *CHARGE* COMMAND IS * REEXECUTED WHEN THE EPILOGUE TERMINATES. * * - FOR A SECONDARY *CHARGE* COMMAND THE ACCOUNTING INFORMATION * FOR THE CURRENT ACCOUNT BLOCK IS DISPLAYED IN THE ACCOUNT * DAYFILE AND THE SRU-S ACCUMULATED DURING THE ACCOUNT BLOCK * ARE ADDED TO THE ACCUMULATOR IN THE PROFILE FILE LEVEL 3 * BLOCK. * * - THE NEW CHARGE AND PROJECT NUMBERS ARE SET IN THE JOB-S * NFL, THE SRU ACCUMULATOR IS CLEARED, AND THE SRU * MULTIPLIERS AND SRU LIMITS ARE RESET IF NECESSARY. * * - IF A PROJECT PROLOGUE IS DEFINED FOR THE NEW PROJECT NUMBER * IT IS EXECUTED. CHARGE REQUIRED STATUS MAY BE SET ON * TERMINATION DEPENDING ON THE OPTION SET IN THE PROFILE FILE * ENTRY. SEE PROLOGUE SEQUENCING DOCUMENTATION. * * CHARGE VALIDATION MAY BE INVOKED IMPLICITLY BY *USER* COMMAND * PROCESSING. SEE *USER* COMMAND DOCUMENTATION. SPACE 4,15 *** LOGOUT COMMANDS. * * BYE,ANAME. * * BYE,AP=ANAME. * * GOODBYE,ANAME. * * GOODBYE,AP=ANAME. * * HELLO,ANAME. * * HELLO,AP=ANAME. * * LOGIN,ANAME. * * LOGIN,AP=ANAME. * * LOGOUT,ANAME. * * LOGOUT,AP=ANAME. * * ANAME = NETWORK APPLICATION NAME (1-7 ALPHANUMERIC * CHARACTERS). THE DEFAULT IS *LOGOUT* FOR THE * *BYE*, *GOODBYE*, AND *LOGOUT* COMMANDS AND * *LOGIN* FOR THE *HELLO* AND *LOGIN* COMMANDS. * * * LOGOUT COMMANDS ARE PROCESSED AS FOLLOWS - * * - AN EPILOGUE PROGRAM IS EXECUTED IF ONE IS DEFINED. * * - AN ONLINE INTERACTIVE JOB IS DISCONNECTED FROM THE * TERMINAL AND THE TERMINAL IS OPTIONALLY SWITCHED TO * ANOTHER NETWORK APPLICATION. * * - THE JOB IS TERMINATED. SPACE 4,10 *** *XPR* COMMAND - EXECUTE SEQUENCED PROLOGUE. * * $XPR.IT NNNNNNN * * I = PROLOGUE INDEX. * = 0 IF SYSTEM PROLOGUE. * = 1 IF PROJECT PROLOGUE. * = 2 IF USER PROLOGUE. * * T = PROLOGUE TERMINATION OPTION + 1 TO SET IF .NE. 0. * = 0 IF NO CHANGE IN TERMINATION OPTION. * * NNNNNNN = PROLOGUE FILE NAME. * = NULL (LINE TERMINATION) IF PROLOGUE FILE * ACCESS ERROR. * * * THE *XPR* COMMAND IS USED IN PROLOGUE SEQUENCING TO CLEAR * NO-DROP STATUS AND TO RESET THE LOCAL FILE NAME OF A PROLOGUE * FILE AFTER TERMINATION OF A PREVIOUS PROLOGUE. THE PROLOGUE * TERMINATION OPTION MAY ALSO BE CHANGED OR CLEARED IF * NECESSARY. SPACE 4,10 *** PROLOGUE AND EPILOGUE EXECUTION. * * SYSTEM AND USER PROLOGUE EXECUTION IS INITIATED ONLY BY A * VALID PRIMARY *USER* COMMAND. PROJECT PROLOGUE EXECUTION IS * INITIATED BY A VALID *CHARGE* COMMAND OR BY A *USER* COMMAND * IF A CHARGE IS VALIDATED IMPLICITLY. FOR A PRIMARY *USER* * COMMAND THE EXECUTION ORDER IS SYSTEM, PROJECT, AND USER * PROLOGUE. FOR THE SYSTEM AND PROJECT PROLOGUES, OPTIONS CAN * BE SELECTED UNDER *MODVAL* OR *PROFILE* TO SPECIFY SECURITY * PROCESSING TO BE PERFORMED ON PROLOGUE TERMINATION. THIS * MAKES IT POSSIBLE TO RESTRICT THE USAGE OF USER NAMES AND * PROJECT NUMBERS TO SPECIFIC APPLICATIONS OR TO PERFORM * VALIDATION CHECKS BEFORE ALLOWING UNRESTRICTED USAGE. IF A * SHELL PROGRAM IS DEFINED, IT IS POSSIBLE TO PREVENT NORMAL * PROCESSING OF COMMANDS IN A PROCEDURE. THEREFORE, EITHER * SHELL CONTROL WILL BE CLEARED OR THE JOB WILL BE ABORTED * DEPENDING ON THE SHELL PROGRAM ABORT OPTION UPON INITIATION * OF A SYSTEM OR PROJECT PROLOGUE. THE PROLOGUE FILES ARE * ACCESSED INTERNALLY BY *CHARGE* TO AVOID PASSING PERMANENT * FILE PASSWORDS TO THE SEQUENCING PROCEDURE. IF ANY OF THE * PROLOGUES ABORT, THE SEQUENCING PROCEDURE WILL ABORT AT THAT * POINT. IF A PROLOGUE FILE WAS DEFINED BUT COULD NOT BE * ACCESSED, THE SEQUENCING PROCEDURE WILL ABORT AT THE POINT AT * WHICH THAT PROLOGUE IS INVOKED. * * PROJECT EPILOGUE EXECUTION IS INITIATED BY A SECONDARY * *CHARGE* COMMAND OR BY A LOGOUT COMMAND IF AN EPILOGUE IS * DEFINED FOR THE CURRENT ACCOUNT BLOCK. SHELL CONTROL IS * CLEARED BEFORE EPILOGUE EXECUTION BEGINS AND CHARGE REQUIRED * IS SET ON EPILOGUE TERMINATION TO ENSURE TERMINATION OF THE * ACCOUNT BLOCK. AN ATTEMPT TO SET SHELL CONTROL WITHOUT THE * CLEAR CONTROL ON SHELL ABORT OPTION IN AN ACCOUNT BLOCK WHICH * HAS AN EPILOGUE DEFINED WILL ABORT THE JOB. * * *CHARGE* COMMANDS ARE NOT PERMITTED IN A SYSTEM OR PROJECT * PROLOGUE OR IN A PROJECT EPILOGUE TO AVOID AMBIGUITY WITH * RESPECT TO SETTING CHARGE REQUIRED WHICH WOULD RESULT FROM * PROLOGUE OR EPILOGUE NESTING. FOR THE SAME REASON, LOGOUT * COMMANDS ARE NOT PERMITTED IN A PROJECT PROLOGUE IF AN * EPILOGUE IS DEFINED FOR THE CURRENT ACCOUNT BLOCK. SPACE 4,10 *** DAYFILE MESSAGES. * * * ALTERNATE FAMILY NOT ALLOWED.* * THE USER IS NOT VALIDATED TO SPECIFY AN ALTERNATE * FAMILY ON A SECONDARY *USER* COMMAND. * * * ALTERNATE USER NAME NOT ALLOWED.* * THE USER IS NOT VALIDATED TO SPECIFY AN ALTERNATE USER * NAME ON A SECONDARY *USER* COMMAND. * * * CHARGE = CHARGENUMBER, PROJECT = PROJECTNUMBER. * AN ACCOUNT BLOCK HAS BEEN INITIATED UNDER THE * INDICATED CHARGE AND PROJECT NUMBERS. * * * CHARGE ABNORMAL.* * INTERNAL SYSTEM ERROR OCCURRED. * * * CHARGE ABORTED.* * EXTERNAL JOB ABORT. * * * CHARGE COMMAND REQUIRED.* * THE COMMAND CANNOT BE EXECUTED UNTIL A VALID *CHARGE* * COMMAND IS EXECUTED. * * * CHARGE FILE BUSY.* * FILE IS NOT AVAILABLE FOR CHARGE PURPOSES. WAIT AND * TRY AGAIN. * * * CHARGE NOT VALID.* * 1) CHARGE OR PROJECT NUMBER DOES NOT EXIST. * 2) PROJECT NUMBER IS NOT AVAILABLE TO A USER WITH THIS * USER NAME. * 3) CHARGE OR PROJECT NUMBER EXISTS BUT IS INACTIVE. * * * CHARGE NOT VALID AT THIS HOUR.* * THIS PROJECT NUMBER CANNOT BE USED AT THIS TIME OF * DAY. * * * CHARGE NUMBER EXPIRED.* * CHARGE NUMBER EXPIRATION DATE HAS OCCURRED. * * * CHARGE RESTRICTED TO DEFAULT.* * THE USER MAY ONLY USE THE DEFAULT CHARGE AND PROJECT * NUMBER. * * * COMMAND NOT ALLOWED IN PROLOGUE/EPILOGUE.* * A *CHARGE* COMMAND WAS EXECUTED IN A SYSTEM PROLOGUE, * PROJECT PROLOGUE OR PROJECT EPILOGUE OR A LOGOUT * COMMAND WAS EXECUTED IN A PROJECT PROLOGUE WHEN AN * EPILOGUE WAS DEFINED (ISSUED BY *CPM*). * * * CUMULATIVE LIMIT EXCEEDED.* * ONE OF THE INSTALLATION DEFINED RESOURCE USAGE * ACCUMULATORS FOR THIS PROJECT EXCEEDS THE MAXIMUM * ALLOWABLE VALUE. * * * CUMULATIVE SRU LIMIT EXCEEDED.* * SRU ACCUMULATOR FOR THIS PROJECT EXCEEDS THE MAXIMUM * ALLOWABLE VALUE. * * * DATA BASE ERROR.* * ERROR IN VALIDATION FILE STRUCTURE DETECTED. * * * DEFAULT CHARGE NOT VALID.* * SAME AS "CHARGE NOT VALID" EXCEPT THAT THE DEFAULT * CHARGE INFORMATION WAS USED FOR PROCESSING. * * * DEFAULT CHARGE NULL.* * THE DEFAULT CHARGE NUMBER AND THE DEFAULT PROJECT * NUMBER WERE NULL. * * * EPILOGUE AND SHELL CONFLICT.* * A SHELL PROGRAM WITH THE NO-ABORT OPTION WAS ACTIVE AT * THE TIME A CHARGE AND PROJECT NUMBER WITH AN EPILOGUE * WAS VALIDATED. * * * ERROR IN ARGUMENTS.* * ARGUMENT ERROR WAS DETECTED ON COMMAND. * * * ERROR IN DEFAULT CHARGE. * * DEFAULT CHARGE PROCESSING WAS NOT ATTEMPTED BECAUSE * THE DEFAULT CHARGE INFORMATION IN THE USER-S * VALIDATION FILE ENTRY WAS INCORRECT. * * * EXTENDED MEMORY MINIMUM CM NOT VALIDATED.* * MINIMUM CM REQUIRED FOR EXTENDED MEMORY USAGE EXCEEDS * VALIDATION LIMIT. * * * FORMAT ERROR IN INPUT.* * THE CHARGE OR PROJECT NUMBER READ FROM THE INPUT FILE * WAS NOT IN THE CORRECT FORMAT. * * * INCORRECT COMMAND.* * THE *XPR* COMMAND WAS EXECUTED IN OTHER THAN THE * PROLOGUE SEQUENCING PROCEDURE. * * * INPUT ERROR LIMIT.* * THE MAXIMUM ALLOWED NUMBER OF CONSECUTIVE INPUT ERRORS * WAS EXCEEDED. * * * NO USER COMMAND EXECUTED.* * *CHARGE* COMMAND WAS NOT PRECEDED BY A *USER* COMMAND. * * * PROJECT EPILOGUE NOT FOUND.* * THE PROJECT EPILOGUE FILE COULD NOT BE ACCESSED. * * * PROJECT NUMBER EXPIRED.* * PROJECT NUMBER EXPIRATION DATE HAS OCCURRED. * * * PROJECT PROLOGUE NOT FOUND.* * THE PROJECT PROLOGUE FILE COULD NOT BE ACCESSED. * * * PROJECT PROLOGUE FILE NOT LOCAL.* * THE FILE ZZZZPR1 WAS NOT LOCAL TO THE JOB AT THE TIME * THE PROJECT PROLOGUE WAS TO BE EXECUTED. * * * PROLOGUE AND SHELL CONFLICT.* * A SHELL PROGRAM WITH THE NO-ABORT OPTION WAS ACTIVE AT * THE TIME A CHARGE AND PROJECT NUMBER WITH A PROLOGUE * WAS VALIDATED. * * * SECONDARY USER COMMANDS DISABLED.* = THE SYSTEM IS NOT * OPERATING IN SECURE MODE AND SECONDARY USER COMMANDS * ARE DISABLED. * * * SECURITY CONFLICT.* * USER AND/OR FAMILY NAME SPECIFIED ON A *USER* COMMAND * WERE NOT VALID OR A SECONDARY *USER* COMMAND WAS * EXECUTED WHEN THE SYSTEM WAS RUNNING IN SECURED MODE * (ISSUED BY *CPM*). * * * SYSTEM PROLOGUE NOT FOUND.* * THE SYSTEM PROLOGUE FILE COULD NOT BE ACCESSED. * * * TL NOT VALIDATED.* * JOB COMMAND *TL* PARAMETER IS GREATER THAN THE USER-S * VALIDATION LIMIT. * * * USER PROLOGUE NOT FOUND.* * THE USER PROLOGUE FILE COULD NOT BE ACCESSED. * * * USER PROLOGUE FILE NOT LOCAL.* * THE FILE ZZZZPR2 WAS NOT LOCAL TO THE JOB AT THE TIME * THE USER PROLOGUE WAS TO BE EXECUTED. * * * YOUR PASSWORD EXPIRES AT 00.00.00 ON YY/MM/DD.* * YOUR PASSWORD EXPIRES ON THE SPECIFIED TIME AND DATE. SPACE 4,10 *** ACCOUNT FILE MESSAGES - * * *ABUN, USER, FAMILY, TERMINAL.* * PRIMARY *USER* COMMAND EXECUTED. * * *ABIC, CHARGE, PROJECT.* * INITIAL DEFAULT CHARGE AND PROJECT NUMBER. * * *ACUN, USER, FAMILY.* * SECONDARY USER COMMAND EXECUTED. * * *ABCN, CHARGE, PROJECT.* * BEGIN ACCOUNT BLOCK FOR PRIMARY CHARGE. * * *ACCN, CHARGE, PROJECT.* * BEGIN ACCOUNT BLOCK FOR SECONDARY CHARGE. TITLE PROGRAM EQUIVALENCES. ** ASSEMBLY OPTIONS. * * LIM$ EQU 0 - FULL CHECKING- CHARGE PERFORMS ALL CHECKS * CORRESPONDING TO THE ABOVE ERROR MESSAGE * DOCUMENTATION. * LIM$ EQU 1 - SUPPRESSES CHECKING OF SRU ACCUMULATORS AND * INSTALLATION DEFINED RESOURCE USAGE * ACCUMULATORS, BUT RETAINS ALL OTHER CHECKING. * RPE$ DEFINED - ASSEMBLE CODE TO READ PROFILE FILE LEVEL 3 * BLOCK FROM RANDOM ADDRESS. RPE$ EQU 0 LIM$ EQU 0 SPACE 4,10 *CALL COMCCMD *CALL COMCMAC *CALL COMSACC *CALL COMSJCE *CALL COMSLFD *CALL COMSPRD *CALL COMSPFM LIST X *CALL COMSPRO LIST * *CALL COMSRPV *CALL COMSSCD *CALL COMSSRU *CALL COMSSSJ *CALL COMSTCM SPACE 4,10 ** PROGRAM EQUATES. ARG= EQU 0 SUPPRESS COMMAND CRACKING SDM= EQU * SUPPRESS DAYFILE MESSAGE VAL= EQU * ALLOW VALIDATION BUFL EQU 101B BUFFER LENGTH ERLIM EQU 5 INPUT ERROR RETRY LIMIT RPMS EQU /COMSRPV/OTMS+/COMSRPV/TIMS+/COMSRPV/PPMS RPV MASK TITLE GLOBAL DATA AREA. ** FETS. ORG 120B ORIG BSS 0 I BSS 0 INPUT FILEB IBUF,BUFL,FET=10B O BSS 0 ZZZZZG0 FILEB OBUF,BUFL,FET=10B,DTY=2RTT F BSS 0 FILE FILEB FBUF,BUFL,EPR,(FET=17B) SSJ= SPACE 4,10 * SPECIAL SYSTEM JOB PARAMETER AREA. SSJ= VFD 12/0,24/0,12/PRCS,12/0 BSSZ SSJL-1 SPACE 4,10 * GLOBAL STORAGE. ACSF CON 0 *ASCII* CHARACTER SET FLAG APN CON 0 APPLICATION NAME FOR LOGOUT DFCF CON 0 DEFAULT CHARGE PRESENT FLAG EXER CON 0 EXTERNAL ERROR CODE PRST CON 0 PROLOGUE/EPILOGUE STATUS TJEF CON 0 TERMINATE JOB ON ERROR FLAG TRIA CON 0 TERMINAL INTERRUPT ADDRESS TRIF CON 0 TERMINAL INTERACTION FLAG * THE ORDER OF THE FOLLOWING NINE LOCATIONS MUST BE MAINTAINED. SPF CON 0 SYSTEM PROLOGUE FILE NAME DATA 7LLIBRARY SYSTEM PROLOGUE USER NAME CON 0 SYSTEM PROLOGUE PASSWORD PPF CON 0 PROJECT PROLOGUE FILE NAME AND OPTION CON 0 PROJECT PROLOGUE USER NAME CON 0 PROJECT PROLOGUE PASSWORD UPF CON 0 USER PROLOGUE FILE NAME CON 0 USER PROLOGUE USER NAME CON 0 USER PROLOGUE PASSWORD * USER VALIDATION PARAMETER BLOCK. UNAM CON 0 USER NAME UPSW CON 0 USER PASSWORD / SPECIAL USER NAMES FLAG UFAM CON 0 FAMILY NAME / STATUS FLAGS UALMW CON 0 ALMW - ACCOUNT LIMIT WORD UACLW CON 0 ACLW - ACCOUNT COUNTING LIMIT WORD UAACW CON 0 AACW - ACCOUNT ACCESS CONTROL WORD UPRO CON 0 PROLOGUE FILE NAMES UPJ1 CON 0 DEFAULT PROJECT NUMBER (FIRST WORD) UPJ2 CON 0 DEFAULT PROJECT NUMBER (SECOND WORD) UCRN CON 0 DEFAULT CHARGE NUMBER UTRN CON 0 TERMINAL NAME/TERMINAL NUMBER * CHARGE VALIDATION PARAMETER BLOCK. SRUM BSS 2 CONTROL POINT SRU WORDS CGN BSS 1 CHARGE NUMBER PRN BSS 2 PROJECT NUMBER ACCM BSS 5 ACCOUNT FILE MESSAGE BUFFER * PROLOGUE/EPILOGUE CONTROL PARAMETER BLOCK. PRC CON 0 * REPRIEVE PARAMETER BLOCK. RPB RPVBLK RPV TITLE COMMAND PROCESSORS. USER SPACE 4,20 ** USE - *USER* AND *ACCOUNT* COMMANDS. * * EXIT TO *EPF* IF CHARGE NOT REQUIRED. * TO *CHARGE* IF CHARGE REQUIRED AND NEXT COMMAND IS * *CHARGE*. * TO *RCH* IF DEFAULT CHARGE ERROR AND TERMINAL INPUT * FILE. * TO *ABT* IF DEFAULT CHARGE ERROR AND NOT TERMINAL * INPUT FILE. * * USES X - 1, 2, 3, 5, 6. * A - 0, 1, 2. * B - 3, 6. * * CALLS ABT, EPF, GPR, PRS, RCH, SCA, STI, VCH, VUN. * * MACROS CONTROL, DISSR, MESSAGE, WRITEC, WRITER. USER BSS 0 ENTRY ACCOUNT BSS 0 RJ PRS PRESET DISSR IAAC DISABLE SRU ACCUMULATION SA0 USEA SET ARGUMENT TABLE ADDRESS SB3 USEB SET SECURE ARGUMENT TABLE ADDRESS RJ SCA SET COMMAND ARGUMENTS USE1 SA1 A0 READ ARGUMENT TABLE ZR X1,USE2 IF END OF ARGUMENTS SA1 X1 READ ARGUMENT SX1 X1 SA0 A0+B1 ADVANCE ARGUMENT POINTER ZR X1,USE1 IF ARGUMENT .LE. 7 CHARACTERS SB6 ERAR * ERROR IN ARGUMENTS.* EQ ABT ABORT USE2 RJ VUN VALIDATE USER NAME CONTROL CCDR,RSS READ NEXT COMMAND SA1 ACTR MX0 -6 CHECK FOR LEADING *$* OR */* MX3 42 LX1 6 BX0 -X0*X1 SX2 X0-1R$ ZR X2,USE3 IF *$* SX2 X0-1R/ ZR X2,USE3 IF */* LX1 -6 USE3 SA2 =6LCHARGE BX1 X3*X1 BX2 X1-X2 NZ X2,USE4 IF NOT *CHARGE* CONTROL CCDR ADVANCE TO *CHARGE* COMMAND EQ CHARGE PROCESS *CHARGE* COMMAND USE4 SA1 SSJ=+AACS GET CHARGE REQUIRED FLAG LX1 59-7 NG X1,EPF IF CHARGE NOT REQUIRED, PROCESS PROLOGUES DISSR IACH SET CHARGE VALIDATION UNIT CHARGE RJ GPR GET PROLOGUE/EPILOGUE STATUS SX2 B0 SET VALIDATE DEFUALT CHARGE RJ VCH VALIDATE DEFAULT CHARGE RJ STI SET TERMINAL INTERACTION SA1 TRIF ZR X1,ABT IF NOT INTERACTIVE JOB MESSAGE B6,,R ISSUE ERROR MESSAGE WRITEC O,B6 ISSUE MESSAGE TO TERMINAL WRITER O,R EQ RCH READ CHARGE FROM INPUT FILE USEA BSS 0 ARGUMENT TABLE UN ARG UNAM,UNAM,400B,1 PW ARG UPSW,UPSW,400B,1 FM ARG UFAM,UFAM,400B,1 ARG USEB BSS 0 SECURE ARGUMENTS FOR REMOVAL VFD 42/2LPW,18/2 PASSWORD CON 0 END OF TABLE CHARGE SPACE 4,15 ** CHA - *CHARGE* COMMAND. * * EXIT TO *ABT* IF INVALID CHARGE. * TO *RCH* TO READ CHARGE FROM INPUT FILE. * * USES X - 1, 2, 6, 7. * A - 0, 1, 2. * B - 3, 6. * * CALLS ABT, EEF, GPR, ICA, PRS, RCH, SCA, STI, VCH. * * MACROS DISSR. CHARGE BSS 0 ENTRY RJ PRS PRESET RJ GPR GET PROLOGUE/EPILOGUE STATUS SA1 PRST MX6 2 MX0 -25 SB6 ERCN * COMMAND NOT ALLOWED IN PROLOGUE/ ...* SX7 CRPT SET CHARGE REQUIRED OPTION BX2 X6*X1 BX1 -X0*X1 NZ X2,ICA IF IN SYSTEM OR PROJECT PROLOGUE/EPILOGUE NZ X1,EEF IF EPILOGUE PENDING DISSR IACH DISABLE SRU ACCUMULATION SA0 CHAA SET ARGUMENT TABLE ADDRESS SB3 B0+ SET NO SECURE ARGUMENTS RJ SCA SET COMMAND ARGUMENTS SB6 ERNU * NO USER COMMAND EXECUTED.* SA1 SSJ=+UIDS MX0 42 BX1 X0*X1 ZR X1,ABT IF NO USER COMMAND EXECUTED SA1 CGN SA2 PRN SB6 ERAR * ERROR IN ARGUMENTS.* ZR X1,CHA2 IF CHARGE PARAMETER NOT SPECIFIED LX1 6 NZ X2,CHA1 IF PROJECT NUMBER SPECIFIED SX1 X1-1R* NZ X1,ABT IF NOT DEFAULT CHARGE PARAMETER CHA1 RJ VCH VALIDATE CHARGE AND PROJECT NUMBERS EQ ABT ABORT CHA2 NZ X2,ABT IF PROJECT NUMBER SPECIFIED RJ STI SET TERMINAL INTERACTION EQ RCH READ CHARGE FROM *INPUT* FILE CHAA BSS 0 ARGUMENT TABLE CN ARG CGN,CGN,400B,1 PN ARG PRN,PRN,400B,2 ARG LOG SPACE 4,15 ** LOG - LOGOUT COMMANDS. * * EXIT TO *ABT* IF ERROR. * TO *EEF* TO EXECUTE EPILOGUE. * TO *TRJ* TO TERMINATE JOB. * * USES X - 1, 6, 7. * A - 0, 1. * B - 3, 6. * * CALLS ABT, EEF, GPR, ICA, PRS, SCA, TRJ. HELLO BSS 0 ENTRY LOGIN BSS 0 ENTRY SA1 =5LLOGIN SET DEFAULT APPLICATION BX6 X1 SA6 APN BYE BSS 0 ENTRY GOODBYE BSS 0 ENTRY LOGOUT BSS 0 ENTRY RJ PRS PRESET RJ GPR GET PROLOGUE/EPILOGUE STATUS SA2 PRST MX0 -25 BX1 -X0*X2 ZR X1,LOG1 IF NO EPILOGUE PENDING SB6 ERCN * COMMAND NOT ALLOWED IN PROLOGUE/ ...* NG X2,ICA IF IN PROLOGUE SX7 LOPT SET LOGOUT OPTION EQ EEF EXECUTE EPILOGUE LOG1 SA0 LOGA SET ARGUMENT TABLE ADDRESS SB3 0 SET NO SECURE ARGUMENTS RJ SCA SET COMMAND ARGUMENTS SA1 APN SX1 X1 NZ X1,LOG2 IF ERROR IN APPLICATION NAME EQ TRJ TERMINATE JOB LOG2 SB6 ERAR * ERROR IN ARGUMENTS.* EQ ABT ABORT LOGA BSS 0 ARGUMENT TABLE AP ARG APN,APN,400B,1 ARG XPR SPACE 4,10 ** XPR - EXECUTE SEQUENCED PROLOGUE. * * EXIT TO *END* IF NO ERROR. * TO *ABT* IF PROLOGUE FILE ERROR. * TO *ICA* IF ERROR IN *XPR* CALL. * * CALLS ABT, END, GPR, ICA, PRS, SNM. * * MACROS RENAME, SETFS. XPR BSS 0 ENTRY RJ PRS PRESET RJ GPR GET PROLOGUE/EPILOGUE STATUS SA1 PRST SA5 CCDR SB6 ERIC * INCORRECT COMMAND.* LX1 59-58 LX5 -18 PL X1,ICA IF NOT CALLED FROM SEQUENCING PROCEDURE MX0 -6 BX6 -X0*X5 SB6 ERAR * ERROR IN ARGUMENTS.* SX1 X6-1R0 SX6 X6-1R1 SX2 X1-CAPT-2 NG X1,ICA IF NOT VALID TERMINATION OPTION PL X2,ICA IF NOT VALID TERMINATION OPTION NG X6,XPR1 IF NOT TO CHANGE TERMINATION OPTION SX1 B1 SET TERMINATION OPTION LX6 18 BX6 X6+X1 SA6 PRC XPR1 SA3 =6LZZZZPR SA4 CCDR+1 LX5 -6 BX6 -X0*X5 SX1 X6-1R0 SX2 X6-1R3 SX7 B1 LX6 18 NG X1,ICA IF NOT VALID PROLOGUE INDEX PL X2,ICA IF NOT VALID PROLOGUE INDEX SB6 ERPF * XXXXXXX PROLOGUE NOT FOUND.* ZR X4,XPR2 IF PROLOGUE FILE ACESSS ERROR BX6 X6+X7 BX6 X6+X3 BX7 X4 SA6 F SA7 F+6 RENAME F RESET FILE NAME SA1 F MX7 -8 LX1 -10 BX1 -X7*X1 SB6 ERPL * XXXXXXX PROLOGUE FILE NOT LOCAL.* NZ X1,XPR2 IF PROLOGUE FILE NOT LOCAL SX7 B1 SET FILE NAME IN FET BX7 X4+X7 SA7 F SETFS F,AD CLEAR NO-DROP STATUS EQ END TERMINATE * PROCESS PROLOGUE FILE ERROR. XPR2 BX6 -X0*X5 SET PROLOGUE TYPE SX6 X6-1R0 SA1 XPRA+X6 SET PROLOGUE/EPILOGUE TYPE IN MESSAGE SB5 B6+ SET MESSAGE ADDRESS SB2 1R? RJ SNM EQ ABT ABORT XPRA DATA 6LSYSTEM DATA 7LPROJECT DATA 4LUSER TITLE PROLOGUE AND EPILOGUE SEQUENCING ROUTINES. ACF SPACE 4,15 ** ACF - ACCESS PROLOGUE OR EPILOGUE FILE. * * ENTRY (X1) = 42/PERMANENT FILE NAME, 18/0. * (X2) = 42/PASSWORD, 18/0. * (X3) = 42/USERNAME, 18/0. * (X4) = 42/LOCAL FILE NAME, 18/0. * (B6) = 0 IF TO CLEAR SSJ= FILE STATUS. * (B6) .NE. 0 IF TO SET NO-DROP FILE STATUS. * * EXIT (X5) = 0 IF FILE FOUND. * * USES X - 0, 5, 6, 7. * A - 5, 6, 7. * * MACROS ATTACH, GET, SETFS. ACF SUBR ENTRY/EXIT SX6 3 SET FILE STATUS SX7 SRNF*10000B+PTRD SET NO FAST ATTACH AND READ MODE BX6 X4+X6 BX7 X1+X7 SA6 F+CFSN SET LOCAL FILE NAME SA7 F+CFPN SET PERMANENT FILE NAME AND MODE SX5 ACFA SET ERROR MESSAGE ADDRESS BX6 X3 BX7 X2+X5 SA6 F+CFOU SET USERNAME SA7 F+CFPW SET PASSWORD GET F,,,,,,IP SA5 X2 CHECK ERROR MX0 -8 AX5 10 BX5 -X0*X5 SX6 X5-/ERRMSG/FNF NZ X6,ACF1 IF NOT *FILE NOT FOUND* ATTACH F,,,,,,,IP SA5 X2+ SET ERROR STATUS AX5 10 BX5 -X0*X5 ACF1 NZ X5,ACFX IF ERROR IN ACCESS NZ B6,ACF2 IF SET NO-DROP STATUS SETFS F,AD CLEAR SSJ= STATUS EQ ACFX EXIT ACF2 SETFS F,NAD SET NO-DROP STATUS EQ ACFX EXIT ACFA BSS 3 ERROR MESSAGE EEF SPACE 4,20 ** EEF - EXECUTE EPILOGUE FILE. * * ENTRY (X1) = PROFILE FILE LEVEL 3 BLOCK POINTERS. * (X7) = EPILOGUE TERMINATION OPTION. * * EXIT TO *EXP* TO EXECUTE EPILOGUE. * TO *ABT* IF ERROR. * * USES X - 0, 1, 2, 3, 7. * A - 0, 1, 2, 3, 7. * B - 2, 5, 6. * * CALLS ACF, EXP, IPS, RPE, RPF, SNM. * * MACROS MESSAGE, MOVE, WRITEC. EEF BSS 0 ENTRY SX6 X7-LOPT LX7 18 NZ X6,EEF1 IF NOT LOGOUT ON TERMINATION OPTION SA6 EEFB SET NO *REVERT,EX* PROCESSING EEF1 SX2 3 SET EPILOGUE PENDING AND OPTION FLAGS BX7 X7+X2 SET EPILOGUE CONTROLS SA7 PRC RJ RPE READ PROFILE ENTRY NZ B6,ABT IF ERROR IN PROFILE ENTRY RJ RPF RESTORE USER-S PERMANENT FILE PARAMETERS SA1 B5+PENW READ EPILOGUE FILE NAME SA3 B5+PEUW READ USERNAME SA2 B5+PEPW READ PASSWORD MX0 42 BX1 X0*X1 BX3 X0*X3 BX2 X0*X2 BX4 X1 EPILOGUE LOCAL FILE NAME SA0 A1 SAVE EPILOGUE NAME ADDRESS SB6 B0 CLEAR SSJ= FILE STATUS RJ ACF ACCESS FILE SA1 EEFB NZ X1,EEF2 IF *CHARGE* COMMAND MOVE 8,CCDR,EEFB MOVE LOGOUT COMMAND EQ EEF3 SET EPILOGUE CALL EEF2 MOVE 7,CCDR,EEFB+2 MOVE *CHARGE* COMMAND SX1 0 PACK *CHARGE* COMMAND CALL SB5 EEFB SB2 1R? SET SEARCH CHARACTER RJ SNM EEF3 ZR X5,EEF4 IF NO FILE ACCESS ERROR MESSAGE EREF * PROJECT EPILOGUE NOT FOUND.* EQ EEF5 INITIALIZE SEQUENCING EEF4 SA1 A0+ SET FILE NAME MX0 42 BX1 X0*X1 SB5 EEFA SET CALL ADDRESS SB2 1R? SET SEARCH CHARACTER RJ SNM SET EPILOGUE CALL EEF5 RJ IPS INITIALIZE EPILOGUE SEQUENCING NZ X5,EEF6 IF EPILOGUE FILE ACCESS ERROR WRITEC F,EEFA WRITE EPILOGUE CALL EEF6 WRITEC F,EEFB WRITE CHARGE OR LOGOUT COMMAND WRITEC F,(=C*$REVERT,NOLIST.*) WRITEC F,(=C*EXIT.*) WRITE EXIT PROCESSING WRITEC F,EEFB WRITEC F,(=C*$REVERT,NOLIST.*) EQ EXP EXECUTE EPILOGUE EEFA DATA C*???????. PROJECT EPILOGUE* EEFB DATA 20L$REVERT,EX.????????? BSSZ 8 EPF SPACE 4,15 ** EPF - EXECUTE PROLOGUE FILES. * * ENTRY (SPF - SPF+8) = PROLOGUE PARAMETERS. * * EXIT PROLOGUE AND EPILOGUE CONTROLS SET IF REQUIRED. * TO *EXP* TO EXECUTE PROLOGUES. * * USES X - 1, 2, 3, 4, 5. * A - 0, 1, 2, 3, 4. * B - 2, 5, 6, 7. * * CALLS ACF, END, EXP, SNM. EPF BSS 0 ENTRY * PROCESS SYSTEM AND PROJECT PROLOGUE TERMINATION OPTIONS. SA1 SPF SA2 PPF SA3 UPF SA4 PRC SX7 X1+ SX0 X2+ BX6 X1+X2 ZR X6,EPF3 IF NO SYSTEM OR PROJECT PROLOGUE DEFINED IX0 X7-X0 CHECK SYSTEM AND PROJECT PROLOGUE OPTIONS PL X0,EPF1 IF PROJECT PROLOGUE OPTION NOT GREATER SX7 X2+ USE PROJECT PROLOGUE OPTION EPF1 SX6 B1 SET INITIAL TERMINATION OPTION FLAGS LX7 18 BX7 X4+X7 BX7 X7+X6 SA7 A4 LX6 18 ZR X2,EPF2 IF NO PROJECT PROLOGUE DEFINED NG X0,EPF2 IF PROJECT PROLOGUE OPTION SET AS INITIAL SA4 EPFA+2 SX7 X2+B1 SET TO CHANGE TERMINATION OPTION LX7 18 IX7 X4+X7 SA7 A4 EPF2 ZR X3,EPF3 IF NO USER PROLOGUE DEFINED SA4 EPFA+4 IX6 X4+X6 SET TO CLEAR TERMINATION OPTION SA6 A4 SX6 X2-CRPT CHECK PROJECT PROLOGUE OPTION NZ X6,EPF3 IF NOT UNCONDITIONAL CHARGE REQUIRED SA6 UPF CLEAR USER PROLOGUE PROCESSING * ACCESS PROLOGUE FILES. EPF3 SB7 B0 INITIALIZE PROLOGUE INDEX SB6 B0 INITIALIZE EXECUTE PROLOGUE FLAG SB5 EPFB INITIALIZE PROLOGUE CALL ADDRESS SA0 SPF SET PROLOGUE PARAMETERS ADDRESS EPF4 SA1 A0 READ FILE NAME SA3 A0+B1 READ USER NAME SA2 A0+2 READ PASSWORD MX0 42 ZR X1,EPF6 IF PROLOGUE NOT DEFINED BX1 X0*X1 BX4 X1 PRESET LOCAL FILE NAME ZR B6,EPF5 IF NO PREVIOUS PROLOGUE SX5 B7 SA4 =7LZZZZPR0 SET LOCAL FILE NAME LX5 18 IX4 X4+X5 EPF5 RJ ACF ACCESS PROLOGUE FILE SB6 B1 SET EXECUTE PROLOGUE FLAG NZ X5,EPF8 IF FILE NOT FOUND SA1 A0 SET PROLOGUE NAME IN CALL MX0 42 SB2 B7+B7 INDEX*2 BX1 X0*X1 BX6 X1 SA6 EPFA+1+B2 SB2 1R? RJ SNM EPF6 NZ B7,EPF7 IF SYSTEM PROLOGUE NOT JUST PROCESSED RJ RPF RESTORE USER-S PERMANENT FILE PARAMETERS EPF7 SB7 B7+1 ADVANCE PROLOGUE INDEX SB5 B5+4 ADVANCE PROLOGUE CALL ADDRESS SB2 B7-3 SA0 A0+3 ADVANCE PARAMETER ADDRESS NZ B2,EPF4 IF ALL PROLOGUES NOT PROCESSED ZR B6,END IF NO PROLOGUES DEFINED * BUILD SEQUENCING PROCEDURE. EPF8 RJ IPS INITIALIZE PROLOGUE SEQUENCING SA0 SPF SET PARAMETERS ADDRESS MX0 42 SET FIRST PROLOGUE MASK SB7 B0 SET CALL PARAMETERS INDEX EPF9 SA1 A0+ SA5 EPFA+1+B7 ZR X1,EPF11 IF PROLOGUE NOT DEFINED BX2 X0*X5 NZ X2,EPF10 IF FIRST PROLOGUE AND NO ACCESS ERROR WRITEC F,EPFA+B7 WRITE REENTRY PROCESSING EPF10 ZR X5,EPF12 IF FILE ACCESS ERROR SB2 B7+B7 WRITE PROLOGUE CALL WRITEC F,EPFB+B2 SX0 B0+ CLEAR FIRST PROLOGUE MASK EPF11 SB7 B7+2 ADVANCE CALL PARAMETERS INDEX SA0 A0+3 ADVANCE PARAMETER ADDRESS SB2 B7-6 NZ B2,EPF9 IF ALL PROLOGUES NOT PROCESSED EPF12 WRITEC F,(=C*$REVERT,NOLIST.*) WRITEC F,(=C*EXIT.*) WRITEC F,(=C*$REVERT,ABORT. PROLOGUE EXECUTION ABORTED*) * INSURE TERMINATION OPTION SET FOR *XPR* PROCESSING IF USER * PROLOGUE NOT FOUND AND NO SYSTEM OR PROJECT PROLOGUE DEFINED. SX1 A0-UPF NZ X1,EXP IF NOT EXIT ON USER PROLOGUE NOT FOUND SA1 SPF SA2 PPF BX1 X1+X2 SX6 B1 NZ X1,EXP IF SYSTEM OR PROJECT PROLOGUE DEFINED SX1 CCPT SET *CLEAR CONTROLS* TERMINATION OPTION LX1 18 BX6 X1+X6 SA1 PRC ADD TO OTHER OPTIONS, IF ANY BX6 X1+X6 SA6 A1 EQ EXP EXECUTE PROLOGUES EPFA VFD 30/0L$XPR.,6/1L0,6/1L0,18/3H CON 0 VFD 30/0L$XPR.,6/1L1,6/1L0,18/3H CON 0 VFD 30/0L$XPR.,6/1L2,6/1L0,18/3H CON 0 EPFB DATA 24L???????. SYSTEM PROLOGUE DATA 0 DATA 25L???????. PROJECT PROLOGUE DATA 0 DATA 30L$BEGIN,,???????. USER PROLOGUE DATA 0 IPS SPACE 4,10 ** IPS - INITIALIZE PROLOGUE OR EPILOGUE SEQUENCING. * * EXIT PROCEDURE HEADER WRITTEN TO SEQUENCING PROCEDURE FILE. * * USES X - 1, 6. * A - 1, 6. * * MACROS RETURN, WRITEC. IPS SUBR ENTRY/EXIT SA1 =7LZZZZZG1 SET FILE NAME IN FET SX6 B1 BX6 X6+X1 SA6 F RETURN F,R WRITEC F,(=14L.PROC,ZZZZZG1.) WRITE PROCEDURE HEADER EQ IPSX RETURN RPF SPACE 4,10 ** RPF - RESTORE USER-S PERMANENT FILE PARAMETERS. * * EXIT USER-S PERMANENT FILE PARAMETERS RESTORED. * * USES X - 1, 6, 7. * A - 1, 6, 7. * * MACROS SETPFP. RPF SUBR ENTRY/EXIT SA1 SSJ=+UIDS RESTORE USER-S PERMANENT FILE PARAMETERS SX7 3 SET USER NAME AND INDEX BX6 X1 SA7 RPFA SA6 RPFA+2 SETPFP RPFA SET PERMANENT FILE PARAMETERS EQ RPFX RETURN RPFA BSS 3 PERMANENT FILE PARAMETERS TITLE CHARGE VALIDATION ROUTINES. GDC SPACE 4,20 ** GDC - GET DEFAULT CHARGE AND PROJECT NUMBERS. * * CALLS *CPM* TO GET DEFAULT CHARGE AND PROJECT NUMBERS IF NOT * ALREADY PRESENT. * * ENTRY (DFCF) .NE. 0 IF DEFAULT CHARGE PRESENT. * * EXIT (UCRN) = DEFAULT CHARGE NUMBER. * (UPJ1 - UPJ2) = DEFAULT PROJECT NUMBER. * (DFCF) .NE. 0. * * USES X - 1, 6. * A - 1, 6. * * CALLS CPM=. * * MACROS MOVE. GDC SUBR ENTRY/EXIT SA1 DFCF NZ X1,GDCX IF DEFAULT CHARGE INFORMATION PRESENT SX6 B1 SET INFORMATION PRESENT SA6 A1 SX1 SBUF SET PARAMETER BLOCK ADDRESS SX2 126B SET RETURN USER BLOCK FUNCTION RJ CPM= MOVE 3,(SBUF+APJN),UPJ1 SET DEFAULT CHARGE INFORMATION EQ GDCX RETURN RCH SPACE 4,15 ** RCH - READ CHARGE FROM *INPUT* FILE. * * ENTRY (TRIF) = TERMINAL INTERACTION FLAG. * * EXIT TO *VCH* TO VALIDATE CHARGE AND PROJECT. * TO *ABT* IF RETRY LIMIT EXCEEDED. * TO *RSE* IF EXTERNAL ERROR. * * USES X - 0, 1, 2, 3, 4, 6, 7. * A - 1, 2, 3, 4, 6, 7. * B - 2, 6. * * CALLS ABT, POP, USB, VCH. * * MACROS READ, READC, WRITEC, WRITER. RCH BSS 0 ENTRY SA1 TRIF SA2 EXER SX0 X1+ ZR X1,RCH1 IF NO TERMINAL INTERACTION NZ X2,RSE IF EXTERNAL ERROR SX6 RCH SET INTERRUPT ADDRESS SA6 TRIA WRITEC O,RCHA ISSUE CHARGE NUMBER PROMPT WRITER O,R FORCE WRITE RCH1 READ I,R READ CHARGE NUMBER READC I,SBUF,4 NG X1,RCH5 IF NULL INPUT SB2 SBUF UNPACK INPUT RJ USB SA1 USBC FORCE TERMINATION SX6 1R. SX7 X1+B1 SA6 X7 SA7 USBC RJ POP ASSEMBLE CHARGE NUMBER SA3 POPA NG B5,RCH5 IF ERROR IN ASSEMBLY GE B5,B1,RCH5 IF CHARGE NUMBER TOO LONG ZR X3,RCH5 IF NO CHARGE NUMBER BX6 X3 SET CHARGE NUMBER LX3 6 SX2 X3-1R* SA6 CGN NZ B6,RCH2 IF NOT TERMINATOR ZR X2,RCH4 IF DEFAULT CHARGE PARAMETER ZR X0,RCH5 IF NOT TERMINAL INPUT WRITEC O,RCHB ISSUE PROJECT NUMBER PROMPT WRITER O,R FORCE WRITE READ I,R READ PROJECT NUMBER READC I,SBUF,3 NG X1,RCH5 IF NULL INPUT SB2 SBUF UNPACK PROJECT NUMBER RJ USB SA1 USBC FORCE TERMINATION SX6 1R. SX7 X1+B1 SA6 X7 SA7 USBC RCH2 RJ POP ASSEMBLE PROJECT NUMBER SA2 POPA SA4 POPA+1 NG B5,RCH5 IF ERROR IN ASSEMBLY GT B5,B1,RCH5 IF PROJECT NUMBER TOO LONG NZ B6,RCH5 IF NOT TERMINATOR ZR X2,RCH5 IF NO PROJECT NUMBER BX7 X7-X7 ZR B5,RCH3 IF ONE WORD PROJECT NUMBER BX7 X4 RCH3 BX6 X2 SA6 PRN SET PROJECT NUMBER SA7 A6+B1 RCH4 SX6 B0+ CLEAR INTERRUPT ADDRESS SA6 TRIA RJ VCH VALIDATE CHARGE AND PROJECT EQ RCH6 PROCESS VALIDATION ERROR * PROCESS ERROR IN INPUT. RCH5 SB6 ERFI * FORMAT ERROR IN INPUT.* RCH6 SA1 TRIF ZR X1,ABT IF NOT TERMINAL INTERACTION WRITEC O,B6 ISSUE ERROR MESSAGE TO TERMINAL WRITER O,R FORCE WRITE SA2 RCHC SX3 X2-ERLIM+1 SX6 X2+B1 PL X3,RCH7 IF INPUT ERROR LIMIT EXCEEDED SA6 A2 SET RETRY COUNT EQ RCH REPROMPT FOR CHARGE NUMBER RCH7 SX0 ERIL * INPUT ERROR LIMIT.* WRITEC O,X0 WRITER O,R FORCE WRITE SB6 X0 EQ ABT ABORT RCHA DATA C*CHARGE NUMBER: "CB"* RCHB DATA C*PROJECT NUMBER: "CB"* RCHC CON 0 ERROR RETRY COUNT VCH SPACE 4,20 ** VCH - VALIDATE CHARGE AND PROJECT NUMBERS. * * ENTRY (X2) = 0 IF TO VALIDATE DEFAULT CHARGE. * (CGN) = CHARGE NUMBER IF NOT DEFAULT CHARGE. * (PRN- PRN+1) = PROJECT NUMBER IF NOT DEFAULT CHARGE. * * EXIT TO *EPF* IF NO ERROR. * (B6) = MESSAGE ADDRESS IF ERROR. * CHARGE AND PROJECT NUMBERS DISPLAYED IN DAYFILE IF NO * ERROR. * * USES X - ALL. * A - 1, 2, 3, 4, 5, 6, 7. * B - 2, 6. * * CALLS BAB, CHG, EPF, GDC, SNM. * * MACROS MESSAGE. VCH SUBR ENTRY/EXIT NZ X2,VCH2 IF NOT TO VALIDATE DEFAULT CHARGE RJ GDC GET DEFAULT CHARGE AND PROJECT SA3 UCRN SA5 UPJ1 SA4 UPJ2 NZ X3,VCH1 IF DEFAULT CHARGE NUMBER PRESENT SB6 ERDN * DEFAULT CHARGE NULL.* SA1 SSJ=+AACS CHECK *CCNR* PRIVILEGE LX1 59-7 PL X1,VCHX IF USER NAME REQUIRES CHARGE COMMAND MESSAGE B6,,R ISSUE DEFAULT CHARGE MESSAGE EQ EPF EXIT TO PROCESS PROLOGUES VCH1 SB6 ERDC * ERROR IN DEFAULT CHARGE.* ZR X5,VCHX IF DEFAULT PROJECT NOT PRESENT BX6 X3 SET CHARGE NUMBER BX7 X5 SET PROJECT NUMBER WORD 1 SA6 CGN SA7 PRN BX6 X4 SET PROJECT NUMBER WORD 2 SA6 A7+B1 SX2 B1 SET DEFAULT CHARGE EQ VCH4 VALIDATE CHARGE VCH2 SA1 SSJ=+AACS CHECK RESTRICTION TO DEFAULT CHARGE LX1 59-22 NG X1,VCH3 IF NOT RESTRICTED TO DEFAULT CHARGE RJ GDC GET DEFAULT CHARGE AND PROJECT SB6 ERRD * CHARGE RESTRICTED TO DEFAULT.* SA1 CGN SA2 UCRN BX1 X1-X2 NZ X1,VCHX IF NOT DEFAULT CHARGE NUMBER SA1 PRN SA3 UPJ1 SA2 A1+B1 SA4 A3+B1 BX1 X1-X3 BX2 X2-X4 NZ X1,VCHX IF NOT DEFAULT PROJECT NUMBER NZ X2,VCHX IF NOT DEFAULT PROJECT NUMBER VCH3 SX2 0 SET NOT DEFAULT CHARGE VCH4 SA3 SSJ=+UIDS VALIDATE CHARGE AND PROJECT NUMBERS RJ VCN NZ B6,VCHX IF ERROR SA2 B5+PPNW READ PROJECT PROLOGUE FILE NAME SA5 PRST READ PROLOGUE/EPILOGUE STATUS SB6 ERPC * PROLOGUE AND SHELL CONFLICT.* MX0 42 MX7 -2 BX6 X0*X2 LX5 59-57 ZR X6,VCH5 IF NO PROJECT PROLOGUE DEFINED NG X5,VCHX IF PROLOGUE AND SHELL CONFLICT SA3 B5+PPUW READ PROJECT PROLOGUE USER NAME SA4 B5+PPPW READ PROJECT PROLOGUE PASSWORD BX7 -X7*X2 ERRNZ CRPT-CCPT-1 CODE DEPENDS ON VALUE ERRNZ CAPT-CRPT-1 CODE DEPENDS ON VALUE SX7 X7+CCPT SET TERMINATION OPTION BX6 X6+X7 SA6 PPF SET PROJECT PROLOGUE FILE NAME BX6 X0*X3 BX7 X0*X4 SA6 PPF+1 SET PROJECT PROLOGUE USER NAME SA7 PPF+2 SET PROJECT PROLOGUE PASSWORD VCH5 SA2 B5+PENW BX2 X0*X2 ZR X2,VCH6 IF NO PROJECT EPILOGUE DEFINED SB6 EREC * EPILOGUE AND SHELL CONFLICT.* NG X5,VCHX IF EPILOGUE AND SHELL CONFLICT SX1 B1 SET EPILOGUE PENDING FLAG SX6 B1+B1 LX1 21 BX6 X6+X1 SA6 PRC VCH6 SA1 CGN SET CHARGE NUMBER SB5 VCHA SET MESSAGE ADDRESS SB2 1R? RJ SNM SA1 PRN SET PROJECT NUMBER WORD 1 SB2 1R! RJ SNM SA1 PRN+1 SET PROJECT NUMBER WORD 2 SB2 1R+ RJ SNM MESSAGE VCHA,,R ISSUE CHARGE MESSAGE VCH7 RJ BAB BEGIN ACCOUNT BLOCK EQ EPF PROCESS PROLOGUES VCHA DATA 50H CHARGE = ??????????, PROJECT = !!!!!!!!!!++++++++ DATA 3L++. TITLE SUBROUTINES. ABT SPACE 4,15 ** ABT - ISSUE ERROR MESSAGE AND ABORT. * * ENTRY (B6) = ERROR MESSAGE ADDRESS. * (TJEF) = TERMINATE JOB FLAG. * * EXIT TO *TRJ* IF TO TERMINATE ON ERROR. * * USES X - 1, 2. * A - 1, 2. * * CALLS TER, TRJ. * * MACROS ABORT, MESSAGE. ABT BSS 0 ENTRY MESSAGE B6,,R ISSUE ERROR MESSAGE SA1 TJEF SA2 TRIF NZ X1,TRJ IF TERMINATE ON ERROR ZR X2,ABT1 IF NO TERMINAL INTERACTION MESSAGE =0,1,R CLEAR *MS1W* ERROR MESSAGE ABT1 RJ TER PERFORM TERMINATION ABORT END SPACE 4,15 ** END - NORMAL END. * * ENTRY (EXER) = EXTERNAL ERROR CODE. * * EXIT TO *RSE* IF EXTERNAL ERROR. * * USES X - 1. * A - 1. * * CALLS RSE, TER. * * MACROS ENDRUN. END BSS 0 ENTRY SA1 EXER NZ X1,RSE IF EXTERNAL ERROR RJ TER PERFORM TERMINATION ENDRUN EXP SPACE 4,15 ** EXP - EXECUTE PROLOGUE OR EPILOGUE. * * ENTRY (B2) = ADDRESS OF PROLOGUE OR EPILOGUE CALL. * (EXER) = EXTERNAL ERROR CODE. * * EXIT TO *RSE* IF EXTERNAL ERROR. * * USES X - 1. * A - 1. * * CALLS RSE, TER. * * MACROS MEMORY, SYSTEM, WRITER. EXP BSS 0 ENTRY WRITER F,R SA1 EXER NZ X1,RSE IF EXTERNAL ERROR RJ TER PERFORM TERMINATION MEMORY CM,,R,CCFL*100B REQUEST STORAGE FOR *CCL* LOAD SA1 =C*ZZZZZG1.* SET PROCEDURE CALL BX6 X1 SA6 CCDR REPRIEVE RPB,SETUP,0 CLEAR REPRIEVE PROCESSING SYSTEM LDR,R,EXPA LOAD *CCL* *BEGIN* PROCESSOR EXPA VFD 42/5LBEGIN,18/0 *LDR* CALL BLOCK VFD 6/0,6/0,2/0,3/0,1/1,1/1,4/0,1/0,18/0,18/0 ICA SPACE 4,10 ** ICA - ISSUE COMMAND TO DAYFILE AND ABORT. * * ENTRY (B6) = ERROR MESSAGE ADDRESS. * * EXIT TO *ABT*. * * MACROS MESSAGE. ICA BSS 0 ENTRY MESSAGE CCDR ISSUE COMMAND TO DAYFILE EQ ABT ABORT RPV SPACE 4,20 ** RPV - PROCESS REPRIEVE. * * ENTRY (TRIA) = TERMINAL INTERRUPT ADDRESS IF .NE. 0. * * EXIT TO POINT OF INTERRUPT IN INTERRUPT HANDLER MODE IF NO * TERMINAL INTERRUPT ADDRESS AND NOT USER BREAK. * TO POINT OF INTERRUPT WITH INTERRUPT ENABLED IF NO * TERMINAL INTERRUPT ADDRESS AND USER BREAK. * TO *RSE* IN INTERRUPT HANDLER MODE IF TERMINAL * INTERRUPT ADDRESS SPECIFIED AND NOT USER BREAK. * TO INTERRUPT ADDRESS WITH INTERRUPT ENABLED IF ADDRESS * SPECIFIED AND USER BREAK. * (EXER) = ERROR CODE IF NOT USER BREAK. * * USES X - 0, 1, 2, 3, 6, 7. * A - 1, 2, 6, 7. * B - 2. * * MACROS REPRIEVE. RPV BSS 0 ENTRY SA1 RPB+/COMSRPV/OSEF SA2 TRIA MX0 -12 BX6 -X0*X1 ISOLATE ERROR CODE SB2 X6-TIET ZR B2,RPV1 IF USER BREAK ONE SB2 X6-TAET RPV1 NZ X2,RPV2 IF INTERRUPT ADDRESS SPECIFIED ZR B2,RPV3 IF USER BREAK SA6 EXER SET ERROR CODE REPRIEVE RPB,IRESUME,RPMS RESUME EXECUTION RPV2 NZ B2,RSE IF NOT USER BREAK SA1 RPB+/COMSRPV/EXPA MX0 18 LX0 -6 LX2 36 SX7 B0 BX6 -X0*X1 SET INTERRUPT ADDRESS BX6 X6+X2 SA6 A1 SA7 RPB+/COMSRPV/ITIO CLEAR TERMINAL INPUT SA7 RPB+/COMSRPV/PRAR CLEAR PENDING RA+1 REQUEST SA1 I READ INPUT FET POINTERS SA2 A1+B1 SX3 B1 LX0 -36 BX6 X1+X3 SET COMPLETE BX7 X0*X2 SA6 A1 WRITE FIRST SA7 A2+B1 SET IN = FIRST SA7 A7+B1 SET OUT = FIRST SA1 O READ OUTPUT FET POINTERS SA2 A1+B1 BX6 X1+X3 SET COMPLETE BX7 X0*X2 SA7 A2+B1 SET IN = FIRST SA7 A7+B1 SET OUT = FIRST RPV3 REPRIEVE RPB,RESUME,RPMS RESUME EXECUTION RSE SPACE 4,10 ** RSE - RESET EXTERNAL ERROR. * * ENTRY (TJEF) = TERMINATE JOB FLAG. * * EXIT ERROR FLAG RESET AND JOB ABORTED. * * USES X - 1. * A - 1. * * MACROS REPRIEVE. RSE BSS 0 ENTRY SA1 TJEF NZ X1,TRJ IF TERMINATE ON ERROR RJ TER PERFORM TERMINATION REPRIEVE RPB,RESET,0 RESET ERROR FLAG STI SPACE 4,15 ** STI - SET TERMINAL INTERACTION PARAMETERS. * * EXIT (TRIF) .NE. 0 IF FILE *INPUT* ASSIGNED TO TERMINAL. * (ACSF) .NE. 0 IF *INPUT* ASSIGNED TO TERMINAL AND * *ASCII* CHARACTER SET MODE SET. * OUTPUT FILE *ZZZZZG0* ASSIGNED TO TERMINAL, NORMAL * MODE SET, AND PROMPT DISABLED IF *INPUT* ASSIGNED * TO TERMINAL. * * USES X - 1, 2, 7. * A - 1, 7. * * CALLS STF. * * MACROS CSET, PROMPT, REQUEST, RETURN, SETFS, TSTATUS. STI SUBR ENTRY/EXIT SX2 I CHECK *INPUT* FILE ASSIGNMENT RJ STF NZ X6,STIX IF NOT ASSIGNED TO TERMINAL SX7 1 SET TERMINAL INTERACTION FLAG SA7 TRIF RETURN O,R REQUEST O,U,N ASSIGN TERMINAL OUTPUT FILE SETFS O,SSST SET SSJ= FILE STATUS PROMPT OFF DISABLE TERMINAL PROMPT TSTATUS SBUF GET TERMINAL CHARACTER SET SA1 SBUF+B1 SX7 B1 LX1 59-2 PL X1,STIX IF NOT *ASCII* MODE SA7 ACSF SET *ASCII* MODE FLAG CSET NORMAL CLEAR *ASCII* MODE EQ STIX EXIT TER SPACE 4,15 ** TER - TERMINATION PROCESSING. * * ENTRY (ACSF) .NE. 0 IF CHARACTER SET TO BE RESET. * (PRCF) = PROLOGUE/EPILOGUE REQUEST FLAGS. * * EXIT TERMINAL CHARACTER SET RESET IF NECESSARY. * PROLOGUE/EPILOGUE CONTROLS MODIFIED IF REQUEST FLAGS * SET. * * USES X - 1. * A - 1. * * MACROS CSET. TER SUBR ENTRY/EXIT SA1 ACSF ZR X1,TER1 IF NOT *ASCII* MODE ON ENTRY CSET ASCII RESET *ASCII* MODE TER1 SA1 PRC SX1 X1 ZR X1,TERX IF NO CONTROLS TO SET SX1 A1 SET STATUS WORD ADDRESS SX2 104B SET PROLOGUE/EPILOGUE CONTROLS FUNCTION RJ CPM= EQ TERX RETURN TRJ SPACE 4,10 ** TRJ - TERMINATE JOB. * * USES X - 1, 2. * * CALLS CPM=. * * MACROS ENCSF, ENDRUN, RETURN, SETJOB. TRJ BSS 0 ENTRY SETJOB TRJA SET JOB TERMINATION SX1 APN SET APPLICATION NAME SX2 132B SET LOGOUT FUNCTION RJ CPM= RETURN F,R CLEAR COMMANDS ENCSF F ENDRUN TRJA VFD 60/0 SETJOB PARAMETERS VFD 36/0,12/2RTJ,12/0 SPACE 4,10 * COMMON DECKS. *CALL COMCCIO *CALL COMCCPM *CALL COMCLFM *CALL COMCPFM *CALL COMCPOP *CALL COMCMVE *CALL COMCRDC *CALL COMCRDW *CALL COMCSNM *CALL COMCSTF *CALL COMCSYS *CALL COMCUSB *CALL COMCWTC *CALL COMCWTW SPACE 4,10 * ERROR MESSAGES. ERDC DATA C* ERROR IN DEFAULT CHARGE.* ERDN DATA C* DEFAULT CHARGE NULL.* ERFI DATA C* FORMAT ERROR IN INPUT.* ERIL DATA C* INPUT ERROR LIMIT.* EREC DATA C* EPILOGUE AND SHELL CONFLICT.* ERPC DATA C* PROLOGUE AND SHELL CONFLICT.* ERRD DATA C* CHARGE RESTRICTED TO DEFAULT.* USE LITERALS FLUSH OUT LITERALS LIST X,F *CALL COMCCHG LIST * TITLE BUFFER ALLOCATION. * BUFFERS. * * NOTE - THESE BUFFERS OVERLAY BOTH THE BUFFERS IN *COMCCHG* * AND THE REMAINING ROUTINES IN *VALEX*. FBUF BSSN BUFL PROLOGUE/EPILOGUE FILE BUFFER IBUF BSSN BUFL INPUT FILE BUFFER OBUF BSSN BUFL OUTPUT FILE BUFFER SBUF BSSN ARBS SCRATCH BUFFER ENDBUF BSSN 0 END OF BUFFERS END BSSN TITLE OVERLAID SUBROUTINES. GPR SPACE 4,10 ** GPR - GET PROLOGUE/EPILOGUE STATUS. * * EXIT (PRST) = PROLOGUE AND EPILOGUE STATUS FLAGS. * * USES X - 1, 2. * * CALLS CPM=. GPR SUBR ENTRY/EXIT SX2 131B SET FUNCTION CODE SX1 PRST SET STATUS WORD ADDRESS RJ CPM= GET PROLOGUE/EPILOGUE STATUS EQ GPRX RETURN PRS SPACE 4,10 ** PRS - PRESET. * * MACROS REPRIEVE. PRS SUBR ENTRY/EXIT NE B1,B0,PRSX IF PRESET ALREADY PERFORMED SB1 1 REPRIEVE RPB,SETUP,RPMS SET REPRIEVE PARAMETERS EQ PRSX RETURN SCA SPACE 4,15 ** SCA - SET COMMAND ARGUMENTS. * * ENTRY (A0) = ADDRESS OF ARGUMENT TABLE. * (B3) = ADDRESS OF SECURE ARGUMENT TABLE IF .GT. 0. * * EXIT COMMAND ISSUED TO DAYFILE. * TO *ABT* IF ARGUMENT ERROR. * * USES X - 1, 5, 6. * A - 5, 6. * B - 2, 3, 4, 6. * * CALLS ABT, ARM, POP, RSP, USB. * * MACROS MESSAGE. SCA SUBR ENTRY/EXIT SB2 CCDR UNPACK COMMAND RJ USB ZR B3,SCA1 IF NO SECURE ARGUMENTS SA4 A0+ SET ARGUMENT TABLE ADDRESS SA5 CCDR SET COMMAND ADDRESS SB6 B3 SET SECURE ARGUMENT TABLE ADDRESS SB2 B0 SET NO PARAMETERS TO SKIP RJ RSP REMOVE SECURE PARAMETERS SCA1 MESSAGE CCDR ISSUE COMMAND TO DAYFILE SB6 USBB SET STRING BUFFER ADDRESS RJ POP NZ X6,SCA2 IF NO LEADING *$* OR */* RJ POP SKIP KEYWORD SCA2 SB3 A0 SET ARGUMENT TABLE ADDRESS SB4 SCAA SET ASSEMBLY ADDRESS SB2 B0 SET ARGUMENT TABLE LENGTH SCA3 SA1 A0+B2 SB2 B2+B1 INCREMENT ARGUMENT COUNT NZ X1,SCA3 IF NOT END OF TABLE RJ CPA CONVERT POSITIONAL ARGUMENTS NG B5,SCA4 IF ARGUMENT ERROR PL X1,SCAX IF NO ARGUMENTS PROCESSED SX6 B5 SET END OF STRING SA6 USBC SB3 A0 SET ARGUMENT TABLE ADDRESS SB6 SCAA SET BUFFER ADDRESS RJ ARM PROCESS ARGUMENTS ZR X1,SCAX IF NO ARGUMENT ERROR SCA4 SB6 ERAR * ERROR IN ARGUMENTS.* EQ ABT ABORT SCAA BSS 87 STRING BUFFER VUN SPACE 4,15 ** VUN - VALIDATE USER NAME. * * EXIT TO *ABT* IF ERROR. * TO *RSE* IF ERROR IN VALIDATION. * * USES X - ALL. * A - 1, 2, 3, 5, 6, 7. * B - 2, 5, 6. * * CALLS CMI, COD, SNM. * * MACROS EDATE, GETFLC, MESSAGE, MOVE, VALID. VUN SUBR ENTRY/EXIT * VALIDATE USER NAME, PASSWORD, FAMILY NAME. SA1 UPSW SET SPECIAL USER NAMES FLAG SX6 10B BX6 X1+X6 SA6 A1 VALID UNAM SA2 EXER SA1 UFAM SX0 70B NZ X2,RSE IF ERROR IN VALIDATION BX0 X0*X1 ZR X0,VUN1 IF NO ERROR CODE RETURNED SX2 X0-10B SB6 ERCR * CHARGE COMMAND REQUIRED.* ZR X2,ABT IF CHARGE COMMAND REQUIRED SX2 X0-20B SB6 ERSD * SECONDARY USER COMMANDS DISABLED.* ZR X2,ABT IF SECONDARY USER COMMANDS DISABLED SX2 X0-30B SB6 ERAF * ALTERNATE FAMILY NOT ALLOWED.* ZR X2,ABT IF ALTERNATE FAMILY NOT ALLOWED SB6 ERAU * ALTERNATE USER NAME NOT ALLOWED.* EQ ABT ABORT VUN1 SX6 1 SET DEFAULT CHARGE PRESENT SA6 DFCF * VALIDATE JOB COMMAND PARAMETERS. LX1 59-0 MX6 -12 NG X1,VUN2 IF NOT FIRST USER COMMAND SA1 JOPR LX1 -24 BX1 -X6*X1 JOB ORIGIN TYPE SX1 X1-SYOT ZR X1,VUN2 IF SYSTEM ORIGIN SX6 B1+ SET TERMINATE ON ERROR SA6 TJEF * VALIDATE JOB COMMAND CM FIELD LENGTH. SA1 UALMW GET CM VALIDATION LIMIT LX1 -18 RJ CMI CONVERT CM VALIDATION LIMIT BX5 X1 SAVE CM VALIDATION LIMIT GETFLC ,VUNE GET EM FIELD LENGTH CONTROL WORD SA3 VUNE MX0 -12 LX3 36 GET MAXFL (EXTENDED MEMORY) BX3 -X0*X3 ZR X3,VUN2 IF NO EXTENDED MEMORY FL REQUESTED NG X5,VUN2 IF CM VALIDATION UNLIMITED SX2 MCMX/100B IX6 X5-X2 SB6 EREM * EXTENDED MEMORY MINIMUM CM NOT ...* NG X6,ABT IF NOT VALIDATED FOR AT LEAST *MCMX* * MOVE ACCOUNT WORDS TO *SSJ=* AREA. VUN2 MOVE 3,UALMW,(SSJ=+ALMS) SA1 UNAM BX6 X1 SA6 SSJ=+UIDS * ISSUE ACCOUNTING MESSAGES. SA5 UFAM SA1 =4HABUN SB5 VUNA SET MESSAGE ADDRESS LX5 59-0 PL X5,VUN3 IF FIRST *USER* COMMAND SA1 =4HACUN VUN3 SB2 1R? RJ SNM SET MESSAGE IDENTIFIER SA1 UNAM GET USER NAME MX0 42 BX1 X0*X1 SB2 1R! RJ SNM SET USER NAME SA1 UFAM GET FAMILY NAME BX1 X0*X1 SB2 1R+ RJ SNM SET FAMILY NAME SA1 UTRN GET TERMINAL NAME BX1 X0*X1 SB2 1R& RJ SNM SET TERMINAL NAME MESSAGE VUNA,5 ISSUE USER MESSAGE TO ACCOUNT FILE NG X5,VUN4 IF NOT FIRST *USER* COMMAND SA1 UFAM GET SERVICE CLASS MX0 -6 AX1 12 SX3 10 SET WORD NUMBER BX1 -X0*X1 BX4 X1 SX6 X3 IX3 X1/X3 SA2 VUND+X3 READ SERVICE CLASS WORD IX3 X3*X6 IX4 X4-X3 SX3 6 SET SHIFT COUNT IX4 X3*X4 SB2 X4 MX0 6 LX2 X2,B2 GET SERVICE CLASS CHARACTER BX1 X0*X2 SB5 VUNB SET MESSAGE ADDRESS SB2 1R? RJ SNM SET SERVICE CLASS MESSAGE VUNB,5 ISSUE SERVICE CLASS TO ACCOUNT FILE MESSAGE VUNB,3 ISSUE SERVICE CLASS TO USER DAYFILE SA1 UCRN ZR X1,VUN4 IF NO CHARGE NUMBER SB5 VUNC SET DEFAULT CHARGE MESSAGE ADDRESS SB2 1R? RJ SNM SET CHARGE NUMBER SA1 UPJ1 READ FIRST PART OF PROJECT NUMBER SB2 1R! RJ SNM SET PROJECT NUMBER SA1 UPJ2 READ SECOND PART OF PROJECT NUMBER SB2 1R+ RJ SNM SET PROJECT NUMBER MESSAGE VUNC,5 ISSUE DEFAULT CHARGE TO ACCOUNT FILE * ISSUE PASSWORD EXPIRATION MESSAGE. VUN4 SA1 UPSW MX0 -18 LX1 -24 BX1 -X0*X1 ZR X1,VUN6 IF NO PASSWORD EXPIRATION DATE EDATE X1 CONVERT EXPIRATION DATE BX1 X6 SB5 VUNF SB2 1R! RJ SNM SET EXPIRATION DATE IN MESSAGE MESSAGE B5,3 * YOUR PASSWORD EXPIRES AT ...* * SET SYSTEM AND USER PROLOGUE PARAMETERS. VUN6 NG X5,VUNX IF NOT FIRST *USER* COMMAND SA1 UPRO MX7 42 BX7 X1*X7 SET USER PROLOGUE FILE NAME SA7 UPF BX1 X1-X7 AX1 12 ZR X1,VUNX IF NO SYSTEM PROLOGUE DEFINED SX0 X1-SSPMN RJ COD CONVERT PROLOGUE INDEX SB2 B2-6 MX6 6 ZR B2,VUN7 IF ONE DIGIT MX6 12 VUN7 SA1 =4LPROC SET SYSTEM PROLOGUE NAME SX2 CCPT SET CLEAR CONTROLS TERMINATION OPTION NG X0,VUN8 IF NO LOGOUT ON SYSTEM PROLOGUE ABORT SX2 LAPT SET LOGOUT ON ABORT TERMINATION OPTION VUN8 BX4 X6*X4 LX4 -24 BX7 X1+X4 BX7 X7+X2 SA7 SPF EQ VUNX RETURN * ACCOUNT MESSAGE TEMPLATES. VUNA DATA C*????, !!!!!!!, +++++++, &&&&&&&.* VUNB DATA C*ABSC, ?.* VUNC DATA C*ABIC, ??????????, !!!!!!!!!!++++++++++.* VUND DATA 0H"NMDS" SERVICE CLASS IDENTIFIERS VUNE CON 0 CM FIELD LENGTH CONTROL WORD * PASSWORD EXPIRATION WARNING MESSAGE. VUNF DATA 50H YOUR PASSWORD EXPIRES AT 00.00.00 ON!!!!!!!!!! CON 0 SPACE 4,10 * OVERLAID COMMON DECKS. CMI$ SET 1 ASSEMBLE *CMI* TLI$ SET 1 ASSEMBLE *TLI* *CALL COMCARM *CALL COMCCDD *CALL COMCCOD *CALL COMCCPA *CALL COMCCVI *CALL COMCEDT *CALL COMCRSP SPACE 4,10 * OVERLAID ERROR MESSAGES. ERAF DATA C* ALTERNATE FAMILY NOT ALLOWED.* ERAR DATA C* ERROR IN ARGUMENTS.* ERAU DATA C* ALTERNATE USER NAME NOT ALLOWED.* ERCN DATA C* COMMAND NOT ALLOWED IN PROLOGUE/EPILOGUE.* ERCR DATA C* CHARGE COMMAND REQUIRED.* EREF DATA C* PROJECT EPILOGUE NOT FOUND.* EREM DATA C* EXTENDED MEMORY MINIMUM CM NOT VALIDATED.* ERIC DATA C* INCORRECT COMMAND.* ERNU DATA C* NO USER COMMAND EXECUTED.* ERPF DATA C* ??????? PROLOGUE NOT FOUND.* ERPL DATA C* ??????? PROLOGUE FILE NOT LOCAL.* ERSD DATA C* SECONDARY USER COMMANDS DISABLED.* ERTL DATA C* TL NOT VALIDATED.* SPACE 4,10 CHGFL MAX *+4,CHGL+4,ENDBUF+4 RFL= EQU CHGFL ERRNG AFFL*100B-RFL= FIELD LENGTH EXCEEDS MAXIMUM END