{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: WLD864)}}
====== WLD864 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:AND|AND]], [[george:macro:APPEND|APPEND]], [[george:macro:ASSMESS|ASSMESS]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BC|BC]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BS|BS]], [[george:macro:BXU|BXU]], [[george:macro:CATMASK|CATMASK]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DELETE|DELETE]], [[george:macro:DO|DO]], [[george:macro:DOWN|DOWN]], [[george:macro:ELSE|ELSE]], [[george:macro:ELSF|ELSF]], [[george:macro:FI|FI]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:HUNTW|HUNTW]], [[george:macro:IF|IF]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:LFRECNUM|LFRECNUM]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OPEN|OPEN]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:OR|OR]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:READ|READ]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:REPEAT|REPEAT]], [[george:macro:REWIND|REWIND]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:SETUPTAB|SETUPTAB]], [[george:macro:SKIP|SKIP]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:TESTBRKIN|TESTBRKIN]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:THAW|THAW]], [[george:macro:THAWWF|THAWWF]], [[george:macro:THEN|THEN]], [[george:macro:UNNORM|UNNORM]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:VFREE|VFREE]], [[george:macro:WHILE|WHILE]]
22FL #OPT K0WLD = 0
22^= #LIS K0WLD
23DW #SEG WLD
23YG 8HWLD
24D6 [
24XQ SEGENTRY K1WLD,WLDK1 [ WHATLIST ACTION
25CB SEGENTRY K2WLD,WLDK2 [ STOPLIST AND CHANGELIST ACTION
25X2 SEGENTRY K3WLD,WLDK3 [ CALL ON 'SFILEOUT' (FOR WLOUT)
26BL [
26W= [
27*W [************************************************************
27TG [
28*6 [ PRESET DATA
28SQ [
29#B [************************************************************
29S2 [
2=?L [
2=R= #DEF WGOUTKEY1 = GOUTKEY1 - A1
2?=W #DEF WGOUTKEY2 = GOUTKEY2 - A1
2?QG #DEF WGMODE = GMODE - A1
2#=6 #DEF WGHEAD = GHEAD - A1
2#PQ #DEF WGSUSE = GSUSE - A1
2*9B #DEF WGUSER = GUSER - A1
2*P2 #DEF WGJOBS = GJOBS - A1
2B8L #DEF WGJOBN = GJOBN - A1
2BN= #DEF WGOPTY = GOPTY - A1
2C7W #DEF WCPROPNO = CPROPNO - A1
2CMG #DEF WBPROPCNT = BPROPCNT - A1
2D76 #DEF WBPROPS = BPROPS - A1
2DLQ BITDEFS CLONG1,2,WBMESSBLK [ USED BY MESSAGE SYSTEM TO INDICATE PRE
2F6B [ OF GMON/ASET BLOCK
2FL2 [
2G5L [
2GK= PSTEPINC #777777 [UPDATES REC CNT AFTER 'STEP'
2H4W PERIMP +FREQLF [ REQUIRED FILE BEING IMPLEMENTED
2HJG WORKFILE 12HWORKFILE
2J46 PCATEGORY CATMASK CT,CE [ CATEGORIES FOR SL/CH ERROR MESSAGES
2JHQ [
2K3B [
2KH2 [************************************************************
2L2L [
2LG= SFILECOMP
2L^W [
2MFG [************************************************************
2M^6 [
2NDQ [ SUBROUTINE TO COMPARE A FABSNB WITH A FILE RECORD.
2NYB [ FGN AND LANG ONLY CHECKED IF SET IN FABSNB
2PD2 [
2PXL [ LINK X6 MUST BE PRESERVED THROUGHOUT
2QC= [
2QWW [ ENVIRONMENT REQUIRED:-
2RBG [ X2 -> 10 WD FABSNB REPRESENTING SELECTION PARAM
2RW6 [ X3 -> FILE RECORD IN FULL FABSNB FORMAT
2S*Q [
2STB [ ENVIRONMENT CHANGES:-
2T*2 [ X2, X3, X4 DESTROYED
2TSL [ X0 = 0 IF MATCHED, 1 IF DIDN'T
2W#= [
2WRW LDEX 0 0(3) [X0 := RECORD LENGTH
2X?G LDX 4 0
2XR6 ADN 4 0(3)
2Y=Q SBN 4 6
2YQB STO 4 3 [X3 -> LOCALNAME IN RECORD
2^=2 LDN 5 3 [COMPARE WITH NAME IN SELECTION FABSNB
2^PL DO
329= LDX 4 A1+4(2)
32NW BXU 4 0(3),SFILEFAIL
338G ADN 2 1
33N6 ADN 3 1
347Q REPEAT CT 5
34MB LDN 5 2 [FOR FGN, LANG DO
3572 DO
35LL LDX 4 A1+5(2)
366= IF 4,NZ [IF SELECTED THEN
36KW THEN
375G BXU 4 1(3),SFILEFAIL [COMPARE
37K6 FI [FI
384Q ADN 2 1
38JB ADN 3 1
3942 REPEAT CT 5 [REPEAT
39HL SBN 2 5
3=3= SBN 0 10
3=GW SBN 3 9
3?2G IF 0,NZ
3?G6 THEN
3?^Q SBN 3 2
3#FB FI
3#^2 LDN 5 3
3*DL DO
3*Y= LDX 4 A1+1(2)
3BCW BXU 4 1(3),SFILEFAIL
3BXG ADN 2 1
3CC6 ADN 3 1
3CWQ REPEAT CT 5 [REPEAT
3DBB LDN 0 0
3DW2 EXIT 6 0
3F*L SFILEFAIL
3FT= LDN 0 1
3G#W EXIT 6 0
3GSG [
3H#6 [************************************************************
3HRQ [
3J?B SCOMPPROP
3JR2 [
3K=L [************************************************************
3KQ= [
3L9W [ COMPARE PROPERTY IN X5 WITH THOSE IN ADATA/AWHATLIST BLOCK
3LPG [
3M96 MHUNTW 2,ADATA,AWHATLIST
3MNQ LDN 4 ATTMAX
3N8B LDN 2 AWLPRNO(2)
3NN2 ANDX 5 BSP16
3P7L WHILE TRUE [LOOP UNTIL ...
3PM= LDX 0 0(2)
3Q6W ANDX 0 BSP16
3QLG ADN 2 1
3R66 AND 0,U,5 [ ... PROP FOUND IN /AWHATLIST ...
3RKQ DO
3S5B REPEAT CT 4 [ ... OR NONE LEFT
3SK2 IF 4,NZ [IF FOUND THEN
3T4L THEN
3TJ= LDN 0 1
3W3W SMO FX2
3WHG SBS 0 AWORK4 [DECREMENT 'TO BE FOUND' CT
3X36 FI [FI
3XGQ EXIT 6 0
3Y2B [
3YG2 [
3Y^L [************************************************************
3^F= [
3^YW SCOMPARE
42DG [
42Y6 [************************************************************
43CQ [
43XB [
44C2 [ SUBROUTINE TO COMPARE A SYSOUT REQUEST WITH AN
44WL [ ADATA/AWHATLIST BLOCK
45B= [
45TW [ LINK X7 MUST BE PRESERVED THROUGHOUT
46*G [
46T6 [ ENVIRONMENT REQUIRED:-
47#Q [ X3 -> FIRST RECORD OF SYSOUT REQUEST
47SB [ AWORK2 = GMODE OF REQUEST
48#2 [
48RL [ ENVIRONMENT CHANGES:-
49?= [ ALL ACCUMULATORS, AWORK3,AWORK4 DESTROYED
49QW [ IF MATCHED, XO = 0 AND X3 -> REC ZERO OF REQUEST
4==G [ IF DIDN'T, X0 = 1 AND 'STEP' WILL GET NEXT REQUEST
4=Q6 [
4?9Q SBX 7 FX1
4?PB [
4#92 LDX 2 FX2
4#NL LFRECNUM 6,AWORK2(2)
4*8= STO 6 AWORK3(2) [SAVE COUNT OF RECORDS IN ENTRY
4*MW [
4B7G [ FORMAT OF AWORK3 IS :-
4BM6 [ B0-5 BACKSPACES REQUIRED TO RETURN TO FIRST RECORD
4C6Q [ OF CURRENT SYSOUT ENTRY
4CLB [ B15-23 RECORDS TO SKIP TO POINT TO FIRST RECORD OF
4D62 [ NEXT SYSOUT ENTRY
4DKL [
4F5= LDX 0 AWORK2(2)
4FJW BNG 0 XCOMPFAIL [FAILIF ONLINE REQUEST
4G4G [
4GJ6 MHUNTW 2,ADATA,AWHATLIST
4H3Q [
4HHB IF BS,2,AWLBJOBNO [IF JOBNO THEN
4J32 THEN
4JGL LDX 0 AWLJOBNAM(2)
4K2= BXU 0 WGJOBS(3),XCOMPFAIL [FAILS IF WRONG JOBNO
4KFW IF BS,2,AWLBUSERCON [IF USER CONTEXT THEN
4K^G THEN
4LF6 LDX 4 AWLUSERNAM(2)
4LYQ LDX 5 AWLUSERNAM+1(2)
4MDB LDX 6 AWLUSERNAM+2(2)
4MY2 TXU 4 WGUSER(3)
4NCL TXU 5 WGUSER+1(3)
4NX= TXU 6 WGUSER+2(3)
4PBW BCS ZOTHERUSER [ERRIF USER DOESN'T OWN JOB
4PWG FI [FI
4QB6 FI [FI
4QTQ [
4R*B IF BS,2,AWLBUSERNAM [IF USERNAME SELECTION THEN
4RT2 THEN
4S#L LDX 4 AWLUSERNAM(2)
4SS= LDX 5 AWLUSERNAM+1(2)
4T?W LDX 6 AWLUSERNAM+2(2)
4TRG TXU 4 WGUSER(3)
4W?6 TXU 5 WGUSER+1(3)
4WQQ TXU 6 WGUSER+2(3)
4X=B BCS XCOMPFAIL [FAILIF DIFFER
4XQ2 FI [FI
4Y9L [
4YP= IF BS,2,AWLBJOBNAM [IF JOBNAME SELECTION THEN
4^8W THEN
4^NG LDX 4 AWLJOBNAM(2)
5286 LDX 5 AWLJOBNAM+1(2)
52MQ LDX 6 AWLJOBNAM+2(2)
537B TXU 4 WGJOBN(3)
53M2 TXU 5 WGJOBN+1(3)
546L TXU 6 WGJOBN+2(3)
54L= BCS XCOMPFAIL [FAILIF DIFFER
555W FI [FI
55KG [
5656 IF BS,2,AWLBPERI [IF PERIPH SELECTION THEN
56JQ THEN
574B LDX 0 WGOPTY(3)
57J2 BXU 0 AWLPERI(2),XCOMPFAIL [FAILIF DIFFER
583L FI [FI
58H= [
592W IF BS,2,AWLBWKFILE [IF WORKFILE THEN
59GG THEN
5=26 MHUNT 1,FILE,FNAME
5=FQ LDX 0 ANUM(1)
5=^B ANDN 0 #7777
5?F2 BXU 0 WGSUSE(3),XCOMPFAIL [FAILS IF DIFFERENT STRING LENGTH
5?YL STO 3 4 [PRESERVE RECORD PTR
5#D= DO
5#XW LDCH 5 WGHEAD(3)
5*CG LDCH 6 APARA(1)
5*X6 BXU 5 6,XCOMPFAIL [FAILS IF DIFFERENT STRINGS
5BBQ BCHX 1 £
5BWB BCHX 3 £
5CB2 REPEAT CT 0
5CTL LDX 3 4 [RESTORE RECORD PTR
5D*= FI [FI
5DSW [
5F#G IF MBS,2,AWLBPROP,AWLBPRCENT [IF PROP SELECTION THEN
5FS6 THEN
5G?Q IF BS,3,BLFRPROPREC [IF PROPERTY RECORD THEN
5GRB THEN
5H?2 LDX 0 AWLPRCNT(2)
5HQL SMO FX2
5J== STO 0 AWORK4 [ NON-CONSOLE PROPERTY COUNT
5JPW STEP
5K9G LDX 0 PSTEPINC(1)
5KP6 ADS 0 AWORK3(2) [UPDATE RECORD COUNT
5L8Q LDX 6 WCPROPNO(3)
5LNB MHUNTW 2,ADATA,AWHATLIST
5M82 IF 6,NZ [IF NON-CENTRAL CONSPROP THEN
5MML THEN
5N7= JBS XCOMPFAIL,2,AWLBPRCENT
5NLW [FAILIF CENTRAL SELECTION
5P6G FI [FI
5PL6 ANDX 6 BSP16
5Q5Q LDX 0 AWLCONS(2)
5QKB ANDX 0 BSP16
5R52 IF 0,NZ [IF CONSOLE SELECTION THEN
5RJL THEN
5S4= BXU 6 0,XCOMPFAIL [FAILIF DIFFER
5SHW FI [FI
5T3G LDX 1 WBPROPCNT(3)
5TH6 IF 1,NZ [IF PROPS TO LF THEN
5W2Q THEN
5WGB DO
5X22 LDX 5 WBPROPS(3) [SEARCH FOR THEM
5XFL CALL 6 SCOMPPROP
5X^= ADN 3 1
5YDW REPEAT CT 1
5YYG FI [FI
5^D6 LDX 2 FX2
5^XQ LDX 0 AWORK4(2)
62CB BNZ 0 XCOMPFAIL [FAILIF NOT ALL FOUND
62X2 MHUNTW 2,ADATA,AWHATLIST
63BL ELSE [ELSE (NO PRP REC)
63W= JBC XCOMPFAIL,2,AWLBPRCENT
64*W [FAILIF DIDN'T SELECT CENTRAL
64TG JBS XCOMPFAIL,2,AWLBPROP
65*6 [FAILIF SELECTED PROPS
65SQ FI [FI PROPREC
66#B FI [FI PROPERTY SELECTION
66S2 [
67?L IF BS,2,AWLBFILE [IF FILENAME THEN
67R= THEN
68=W LDN 6 1
68QG IF MBAC,2,AWLBPROP,AWLBPRCENT
69=6 AND BS,3,BLFRPROPREC [IF UNREAD PROP REC THEN
69PQ THEN
6=9B LDN 6 2 [MUST STEP PAST IT
6=P2 FI [FI
6?8L DO
6?N= STEP
6#7W LDX 0 PSTEPINC(1)
6#MG ADS 0 AWORK3(2)
6*76 REPEAT CT 6
6*LQ MHUNT 2,FILE,FABSNB
6B6B CALL 6 SFILECOMP
6BL2 BNZ 0 XCOMPFAIL
6C5L FI [FI
6CK= [
6D4W LDX 2 FX2
6DJG LDCH 6 AWORK3(2)
6F46 IF 6,NZ [FOR ALL RECORDS BUT 1ST DO
6FHQ THEN
6G3B DO
6GH2 BACKSPACE
6H2L REPEAT CT 6
6HG= FI [REPEAT
6H^W LDN 0 0 [PT AT 1ST RECORD, SET OK
6JFG BRN XITCOMPPROP
6J^6 XCOMPFAIL
6KDQ LDX 2 FX2
6KYB LDEX 1 AWORK3(2)
6LD2 SBN 1 1
6LXL IF 1,NZ [IF RECORDS TO SKIP THEN
6MC= THEN
6MWW SKIP ,0(1) [SKIP THEM
6NBG FI [FI
6NW6 LDN 0 1 [SET FAIL
6P*Q XITCOMPPROP
6PTB ADX 7 FX1
6Q*2 EXIT 7 0
6QSL [
6R#= [***********************************************************************
6RRW [
6S?G SFILEOUT
6SR6 [
6T=Q [***********************************************************************
6TQB [
6W=2 [ THIS SUBROUTINE READS THE NEXT LINE OF A FILE (:SYSTEM.OUTPUT),
6WPL [ WHICH IT EXPECTS TO BE IN THE FORM OF A 10 WD FABSNB, AND DOES
6X9= [ AN 'OUTPACK' ON IT
6XNW [
6Y8G [ ENVIRONMENT REQUIRED:-
6YN6 [ FILE READ POINTER SET CORRECTLY
6^7Q [
6^MB [ ENVIRONMENT CHANGES:-
7272 [ X0, X3, X4 DESTROYED
72LL [ X5 MUST BE PRESERVED - SEE SLISTLOST
736= [ X1=FX1
73KW [ X2=FX2
745G [ MESSAGE BLOCK UPDATED
74K6 [ X6 LINK
754Q [
75JB SBX 6 FX1
7642 SETNCORE 12,3,ADATA,CREADL
76HL STOZ A1(3)
773= LDN 1 A1+2(3)
77GW LDN 2 A1+3(3)
782G LDX 0 ACES
78G6 STO 0 0(1)
78^Q MOVE 1 9 [ SPACE FILL BLOCK
79FB READ
79^2 MHUNTW 3,FILE,FRB
7=DL NAME 3,FILE,FABSNB
7=Y= UNNORM FULL
7?CW SFILEOUT1
7?XG MHUNTW 3,ADATA,CREADL
7#C6 LDX 2 A1(3)
7#WQ ADN 2 3
7*BB SRL 2 2 [ LENGTH IN WORDS
7*W2 LDN 3 A1+2(3)
7B*L LDN 4 JPDENTRANT
7BT= OUTPACKX 3,2,4,SFILEOUT1
7C#W MFREE FILE,FABSNB
7CSG MFREE ADATA,CREADL
7D#6 ADX 6 FX1
7DRQ EXIT 6 0
7F?B [
7FR2 [
7G=L [***********************************************************************
7GQ= [
7H9W SOUTPUT
7HPG [
7J96 [***********************************************************************
7JNQ [
7K8B [ APPENDS INFORMATION ABOUT A SYSOUT REQUEST TO THE OUTPUT FILE
7KN2 [
7L7L [ LINK X7 MUST BE PRESERVED THROUGHOUT
7LM= [
7M6W [ ENVIRONMENT REQUIRED:-
7MLG [ FILE PTRS SET TO 1ST RECORD OF ENTRY TO BE WRITTEN
7N66 [
7NKQ [ ENVIRONMENT CHANGES:-
7P5B [ ALL ACCUMULATORS DESTROYED
7PK2 [ AWLCOUNT INCREMENTED IN /AWHATLIST
7Q4L [ FILE PTRS SET TO GIVE NEXT SYSOUT ENTRY ON 'STEP'
7QJ= [ IF 'FULL': INFO APPENDED TO O/P FILE
7R3W [ AWORK2 = GMODE OF ENTRY
7RHG [ IF MAX 'FULL' ENTRIES NOW WRITTEN,
7S36 [ FULL BIT WILL BE CLEAR AND "OUTPUT TERMINATED"
7SGQ [ WILL HAVE BEEN WRITTEN TO O/P FILE
7T2B [
7TG2 SBX 7 FX1
7T^L MHUNTW 2,ADATA,AWHATLIST
7WF= IF BC,2,AWLBOPER [IF 'OP' OR USER THEN
7WYW THEN
7XDG TESTBRKIN ZBREAKIN [TEST FOR BREAKIN
7XY6 MHUNTW 2,ADATA,AWHATLIST
7YCQ FI [FI
7YXB LDN 0 1
7^C2 ADS 0 AWLCOUNT(2)
7^WL IF BS,2,AWLBFULL [IF FULL THEN
82B= THEN
82TW DOWN WLOUT,1 [APPEND ENTRY TO OUTPUT FILE
83*G BRN ZABANDON [COME UP TO THIS ONLY IF FILE FULL
83T6 LDX 0 ACOMMUNE2(2) [COME UP HERE IF APPENDED OK, WHERE
84#Q STO 0 AWORK2(2) [ WE COPY GMODE INTO AWORK2
84SB ELSE
85#2 STEPAGAIN
85RL LFRECNUM 3,WGMODE(3)
86?= SBN 3 1
86QW IF 3,NZ
87=G THEN
87Q6 SKIP ,0(3)
889Q FI
88PB FI [FI FULL
8992 ADX 7 FX1
89NL EXIT 7 0
8=8= [
8=MW [
8?7G [************************************************************
8?M6 [
8#6Q SERROR
8#LB [
8*62 [************************************************************
8*KL [
8B5= [
8BJW [ ASSEMBLE ERROR MESSAGE AND APPEND TO OUTPUT FILE FOLLOWED BY BLANK LIN
8C4G [ X6 - MESSAGE IDENTIFIER
8CJ6 [
8D3Q [ LINK X7
8DHB [
8F32 SBX 7 FX1
8FGL MHUNTW 2,ADATA,AWHATLIST
8G2= LDN 0 1
8GFW ADS 0 AWLCOUNTUN(2) [ UPDATE UNCHANGED COUNT
8G^G SBS 0 AWLCOUNT(2) [ CORRECT OK COUNT
8HF6 IF BS,2,AWLBFULL [ FULL OUTPUT BEING GENERATED
8HYQ THEN
8JDB ASSMESS 6
8JY2 MHUNTW 3,GMON,AOUT
8KCL NAME 3,FILE,FAPB
8KX= LDEX 0 A1+FRH(3)
8LBW ADN 0 11
8LWG SRL 0 2
8MB6 STO 0 A1+FRH(3) [ CONVERT MESSAGE LENGTH TO WORDS
8MTQ LDX 0 PCATEGORY(1)
8N*B STO 0 A1+FRH+1(3) [ SET MESSAGE CATEGORY
8NT2 APPEND 1,ZABANDON
8P#L MHUNTW 3,FILE,FAPB
8PS= LDN 0 2
8Q?W STO 0 A1+FRH(3) [ BLANK LINE
8QRG APPEND 1,ZABANDON
8R?6 MFREE FILE,FAPB
8RQQ ELSE
8S=B VFREE GMON,ASET [ FREE MESSAGE BLOCK IF PRESENT
8SQ2 BC FX2,WBMESSBLK
8T9L FI
8TP= ADX 7 FX1
8W8W EXIT 7 0
8WNG [
8X86 [************************************************************
8XMQ [
8Y7B SOUTPACK
8YM2 [
8^6L [************************************************************
8^L= [
925W [
92KG [ OUTPACKX - DATA X5 - PDC X6 - LENGTH 1
9356 [
93JQ SBX 7 FX1
944B LDN 2 5
94J2 LDN 3 1
953L OUTPACKX 2,3,6
95H= ADX 7 FX1
962W EXIT 7 0
96GG [
9726 [
97FQ [
97^B [************************************************************
98F2 [
98YL SLISTLOST
99D= [
99XW [************************************************************
9=CG [
9=X6 [
9?BQ [
9?WB [ OUTPUT LISTFILE LOST DUE TO STOPLIST MESSAGE TO SYSTEM JOURNAL
9#B2 [
9#TL [ LINK X7
9**= [
9*SW SBX 7 FX1
9B#G OUTBLOCN 20
9BS6 STEPAGAIN
9C?Q OUTPACK WGUSER(3),3,USERNAME
9CRB OUTPACK WGJOBN(3),3,JOBNAME
9D?2 LDX 5 WGJOBS(3) [SAVE JOBNO OF AFFECTED JOB
9DQL [X5 MUST BE PRESERVED BY 'SFILEOUT'
9F== IF BS,3,BLFRPROPREC [ PROPERTY RECORD
9FPW THEN
9G9G STEP
9GP6 CALL 6 SFILEOUT
9H8Q BACKSPACE
9HNB ELSE
9J82 CALL 6 SFILEOUT
9JML FI
9K7= BACKSPACE
9KLW [JOBNO OF AFFECTED JOB TO JNL
9L6G MONOUT JLFSLIST,5 [ ========
9LL6 ADX 7 FX1
9M5Q EXIT 7 0
9MKB [
9N52 [
9NJL [************************************************************
9P4= [
9PHW STHAW
9Q3G [
9QH6 [************************************************************
9R2Q [
9RGB [
9S22 [
9SFL [ THAW FILE IN CURRENT RECORD IN SYSTEM.OUTPUT
9S^= [
9TDW [ LINK X6
9TYG [
9WD6 SBX 6 FX1
9WXQ READAGAIN
9XCB MHUNTW 2,FILE,FRB
9XX2 NAME 2,FILE,FABSNB
9YBL LDX 1 FX1
9YW= IF +A1+1(2),E,WORKFILE(1) [ USERNAME IS WORKFILE
9^*W AND +A1+2(2),E,WORKFILE+1(1)
9^TG AND +A1+3(2),E,WORKFILE+2(1)
=2*6 THEN
=2SQ THAWWF STHAW1 [ J IF NO FILE/FCB FOR WORKFILE
=3#B ELSE
=3S2 STHAW1
=4?L OPENDIR (GEOERR),GENERAL,ERASING,QUERY
=4R= IF REP2,OK [IF OPENED OK, THAW FILE
=5=W THEN
=5QG STHAW2
=6=6 THAW STHAW2
=6PQ CLOSETOP
=79B MFREE FILE,ENT
=7P2 ELSE [ELSE (DUFF OPEN)
=88L TESTRPN2 NOFILE,ZOPENFAIL [ALLOW NOFILE SINCE NO HARM DONE
=8N= [GEOERR ON OTHERS 'COS EITHER...
=97W [CAN'T HAPPEN OR CAN'T COPE
=9MG FI [FI
==76 FI
==LQ MFREE FILE,FABSNB
=?6B ADX 6 FX1
=?L2 EXIT 6 0
=#5L [
=#K= [
=*4W [ WW WW W
=*JG [ WW WW WW
=B46 [ WW WW WWW
=BHQ [ WWWW WW
=C3B [ WWWWW WW
=CH2 [ WW WW WW
=D2L [ WW WW WW
=DG= [ WW WW WW
=D^W [
=FFG [
=F^6 WLDK1
=GDQ [
=GYB [
=HD2 [************************************************************
=HXL [
=JC= [ WHATLIST ACTION
=JWW [
=KBG [************************************************************
=KW6 [
=L*Q [
=LTB WHILE TRUE
=M*2 STEP
=MSL AND 3,NZ [ NOT END OF FILE
=N#= DO
=NRW LDX 0 WGMODE(3)
=P?G STO 0 AWORK2(2)
=PR6 CALL 7 SCOMPARE
=Q=Q IF 0,ZE [ MATCHES SELECTION CRITERIA
=QQB THEN
=R=2 CALL 7 SOUTPUT
=RPL FI
=S9= REPEAT
=SNW SETREP OK
=T8G UPPLUS 1
=TN6 [
=W7Q [
=WMB [ WW WW WWWWW
=X72 [ WW WW WW WW
=XLL [ WW WW WW
=Y6= [ WWWW WW
=YKW [ WWWWW WWWWW
=^5G [ WW WW WW
=^K6 [ WW WW WW
?24Q [ WW WW WWWWWWWW
?2JB [
?342 [
?3HL WLDK2
?43= [
?4GW [
?52G [************************************************************
?5G6 [
?5^Q [ STOPLIST AND CHANGELIST ACTION
?6FB [
?6^2 [************************************************************
?7DL [
?7Y= [
?8CW MHUNTW 2,ADATA,AWHATLIST
?8XG IF MBAS,2,AWLBCH,AWLBURGE [ CH TOUR
?9C6 THEN
?9WQ [
?=BB [ CH TOUR
?=W2 [
??*L STEP
??T= WHILE TRUE
?##W STEPAGAIN
?#SG AND 3,NZ [ NOT END OF FILE
?*#6 DO
?*RQ LDX 0 WGMODE(3)
?B?B STO 0 AWORK2(2)
?BR2 CALL 7 SCOMPARE
?C=L IF 0,ZE [ MATCHES SELECTION CRITERIA
?CQ= THEN
?D9W DOWN WLG,1
?DPG ELSE
?F96 STEP
?FNQ FI
?G8B REPEAT
?GN2 REWIND
?H7L FI
?HM= [
?J6W [
?JLG [
?K66 MHUNTW 2,ADATA,AWHATLIST
?KKQ IF EITHER,MBC,2,AWLBCH,AWLBURGE [ NOT CH TOUR
?L5B OR BS,2,AWLBFULL [ FULL
?LK2 THEN
?M4L STOZ AWLCOUNT(2)
?MJ= STOZ AWLCOUNTUN(2)
?N3W WHILE TRUE
?NHG STEP
?P36 AND 3,NZ [ NOT END OF FILE
?PGQ DO
?Q2B LDX 0 WGMODE(3)
?QG2 STO 0 AWORK2(2)
?Q^L CALL 7 SCOMPARE
?RF= IF 0,ZE [ MATCHES SELECTION CRITERIA
?RYW THEN
?SDG STEPAGAIN
?SY6 [
?TCQ [ BEING IMPLEMENTED ?
?TXB [
?WC2 IF BS,3,BLFRIMPLEM [ BEING IMPLEMENTED
?WWL THEN
?XB= GEOPACK 5,GSOURCE1-A1(3)
?XTW STO 5 AWORK1(2)
?Y*G CALL 7 SOUTPUT
?YT6 LDN 6 JPDNULL [ INCLUDE UNIT NO.
?^#Q CALL 7 SOUTPACK
?^SB LDN 6 JPDGEOPER [ UNIT NO.
#2#2 LDX 5 AWORK1(2)
#2RL CALL 7 SOUTPACK
#3?= LDX 6 PERIMP(1)
#3QW CALL 7 SERROR [ ERROR - BEING IMPLEMENTED
#4=G ELSF BS,3,BLFRPARTIMP [ PARTIALLY IMPLEMENTED
#4Q6 THEN
#59Q CALL 7 SOUTPUT
#5PB LDN 6 JPDSKIP [ EXCLUDE UNIT NO.
#692 CALL 7 SOUTPACK
#6NL LDX 6 PERIMP(1)
#78= CALL 7 SERROR [ ERROR - BEING IMPLEMENTED
#7MW ELSF TRUE
#87G MHUNTW 2,ADATA,AWHATLIST
#8M6 AND BS,2,AWLBSL [ STOPLIST
#96Q THEN
#9LB [
#=62 [ STOPLIST
#=KL [
#?5= IF MBAS,3,BLFRMULTI,BLFRSETUP [ MULTIFILE AND SET
#?JW AND BC,3,BLFRNLASTEL [ LAST ELEMENT OF MULTIFILE
##4G THEN
##J6 HUNTW 1,FILE,FTAB
#*3Q IF 1,NG [ NO FILE/FTAB BLOCK
#*HB THEN
#B32 SETUPTAB [ SET UP TAB BLOCK FOR LAST ELEMENTS O
#BGL [ N.B. TAB SAVED IS KEYS OF ENTRY
#C2= MHUNTW 1,FILE,FTAB
#CFW FI
#C^G LDX 7 ALOGLEN(1)
#DF6 ADN 7 2
#DYQ ALTLEN 1,7,FILE,FTAB
#FDB STEPAGAIN
#FY2 MHUNTW 1,FILE,FTAB
#GCL LDN 0 2
#GX= ADS 0 FTAPP(1)
#HBW ADX 1 FTAPP(1)
#HWG LDX 0 WGOUTKEY1(3)
#JB6 STO 0 A1(1)
#JTQ LDX 0 WGOUTKEY2(3)
#K*B STO 0 A1+1(1)
#KT2 CALL 7 SLISTLOST
#L#L CALL 7 SOUTPUT
#LS= ELSE
#M?W IF BS,3,BLFRSETUP [ SETUP FILE
#MRG THEN
#N?6 IF BS,3,BLFRMULTI [ ELEMENT OF MULTIFILE
#NQQ THEN
#P=B CALL 7 SLISTLOST
#PQ2 CALL 7 SOUTPUT
#Q9L ELSE
#QP= CALL 7 SLISTLOST
#R8W CALL 7 SOUTPUT
#RNG CALL 6 STHAW [ SETUP FILE
#S86 FI
#SMQ DELETE [ SETUP FILE RECORD
#T7B LFRECNUM 7,AWORK2(2)
#TM2 SBN 7 1
#W6L ELSE
#WL= CALL 7 SLISTLOST
#X5W CALL 7 SOUTPUT
#XKG LDX 2 FX2
#Y56 LFRECNUM 7,AWORK2(2)
#YJQ FI
#^4B CALL 6 STHAW [ MAIN FILE
#^J2 DO [ DELETE REST OF ENTRY
*23L DELETE
*2H= REPEAT CT 7
*32W FI
*3GG ELSF MBAS,2,AWLBCH,AWLBURGE [ CH TOUR
*426 THEN
*4FQ [
*4^B [ CH TOUR - FULL OUTPUT
*5F2 [
*5YL CALL 7 SOUTPUT
*6D= ELSE [ CH TOPR
*6XW [
*7CG [ CH TOPR
*7X6 [
*8BQ DOWN WLE,1
*8WB BRN ZBREAKIN [ BREAKIN
*9B2 IF REP2,WRONG
*9TL THEN
*=*= LDX 0 ACOMMUNE1(2) [ MESSAGE IDENTIFIER FROM WLE
*=SW STO 0 AWORK1(2)
*?#G CALL 7 SOUTPUT
*?S6 MHUNT 1,ADATA,CSTORE [ RESET MESSAGE BLOCK
*#?Q NAMETOP 1,GMON,ASET
*#RB LDX 2 FX2
**?2 BS 2,WBMESSBLK
**QL LDX 6 AWORK1(2)
*B== CALL 7 SERROR
*BPW ELSE
*C9G CALL 7 SOUTPUT
*CP6 FI
*D8Q FI
*DNB FI
*F82 REPEAT
*FML [
*G7= [ END OF :SYSTEM.OUTPUT
*GLW [
*H6G MHUNTW 2,ADATA,AWHATLIST
*HL6 IF BS,2,AWLBSL [ STOPLIST
*J5Q HUNTW 1,FILE,FTAB
*JKB AND 1,PZ [ FILE/FTAB SET UP
*K52 THEN
*KJL DOWN WLF,1
*L4= MFREE FILE,FTAB
*LHW FI
*M3G FI
*MH6 SETREP OK
*N2Q UPPLUS 1
*NGB [
*P22 [
*PFL [ WW WW WWWWWWWW
*P^= [ WW WW WW
*QDW [ WW WW WW
*QYG [ WWWW WWW
*RD6 [ WWWWW WW
*RXQ [ WW WW WW WW
*SCB [ WW WW WW WW
*SX2 [ WW WW WWWWWW
*TBL [
*TW= [
*W*W WLDK3
*WTG [
*X*6 [
*XSQ [************************************************************
*Y#B [
*YS2 [ CALL 'SFILEOUT'
*^?L [
*^R= [************************************************************
B2=W [
B2QG [
B3=6 CALL 6 SFILEOUT
B3PQ UP
B49B [
B4P2 [
B58L [************************************************************
B5N= [
B67W [ BREAKIN LABELS
B6MG [
B776 [************************************************************
B7LQ [
B86B [
B8L2 ZABANDON [ OUTPUT FILE FULL
B95L [
B9K= ZBREAKIN [ USER BREAKIN
B=4W [
B=JG SETREP OPEN
B?46 UP
B?HQ [
B#3B [
B#H2 [
B*2L [************************************************************
B*G= [
B*^W [ ERROR MESSAGES
BBFG [
BB^6 [************************************************************
BCDQ [
BCYB [
BDD2 ZOTHERUSER
BDXL SETREP NOTOWNER
BFC= UPPLUS 1
BFWW [
BGBG [
BGW6 [************************************************************
BH*Q [
BHTB [ GEOERRS
BJ*2 [
BJSL [************************************************************
BK#= [
BKRW [
BL?G ZGEOERR [ON OUTPACKING
BLR6 CALL 0 (GEOERR)
BM=Q ZOPENFAIL [ON OPENING SL'D FILE
BMQB GEOERR 1,SL-OPEN
BN=2 [
BNPL [
BP9= #END
^^^^ ...073552350001