{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: WSJOBS867)}}
====== WSJOBS867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CLOSE|CLOSE]], [[george:macro:DOWN|DOWN]], [[george:macro:ERRORX|ERRORX]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:GETJOB|GETJOB]], [[george:macro:HLSAV|HLSAV]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:OPEN|OPEN]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:POP|POP]], [[george:macro:RESTART|RESTART]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SKIP|SKIP]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TESTUSER|TESTUSER]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:VFREE|VFREE]], [[george:macro:VOP|VOP]]
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