cdc:nos2.source:opl871:valex
โ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
- 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
cdc/nos2.source/opl871/valex.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator