INCRV850

(George Source)

Macros used: ALTLEN, BC, BS, BXE, BXL, BXU, CHAIN, CLOSETOP, FREECORE, GEOERR, ISSUCOM, JMBAC, MENDAREA, MFREEW, MHUNT, MHUNTW, MONOUT, NAME, OPENINC, OUTINCS, OUTPARAM, OUTTSNS, READAGAIN, RV, SEG, SEGENTRY, SETNCORE, STEP, STEPWRITE, UNNORM, UP

INCRV850.txt
22FL ...      SEG   INCRV,850,MIKE PUTNAM,INCDUMP   
22^=    #   
23DW          SEGENTRY K1INCRV,X1INCRV  
23YG    #   
24D6    #  THIS SEGMENT ISSUES RETRIEVES FOR ANY FILES NOT ON-LINE WHICH HAVE TH
24XQ ...#  LAST RELIABLE DUMP ON PROCESSED INCREMENTS . 
25CB ...#  IF ALL TAPES FOR SUCH AN INCREMENT ARE WRONGED IT
26BL    #  LAUNCHES INTO A DIALOGUE WITH THE OPERATORS TO SEE IF THEY ARE EVER G
26W= ...#  TO RIGHT A TAPE CONTAINING THIS INCR.. IF THEY ARE NOT, IT MARKS THE 
27*W    #  INCR. AS OBSOLETE.  ON ENTRY, THERE ARE  FABSNB BLOCKS FOR EACH  
27TG    #  FILE NEEDING RETRIEVING FROM OBSOLETE INCR. (PLUS A COUNT OF SUCH
28*6    #  BLOCKS IN INCRV IN FINC BLOCK).  
28SQ    #   
29#B ...NOTAPES         14HLOSE THE FILES   
29S2 ...QUEST           36HQN 1,WILL A TAPE EVER BE AVAILABLE?  
2=?L    #   
2=R=    #     SUBROUTINES   
2?=W    #   
2?QG    #     TO LOOK AT THE NEXT BLOCK IN THE ACT. CHAIN & CHECK IT IS OF SPECI
2#=6    #     TYPE (GEOERR INCBLOCK IF NOT) 
2#PQ    #     ON ENTRY,X1-> BLOCK & LINK+1 CONTAINS BLOCK TYPE.    X3 IS S/R LIN
2*9B    #     ON EXIT,X1-> NEXT BLOCK.     USES X0.  NO COORDINATION.   
2*P2    #   
2B8L    NEXTBL  
2BN=          LDX   1  FPTR(1)  
2C7W    #SKI  K6INCRV   
2CMG    (   
2D76          LDX   0  ATYPE(1) 
2DLQ          BXU   0  0(3),XWR            [GEOERR IF WRONG BLOCK TYPE  
2F6B    )   
2FL2          EXIT  3  1
2G5L    #SKI  K6INCRV   
2GK=    XWR   GEOERR   BRIEFPM,INCBLOCK 
2H4W    #   
2HJG    #     FINDS THE INCINDEX RECORD WHOSE NUMBER IS IN X5 & THEN STEPWRITES 
2J46    #     ON ENTRY,X5= INCR NO. TO FIND, INCINDEX OPEN IN GENERAL MODE. 
2JHQ    #              X3 IS S/R LINK.  
2K3B    #     ON EXIT, X1=FX1, X3-> RECORD JUST REWRITTEN. USES X0,X2,AWORK3.   
2KH2    #              MAY COORDINATE.  
2L2L    #   
2LG=    STEPWRITE   
2L^W          SBX   3  FX1  
2MFG          SMO      FX2  
2M^6          STO   3  AWORK3              [REMEMBER LINK IN AWORK3 
2NDQ    STEP
2NYB          STEP  
2PD2    #SKI  K6INCRV   
2PXL          BZE   3  SEND                [GEOERR INC NORV IF INCR NOT FOUND   
2QC=          BXU   5  AINCNOR(3),STEP     [J IF NOT REQUIRED INCR RECORD   
2QWW          STEPWRITE 
2RBG          LDX   2  AWORK3(2)
2RW6          ADX   2  FX1  
2S*Q          EXIT  2  0
2STB    #   
2T*2    #   
2TSL    X1INCRV 
2TXQ ...#UNS  FPD   
2W2W ...      MHUNTW   1,FILE,FINCPROC  
2W62 ...#UNS  FPD   
2W96 ...#SKI
2W#=          MHUNTW   1,FILE,FINC  
2WRW          LDX   4  INCRV(1)            [X4= COUNT OF FABSNBS FOR RETRIEVES  
2X?G          BZE   4  NORV                [J IF NO RETRIEVES TO BE DONE
2XH# ...      STOZ     INCRV(1)           [CLEAR COUNT OF RVS   
2XR6          LDN   7  0                   [ZEROISE COUNT OF APROC BLOCKS   
2Y=Q          OPENINC  ,GENERAL            [OPEN INCINDEX   
2YQB          MHUNTW   1,FILE,FABSNB       [X1-> PST FABSNB 
2^=2          LDN   6  1                   [COUNT OF FABSNBS READ =1
2^PL    NEXTINC 
329=          LDX   5  A1(1)               [X5= INCR NO. IN FABSNB  
32NW          CALL  3  STEPWRITE           [FIND & REWRITE INCR RECORD  
338G ...      LDX   2  AMTSR(3)            [NO OF TAPES FOR INCREMENT   
33N6 ...      BZE   2  YTAPES              [SHOULDNT HAPPEN THAT THERE ARE NONE 
347Q ...                                   [BUT IF SO IGNORE INCREMENT. 
34MB ...      LDX   1  3                   [COPY PTR TO RECORD  
3572 ...TAPECHECK   
35LL ...      JMBAC    YTAPES,1,BMOPWRR,BMUSWRR [J IF TAPE NOT WRONGED  
366= ...      ADN   1  INCMAGLEN           [UPDATE PTR TO GIVE NEXT TAPE
36KW ...      BCT   2  TAPECHECK           [LOOP IF MORE
38JB          ADN   7  1                   [UPDATE COUNT OF APROC BLOCKS
3942          READAGAIN 
39HL          MHUNTW   1,FILE,FRB   
3=3=          NAME     1,FILE,APROC        [PRESERVE INCR RECORD AS PROC BLOCK  
3=GW          MHUNTW   2,FILE,FINCPROC  
3?2G          CHAIN    1,BPTR(2)           [CHAIN APROC BEFORE FINCPROC BLOCK   
3?G6 ...YTAPES  
3?^Q          MHUNTW   1,FILE,FABSNB       [X1-> 1ST FAB SNB
3#FB          LDN   2  1                   [INITIALISE TEMP. COUNT OF FABSNBS RE
3#^2    OLDFAB                             [FIND FABSNB WHICH HAD REACHED   
3*DL          BXE   2  6,NEWFAB            [J IF REACHED REQUIRED FABSNB
3*Y=          ADN   2  1
3BCW          CALL  3  NEXTBL              [X1-> NEXT BLOCK(FABSNB) 
3BXG    #HAL +FILE+FABSNB,0 
3CC6          BRN      OLDFAB   
3CWQ    NEWFAB  
3DBB          BXE   6  4,NOFAB             [J IF NO MORE FABSNBS TO LOOK AT 
3DW2          ADN   6  1                   [UPDATE COUNT OF FABSNBS LOOKED AT   
3F*L          CALL  3  NEXTBL              [X1-> NEXT BLOCK(FABSNB) 
3FT=    #HAL +FILE+FABSNB,0 
3G#W          LDX   0  5
3GSG          SBX   0  A1(1)
3H#6          BPZ   0  NEWFAB              [J IF INCR NO. NOT HIGHER
3HRQ          BRN      NEXTINC  
3J?B    NOFAB   
3JR2          CLOSETOP  
3K=L    #   
3KQ=    #   
3L9W          NGN   5  1                   [INITIALISE INCR NO. IN NEXT APROC BL
3LPG          BZE   7  NXTFAB              [J IF NO APROC BLOCKS PRESENT
3M96          MHUNTW   2,FILE,APROC 
3MNQ          LDX   5  AINCNO(2)           [X5= INCR NO. IN 1ST APROC BLOCK 
3N8B    NXTFAB  
3NN2          MHUNTW   1,FILE,FABSNB
3P7L          LDX   0  A1(1)
3PM=          BXL   0  5,NOQUEST           [J IF CAN ISSUE THIS RETRIEVE WITHOUT
3Q6W                                       [ ASKING QUESTIONS   
3QLG    #   
3R66    #   
3RKQ          SETNCORE 2,3,FLIB,FLINC   
3S5B          LDN   0  1
3SK2          STO   0  A1(3)               [INITIALISED FLIB/FLINC  
3T4L    NEWINC  
3TJ=          LDX   0  ALOGLEN(3)   
3W3W          ADN   0  1
3WHG          STO   0  ACOMMUNE1(2) 
3X36          ALTLEN   3,ACOMMUNE1(2),FLIB,FLINC  [LENGTHEN FLIB/FLINC BY 1 WORD
3XGQ          MHUNTW   1,FLIB,FLINC 
3Y2B          LDN   0  1
3YG2          ADS   0  A1(1)               [UPDATE REC HEADER   
3Y^L          SMO      ALOGLEN(1)   
3^F=          STO   5  A1-1(1)             [INSERT INCR NO. INTO FLIB/FLINC 
3^YW          SBN   7  1                   [DECREASE COUNT OF APROC BLOCKS  
42DG          BZE   7  MNOPROC             [J IF NO MORE APROC BLOCKS   
42Y6          MHUNTW   1,FILE,APROC 
43CQ          LDX   2  1                   [X2-> 1ST APROC  
43XB          CALL  3  NEXTBL              [X1-> 2ND APROC  
44C2    #HAL  +FILE+APROC,0 
44WL          LDX   5  AINCNO(1)           [X5= INCR NO. IN NEXT APROC BLOCK
45B=          LDX   6  AMTS(2)             [X6= NO. OF MTS IN 1ST APROC 
45TW          BXU   6  AMTS(1),MDIFF       [J IF NO. OF MTS IN THE 2 RECORDS DIF
46*G    M2ND
46T6          LDX   3  AMAG(1)             [X3= NEXT MT IN 2ND APROC
47#Q          LDX   0  AMTS(2)             [X0= NO. OF MTS  
47SB    M1ST
48#2          BXE   3  AMAG(2),MFOU        [J IF FOUND MT IN 1ST APROC  
48RL          ADN   2  INCMAGLEN           [UPDATE POINTER  
49?=          BCT   0  M1ST                [J IF MORE MTS TO SEARCH 
49QW          BRN      MDIFF               [1ST & 2ND APROCS DIFFERENT  
4==G    MFOU
4=Q6          MHUNTW  2,FILE,APROC        [X2-> 1ST APROC   
4?9Q          ADN   1  INCMAGLEN           [UPDATE POINTER IN 1ST APROC 
4?PB          BCT   6  M2ND                [J IF MORE MTS TO COMPARE
4#92          MFREEW   FILE,APROC          [APROCS CONTAIN SAME MTS 
4#NL          MHUNTW   3,FLIB,FLINC 
4*8=          BRN      NEWINC   
4*MW    MNOPROC 
4B7G          NGN   5  1                   [NO MORE APROC BLOCKS
4BM6    MDIFF   
4C6Q          OUTINCS                      [OUTPUT AS PARAMETER INCR NOS. IN FLI
4CLB          OUTTSNS                      [OUTPUT AS PARAM, TSNS IN 1ST APROC  
4D62 ...      MONOUT   INCUSEFUL           [TELL OPS INCS AND TAPES 
4DLS ...#   
4DN2 ...[ ******************************************
4DP8 ...[  CSS SPECIAL TO INHIBIT THE QUESTION  
4DQB ...[  TO PREVENT THEIR LOW QUALITY OPERATORS FROM  
4DRJ ...[  ANSWERING NO UNNECESSARILY   
4DSQ ...[   
4DTY ...      SEGENTRY K80INCRV 
4DX6 ...      NULL                         [MACRO REPLACES THIS WITH
4DY# ...                                   [BRN K81INCRV
4D^G ...#   
4F2N ...[  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   
4F3W ...#   
4FHG ...      MONOUT   INCTAPESWR          [WARN OPS OF SIGNIFIANCE OF QUESTION 
4G36 ...      SETNCORE 9+CPDATA-A1,2,ADATA,CREADL  [DATA BLOCK FOR ISSUCOM  
4GGQ ...      LDN   0  36   
4LF6          STO   0  A1(2)               [SET CHAR. COUNT 
4LYQ          STOZ     A1+1(2)             [CLEAR 2ND HEADER WORD   
4MDB          ADN   1  QUEST
4MY2          ADN   2  CPDATA   
4NCL ...      MOVE  1  9                   [MOVE QUESTION TO ADATA/CREADL BLOCK 
4NX=          ISSUCOM  QUESTERR            [ASK OPS: "WILL A TAPE BE AVAILABLE?"
4PBW          MHUNT 2,APED,ADISPLAY        [X2-> BLOCK WITH ANSWER IN   
4PWG          LDX   0  APEDDISM(2)  
4QB6          BZE   0  WRANS
4QTQ          LDCH  6  APEDDISM+1(2)       [X6= 1ST CHAR. OF REPLY  
4R*B          SBN   6  #71  
4RT2          BZE   6  REPYES              [J IF ANSWER "Y........" 
4R^= ...      SBN   0  14   
4S5G ...      BNG   0  WRANS               [J IF NOT ENOUGH CHARS TO BE CORRECT 
4S9Q ...      LDN   6  14                  [NO OF CHARS TO CHECK
4SB2 ...TESTCHAR
4SG= ...      LDCH  0  APEDDISM+1(2)       [PICK UP CHAR OF REPLY   
4SLG ...      LDCH  3  NOTAPES(1)          [CHAR OF 'LOSE THE FILES'
4SQQ ...      BXU   0  3,WRANS             [ERROR IF NOT SAME   
4SX2 ...      BCHX  2  £                   [UPDATE MODS AND TEST NEXT CHAR  
4T3= ...      BCHX  1  £                   [IF THERE IS ONE 
4T7G ...      BCT   6  TESTCHAR 
4T?W          OUTINCS                      [OUTPUT AS PARAM. LIST OF INCR NOS.  
4TRG                                       [   IN FLIB/FLINC
4W?6          STO   5  AWORK2(2)           [REMEMBER INCR NO. IN NEXT APROC 
4WQQ          OUTTSNS                      [OUTPUT AS PARAM. LIST OF TSNS   
4X=B                                       [   IN FILE/APROC
4XQ2          MONOUT   INCOBSMT2           ["INCREMENT%A %B OBSOLETE ON MT%C %D"
4Y9L          OPENINC  ,GENERAL 
4YP=          LDN   6  0                   [INITIALISE POINTER DOWN FLIB/FLINC  
4^8W          BRN      NXTINC   
4^NG    NFIND   
5286          SMO      6
52MQ          LDX   5  A1+1(2)             [X5= NEXT INCR NO.   
537B          CALL  3  STEPWRITE           [LOCATE & REWRITE INCRRECORD 
53M2          BS    3,BIOBSR               [SET "INCR ONSOLETE" BIT 
546L          BC    3,BIPRNOBSR            [REMOVE "PROC BUT NOT OBSOLETE" BIT  
54L=          MHUNTW   1,FILE,FABSNB
555W          LDX   2  4                   [X2= NO. OF FABSNBS  
55KG    TINC
5656          LDX   0  A1(1)
56JQ          SBX   0  5
574B          BZE   0  RFRFAB              [J IF FAB NB FOR THIS INCR   
57J2          BPZ   0  NXTINC              [J IF NO MORE FABSNBS FOR THIS INCR  
583L    TNXTFAB 
58H=          SBN   2  1
592W          BZE   2  NXTINC              [J IF NO MORE FABSNBS
59GG          CALL  3  NEXTBL              [X1-> NEXT FABSNB
5=26    #HAL +FILE+FABSNB,0 
5=FQ          BRN      TINC 
5=^B    NXTINC  
5?F2          MHUNTW   2,FLIB,FLINC 
5?YL          ADN   6  1
5#D=          BXU   6  A1(2),NFIND         [J IF MORE INCR RECS TO UPDATE   
5#XW          CLOSETOP  
5*CG          LDX   5  AWORK2(2)           [X5=INCR NO. IN NEXT APROC   
5*X6          BRN     RFREE 
5BBQ    WRANS   
5BLJ ...      MHUNT    2,APED,ADISPLAY  
5BWB          OUTPARAM APEDDISM(2),APEDDISM+1,APED,ADISPLAY  [SET "REPLY" AS PAR
5CB2          MFREEW   APED,ADISPLAY
5CTL          MONOUT   ANOTVAL             ["%A IS NOT A VALID ANSWER"  
5D9* ...      BRN      MDIFF
5DK4 ...      SEGENTRY  K81INCRV
5DSW    REPYES                             [ANSWER "YES" (X6=0) 
5F#G          MONOUT   INCMTAV             [TO OPS CONSOLE =
5FS6                                       [   "MAKE TAPE AVAILABLE NOW PLEASE" 
5G?Q    RFREE   
5GRB          MFREEW   FLIB,FLINC   
5H?2          MFREEW   FILE,APROC   
5HQL          BRN      TMORE
5J==    RFRFAB  
5JPW          LDX   3  BPTR(1)             [PRESERVE FABSNB POINTER 
5K9G          SMO      FX2                 [   & COUNT OF FABSNBS LOOKED AT 
5KP6          STO   2  ACOMMUNE1
5L8Q          FREECORE 1                   [FREE FABSNB 
5LNB          LDX   2  ACOMMUNE1(2) 
5M82          LDX   1  3
5MML          SBN   4  1                   [DECREASE COUNT OF FABSNBS   
5N7=          BRN      TNXTFAB  
5NLW    #   
5P6G    #   
5PL6    NOQUEST 
5Q5Q          LDN   0  10   
5QKB          STO   0  A1(1)               [RESTORE FABSNB REC HEADER   
5R52          RV                           [RETRIEVE FILE   
5RJL          SETNCORE CPDATA-A1+10,2,ADATA,CREADL [BLOCK FOR UNNORM
5S4=          STOZ     A1(2)               [ZEROISE CHAR. COUNT 
5SHW          STOZ     A1+1(2)             [CLEAR 2ND RED-TAPE WORD 
5T3G          UNNORM
5TH6          MHUNTW   2,ADATA,CREADL   
5W2Q          OUTPARAM A1(2),CPDATA,ADATA,CREADL
5WGB          MONOUT   BEREST              [O MON FILE "%A IS BEING RETRIEVED"  
5X22          MFREEW   ADATA,CREADL 
5XFL          MFREEW   FILE,FABSNB  
5X^=          SBN   4  1                   [DECREASE COUNT OF FABSNBS   
5YDW    TMORE   
5YYG          BNZ   4  NXTFAB              [J IF MORE FABSNBS   
5^D6    #SKI  K6INCRV   
5^XQ          BNZ   7  SEND                [GEOERR IF APROC BLOCKS REMAIN   
62CB    NORV
62X2          UP
63BL    #   
63W=    QUESTERR
64*W    #SKI  K6INCRV   
64TG          GEOERR   BRIEFPM,INCQUES2    [NO ERROR FROM QUESTION COMMAND  
65*6    SEND
65SQ    #SKI  K6INCRV   
66#B          GEOERR   BRIEFPM,INC NORV    [END OF INCINDEX WITHOUT FINDING 
66S2                                       [                   ALL RETRIEVES
67?L    #   
67R=          MENDAREA 40,K99INCRV  
68=W    #   
68QG    #END
^^^^ ...23141562001000000000