WSJOBS867
(George Source)
Macros used: ACROSS, ALTLENG, BITDEFS, BXE, BXGE, BXL, BXU, CLOSE, DOWN, ERRORX, FREECORE, FSHENTRY, GETJOB, HLSAV, HUNT, HUNT2J, JBC, JBS, MFREE, MHUNT, MHUNTW, NAME, OPEN, OPENSYS, POP, RESTART, SEG, SEGENTRY, SETNCORE, SKIP, STEP, STEPAGAIN, TESTREP2, TESTRPN2, TESTUSER, UP, UPPLUS, VFREE, VOP
- WSJOBS867.txt
22FL #LIS K0WSJOBS>K0ALLGEO>K0GREATGEO>K0COMMAND 22^= ... SEG WSJOBS,867,SECTION CENT 23YG [ 2435 ...[ 245N ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 248? ...[ 24=X [ THIS SEGEMENT SELECTS THE JOBS 24K# [ SPECIFIED BY CQPRINT/CQ1 24XQ [ 257J SEGENTRY K1WSJOBS,Q1ENTRY 25?F FSHENTRY K2WSJOBS,Q2ENTRY,,Q2ENTRY 25X2 BITDEFS CONTEXT,12,XFSTART 266S BITDEFS CONTEXT,16,XREMOTE 26BL [ DEFINES THE CQPRINT/CQ1 BLOCK 26W= #DEF ZGA = A1 [GROUP A INDICATORS 27*W #DEF ZGB = ZGA+1 [GROUP B INDICATORS 27TG #DEF ZGC = ZGB+1 [GROUP C INDICATORS 28*6 #DEF ZGD = ZGC+1 [GROUP D INDICATORS 28SQ #DEF ZGE = ZGD+1 [GROUP E INDICATORS 29#B #DEF ZGF = ZGE+1 [GROUP F INDICATORS 29S2 #DEF ZGG = ZGF+1 [GROUP G INDICATORS 2=3S #DEF ZJCOUNT = ZGG [JOB COUNT FOR 'WJ' 2=?L #DEF ZGH = ZGG+1 [GROUP H INDICATORS 2=R= #DEF ZNAME = ZGH+1 [JOB NAME 2?=W #DEF ZUSER = ZNAME+3 [USER NAME 2?QG #DEF ZPROP = ZUSER+3 [PROPERTY NUMBER 2#=6 #DEF ZLCOUNT= ZPROP+1 [COUNT OF JOB NOS. STORED 2#PQ #DEF ZLJOB = ZLCOUNT+1 [JOB NUMBER 2*9B [ DEFINES THE CQPRINT/CQ11 2*P2 #DEF WJOBNO = A1 [JOB NUMBER 2B8L #DEF WNAME = WJOBNO+1 2BN= #DEF WUSER = WNAME+3 2C7W #DEF WMISC = WUSER+3 2CCN #DEF WJLSTAT = WMISC 2CMG #DEF WYONQ = WMISC+1 2D76 #DEF WCONTEXT= WYONQ+1 2DLQ #DEF WSOURCE1= WCONTEXT+1 2F6B #DEF WSOURCE2= WSOURCE1+1 2FL2 #DEF WSOURCE3= WSOURCE2+1 2G5L #DEF WURGE = WSOURCE3+1 2GK= #DEF WCPI = WURGE+1 2H4W #DEF WTIMEJ = WCPI+1 2HJG #DEF WARRIVED= WTIMEJ 2J46 #DEF WPROGTIME =WTIMEJ+2 2JHQ #DEF WARRIVET= WPROGTIME 2K3B #DEF WCSIZE = WPROGTIME+2 2KH2 #DEF WFWT = WCSIZE+1 2KN8 #UNS FPARTRES 2KTB #DEF WJLSTATX=WFWT 2L2L #DEF WTLR = WFWT+1 2Q4B #DEF WTSWAPS = WTLR+1 2Q5J #DEF WMAXSIZE= WTSWAPS+1 2Q6Q #DEF WWT1 = WMAXSIZE+1 2Q7Y #DEF WWT2 = WWT1+1 2Q96 #DEF WWT3 = WWT2+1 2Q=# #DEF WEXTRA = WWT3+1 2Q?G #DEF WPERPTR = WEXTRA+1 2Q?L #UNS ECS 2Q?Q ( 2Q?W #DEF WCOREPRI = WPERPTR+1 2Q#2 #DEF WMILLPRI = WCOREPRI+1 2Q#6 #DEF SIZOCQ11 = WMILLPRI+1-A1 2Q#= ) 2Q#B #UNS ECS 2Q#G #SKI 2Q#N #DEF SIZOCQ11 = WPERPTR+1-A1 2QC= #DEF OCOREBIT = #20 2QWW #DEF OWAITBIT = #40 3KQ= [ 3KWN BITDEFS WEXTRA,0,XWELL,XLIMBO 3KY7 #SKI JWPHASE4 3K^L BITDEFS WEXTRA,2,XEXPR 3L36 BITDEFS EXT+11,9,YLIMBO 3L7J XK9 +K9 3L#2 XSAVED #02750600 3LDD XUSER #00020000 [USER IDENTIFIER 3LJW XJOBL #20000100 [WELL/NCAND IDENTIFIER 3LPG PARMBITS #00777777 3M96 Z5 +5 3MNQ NJLSTAT #60000003 3N8B UJOBL +10 3NN2 12H 3P7L 12HJOBLIST 3PM= 1 3Q6W 1 3QLG 4H**** 3R66 XQEND +FLOWQ 3RKQ [ 3S5B [ COMMAND IN ERROR 3SK2 [ 3T4L XEROUT 3TJ= ERRORX 0(3),1(3) 3W3W XEROUT9 3WHG UP 3X36 [ 3XGQ SCQ1 MHUNTW 2,CQPRINT,CQ1 3Y2B EXIT 1 0 3YG2 [ 3Y^L [ ALTER LENGTH OF CQPRINT-CQ1 3^F= [ 3^YW SALT CALL 1 SCQ1 42DG LDX 4 ZLCOUNT(2) 42Y6 ADN 4 ZLJOB-A1 [REDUCE LOGICAL LENGTH 43XB SALT4 SBX 6 FX1 4478 CALL 1 SCQ1 44C2 ALTLENG 2,4,SCQ1 [X4= LENGTH OF CQ1 44WL ADX 6 FX1 453S SALT9 LDX 1 FX1 4592 LDX 2 FX2 45B= EXIT 6 0 4K2= OPENJOBS 4KFW [ S/R TO OPEN JOBLIST 4K^G [ ON ENTRY AWORK2-4 USERNAME/0 (****/SYSTEM) 4LF6 [ X6 LINK ADDRESS 4LYQ [ EXIT +0 ERROR 4MDB [ +1 BREAK-IN 4MY2 [ +2 OK 4NCL SBX 6 FX1 4NX= OPENSYS OJL8,JOBLIST,READ,QUERY [OPEN SYSTEM.JOBLIST 4PBW BRN OJL6 4PWG OPENJOBU 4QB6 SBX 6 FX1 4QTQ SETNCORE 10,3,FILE,FABSNB 4R*B LDN 4 UJOBL(1) 4RT2 LDN 5 A1(3) 4S#L MOVE 4 10 4SS= LDN 4 AWORK2(2) 4T?W LDN 5 A1+1(3) 4TRG MOVE 4 3 [SET UP USERNAME 4W5X OPEN OJL7,READ,QUERY [OPEN JOBLIST(/****) 4WD# MFREE FILE,FABSNB 4WWL TESTREP2 NOFILE,OJL9,NAME,OJL9 4X#Y ADN 6 1 4XR= OJL6 TESTRPN2 OK,OJL9 4Y9L OJL7 ADN 6 1 4YP= OJL8 ADN 6 1 [BREAK IN 4^8W OJL9 ADX 6 FX1 [ERROR 4^NG EXIT 6 0 4^PR [ S/R TO SET UP JOB. NAME/NO. 4^R4 SETJOB 4^S* MHUNTW 2,CQPRINT,CQ1 4^TL LDX 4 ZLJOB(2) [GET JOB NO. 4^WX BNZ 4 SETJOB9 [J IF NO. SUPPLIED 4^Y8 LDX 4 ZNAME(2) [OTHERWISE GET JOB NAME 4^^F LDX 5 ZNAME+1(2) 522Q LDX 6 ZNAME+2(2) 5243 SETJOB9 525# LDX 2 FX2 526K EXIT 1 0 5286 STOJNO 52MQ [ S/R TO STORE A JOB NO. IN THE CQPRINT/CQ1 BLOCK 537B [ ON ENTRY, X6 LINK ADDRESS 53M2 [ X4 JOB NO 53YB [ EXIT +0 OK 549Q [ RESTART IF CQ1 TOO SMALL 54H6 MHUNTW 2,CQPRINT,CQ1 54SG LDX 0 ALOGLEN(2) 555W SBN 0 ZLJOB-A1+1 55C= SBX 0 ZLCOUNT(2) 55NL BNG 0 RESTART [J IF CQPRINT/CQ1 TOO SMALL 5622 SMO ZLCOUNT(2) 56?B STO 4 ZLJOB(2) [STORE JOB NO. 56JQ LDN 0 1 574B ADS 0 ZLCOUNT(2) [UPDATE COUNT OF LIVE JOBS 57J2 LDX 2 FX2 583L EXIT 6 0 [BLOCK TO SMALL 6=9B STOJCT 6=P2 [ UPDATE MOP/BACK COUNT 6?8L [ ON ENTRY X1 LINK ADDRESS 6?N= [ X5 0 IF MOP 1 IF BACKGROUND 6#7W MHUNTW 2,CQPRINT,CQ1 6#MG LDN 0 1 6*76 SMO 5 6*FH ADS 0 ZJCOUNT(2) [UPDATE MOP/BACK COUNT 6*RY LDX 2 FX2 6B6B EXIT 1 0 6BL2 WELLOUT 6C5L [ S/R TO CHECK IF REQ'D WELL JOB AND.... 6CK= [ TO WRITE AWAY 'WELL' DETAILS 6D4W [ OR UPDATE JOB COUNT IF 'WJ' 6DJG [ ON ENTRY X2 FX2 6F46 [ X3 JOBLIST ENTRY FOR RELEVANT JOB 6FHQ [ X6 LINK ADDRESS 6G3B [ X7 WSCOUNT INDICATOR/PROP. NO 6GH2 [ EXIT +0 ERROR 6H2L [ +1 BREAK IN 6HG= [ +2 OK 6H^W SBX 6 FX1 6JFG LDX 5 AWORK1(2) [SELECTION DETAILS 6J^6 SMO JOBDATASIZE 6KDQ LDX 4 FRH+JLSTAT(3) 6KYB SRC 4 1 6LD2 SLL 5 4 6LXL BPZ 5 WO1 [J IF NO MOP CHECK 6MC= BPZ 4 WO7 [J IF BACKGROUND 6MWW WO1 SLL 5 1 6NBG BPZ 5 WO15 [J IF NO BACK CHEK REQ'D 6NW6 BNG 4 WO7 [J IF MOP 6P*Q WO15 SLL 5 5 6PTB BPZ 5 WO17 [J IF NO USER CHECK 6Q*2 LDN 0 3 6QSL WO16 SMO 0 6R#= LDX 4 FRH+JLUSER-1(3) 6RRW SMO 0 6S?G BXU 4 AWORK2-1(2),WO7 [J IF WRONG USER 6SR6 BCT 0 WO16 6T=Q WO17 LDX 4 FRH+JLPROPNO(3) [GET PROPERTY NO. 6TQB SLL 5 2 6W=2 BPZ 5 WO2 [J IF NO CLUSTER CHECK REQ'D 6WPL BZE 4 WO7 [J IF CENTRAL JOB 6X9= WO2 SLL 5 1 6XNW BPZ 5 WO3 [J IF NO CENTRAL CHECK REQ'D 6Y8G BNZ 4 WO7 [J IF NOT CENTRAL JOB 6YN6 WO3 SLL 5 1 6^7Q BPZ 5 WO35 [J IF NO PROPERTY CHECK REQ'D 6^MB SMO 7 7272 LDN 0 0 [PROPERTY NO. 72LL BXU 4 0,WO7 [J IF WRONG PROPERTY 736= WO35 SLL 5 3 73KW SMO JOBDATASIZE 745G LDN 1 FRH(3) 74K6 BNG 5 WO37 [J IF NCAND INCLUDED 754Q JBS WO7,1,JLBNOTCAND [J IF NCAND JOB 75JB WO37 LDX 5 AWORK1(2) [SELECTION IDENTS. 7642 SLL 5 1 76HL BNG 5 WO4 [J IF WELL INCLUDED 773= JBC WO7,1,JLBNOTCAND [J IF WELL(IE. NOT NCAND) 77GW [ O/P WELL INFORMATION 782G WO4 SMO JOBDATASIZE 78G6 LDX 5 FRH+JLSTAT(3) 78^Q LDX 4 FRH+JLJOBNO(3) 79FB BNG 7 WO6 [J IF COUNTING JOBS 79^2 WO5 MHUNTW 2,CQPRINT,CQ11 [SET UP WELL INFO. IN CQ11 7=DL STOZ A1(2) 7=Y= LDN 1 A1(2) 7?CW LDN 2 A1+1(2) 7?XG MOVE 1 SIZOCQ11-1 [ZEROIZE CQ11 7#C6 SBN 2 A1+1 7#WQ STO 4 WJOBNO(2) [STORE JOB NO. 7*BB STO 5 WJLSTAT(2) [STORE JLSTAT 7*DK #UNS FPARTRES 7*GS ( 7*K3 SMO JOBDATASIZE 7*M= LDX 0 FRH+JLSTATX(3) 7*PF STO 0 WJLSTATX(2) 7*RN ) 7*W2 ANDN 5 1 7B*L BZE 5 WO58 [J IF NOT MOP 7BT= LDX 5 2 [SAVE ADDR OF CQ11 7C#W LDX 2 FX2 7CSG WO55 FINDACTF 2,2,CPAT,,(GEOERR),FPTR 7D#6 HUNT2J 1,JWELL,COPYSYS,2,WO55 [J IF NOT IN WELL 7DRQ BXU 4 A1+JLJOBNO(1),WO55 [J IF WRONG JOB 7F?B LDN 4 JSOURCE1(2) 7FR2 LDX 2 5 [RESTORE ADDR OF CQ11 7G=L LDN 5 WSOURCE1(2) 7GQ= MOVE 4 2 [STORE JSOURCE WORDS 7H9W WO58 LDX 4 FRH+JLPROPNO(3) 7HPG STO 4 WSOURCE3(2) [STORE PROPERTY NO. 7J96 LDN 4 FRH+JLUSER(3) 7JNQ LDN 5 WUSER(2) 7K8B MOVE 4 3 [STORE USERNAME 7KN2 LDN 4 FRH+JLJOBNAME(3) 7L7L LDN 5 WNAME(2) 7LM= MOVE 4 3 [STORE JOB NAME 7M6W LDX 4 FRH+JLARRIVED(3) 7MLG STO 4 WARRIVED(2) [STORE DATE OF ENWELLMENT 7N66 LDX 4 FRH+JLARRIVET(3) 7NKQ STO 4 WARRIVET(2) [STORE TIME OF ENWELLMENT 7P5B LDX 4 GSIGN 7PK2 STO 4 WEXTRA(2) [SET 'WELL' JOB INDICATOR 7Q4L LDX 2 FX2 7QJ= LDN 0 1 7R3W STO 0 ACOMMUNE1(2) [DEPTH OF WS FILE 7RHG DOWN QPRINT,1 [WRITE INFO. TO 'WS' FILE 7S36 BRN WO9 [ERROR 7SGQ BRN WO8 [BREAK IN 7T2B BRN WO7 [OK 7TG2 WO6 ANDN 5 1 7T^L ERN 5 1 [MOP/BACK INDICATOR 7WF= CALL 1 STOJCT [UPDATE COUNT 7WYW WO7 ADN 6 1 [OK EXIT 7XDG WO8 ADN 6 1 [BREAK IN EXIT 7XY6 WO9 LDX 1 FX1 [ ERROR EXIT 7YCQ ADX 6 FX1 7YXB EXIT 6 0 7^C2 STRTOUT 7^WL [ S/R TO CHECK IF REQ'D 'STARTED JOB.... 82B= [ AND STORE JOB IN X4 IF WS (X4=0 IF NOT REQ'D BY WS 82TW [ OR UPDATEJOB COUNT IF 'WJ' 83*G [ ON ENTRY & EXIT X2=FX2 83T6 [ X3 ADDR. OF JOB BLOCK ON ENTRY &EXIT 84#Q [ X6 LINK ADDRESS 84SB SBX 6 FX1 [REL ADDRESS IN CASE OF COORDINATION 85#2 LDX 5 JOBNUM(3) [JOB NUMBER OF JOB BEING CHECKED 85RL STO 5 ACOMMUNE5(2) [STORE JOB NUMBER 86?= DOWN WSJOBSA,4 [CHECK IF JOB REQUIRED 86QW LDX 4 ACOMMUNE4(2) [RESET X4 AFTER UP 87=G LDX 2 ACOMMUNE5(2) [JOB NUMBER OF JOB BEING TESTED 87Q6 CALL 1 REFINDJOBQ [RESET X3 TO APPROPRIATE PLACE IN JOB 889Q LDX 1 FX1 *F82 LDX 2 FX2 *FCS ADX 6 FX1 [ABSOLUTE LINK ADDRESS FOR EXIT *FML EXIT 6 0 *FNK [ *FPJ [ S/R TO REFIND PLACE IN JOB QUEUE *FQH [ EITHER POINTING TO JOB WITH JOB NUMBER SPECIFIED BY X2 OR POINTING *FRG [ TO JOB WITH HIGHEST JOB NUMBER LESS THAN THAT SPECIFIED BY X2 *FSF REFINDJOBQ *FTD LDN 3 BJOBQ [BASE OF JOB QUEUE *FWC REFINDLOOP *FXB LDX 3 FPTR(3) [NEXT BLOCK ON QUEUE *FY* BXE 3 CXJO,REFINDPREV [J IF BACK TO BASE OF JOB QUEUE *F^# BXE 2 JOBNUM(3),REFINDEXIT [J IF FOUND REQUIRED JOB BLOCK *G2? BXGE 2 JOBNUM(3),REFINDLOOP [J IF NOT FAR ENOUGH ALONG QUEUE *G3= REFINDPREV *G49 LDX 3 BPTR(3) [BLOCK BEFORE WHERE REQD BLOCK WAS *G58 REFINDEXIT *G67 EXIT 1 0 *G7= [ S/R TO CHECK IF REQ'D SAVED JOB *GLW [ AND UPDATE JOB COUNT IF 'WJ' *H6G [ OR STORE JOB NO. IN X4 IF WS *HL6 [ X4 =0 IF NOT REQ'D BY WS *J5Q [ ON ENTRY & EXIT X2=FX2 *JKB [ ON ENTRY AND EXIT X3 HOLDS ADDR. OF HLS BLOCK *K52 SAVEOUT *KJL LDX 5 AWORK1(2) *L4= ANDX 5 XSAVED(1) *LHW BNZ 5 TSA90 [J IF NO SAVED JOBS REQD *M3G LDX 5 AWORK1(2) *MH6 SLL 5 2 *N2Q BPZ 5 TSA90 [J IF NO LIVE JOBS REQD *NGB SLL 5 8 *P22 BZE 5 TSA9 [NO FURTHER CHECKS REQ'D *PFL BPZ 5 TSA5 [J IF NO USERNAME CHECK *P^= LDN 0 3 *QDW TSA4 SMO 0 *RD6 LDX 4 HLSUNAM-1(3) *RXQ SMO 0 *SCB BXU 4 AWORK2-1(2),TSA90 [WRONG USERNAME *SX2 BCT 0 TSA4 *TBL TSA5 LDX 0 HLSPCT(3) [PROP. NO. *TLD ANDX 0 BITS22LS *TW= SLL 5 2 *W*W BPZ 5 TSA6 [NO CLUSTER CHECK *WTG BZE 0 TSA90 [NOT A CLUSTER JOB *X*6 TSA6 SLL 5 1 *XSQ BPZ 5 TSA8 [NO CENTRAL CHECK *Y#B BNZ 0 TSA90 [NOT ACENT JOB *YS2 TSA8 SLL 5 1 *^?L BPZ 5 TSA9 [NO PR CHECK *^R= ERX 0 7 B2=W ANDX 0 BITS22LS B2?L BNZ 0 TSA90 [WRONG PROPERTY B2#B TSA9 BNG 7 TSA10 [J IF JOB COUNT REQ'D B2*6 LDX 4 HLSJONO(3) B2*W BRN TSA91 [OK B2BL TSA10 LDN 5 1 B2CB CALL 1 STOJCT [UPDATE 'BACK' COUNT B2D6 TSA90 LDN 4 0 [JOB NOT REQ'D BY WS B2DW TSA91 LDX 1 FX1 B2FL EXIT 6 0 B2GB [ S/R TO TEST USERNAME IN AWORK2-4 B2H6 TESTUSER B2HW LDN 0 3 B2JL TUS2 SMO 0 B2KB LDX 4 0(1) B2L6 SMO 0 B2LW BXU 4 AWORK2-1(2),TUS9 B2ML BCT 0 TUS2 B2NB ADN 6 1 B2P6 TUS9 LDX 1 FX1 B2PW EXIT 6 0 B2QL [ S/R TO GET NEXT HIGHEST JOB NO. FROM CQPRINT/CQ1 B2RB [ LAST JOB NO. IS HELD IN AWORK3 B2S6 NXNO MHUNTW 3,CQPRINT,CQ1 B2SW LDX 6 AWORK3(2) [LAST JOB NO. B2TL NGN 4 1 B2WB LDX 0 ZLCOUNT(3) [COUNT OF LIVE JOBS B2X6 BZE 0 NXNO9 B2XW NXNO2 BXGE 6 ZLJOB(3),NXNO4 [J IF ALREADY O/P B2YL BXL 4 ZLJOB(3),NXNO4 [J IF NOT SMALLEST JOB NO. B2^B LDX 4 ZLJOB(3) B326 NXNO4 ADN 3 1 B32W BCT 0 NXNO2 B33L BNG 4 NXNO9 B34B STO 4 AWORK3(2) [NEXT HIGHEST JOB NO. B356 NXNO7 EXIT 5 1 B35W NXNO9 EXIT 5 0 B35^ [ B364 VOPSUB B367 VOP ,JWACCESS B36B LDX 1 FX1 B36C LDX 2 FX2 B36D EXIT 6 0 B36L [ RESTART AT K1WSJOBS WITH LARGER CQPRINT/CQ1 B37B RESTART B386 STO 4 5 [SAVE. MAY BE JOB NO. B38W LDX 4 ALOGLEN(2) B39L SLL 4 1 B3=B CALL 6 SALT4 [DOUBLE LOGLEN OF CQ1 B3?6 LDX 4 5 B3?W LDX 0 AWORK1(2) B3#L ANDX 0 XJOBL(1) B3*B BNZ 0 SWJ12 B3B6 BRN SWJ B3BW Q1ENTRY B3CL [ B3DB [ COUNT THE NO. OF JOBS B3F6 [ OR B3FW [ O/P INFO. OF REQUIRED WELL JOBS AND ACCUMULATE B3GL [ JOB NOS. OF REQUIRED LIVE JOBS B3HB [ B3J6 [ ACOMMUNE1 :- B3JW [ B0 SET IF COUNTING B3KL [ B0 UNSET IF 'WS' INFO. IS O/P B3LB [ B3M6 LDX 7 ACOMMUNE1(2) B3MW BNG 7 SWJ [J IF 'WJ' B3NL SETNCORE SIZOCQ11,3,CQPRINT,CQ11 B3NW #SKI JWPHASE4 B3NY ( B3P2 BZE 7 SWJ [J IF NOT WS XCODE B3P4 XCODE B3P6 ACROSS WSJOBSA,3 B3P8 ) B3PB SWJ MHUNTW 3,CQPRINT,CQ1 B3Q6 ORX 7 ZPROP(3) [PROPERTY NO. B3QW LDN 4 ZUSER(3) B3RL LDN 5 AWORK2(2) B3SB MOVE 4 3 [SAVE USERNAME B3T6 LDX 5 ZGA(3) B3TW STO 5 AWORK1(2) [SELECTIONS INDICATORS B3WL BPZ 5 SID [J IF INDV. JOB SEL. B3XB STOZ ZLCOUNT(3) B3Y6 LDX 0 XJOBL(1) B3YW ANDX 0 5 B3^L BZE 0 SLJ [J IF ONLY LIVE JOBS REQ'D B42B LDX 4 AWORK2(2) B436 BZE 4 SWJ2 [J IF NO USERNAME GIVEN B43W [ GET USERS JOB NOS B44L SWJ02 POP SWJ02,,JWACCESS B45B SWJ01 CALL 6 OPENJOBU [OPEN USER JOBLIST B45Q BRN SWJ15A B46# BRN XER95 [ERROR B46W BRN XBRK3 B47L SWJ1 STEP B48B BZE 3 SWJ15 [J IF END OF FILE B496 LDX 4 FRH+JLJOBNO(3) B49W SWJ12 CALL 6 STOJNO [STORE JOB NOS. IN CQ1 B4=L SKIP ,3 B4?B BRN SWJ1 B4#6 SWJ15 CLOSE B4#G SWJ15A B4#W LDX 0 XUSER(1) B4*L ERS 0 AWORK1(2) [NO FURTHER USER CHKS REQD B4BB SWJ2 CALL 6 OPENJOBS [OPEN SYSTEM.JOBLIST B4C6 BRN XER91 B4CW BRN XBRK3 B4DL LDX 0 AWORK2(2) B4FB BZE 0 SWJ25 [J IF USERNAME NOT GIVEN B4G6 STOZ AWORK3(2) [INITIALISE JOB NO. FOR NXNO B4GW CALL 6 VOPSUB B4HL BRN SWJ3 B4JB SWJ25 SKIP ,1 [TO START OF JOB ENTRIES B4K6 SWJ3 LDX 0 AWORK2(2) B4KW BZE 0 SWJ4 [J IF NO LIST OF JOB NOS. B4LL CALL 5 NXNO B4MB BRN SWJ8 [J IF END OF JOB NO. LIST B4N6 GETJOB AWORK3(2),SYSTEM [GET JOB'S ENTRY B4NW TESTREPN2 OK,SWJ3 [J IF ENTRY NOT FOUND B4PL STEPAGAIN [READ JOB'S ENTRY B4QB BRN SWJ45 B4R6 SWJ4 STEP B4RW BZE 3 SWJ8 [END OF JOBLIST B4SL SWJ45 STO 3 ACOMMUNE3(2) B4TB SMO JOBDATASIZE B4W6 LDX 0 FRH+JLSTAT(3) B4WW BPZ 0 SWJ68 [J IF WELL JOB B4XL SWJ5 LDX 6 FRH+JLJOBNO(3) [GET JOB NO. B4YB LDN 3 BJOBQ B4^6 SWJ53 LDX 3 FPTR(3) B4^W BXE 3 CXJO,SWJ6 [J IF NOT IN JOBQ B52L BXU 6 JOBNUM(3),SWJ53 [J IF NOT REQ'D JOB B532 JBS SWJ6,3,JBSAVING B53B CALL 6 STRTOUT [STORE LIVE JOB INFO. B546 BRN SWJ65 B54W SWJ6 LDN 3 BHLSQ B55L SWJ63 LDX 3 FPTR(3) B56B BXE 3 CXHL,SWJ68 [J IF END OF HLSQ B56Y HLSAV 3,SET,SAVING,HLSQ,SWJ64 B57G HLSAV 3,CLEAR,SAFE,HLSQ,SWJ63 B584 SWJ64 B58L BXU 6 HLSJONO(3),SWJ63 [J IF NOT REQ'D JOB B59B CALL 6 SAVEOUT [STORE SAVED JOB INFO. B5=6 SWJ65 BZE 4 SWJ3 [J IF NOT REQ'D BY WS B5=W LDN 0 1 B5?L STO 0 ACOMMUNE1(2) [DEPTH OF WS FILE B5#B STO 4 ACOMMUNE4(2) B5*6 DOWN WSJOBSA,2 B5*W BRN XER8 [J IF ERROR B5BL BRN XBRK1 [J IF BREAK-IN B5CB BRN SWJ3 B5D6 SWJ68 LDX 3 ACOMMUNE3(2) B5DW CALL 6 WELLOUT B5FL BRN XER8 [ERROR REPLY SET B5GB BRN XBRK1 B5H6 BRN SWJ3 B5HW SWJ8 CLOSE [CLOSE JOBLIST B5JL BRN Q2ND9 B5KB [ CHECK IF LIVE JOB IN JOBQ B5L6 SID B5LW HUNT 3,ADATA,CSTORE B5ML BNG 3 SID1 B5NB NAME 3,CPB,CUNI [JOB NAME/NO.IN CASE OF ERROR B5P6 SID1 LDN 3 BJOBQ B5PW SID2 CALL 1 SETJOB B5QL LDX 1 FX1 B5RB SID4 LDX 3 FPTR(3) [NEXT JOB IN JOBQ B5S6 BXE 3 CXJO,SIE [J IF END OF JOBQ B5SG HLSAV 3,SET,SAVING,JOBQ,SID4 [J IF BEING SAVED B5SW BPZ 4 SID6 [J IF JOB NO. GIVEN B5TL TXU 4 JNAME(3) B5WB TXU 5 JNAME+1(3) B5X6 TXU 6 JNAME+2(3) B5XW BCS SID4 [J IF WRONG JOB NAME B5YL LDN 1 JUSER-1(3) B5^B CALL 6 TESTUSER [CHECK USER B626 BRN SID2 [WRONG USER B62W BRN SID7 B63L SID6 BXU 4 JOBNUM(3),SID4 [J IF WRONG JOB NO. B64B SID7 CALL 6 STRTOUT B656 BZE 4 XER7 [USER/CLUSTER CHECK B65W BRN SIE9 B66L SIE B67B [ CHECK IF LIVE SAVED JOB B686 LDN 3 BHLSQ B68W SIE2 CALL 1 SETJOB B69L LDX 1 FX1 B6=B SIE4 LDX 3 FPTR(3) B6?6 BXE 3 CXHL,SIF [J IF END OF SAVED JOBS B6#= HLSAV 3,CLEAR,SAFE,HLSQ,SIE4 [J IF NOT SAVED JOB B6*B BPZ 4 SIE6 [J IF JOB NO. GIVEN B6B6 TXU 4 HLSJNAM(3) B6BW TXU 5 HLSJNAM+1(3) B6CL TXU 6 HLSJNAM+2(3) B6DB BCS SIE4 B6F6 LDN 1 HLSUNAM-1(3) B6FW CALL 6 TESTUSER [CHECK USER B6GL BRN SIE2 [WRONG USER B6HB BRN SIE7 B6J6 SIE6 BXU 4 HLSJONO(3),SIE4 [J IF WRONG JOB NO. B6JW SIE7 CALL 6 SAVEOUT B6KL BZE 4 XER7 [WRONG USER/CLUSTER B6LB SIE9 CALL 6 STOJNO [STORE JOB NO. IN CQ1 B6M6 BRN Q2ND B6MW SIF B6NL [ GET JOB ENTRY FROM JOB LIST & O/P WELL INFORMATION B6PB BNG 4 SIF3 [J IF JOB NO. NOT SUPPLIED B6Q6 CALL 6 OPENJOBS [OPEN SYSTEM.JOBLIST B6QW BRN XER92 [CAN'T OPEN B6RL BRN XBRK2 [BREAK IN B6SB CALL 1 SETJOB B6T6 GETJOB 4,SYSTEM [GET JOB ENTRY B6TW BRN SIF4 B6WL SIF3 CALL 6 OPENJOBU [OPEN JOBLIST(/****) B6X6 BRN XER6A B6XL BRN XER96 [ERROR B6Y6 BRN XBRK2 [BREAK IN B6YW MHUNTW 3,CQPRINT,CQ1 B6^L LDN 4 ZNAME(3) B72B GETJOB 4,USER [GET JOB'S ENTRY B736 SIF4 TESTREPN2 OK,XER6 B73W STEPAGAIN B742 LDX 4 FRH+JLJOBNO(3) B746 MHUNTW 2,CQPRINT,CQ1 B74= LDX 6 ZLJOB(2) B74B STO 4 ZLJOB(2) [SET JOB NO. IF NAME GIVEN B74G LDX 2 FX2 B74L BNZ 6 SIF7 [J IF JOB N0. GIVEN B74Q CLOSE B74W BRN SID1 B752 SIF7 LDX 0 XJOBL(1) B75B ORS 0 AWORK1(2) [SET WELL IDENTIFIER B766 SIF8 CALL 6 WELLOUT [O/P WELL INFO. B76W BRN XER8 [ERROR B77L BRN XBRK1 [BREAK-IN B78B SIF9 CLOSE B796 HUNT 3,ADATA,CSTORE B79W BPZ 3 Q2ND95 [J IF JOB NO. FOUND B7=L BRN XER7 [NO SUCH JOB B7?B SLJ B7#6 [ ACCUMULATE JOB NOS. OF LIVE JOBS B7#W [ SELECT 'NON-SAVED' JOBS B7*L LDX 5 AWORK1(2) B7BB SLL 5 2 B7C6 BPZ 5 Q2ND [J IF LIVE JOBS NOT REQD B7CW SLL 5 1 B7DL BNG 5 SSA [J IF ONLY SAVED JOBS REQ'D B7FB LDN 3 BJOBQ B7G6 SNS3 LDX 3 FPTR(3) B7GW TXU 3 CXJO B7HL BCC SSA [END OF JOBQ B7J2 HLSAV 3,SET,SAVING,JOBQ,SNS3 [J IF BEING SAVED B7JB CALL 6 STRTOUT B7K6 BZE 4 SNS3 [J IF JOB NOT REQ'D BY WS B7KW CALL 6 STOJNO B7LL BRN SNS3 B7MB SSA B7N6 [ SELECT 'SAVED' JOBS B7NW LDX 5 AWORK1(2) B7PL LDX 1 FX1 B7QB ANDX 5 XSAVED(1) B7R6 BNZ 5 Q2ND [J IF SAVED JOBS EXCLUDED B7RW LDN 3 BHLSQ B7SL SSA3 LDX 3 FPTR(3) B7TB TXU 3 CXHL B7W6 BCC Q2ND [NO MORE SAVED JOBS B7X= HLSAV 3,CLEAR,SAFE,HLSQ,SSA3 [J IF NOT SAVED B7YB CALL 6 SAVEOUT B7^6 BZE 4 SSA3 [J IF NOT REQ'D BY WS B7^W CALL 6 STOJNO B82L BRN SSA3 B83B Q2ND BNG 7 Q2ND9 [J IF 'WJ' COUNT B846 CALL 1 SCQ1 B84W LDX 4 ZLCOUNT(2) [COUNT OF LIVE JOBS B85L BZE 4 Q2ND9 [J IF NO FURTHER O/P B86B ADN 4 ZLJOB-A1 B8?J CALL 6 SALT4 [REDUCE CQ1 B8DQ STOZ ACOMMUNE1(2) [DEPTH OF WS FILE B8KY DOWN WSJOBSA,1 B8R6 BRN XEROUT9 [J IF ERROR B8Y# BRN XBRK2 [J IF BREAK-IN B95L BRN Q2ND9 B9K= Q2ND7 CLOSE B9KF Q2ND9 B9KN BNG 7 Q2ND99 [J IF 'WJ' B9KX HUNT 3,ADATA,CSTORE B9L6 BPZ 3 Q2ND95 B9L* DOWN QPRINT,4 B9LJ BRN XEROUT9 B9LR BRN XBRK2 B9M2 BRN Q2ND99 B9M9 Q2ND95 B9MD FREECORE 3 B9MM Q2ND99 B9MW UPPLUS 2 B9N9 [ B9N# [ BREAK IN EXIT B9NH [ B9NQ XBRK1 CLOSE B9N^ XBRK2 UPPLUS 1 B9P2 XBRK3 LDX 0 AWORK2(2) [B-IN WHILE OPENING JOBLIST B9P3 BZE 0 XBRK2 [J IF NO USERNAME(IE.POP'D) B9P4 CALL 6 VOPSUB B9P5 BRN XBRK2 B9P8 [ B9PC [ COMMAND ERRORS B9PL [ B9PT XER6 CLOSE B9Q4 XER6A MHUNT 3,CPB,CUNI B9Q? LDX 4 APARA(3) B9QG BNG 4 XER62 [J IF JOB NAME B9QP CALL 3 XEROUT [NO SUCH JOB B9QY +FWHSTAT B9R7 -1 B9RB XER62 CALL 3 XEROUT B9RK +EWHSTAT [NO SUCH JOB NAME B9RS -1 B9S3 XER7 BZE 7 XER75 [J IF NO PROP CHECK B9S= CALL 3 XEROUT [WRONG CLUSTER B9SF +HWSCLUS B9SN -1 B9SX XER75 CALL 3 XEROUT [WRONG USER B9T6 +HWSUSER B9T* -1 B9TJ XER8 CLOSE B9TR BRN XEROUT9 B9W2 XER91 CALL 6 VOPSUB B9W9 XER92 BRN XEROUT9 B9W= XER95 B9W? CALL 6 VOPSUB B9W# XER96 B9W* TESTRPN2 NOUSER,XEROUT9 B9WB VFREE CPB,CUNI B9WC CALL 3 XEROUT B9WD +ERNOUSER B9WF -1 B9WG [ B?46 #END ^^^^ ...060345350001