{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SETJD867)}}
====== SETJD867 ======
(George Source)
**Macros used:** [[george:macro:BXE|BXE]], [[george:macro:CHECKLFN|CHECKLFN]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DATECON|DATECON]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETJOB|GETJOB]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:OPENSYSX|OPENSYSX]], [[george:macro:PARAMOVE|PARAMOVE]], [[george:macro:PARANOTX|PARANOTX]], [[george:macro:PHOTO|PHOTO]], [[george:macro:PMOVE|PMOVE]], [[george:macro:READ|READ]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETMODE|SETMODE]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SPARABEG|SPARABEG]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:SPARANXT|SPARANXT]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:STEP|STEP]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TIMECON|TIMECON]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL ... SEG SETJD,,CENT(INSTALLATION HOOKS),,G400
22^= [
23DW [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23YG [
24D6 #
24XQ SEGENTRY K1SETJD,SENTRY1
25CB SEGENTRY K2SETJD,SENTRY2
25X2 #
26BL #DEF VARPOINT=+11
26W= #DEF SIZELIST=+10
27*W #DEF XFACLEN=+18
27TG X1K +1024
28*6 X2K +2048
28SQ X5 +5
29#B X15 +15
29S2 XBR 4H )
2=?L XBRL 4H (
2=R= XCM 4H ,
2?=W XCOM 4H,
2?QG X2TENS +100
2#=6 XSECS 4HSECS
2#PQ XHASH 4H #
2*9B XZERO 4H 0
2*P2 MAGIC +7036875
2B8L MINUS #35
2BN= SPA1 #20
2C7W SPEC 8H-8388608
2CMG SEVEN +7
2D76 TABLE 32HTRTPLPCRCPMTEDMCDSDR MXCTFDAD
2DLQ 32H GPGD HDMD
2F6B 32H
2FL2 32H IPOPGECOEMOIOOGSRRET
2G5L XER1 +JUSERJOB
2GK= XER2 +JUSNA
2H4W XER3 +JJOBNA
2HJG XER4 +JPARMIS
2J46 XER5 +JINVJNO
2JHQ XER6 +APFERR
2K3B XER7 +GENERR
2KH2 XER8 +JNUMBER
2L2L XER9 +JPARNULL
2LG= XER10 +JNUMBER1
2L^W XER11 +JONLINE
2MFG XER12 +JTOOMANY
2M^6 XER13 +ERNOCMD
2NDQ #
2NYB #
2PD2 # TABLE OF INVALID IDENTIFIERS FOR JD HOOK FORMAT
2PXL # USED WHEN VALIDATING JOBDATA STARTING WITH *
2QC= PDUR 2HUR
2QWW PDJT 2HJT
2RBG PDMZ 2HMZ
2RW6 PDNE 5HNEEDS
2S*Q PDDE 8HDEADLINE
2STB PDST 9HSTARTTIME
2T*2 PDEND +0 [END OF TABLE NEW ENTRIES IN FRONT
2TSL #
2W#= # THE FOLLOWING ARE POINTERS TO ABOVE DATA
2WRW # CH 0 = COUNT CH 1,2,3 = PTR ADDRESS
2X?G #
2XR6 JDTAB
2Y=Q #HAL #0200,+PDUR
2YQB #HAL #0200,+PDJT
2^=2 #HAL #0200,+PDMZ
2^PL #HAL #0500,+PDNE
329= #HAL #1000,+PDDE
32NW #HAL #1100,+PDST
338G #HAL #0100,+PDEND
33N6 # END OF POINTERS
347Q #
34MB # S/R TO GET :USERNAME AND CHECK LOCAL NAME FORMAT
3572 #
35LL UPAR
366= LDN 4 1
36KW LDCT 5 #120 [:
375G SBX 6 FX1
37K6 SPARABEG 1,4
384Q ADX 6 FX1
38JB UPAR1
3942 SBX 6 FX1
39HL CHECKLFN UPAR2,UPAR3
3=3= ADX 6 FX1
3=GW MHUNT 3,CPB,CUNI
3?2G EXIT 6 2 [OK
3?G6 UPAR2
3?^Q ADX 6 FX1
3#FB EXIT 6 1 [NULL
3#^2 UPAR3
3*DL ADX 6 FX1
3*Y= EXIT 6 0 [FORMAT ERROR
3BCW #
3BXG # THIS S/R MOVES THE NO. OF CHARS HELD IN THE ANUM
3CC6 # WORD TO THE ADDRESS IN X5
3CWQ # AT ENTRY X4: START ADDRESS OF CHAR STRING
3DBB # X5: DEST. ADDRESS OF CHAR STRING
3DW2 # X6 CORRUPTED
3F*L # X7 LINK
3FT= PMOVE
3G#W LDX 6 ANUM(3)
3GSG ANDN 6 #7777
3H#6 SMO 6
3HRQ MVCH 4 0
3J?B EXIT 7 0
3JR2 READ
3K=L SBX 7 FX1
3KQ= STEP
3L9W ADX 7 FX1
3LPG EXIT 7 0
3M96 XCOMP
3MNQ STO 7 GEN0
3N8B LDN 0 3
3NN2 XCA1
3P7L SMO 5
3PM= LDX 7 0(3)
3Q6W SMO 1
3QLG TXU 7 A1(2)
3R66 BCS XCA3
3RKQ ADN 5 1
3S5B ADN 1 1
3SK2 BCT 0 XCA1
3T4L SBN 5 3
3TJ= LDX 7 GEN0
3W3W EXIT 7 1 [RECORD FOUND
3WHG XCA3
3X36 SBN 0 3 [RESTORE X5 TO POINTING TOUSER
3XGQ ADX 5 0
3Y2B LDX 7 GEN0
3YG2 EXIT 7 0
3Y^L #
3^F= # S/R SETS UP COMDAT CSETP BLK AND INSERTS OPENING
3^YW # PARENTHESIS ON ENTRY X1:=FX1
42DG # X7:=LINK
42Y6 # AT EXIT X3:=BLOCK POINTER
43CQ # X6:=CHAR PTR TO N1 OF APARA(3)
43XB # A "(" HAS BEEN INSERTED IN NO
44C2 #
44WL XOPCC
45B= ADN 0 APARA-A1
45TW SBX 7 FX1
46*G SETUPCORE 0,3,COMDAT,CSETP
46T6 ADX 7 FX1
47#Q LDN 6 APARA(3)
47SB STOZ ANUM(3)
48#2 EXIT 7 0
48RL #
49?= # S/R TO DUMP 1CHAR IN COMDAT/CSETP BLOCK
49QW # AT ENTRY X3:= PTR. TO BLOCK
4==G # X6:= ABS. CHAR PTR TO NEXT CHAR IN BLOCK
4=Q6 # X0:= IN N3 THE CHAR TO BE DUMPED
4?9Q # X7:= LINK
4?PB # AT EXIT X6:= CHAR PTR TO NEXT CHAR
4#92 # X3:= BLOCK PTR
4#NL # X2:= FX2
4*8= #
4*MW XCH1
4B7G SBX 6 3
4BM6 STO 6 2
4C6Q ADX 6 3
4CLB BCHX 6 £
4D62 SMO 3
4DKL DCH 0 0(2)
4F5= LDX 2 FX2
4FJW EXIT 7 0
4G4G #
4GJ6 # S/R TO MOVE CHARS TO COMDAT CSETP BLOCK
4H3Q # COUNT IN ANUM WORD IS ADVANCED
4HHB # AT ENTRY X7:= NO OF CHARS
4J32 # X5:= CHAR. PTR. TO 1ST CHAR
4JGL XCH2
4K2= SMO 7
4KFW MVCH 5 0
4K^G ADS 7 ANUM(3)
4LF6 EXIT 4 0
4LYQ #
4MDB # BINARY TO DECIMAL CONVERSION. AT ENTRY X1=FX1,X2 =
4MY2 # DESTINATION CHAR ADDRESS,X4 CONTAINS NO. TO BE CONVERTED
4NCL # ON EXIT X1=FX1,X2=PTR TO LAST CHAR DUMPED,X7=COUNT OF
4NX= # CHARACTERS TRANSFERRED.X6=LINK.X3 IS UNUSED.
4PBW #
4PWG XCONV
4QB6 STO 6 GEN2 [INITIAL COUNT
4QTQ LDN 7 1 [INITIAL COUNT
4R*B BPZ 4 POZ
4RT2 ADN 7 1
4S#L NGX 4 4
4SS= BNG 4 SPECIAL
4T?W LDX 6 MINUS(1)
4TRG DCH 6 0(2)
4W?6 BCHX 2 £
4WQQ POZ
4X=B MPY 4 MAGIC(1)
4XQ2 LDN 0 7
4Y9L MODE 0
4YP= XCDR
4^8W CBD 4 0(2)
4^NG LDCH 6 0(2)
5286 BNZ 6 YOKO [1ST NON-ZERO CHAR
52MQ BCT 0 XCDR
537B BRN WEND
53M2 ONO
546L BCHX 2 £
54L= CBD 4 0(2)
555W ADN 7 1
55KG YOKO
5656 BCT 0 ONO
56JQ WEND
574B BRN XIT
57J2 SPECIAL
583L LDN 1 SPEC(1)
58H= MOVE 1 2
592W LDN 7 8
59GG XIT
5=26 LDX 1 FX1
5=FQ LDX 6 GEN2
5=^B EXIT 6 0
5?F2 #
5?YL # S.R. TO CONVERT A DECIMAL NUMBER IN ACPB BLOCK
5#D= # TO BINARY.ANY SPACES IN THE PARAMETER ARE DROPPED.
5#XW # ON ENTRY-X3=PTR.TO 1ST CHAR OF DEC NO.X4=CHAR COUNT
5*CG # ON EXIT X6=BINARY NUMBER X3=CPB BLK PTR
5*X6 # X0,X4,X5,GEN0,GEN1,ARE USED.X7=LINK
5BBQ #
5BWB NUMST
5CB2 STO 3 GEN0
5CTL ADN 3 APARA
5D*= [ ABOVE SET POINTER
5DSW NUMCON
5F#G STOZ 5
5FS6 STOZ 6
5G?Q NU1
5GRB LDCH 0 0(3)
5H?2 TXU 0 SPA1(1) [IGNORE SPACES
5HQL BCC NU2
5J== CDB 5 0(3)
5JPW BCS NU3 [INVALID CHARACTER
5K9G NU2
5KP6 BCHX 3 £
5L8Q BCT 4 NU1
5LNB ADN 7 1 [UPDATE EXIT PASSED ERROR LAB
5M82 NU3
5MML STO 3 GEN6 [PTR FOR QJD3
5N7= LDX 3 GEN0
5NLW EXIT 7 0
5P6G #
5PL6 #
5Q5Q # #############################################################
5QKB #
5R52 # K K 1
5RJL # K K 11
5S4= # K K 1
5SHW # K K 1
5T3G # KKK 1
5TH6 # K K 1
5W2Q # K K 1
5WGB # K K 1
5X22 # K K 1
5XFL #
5X^= # #############################################################
5YDW #
5YYG SENTRY1
5^D6 #
5^XQ # THE MAIN ENTRY POINT FROM SETPC.THE CODE
62CB # ACCESSES THE SPECIFIED FIELD IN :SYSTEM.JOBLIST
62X2 # FORMATS IT AND RETURNS IT TO THE COMMAND PARAMETER
63BL # IN A COMDAT CSETP BLOCK
63W= #
64*W LDN 4 2
64TG SPARANXT #34,,4
65*6 SETNCORE 8,2,ADATA,CSTORE
65SQ MHUNT 3,CPB,CUNI
66#B LDX 4 ANUM(3)
66S2 BZE 4 PT2 [PARAM NULL
67?L BNG 4 PARERR [NON-EXISTENT
67R= ANDN 4 #7777
68=W CALL 7 NUMST
68QG BRN PT1 [J IF MON NUMERIC
69=6 BZE 6 NUMERR [JOBNO ZERO
69PQ BRN PT3
6=9B PT2
6=P2 SMO FX2
6?8L LDX 6 JOBNO [DEFAULT JOBNO.
6?N= PT3
6#7W MHUNT 2,ADATA,CSTORE
6#MG STO 6 A1+1(2)
6*76 NGN 4 1 [MARKER TO INDICATE KEYED
6*LQ STO 4 A1(2) [SEARCH OF JOBLIST
6B6B MHUNT 3,CPB,CUNI
6BL2 FREECORE 3 [LOSE CUNI BLK
6C5L LDN 0 2 [SET UP FOR PARANOX
6CK= BRN PCH1
6D4W #
6DJG # JOBNO NOT GIVEN.SEARCH AMONG PARAMS FOR USERNAME/JOBNAME
6F46 #
6FHQ PT1
6G3B MHUNT 3,CPB,CUNI
6GH2 FREECORE 3
6H2L CALL 6 UPAR
6HG= BRN SJERR1 [FORMAT ERROR
6H^W BRN NUSERR [NO USERNAME PARAM FOUND
6JFG #
6J^6 # SPACEFILL ADATA/CSTORE BLOCK
6KDQ #
6KYB MHUNT 2,ADATA,CSTORE
6LD2 LDX 4 ACES
6LXL STO 4 A1(2)
6MC= LDN 4 A1(2)
6MWW LDN 5 A1+1(2)
6NBG MOVE 4 7
6NW6 #
6P*Q # TRANSFER USERNAME TO ADATA/CSTORE BLOCK
6PTB #
6Q*2 LDN 4 APARA(3)
6QSL LDN 5 A1(2)
6R#= CALL 7 PMOVE
6RRW #
6S?G # NOW SEE WHICH PARAM IN CMULTI BLOCK MUST BE JOBNAME
6SR6 #
6T=Q LDX 0 ATYPE(3)
6TQB ANDN 0 #7777
6W=2 SBN 0 1
6WPL BNZ 0 PC1 [JOBNAME IS 1ST PARAM
6X9= LDN 0 2 [JOBNAME IS 2ND PARAM
6XNW PC1
6Y8G STO 0 5
6YN6 FREECORE 3
6^7Q LDX 0 5
6^MB SPARANOX 0
7272 CALL 6 UPAR1
72LL BRN PARERR2 [ERROR IN JOBNAME FORMAT
736= BRN NJOBERR [NO JOBNAME FOUND
73KW MHUNT 2,ADATA,CSTORE
745G LDN 4 APARA(3)
74K6 LDN 5 A1+3(2)
754Q CALL 7 PMOVE
75JB FREECORE 3
7642 LDN 0 3 [STEP TO GET NEXT PARAM
76HL PCH1
773= PARANOTX 0 [SHOULD BE FAC/ITEM NO.
77GW MHUNT 3,CPB,CUNI
782G LDX 4 ANUM(3)
78G6 BZE 4 NULLERR [PARAM NULL
78^Q BNG 4 NUMERR2 [PARAM NON EXISTENT
79FB ANDN 4 #7777
79^2 CALL 7 NUMST
7=DL BRN VNO [J TO CHECK IF V-FORMAT
7=Y= SBX 6 X2K(1)
7?CW BPZ 6 PARERR1 [ITEM NO.TOO LARGE
7?XG ADX 6 X2K(1)
7#C6 BRN V5 [SKIP OVER 'V' TEST
7#WQ #
7*BB # THE FOLLOWING CHUNK OF CODE CHECKS TO SEE IF THE
7*W2 # ITEM NUMBER IS PRECEDED BY THE LETTER "V"
7B*L #
7BT= VNO
7C#W MHUNT 3,CPB,CUNI
7CSG LDCH 5 APARA(3) [1ST CHAR OF PARAM
7D#6 SBN 5 #66
7DRQ BNZ 5 PARERR1 [NON NUMERIC PARAM OF FORBIDD-
7F?B LDN 5 APARA(3) [EN FORMAT
7FR2 LDX 6 5
7G=L BCHX 5 £
7GQ= SBN 4 1 [NEW LENGTH OF PARAM
7H9W BZE 4 PARERR1 [NO CHARACTER AFTER "V"
7HPG SMO 4 [MOVE UP NUMERIC CHARS IN
7J96 MVCH 5 0 [CPB/CUNI BLOCK
7JNQ STO 4 ANUM(3) [RESET COUNT
7K8B CALL 7 NUMST
7KN2 BRN PARERR1 [NON-NUMERIC FACILITY NUMBER
7L7L NNON2
7LM= ADX 6 X2K(1) [J TO HERE IF NEWNEEDS ON TO SIMULATE
7M6W V5
7MLG MHUNT 2,ADATA,CSTORE
7N66 STO 6 A1+6(2) [FAC/ITEM NO.
7NKQ #
7P5B # DATA TO READ JOBLIST RECS NOW IN ADATA/CSTORE BLOCK.
7PK2 # THE NEXT SECTION OF CODE OPENS JOBLIST
7Q4L #
7QJ= SETMODE 6,READ
7R3W OPENSYSX XBRK,JOBLIST,6
7RHG TESTREP2 OK,XOK
7S36 GEOERR 1,JOBLIST?
7SGQ XOK
7T2B CALL 7 READ [READ FORMAT REC
7TG2 MHUNT 2,ADATA,CSTORE
7T^L LDX 1 FX2
7WF= LDX 4 VARPOINT(3)
7WYW STO 4 AWORK1(1) [STORE FOR LATER IF NEC.
7XDG LDX 6 A1+6(2) [FAC/ITEM NO
7XY6 SMO FX1
7YCQ TXL 6 X1K
7YXB BCS PF1 [J IF FIXED RESOURCE
7^C2 BRN RED1 [TO SEARCH JOB'S REC
7^WL #
82B= # NOW FROM THE FIXED FAC.TABLE FIND THE 3-WORD ENTRY
82TW #
83*G # CORRESPONDING TO THE FAC. NO AND TRANSFER TO AWORK2-4
83T6 #
84#Q PF1
84SB STO 3 GEN0
85#2 LDX 4 JFACTAB-A1(3) [PTR. TO FAC.TABLE WITHIN RECORD
85RL ADN 4 1 [PTR. TO FAC. TABLE WITHIN BUFFER
86?= ADX 3 4 [PTR, TO LENGTH WORD
86QW LDX 5 0(3) [LENGTH OF TABLE
87=G SBN 5 1 [SET UP LENGTH-1 FOR COMPARISON
87Q6 ADN 3 1 [1ST WORD OF TABLE
889Q SLL 6 1 [MULT. BY 3
88PB ADX 6 A1+6(2)
8992 TXL 5 6
89NL BCS NOFACERR1 [NO ENTRY FOR THIS FAC NO.
8=8= #
8=MW # NOW TEST IF FAC. NUMBER IS 5 AND NEWNEEDS IS ON
8?7G # IF SO, JUMP OUT HERE AND RE-ENTER SIMULATING A VARIABLE
8?M6 # FIELD ENTRY WITH ITEM N0. OF 5
8#6Q #
8#LB SMO FX1
8*62 TXU 6 X15
8*KL BCS NOTN [J. IF NEWNEEDS NOT ON
8B5= SMO 6
8BJW LDX 4 1(3)
8C4G BNG 4 NNON1 [J IF PTR IS NEGATIVE -NEWNEEDS ON
8CJ6 NOTN
8D3Q SMO 6
8DHB LDN 4 0(3)
8F32 LDN 5 AWORK2(1)
8FGL MOVE 4 3
8G2= LDX 3 GEN0 [PTR TO START OF FORMAT REC
8GFW #
8G^G # NOW READ JOBLIST ENTRY FOR EACH JOB AFTER FIRST
8HF6 # DECIDING WHETHER TO DO AN INDEXED SEARCH BY JOBNO
8HYQ #
8JDB RED1
8JY2 LDX 6 A1(2)
8KCL ADN 6 1
8KX= BZE 6 XKEY [KEYED READ BY JOBNO
8LBW #
8LWG # JOB ENTRY MUST BE FOUND BY USERNAME/JOBNAME SEARCH
8MB6 # FIRST OBTAIN THESE PTRS. FROM JLIST FORMAT RECORD
8MTQ #
8N*B LDX 5 JUSERELADD-A1(3)
8NT2 LDX 4 JJOBRELADD-A1(3)
8P#L XCA4
8PS= CALL 7 READ
8Q?W LDX 7 0(3)
8QRG BZE 7 SJERR1A [NO REC FOR THIS USER/JOBNAME
8R?6 MHUNT 2,ADATA,CSTORE
8RQQ LDN 1 0 [WORD POINTER
8S=B CALL 7 XCOMP
8SQ2 BRN XCA4 [RECORD NOT FOUND
8T9L XCA5
8TP= STO 5 GEN1 [KEEP USERPOINTER
8W8W LDX 5 4 [AND LOOK FOR JOBNAME
8WNG LDN 1 3
8X86 CALL 7 XCOMP
8XMQ BRN XCA6 [NOT THE CORRECT JOBNAME
8Y7B LDX 1 FX1 [JUMP TO GET FAC.DATA
8YM2 BRN XTRACT
8^6L XCA6
8^L= LDX 5 GEN1
925W BRN XCA4 [READ NEW RECORD
92KG XKEY
9356 LDX 6 A1+1(2)
93JQ GETJOB 6,SYSTEM
944B TESTRPN2 OK,NUMERR1 [NO JOB OF THIS NO.
94J2 XTRACT
953L READAGAIN [REC. IN FRB BLK
95H= CLOSETOP
962W MHUNT 2,ADATA,CSTORE
96GG LDX 6 A1+6(2)
9726 FREECORE 2 [FINISHED WITH ADATA BLOCK
97FQ MHUNT 3,FILE,FRB
97^B LDX 5 ALOGLEN(3)
98F2 ADN 3 A1 [X3 POINTS TO HEADER REC.
98YL LDX 2 FX2
99D= TXL 6 X1K(1)
99XW BCC VAR1 [DATA IN VAR.RESOURCE FIELD
9=CG #
9=X6 # DATA IS IN FIXED FIELD.GET FORMAT NUMBER AND BRANCH TO
9?BQ # APPROPRIATE CONVERSION ROUTINE
9?WB #
9#B2 LDX 0 ACES
9#TL STO 0 ACOMMUNE1(2)
9**= STO 0 ACOMMUNE2(2)
9*SW STO 0 ACOMMUNE3(2)
9B#G ADX 3 AWORK3(2) [PTS. TO ENTRY
9BS6 SMO AWORK2(2)
9C?Q BRN XFORMAT-1
9CRB #
9D?2 # BRANCH TABLE FOR FORMAT TYPE
9DQL #
9F== XFORMAT
9FPW BRN XFORM1
9G9G BRN XFORM2
9GP6 BRN XFORM3
9H8Q BRN XFORM4
9HNB BRN XFORM5
9J82 BRN XFORM6
9JML BRN XFORM7
9K7= BRN XFORM8
9KLW BRN XFORM9
9L6G BRN XFORM10
9LL6 BRN XFORM11
9M5Q BRN XFORM12
9MKB #
9N52 NNON1
9NJL LDX 6 X5(1)
9P4= CLOSETOP
9PHW BRN NNON2
9Q3G #
9QH6 # ROUTINE TRANSFERS CHARS TO COMDAT/CSETP BLOCK
9R2Q #
9RGB XFORM1
9S22 LDN 0 2
9SFL LDX 4 0(3) [KEEP FORLATER X3 WILLBE LOST SOON
9S^= CALL 7 XOPCC [SET UP BLOCK
9TDW STOZ 0
9TYG LDN 7 4 [MAX CHAR COUNT
9WD6 LDX 1 4
9WXQ RL1
9XCB SLL 01 6
9XX2 BZE 0 RL2 [IGNORE LEADING ZERO
9YBL SRL 01 6
9YW= LDN 5 1
9^*W CALL 4 XCH2 [MOVE CHARACTERS
9^TG BRN XACR
=2*6 RL2
=2SQ BCT 7 RL1
=3#B BRN XFNULL [NULL PARAM SET UP
=3S2 #
=4?L # ROUTINE TO CONVERT TIME
=4R= #
=5=W XFORM2
=5QG LDX 4 0(3)
=6=6 SLL 4 2
=6PQ ADX 4 0(3) [MULT BY 5
=79B TIMECON 4
=7P2 LDN 0 3 [LOG LENGTH
=88L CALL 7 XOPCC [INITIALISE COMDAT BLK
=8N= LDN 7 8
=97W LDN 5 ACOMMUNE1(2)
=9MG CALL 4 XCH2
==76 BRN XACR
==LQ #
=?6B # S/R TO CONVERT DATE
=?L2 #
=#5L XFORM3
=#K= LDX 4 0(3)
=*4W DATECON 4
=*JG LDN 0 3 [LOG LENGTH
=B46 CALL 7 XOPCC
=BHQ LDX 4 ACOMMUNE1(2)
=C3B TXU 4 ACES
=CH2 BCC XFNULL [J. TO RETURN NULL STRING IF ZERO FIE
=D2L LDN 7 8
=DG= LDN 5 ACOMMUNE1(2)
=D^W CALL 4 XCH2
=FFG BRN XACR
=F^6 #
=GDQ # ROUTINE TO CONVERT A BINARY NO. TO DECIMAL
=GYB #
=HD2 XFORM4
=HXL LDX 4 0(3)
=JC= LDN 0 3
=JWW CALL 7 XOPCC
=KBG LDX 2 6
=KW6 CALL 6 XCONV
=L*Q ADS 7 ANUM(3)
=LTB BRN XACR
=M*2 #
=MSL # ROUTINE TO CONVERT TIME TO DEC & O.P WITH 'SECS' STRING
=N#= #
=NRW XFORM5
=P?G LDX 4 0(3)
=PR6 LDN 0 4
=Q=Q CALL 7 XOPCC
=QQB LDX 2 6
=R=2 CALL 6 XCONV
=RPL LDCH 5 0(2)
=S9= BNZ 5 X51 [J. IF FINAL CHAR MOVED WAS NONZERO
=SNW LDX 5 7
=T8G SBN 5 1 [IF JT FIELD IS ZERO,ONE CHAR WILL
=TN6 BZE 5 XFNULL [SET NULL STRING
=W7Q X51
=WMB LDX 6 2
=X72 BCHX 6 £
=XLL ADS 7 ANUM(3)
=Y6= LDN 5 XSECS(1)
=YKW LDN 7 4
=^5G CALL 4 XCH2
=^K6 BRN XACR
?24Q #
?2JB # ROUTINE FORMATS THE NEEDS FIELD AND OUTPUTS IT AS
?342 # DECIMAL NUMBERS FOLLOWED BY 2 CHAR PERIPHERAL NAMES
?3HL # -NUMBERS OF EACH TYPE SEPARATED BY COMMAS
?43= # S R FOR FORMATS 6 7 10
?4GW #
?52G # COMMON CODE
?5G6 #
?5^Q XF6710
?6FB LDN 0 84
?6^2 PHOTO 4
?7DL STO 3 AWORK2(2)
?7Y= CALL 7 XOPCC [SET UP BLOCK
?8CW LDX 0 XBRL(1)
?8XG CALL 7 XCH1 [PUT IN BRACKET
?9C6 STO 3 7
?9WQ TESTMOVE 4,XG2 [J IFNO BLOCKS MOVED
?=BB MHUNT 3,FILE,FRB [FIND BLOCK
?=W2 ADN 3 A1
??*L ADX 3 AWORK3(2)
??T= BRN XG3
?##W XG2
?#SG LDX 3 AWORK2(2)
?*#6 XG3
?*RQ STOZ AWORK2(2)
?B?B STO 3 GEN0
?BR2 STO 7 GEN1 [KEEP POINTERS
?C=L LDX 0 AWORK4(2)
?CQ= BZE 0 NOFACERR
?D9W EXIT 5 0
?DPG #
?F96 # END OF FIRST S R
?FNQ #
?G8B # START OF SECOND
?GN2 #
?H7L XF6710A
?HM= LDX 1 FX2
?J6W STO 5 AWORK1(1)
?JLG STO 0 AWORK4(1)
?K66 LDX 3 GEN1
?KKQ BZE 4 XNOEN
?L5B STO 2 AWORK3(1)
?LK2 LDN 7 1
?M4L LDX 0 AWORK2(1) [PTR TO CHAR
?MJ= ADS 7 AWORK2(1)
?N3W BZE 0 NOCOM
?NHG SMO FX1
?P36 LDN 5 XCOM [PUT IN COMMA
?PGQ MVCH 5 1
?Q2B ADS 7 ANUM(3)
?QG2 NOCOM
?Q^L LDX 2 6
?RF= LDX 1 FX1
?RYW CALL 6 XCONV [PUT IN PARAM
?SDG LDX 6 2
?SY6 BCHX 6 £
?TCQ ADS 7 ANUM(3) [UPDATE COUNT IN BLOCK
?TXB SMO FX2
?WC2 LDX 2 AWORK3
?WWL SMO FX2
?XB= LDX 5 AWORK1
?XTW EXIT 5 1
?Y*G XNOEN
?YT6 LDX 1 FX1
?^#Q SMO FX2
?^SB LDX 5 AWORK1 [NO ENTRY RETURN
#2#2 EXIT 5 0
#2RL #
#3?= # END OF SECOND ROUTINE
#3QW #
#4=G # START OF THIRD
#4Q6 #
#59Q XF6710B
#5PB ADN 5 TABLE(1) [FIND TABLE ENTRY
#692 LDN 7 2
#6NL CALL 4 XCH2
#78= EXIT 0 0
#7MW #
#87G # END OF THIRD
#8M6 # END OF COMMON CODE FOR 6 7 10
#96Q #
#9LB XFORM6
#=62 CALL 5 XF6710 [SET BLOCK
#=KL SLL 0 2
#?5= LDN 2 0
#?JW X62
##4G SMO GEN0
##J6 LDCH 4 0(2)
#*3Q CALL 5 XF6710A [PUT IN NUMBER
#*HB BRN X61
#B32 STO 2 5
#BGL SLC 5 1
#C2= CALL 0 XF6710B [PUT IN TYPE
#CFW X61
#C^G BCHX 2 £
#DF6 SMO FX2
#DYQ LDX 0 AWORK4
#FDB BCT 0 X62
#FY2 BRN XENDBR [END PARAM
#GCL #
#GX= # FORMAT 7 SHARES CODE WITH 6 & 10
#HBW #
#HWG XFORM7
#JB6 CALL 5 XF6710 [SETUP BLOCK COMMENTS ARE AS FOR TYPE
#JTQ LDN 2 0
#K*B X72
#KT2 SMO GEN0
#L#L LDX 4 0(2)
#LS= CALL 5 XF6710A
#M?W BRN X71
#MRG STO 2 5
#N?6 SRC 5 1
#NQQ CALL 0 XF6710B
#P=B X71
#PQ2 ADN 2 1
#Q9L SMO FX2
#QP= LDX 0 AWORK4
#R8W BCT 0 X72
#RNG BRN XENDBR
#S86 #
#SMQ # END OF FORMAT 7
#T7B #
#TM2 # ROUTINE COMBINING FORMATS TYPE 2,3,5
#W6L #
#WL= XFORM8
#X5W LDX 4 0(3) [DATE
#XKG XF2
#Y56 DATECON 4
#YJQ LDX 4 ACOMMUNE1(2)
#^4B TXU 4 ACES
#^J2 BCS XF1
*23L DATECON EDATE [SPACES SO RETURN TODAY'S DATE
*2H= XF1
*32W LDN 0 12 [INITIALISE COMDAT/CSETP BLOCK
*3GG CALL 7 XOPCC
*426 LDN 7 8
*4FQ LDN 5 ACOMMUNE1(2)
*4^B CALL 4 XCH2 [MOVE DATE ACROSS
*5F2 LDX 0 XCM(1)
*5YL CALL 7 XCH1 [COMMA NEXT
*6D= STO 3 AWORK4(2) [PTR TO COMDAT/CSETP BLK
*6XW MHUNT 3,FILE,FRB
*7CG ADN 3 A1
*7X6 ADX 3 AWORK3(2) [PTR TO 1ST WRD OF DATA
*8BQ STO 3 AWORK2(2)
*8WB ADN 3 1 [PTR. TO BINARY TIME
*9B2 LDX 4 0(3)
*9TL SLL 4 2
*=*= ADX 4 0(3) [MULTIPLY BY 5 FOR K9 COUNT
*=SW PHOTO 7
*?#G TIMECON 4
*?S6 TESTMOVE 7,XF4
*#?Q MHUNT 3,FILE,FRB
*#RB ADN 3 A1
**?2 ADX 3 AWORK3(2)
**QL STO 3 AWORK2(2)
*B== MHUNT 3,COMDAT,CSETP
*BPW BRN XF5
*C9G XF4
*CP6 LDX 3 AWORK4(2)
*D8Q XF5
*DNB LDN 7 8
*F82 LDN 5 ACOMMUNE1(2)
*FML CALL 4 XCH2 [MOVE TIME ACROSS
*G7= LDX 0 XCM(1)
*GLW CALL 7 XCH1 [COMMA NEXT
*H6G LDX 3 AWORK2(2)
*HL6 ADN 3 2
*J5Q LDX 4 0(3) [NO. TO BE CONVERTED
*JKB LDX 3 AWORK4(2) [PTR TO C.CSETP BLK
*K52 LDX 2 6
*KJL CALL 6 XCONV
*L4= LDCH 5 0(2) [SEE COMMENTS IN XFORM5
*LHW BNZ 5 XF81
*M3G LDX 5 7
*MH6 SBN 5 1
*N2Q BZE 5 XF82
*NGB XF81
*P22 LDX 6 2
*PFL BCHX 6 £
*P^= ADS 7 ANUM(3) [STEP COUNT FOR CHARS MOVED
*QDW LDN 5 XSECS(1)
*QYG LDN 7 4
*RD6 CALL 4 XCH2 [MOVE 'SECS' & UP COUNT
*RXQ LDN 7 2
*SCB ADS 7 ANUM(3)
*SX2 BRN XF83
*TBL XF82
*TW= LDN 7 1
*W*W ADS 7 ANUM(3) [-1 FOR COMMA
*WTG XF83
*X*6 BRN XACR [PREV. INSTR. UPS CT FOR COMMAS
*XSQ #
*Y#B # ROUTINE TRANSFERS CHAR STRING
*YS2 #
*^?L XFORM9
*^R= STO 3 5 [SAVE PTR. TO START OF STRING
B2=W LDX 4 AWORK4(2) [WORDLENGTH OF STR
B2QG LDX 0 4
B3=6 ADN 0 1 [LOG. LENGTH FOR BLOCK
B3PQ SLL 4 2 [CHAR .LENGTH OF STR
B49B CALL 7 XOPCC
B4P2 LDX 7 4 [COUNT
B58L CALL 4 XCH2
B5N= BRN XACR
B67W #
B6MG # SIMILAR TO XFORM6
B776 # FORMAT 10 USES COMMON CODE SEE FORMAT 6 &7
B7LQ #
B86B XFORM10 [SPEC ENTRY WILL BE FROM VAR FIELD
B8L2 CALL 5 XF6710 [SEE TYPE 6 FOR COMMENT
B95L X102
B9K= SMO GEN0
B=4W LDCH 4 0
B=JG CALL 5 XF6710A
B?46 BRN X101
B?HQ LDX 3 GEN0
B#3B LDCH 5 0(3)
B#H2 SRC 5 1
B*2L LDX 3 GEN1
B*G= CALL 0 XF6710B
B*^W X101
BBFG LDN 7 1
BB^6 ADS 7 GEN0
BCDQ SMO FX2
BCYB LDX 0 AWORK4
BDD2 BCT 0 X102
BDXL BRN XENDBR
BFC= #
BFWW # T.S.N. TO BE TRANSFERRED
BGBG #
BGW6 XFORM11
BH*Q LDX 5 0(3) [TAPE NO.
BHTB LDN 0 3 [LOG. LENGTH
BJ*2 CALL 7 XOPCC [SET UP COMDAT. CSETP BLK
BJSL LDX 0 XBRL(1) [INSERT LEFT PAREN FOR TAPENO.
BK#= CALL 7 XCH1
BKRW LDN 2 0 [CHAR MODIFIER FOR CONVERSION
BL?G LDN 7 8 [COUNT
BLR6 TS1
BM=Q STOZ 4
BMQB SLL 45 3
BN=2 LDCH 0 4
BNPL BNZ 0 TS2 [FIRST NON ZERO CHARACTER
BP9= BCT 7 TS1
BPNW BRN TS3 [TAPE NO = ZERO
BQ8G TS2
BQN6 STO 7 GEN0 [COUNT OF SIGNIFICANT CHARS
BR7Q BRN TS5
BRMB TS4
BS72 STOZ 4
BSLL SLL 45 3
BT6= LDCH 0 4
BTKW TS5
BW5G SMO FX2
BWK6 DCH 0 AWORK3(2)
BX4Q BCHX 2 £
BXJB BCT 7 TS4
BY42 LDX 7 GEN0
BYHL BRN TS6
B^3= TS3
B^GW LDN 7 1
C22G SMO FX2
C2G6 STOZ AWORK3 [IF TAPE NO. IS ZERO
C2^Q TS6
C3FB LDX 2 FX2
C3^2 LDN 5 AWORK3(2)
C4DL SMO 7
C4Y= MVCH 5 0
C5CW ADS 7 ANUM(3)
C5XG BRN XENDBR
C6C6 #
C6WQ # BINARY-OCTAL CONVERSION
C7BB #
C7W2 XFORM12
C8*L LDX 7 0(3) [BINARY NO. TO BE CONVERTED
C8T= LDN 0 8 [COUNT OF CHARS
C9#W LDN 5 ACOMMUNE1
C9SG XOCT
C=#6 STOZ 6
C=RQ SLL 67 3
C??B SMO 5
C?R2 DCH 6 0(2) [CHARS IN ACOMMUNE1-2
C#=L BCHX 2 £
C#Q= BCT 0 XOCT
C*9W LDX 2 FX2
C*PG LDN 0 3
CB96 CALL 7 XOPCC
CBNQ LDX 0 XHASH(1)
CC8B CALL 7 XCH1 [DUMP #
CCN2 LDN 7 8
CD7L LDN 5 ACOMMUNE1(2)
CDM= CALL 4 XCH2
CF6W LDN 7 1
CFLG ADS 7 ANUM(3) [ + #
CG66 BRN XACR
CGKQ #
CH5B # THE CODE WHICH FOLLOWS EXTRACTS DATA FROM THE VARIABLE
CHK2 # RESOURCE FIELD. X6 CONTAINS ITEM NO. AN ITEM NO RESULTING
CJ4L # FROM A"V" FORMAT PARAMETER MUST FIRST HAVE 2048 SUBTRACTED
CJJ= # FROM IT .X3 POINTS TO HEADER REC.X5=REC.LENGTH
CK3W # AWORK1 = PTR.TO VAR.RESOURCE FIELD PTR
CKHG #
CL36 VAR1
CLGQ SBX 6 X2K(1) [CORRECT ITEM NUMBER
CM2B BPZ 6 VA1
CMG2 ADX 6 X2K(1)
CM^L VA1
CNF= LDX 2 AWORK1(2)
CNYW SMO 3 [PTR TO VAR.RES FIELD
CPDG LDX 2 0(2)
CPY6 BZE 2 NOFACERR [ERROR! NO VAR.RES FIELD
CQCQ SBN 5 1 [SET UP REC LENGTH IN FILE FRB
CQXB VA2
CRC2 TXL 5 2
CRWL BCS VA4 [NO ENTRY FOR THIS ITEM NO
CSB= SMO 3
CSTW LDX 4 0(2) [WORD 0 OF ENTRY
CT*G LDEX 7 4 [LENGTH OF ENTRY
CTT6 SRL 4 12 [ITEM NO IN L.S.END
CW#Q TXU 4 6
CWSB BCC VA3 [BRANCH IF FOUND
CX#2 ADX 2 7 [STEP ON POINTER
CXRL BRN VA2 [AND TRY AGAIN
CY?= VA3
CYQW ADN 2 1 [POINTS TO 1ST WORDOF DATA
C^=G LDX 0 7 [LOG. LENGTH FOR COMDAT BLK
C^Q6 SBN 7 1
D29Q #
D2PB # IF FACILITY NUMBER IS 5 THE ENTRY WILL ALWAYS BE THE
D392 # NEEDS FIELD IN FORMAT 6, HENCE WE CAN REFORMAT
D3NL # AWORK3 NON ZERO IMPLIES FORMAT 10
D48= #
D4MW TXU 6 X5(1)
D57G BCS NNOFF
D5M6 ADX 3 2
D66Q SMO FX2
D6LB STO 2 AWORK3
D762 LDX 2 FX2
D7KL STO 7 AWORK4(2)
D85= BRN XFORM10 [J. TO STANDARD FORMAT ROUTINE
D8JW NNOFF
D94G LDX 5 2 [SET UP ADDRESS PTR
D9J6 ADX 5 3 [FOR MOVE
D=3Q SLL 7 2 [CHAR. COUNT FOR MOVE
D=HB LDX 4 7
D?32 CALL 7 XOPCC [INITIALISE
D?GL LDX 7 4 [RETURN COUNT
D#2= CALL 4 XCH2
D#FW BRN XACR
D#^G #
D*F6 VA4
D*YQ TXU 6 X5(1)
DBDB BCS NOFACERR [ERROR MESSAGE IF NOT FAC 5
DBY2 LDN 0 1 [LOG LENGTH
DCCL CALL 7 XOPCC [OTHERWISE RETURN NULL STRING
DCX= LDX 0 XBRL(1)
DDBW CALL 7 XCH1
DDWG #
DFB6 # PATHS REJOIN HERE FOR LAST BRACKET
DFTQ #
DG*B XENDBR
DGT2 LDX 0 XBR(1) [ PUT IN CLOSE BRACKET
DH#L CALL 7 XCH1
DHS= LDN 7 2
DJ?W ADS 7 ANUM(3)
DJRG BRN XACR
DK?6 #
DKQQ XFNULL
DL=B STOZ ANUM(3) [SET NULL PARAM
DLQ2 #
DM9L # END OF CHAPTER FOR SETPARAM ENTRY
DMP= #
DN8W XACR
DNNG MFREE FILE,FRB
DP86 UPPLUS 2
DPMQ #
DQ7B # #############################################################
DQM2 #
DR6L # K K 222
DRL= # K K 2 2
DS5W # K K 2
DSKG # K K 2
DT56 # KKK 2
DTJQ # K K 2
DW4B # K K 2
DWJ2 # K K 2
DX3L # K K 2222222
DXH= #
DY2W # #############################################################
DYGG #
D^26 SENTRY2
D^FQ #
D^^B #
F2F2 # JOBDATA ENTRY TO SETJD
F2YL #
F3D= # AT THIS ENTRY, WE HAVE IDENTIFIED THE FIRST PARAMETER
F3XW # TO THE JD COMMAND AS STARTING WITH AN ASTERISK. THE CPB/
F4CG # CUNI BLOCK HAS BEEN FREED
F4X6 #
F5BQ LDN 6 1
F5WB PARAMOVE 6 [OVERWRITE *
F6B2 SPARAPAS
F6TL MHUNT 3,CPB,CUNI
F7*= LDX 4 ANUM(3)
F7SW BZE 4 PARERR [NULL PARAM
F8#G BNG 4 PARERR [NON-EXISTENT PARAM
F8S6 ANDN 4 #7777
F9?Q CALL 7 NUMST
F9RB BRN QT1
F=?2 #
F=QL # CONTINUE HERE IF NUMERIC JOBNO. PARAMETER
F?== #
F?PW BZE 6 NUMERR [JOBNO ZERO
F#9G ORX 6 GSIGN [MARKS JOBNO
F#P6 LDX 7 6
F*8Q BRN QJD1
F*NB QT1
FB82 FREECORE 3
FBML CALL 6 UPAR
FC7= BRN SJERR1 [LOCAL NAME FORMAT ERROR
FCLW BRN NUSERR [NO USERNAME FOUND
FD6G LDN 7 3
FDL6 SBX 7 JPARNUM(3)
FF5Q QT2
FFKB FREECORE 3
FG52 SPARANOX 7
FGJL CALL 6 UPAR1
FH4= BRN PARERR2 [ERROR IN JOBNAME FORMAT
FHHW BRN NJOBERR [NONE FOUND
FJ3G #
FJH6 # THE NEXT UNACCESSED PARAM IN CPB/CALAS BLOCK SHOULD BE
FK2Q # FACILITY NO. HENCE WE CAN REJOIN JOBDATA AT K1JOBDATA
FKGB # AWORK1 HAS SUFFICIENT INFORMATION IN IT TO DETERMINE
FL22 # THE STRUCTURE OF THE CPB/CALAS BLOCK: VIZ
FLFL # B0 = 1 IF IDENTIFIED BY JOBNO. BS 1 - 23 = JOBNO
FL^= # B0 = 0 BS1-23 = +1 JOBNAME/USERNAME
FMDW # B0 =0 BS1-23 = +2 USERNAME/JOBNAME
FMYG #
FND6 #
FNXQ QJD1
FPCB MFREE CPB,CUNI [BLK CONTAINS JOB OR USER NAME
FPX2 #
FQBL #
FQW= # NOW INVESTIGATE NEXT PARAM IN CPB CALAS BLK
FR*W # TO SEE IF IT IS A FAC. NUMBER LESS THAN SEVEN
FRTG #
FS*6 MHUNT 3,CPB,CALAS
FSSQ #
FT#B # CHECK FOR TO MANY PARAMS
FTS2 #
FW?L STO 7 AWORK1(2)
FWR= #
FX=W BNG 7 QJD2 [J. IF SEARCH IS TO BE BY JOBNO.
FXQG #
FY=6 # IF JOB IS TO BE IDENTIFIED BY JOB AND USER NAMES
FYPQ # THE PARAPASS POINTER HAS TO BE UPDATED TO POINT TO
F^9B # FACILITY-ITEM NUMBER BEFORE GOING UP TO JOBDATA850
F^P2 #
G28L CALL 5 XUPTR [UPDATE PARAM PTR IN BLOCK
G2N= SBN 4 1
G37W SRL 4 2
G3MG ADN 4 2 [ROUNDED +1 FOR TYPE WORD
G476 SLL 4 12
G4LQ ADN 4 1 [PARAM NO ADDITION
G56B ADS 4 APTBEPAR(3)
G5L2 QJD2
G65L CALL 5 XUPTR [UPDATE PARAM PTR IN BLOCK
G6K= STO 4 GEN5
G74W STO 3 GEN0 [SET UP FOR S.RQ
G7JG ADX 3 2
G846 ADN 3 1 [PTR TO 1ST CHAR OF UNACCESSED PARAM
G8HQ CALL 7 NUMCON
G93B BRN QJD3 [J IF NON NUMERIC
G9H2 TXL 6 SEVEN(1)
G=2L BCS XJDERR [FAC. NUMBER OUT OF RANGE
G=G= LDX 2 FX2
G=^W LDX 4 AWORK1(2)
G?FG LDN 5 3
G?^6 BNG 4 QQ2
G#DQ ADN 5 1
G#YB QQ2
G*D2 SBX 5 APARANUM(3) [MAX 4 PARAMS
G*XL BNG 5 XTOMANY [TOO MANY FOUND
GBC= QJD4
GBWW LDX 2 FX2
GCBG LDX 4 AWORK1(2)
GCW6 STO 4 ACOMMUNE1(2) [PRESERVE OVER CO-ORDINATION
GD*Q UPPLUS 2 [SUCCESSFUL RETURN
GDTB #
GF*2 # THE NEXT PARAMETER IS NON-NUMERIC AND WILL BE
GFSL # ANALYSED BY THE STANDARD ICL ROUTINES IN JOBDATA850
GG#= # WE GO DOWN TO OVERFLOW TO CHECK WHETHER IT IS ONE OF
GGRW # THE SCHEDULING IDENTIFIERS REFERRING TO FACILITY NUMBERS
GH?G # 0-6.IF IT IS ,AN ERROR MESSAGE IS OUTPUT
GHR6 #
GJ=Q # CHECK FOR INVALID IDENT
GJQB #
GK=2 QJD3
GKPL SMO FX2
GL9= LDX 7 AWORK1
GLNW LDN 5 2
GM8G BNG 7 QQ1 [J ONLY 2PARAMS FOR JOBNO TYPE
GMN6 ADN 5 1
GN7Q QQ1
GNMB SBX 5 APARANUM(3)
GP72 BNG 5 XTOMANY [J TOO MANY PARAMS
GPLL LDX 3 GEN6
GQ6= LDX 7 GEN5
GQKW SBX 7 4 [CNT BEFORE FIRST ALPHA CHAR
GR5G BZE 7 QJD9 [J IF FIRST CHAR
GRK6 SLC 3 2
GS4Q SBX 3 7
GSJB SRC 3 2
GT42 QJD5 [CHECK PRECEDING CHARACTERS
GTHL LDCH 5 0(3)
GW3= TXU 5 SPA1(1)
GWGW BCS QJD4 [J NOT ALPHA CONNOT BE INVALID CHAR S
GX2G BCHX 3 £
GXG6 BCT 7 QJD5
GX^Q QJD9
GYFB STOZ 0
GY^2 QJD6 [CHECK FOR INVALID IDENT
G^DL SMO 0
G^Y= LDCH 6 JDTAB(1)
H2CW SMO 0
H2XG LDX 2 JDTAB(1)
H3C6 ANDN 2 #7777
H3WQ ADX 2 1 [ABS ADDRESS
H4BB QJD7
H4W2 LDCH 4 0(3)
H5*L LDCH 5 0(2)
H5T= TXU 4 5
H6#W BCS QJD8 [J CHAR DO NOT AGREE
H6SG BCHX 3 £
H7#6 BCHX 2 £
H7RQ BCT 6 QJD7
H8?B BRN XJDERR
H8R2 QJD8
H9=L BZE 5 QJD4 [J BECAUSE END OF TABLE
H9Q= ADN 0 1
H=9W BRN QJD6 [CHECK NEXT TABLE ENTRY
H=PG #
H?96 # S R FOR EARLIER CODE AT QJD2
H?NQ #
H#8B XUPTR
H#N2 LDX 2 APTBEPAR(3) [PARAM PTR
H*7L SRL 2 12
H*M= SMO 3
HB6W LDX 4 0(2)
HBLG BXE 4 GMINUS1,PARERR1 [J END OF PARAM
HC66 ANDN 4 #7777
HCKQ BZE 4 PARERR1 [J NULL PARAM
HD5B EXIT 5 0
HDK2 #
HF4L # END OF S R
HFJ= #
HG3W # ERROR ROUTINES FOR RETURN TO JOBDATA
HGHG #
HH36 XJDERR [RESERVED FACILITY TYPES
HHGQ LDX 6 XER13(1)
HJ2B BRN XNER
HJG2 XTOMANY [TO MANY PARAMS
HJ^L LDX 6 XER12(1)
HKF= XNER [SETS %B TO NULL
HKYW NGN 7 1
HLDG BRN XERROR
HLY6 PARERR1
HMCQ LDX 7 XER10(1)
HMXB BRN XAPFERR
HNC2 PARERR2
HNWL LDX 7 XER3(1)
HPB= BRN XAPFERR
HPTW PARERR
HQ*G LDX 7 XER1(1)
HQT6 BRN PARMISS
HR#Q NUSERR
HRSB LDX 7 XER2(1)
HS#2 BRN PARMISS
HSRL NJOBERR
HT?= LDX 7 XER3(1)
HTQW PARMISS
HW=G LDX 6 XER4(1)
HWQ6 BRN XERROR
HX9Q NUMERR1
HXPB CLOSETOP
HY92 NUMERR
HYNL LDX 7 XER5(1)
H^8= BRN XAPFERR
H^MW SJERR1A
J27G CLOSETOP
J2M6 SJERR1
J36Q LDX 7 XER1(1)
J3LB XAPFERR
J462 LDX 6 XER6(1)
J4KL BRN XERROR
J55= NUMERR2
J5JW LDX 6 XER7(1)
J64G LDX 7 XER8(1)
J6J6 BRN XERROR
J73Q NULLERR
J7HB LDX 6 XER9(1)
J832 LDX 7 XER10(1)
J8GL BRN XERROR
J92= NOFACERR1
J9FW CLOSETOP
J9^G NOFACERR
J=F6 LDX 6 XER11(1)
J=YQ LDX 7 XER10(1)
J?DB XERROR [STORE DETAILS READY FOR UP
J?Y2 LDX 2 FX2
J#CL STO 6 ACOMMUNE1(2)
J#X= STO 7 ACOMMUNE2(2)
J*BW #
J*WG #
JBB6 # ERROR RETURN
JBTQ #
JC*B UPPLUS 1
JCT2 #
JD#L # BREAKIN RETURN
JDS= #
JF?W XBRK
JFRG UP
JG?6 #
JGQQ #END
^^^^ ...600127460001