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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1