WLG862

(George Source)

Macros used: AND, DELETE, DO, ELSE, FI, GETSOUT, IF, INSERT, LFRECNUM, MFREE, MHUNTW, NAME, READAGAIN, REPEAT, SEGENTRY, SKIP, STEPAGAIN, THEN, UP, WHILE

WLG862.txt
22FL    #OPT           K0WLG = 0
22^=    #LIS           K0WLG
23DW    #SEG           WLG  
23YG          8HWLG 
24D6    [   
24XQ       SEGENTRY K1WLG,WLGK1   [ CH TOUR ACTION  
25CB    [   
25X2    [   
26BL    [************************************************************   
26W=    [   
27*W    [ PRESET DATA   
27TG    [   
28*6    [************************************************************   
28SQ    [   
29#B    [   
29S2    #DEF           WGOUTKEY1 = GOUTKEY1 - A1
2=?L    #DEF           WGOUTKEY2 = GOUTKEY2 - A1
2=R=    #DEF           WGMODE = GMODE - A1  
2?=W    [   
2?QG    [   
2#=6    [ WW   WW       W   
2#PQ    [ WW  WW       WW   
2*9B    [ WW WW       WWW   
2*P2    [ WWWW         WW   
2B8L    [ WWWWW        WW   
2BN=    [ WW  WW       WW   
2C7W    [ WW   WW      WW   
2CMG    [ WW    WW     WW   
2D76    [   
2DLQ    [   
2F6B    WLGK1   
2FL2    [   
2G5L    [   
2GK=    [************************************************************   
2H4W    [   
2HJG    [ IMPLEMENT CH TOUR ACTION  
2J46    [   
2JHQ    [************************************************************   
2K3B    [   
2KH2    [   
2L2L       STEPAGAIN
2LG=       MHUNTW   2,ADATA,AWHATLIST   
2L^W       IF       MBAC,3,BLFRIMPLEM,BLFRPARTIMP   [ NOT BEING IMPLEMENTED 
2MFG ...   THEN 
2NDQ          LDCH  0  WGOUTKEY1(3) 
2NYB ...      IF       0,GE,AWLURGE(2)   [ ENTRY TO BE COUNTED THIS TIME
2PD2 ...      THEN  
2PXL ...         LDN   1  1 
2QC= ...         ADS   1  AWLCOUNT(2)   [ UPDATE COUNT OF CHANGED ENTRIES   
2QWW ...      FI
3*Y=       ELSE 
3BCW          LDN   0  1
3BXG          ADS   0  AWLCOUNTUN(2)   [ UPDATE COUNT OF UNCHANGED ENTRIES  
3DBB       FI   
3DBN ...   IF       MBAC,3,BLFRIMPLEM,BLFRPARTIMP   [ NOT BEING IMPLEMENTED 
3DC2 ...      LDCH  0  WGOUTKEY1(3) 
3DC# ...   AND      0,U,AWLURGE(2)   [ URGENCY TO BE CHANGED
3DCL ...   THEN 
3DCY ...      LDX   2  FX2  
3DD= ...      LDX   0  WGOUTKEY1(3) 
3DDJ ...      STO   0  AWORK3(2)   [ SAVE KEYS TO RESET POSITION
3DDW ...      LDX   0  WGOUTKEY2(3) 
3DF8 ...      ADN   0  1   [ AFTER ENTRY BEING CHANGED  
3DFG ...      STO   0  AWORK4(2)
3DFS ...      LFRECNUM 1,WGMODE(3)  
3DG6 ...      SBN   1  1
3DGD ...      SKIP     ,0(1)   [ TO LAST RECORD OF ENTRY
3DGQ ...      LDX   6  AWORK3(2)
3DH4 ...      MHUNTW   1,ADATA,AWHATLIST
3DHB ...      LDX   0  AWLURGE(1)   
3DHN ...      LDN   1  0
3DJ2 ...      DCH   0  6(1)   [ X6 = NEW MAIN KEY   
3DJ# ...      LFRECNUM 7,AWORK2(2)  
3DJL ...      DO           [ DELETE ENTRY   
3DJY ...         READAGAIN  
3DK= ...         DELETE 
3DKJ ...      REPEAT   CT 7 
3DKW ...      GETSOUT  ,6,7   [ INDEX SKIP TO POSITION FOR NEW ENTRY
3DL8 ...      WHILE    TRUE 
3DLG ...         STEPAGAIN  
3DLS ...      AND      3,NZ   [ NOT END OF FILE 
3DM6 ...      AND      6,E,WGOUTKEY1(3)   [ MAIN KEYS EQUAL 
3DMD ...      DO           [ STEP BEYOND ENTRIES WITH SAME MAIN KEY 
3DMQ ...         LDX   7  WGOUTKEY2(3)  
3DN4 ...         LFRECNUM 1,WGMODE(3)   
3DNB ...         SKIP     ,0(1) 
3DNN ...      REPEAT
3DP2 ...      ADN   7  1   [ NEW SUBKEY 
3DP# ...      MHUNTW   1,FILE,FRB   
3DPL ...      STO   6  GOUTKEY1(1)   [ MAIN KEY 
3DPY ...      STO   7  GOUTKEY2(1)   [ SUB KEY  
3DQ= ...      LFRECNUM 7,GMODE(1)   
3DQJ ...      DO           [ INSERT ENTRY IN NEW POSITION   
3DQW ...         MHUNTW   1,FILE,FRB
3DR8 ...         NAME     1,FILE,FWB
3DRG ...         INSERT 
3DRS ...         MFREE    FILE,FWB  
3DS6 ...      REPEAT   CT 7 
3DSD ...      GETSOUT  ,AWORK3(2),AWORK4(2)   [ RESET POSITION IN :SYSTEM.OUTPUT
3DSQ ...   ELSE 
3DT4 ...      LFRECNUM 1,WGMODE(3)  
3DTB ...      SKIP     ,0(1)   [ WHOLE ENTRY
3DTN ...   FI   
3DW2       UP   
3F*L    [   
3FT=    #END
^^^^ ...026742210002