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