{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: LISTFNDA865)}}
====== LISTFNDA865 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:CLOSEOUT|CLOSEOUT]], [[george:macro:COMBRKIN|COMBRKIN]], [[george:macro:DELETE|DELETE]], [[george:macro:DOWN|DOWN]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETSOUT|GETSOUT]], [[george:macro:LFHUNT|LFHUNT]], [[george:macro:LFRECNUM|LFRECNUM]], [[george:macro:LFTHAW|LFTHAW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:NOTALIEN|NOTALIEN]], [[george:macro:OPENSOUT|OPENSOUT]], [[george:macro:PICKREP|PICKREP]], [[george:macro:READ|READ]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SKIP|SKIP]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:UP|UP]]
22FL ...#OPT K0LISTFNDA=0
22^= ...#LIS K0LISTFNDA>K0LISTFILE>K0ALLGEO>K0GREATGEO>K0COMMAND
23DW ...#SEG LISTFNDA [ROB RUSHTON
23YG ... 8HLISTFNDA
24D6 ... SEGENTRY K1LISTFNDA,POINT1
24XQ ... SEGENTRY K2LISTFNDA,POINT2
25CB ... SEGENTRY K3LISTFNDA,POINT3
25X2 ...[K1LISTFNDA THIS ENTRY DELETES A REQUEST FROM :SYSTEM.OUTPUT
2CMG [ AND FORMS THE FIRST STAGE OF AN LFDEL MACRO
2D76 [
2DLQ ...[K2LISTFNDA IS ENTERED BY A CPAT WHICH WAS BROKEN-IN ON WHILE
2F6B [ WAITING FOR AN OUTPUT DEVICE FOR AN ONLINE REQUEST
2FL2 [ IT DELETES THE REQUEST FROM :SYSTEM.OUTPUT
2G5L [
2GK= ...[K3LISTFNDA THIS ENTRY POINT IS USED BY THE SCHEDULER FROM
2H4W [ THE LFCHANGE MACRO ISSUED BY CHANGELIST
2HJG [
2LG= [
2L^W [***********************************************************************
2MFG [DATA AREA
2M^6 [
2NDQ [ THERE FOLLOWS A SELECTION OF IDENTIFIERS
2NKY ...#UNS G3SIGNET
2NR6 ...XSIGPROP #40000 [SIGNET PROPERTY IDENTIFIER.
2NYB [ FOR BIT POSITIONS IN GMODE.
2PD2 XIMPBIT #21400000 [IMPLEMENTABLE REQUEST MASK
2PXL PROPBIT #4000000 [ THERE IS A PROPERTY PARAMETER
2QC= SIMPBIT #20000000 [BEING IMPLEMENTED
2QWW XPARTIMP #2000000 [PARTIALLY IMPLEMENTED
2RBG XFILOFFBS #1400000 [FILES OFFLINE
2RW6 SETUPBIT #10000000 [THERE IS A SETUP FILE
2S*Q [
2YQB [
2^=2 [
2^PL [***********************************************************************
329= [SUBROUTINE AREA
3CWQ [
3DBB SKIPENT
3DW2 [THIS S/R ADVANCES THE READ POINTERS TO THE NEXT ENTRY IN SYSOUT
3F*L [X6 CONTAINS A COPY OF GMODE(WHICH MAY HAVE BEEN DOCTORED IF WE
3FT= [ARE NO LONGER POSITIONED ON THE FIRST RECORD OF THE ENTRY).
3G#W SBX 7 FX1
3GSG LFRECNUM 1,6
3H#6 SKIP ,0(1)
3HRQ ADX 7 FX1
3J?B EXIT 7 0
3JR2 [
3K=L STEP
3KQ= SBX 4 FX1
3L9W STEP
3LPG ADX 4 FX1
3M96 EXIT 4 0
4MY2 [
4NCL READREC
4NX= [THIS S/R READS THE NEXT RECORD FROM SYSOUT
4PBW SBX 6 FX1
4PWG READ
4QB6 MHUNTW 1,FILE,FRB
4QTQ ADX 6 FX1
4R*B EXIT 6 0
4RT2 SCRUBENT
4S#L [THIS S/R DELETES A REQUEST FROM SYSOUT.
4SS= [IT EXPECTS ACOMMUNE1 AND ACOMMUNE2 TO CONTAIN KEYS
4T?W [IT WILL PICK UP ANY FABSNBS AND ALSO THE CONSOLE
4TRG [PROPERTY ASSOCIATED WITH THE REQUEST.
4W?6 [IF WE ARE WITHIN LFCHANGE MACRO WE NEED TO PRESERVE COPY
4WQQ [OF THE APROPNOS BLOCK IN GOUT/INFO4
4X=B SBX 7 FX1
4XQ2 GETSOUT ,ACOMMUNE1(2),ACOMMUNE2(2)
4Y9L TESTREP2 OK,SCOK
4YP= GEOERR 1,INDXREP
4^8W SCOK READAGAIN
4^NG MHUNTW 1,FILE,FRB
5286 NAME 1,GOUT,INFO
52MQ LDX 5 GMODE(1)
537B LDX 1 FX1
53M2 LDX 0 PROPBIT(1)
546L ANDX 0 5
54L= BZE 0 SCNP [J IF NO PROPERTY
555W LDX 0 AWORK1(2)
55KG SBN 0 4
5656 BNZ 0 NOTCHANGE [J IF NOT LFCHANGE
56JQ [!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
574B [CODE TO CATER FOR CH WITH UR PARAMETER
57J2 CALL 6 READREC [ELSE PRESERVE PROPERTY RECORD
583L NAME 1,GOUT,INFO4
58H= BRN SCNP
592W NOTCHANGE
59GG [!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5=26 CALL 4 STEP
5=FQ [IT IS POSSIBLE THAT THIS CODE WILL BE OBEYED DURING E.M.S. BY BACKMAP
5=^B LDCH 0 ATYPE(2)
5?F2 SBN 0 ACTLF/64
5?YL BNZ 0 SCNP [J IF NOT ACTLF
5#D= LDX 0 CPROPNO-A1(3) [TRANSFER CONSOLE PROPERTY
5#XW STO 0 GSWORK3(2) [NUMBER
5*CG SCNP BNG 5 SCOL [J IF ONLINE
5*X6 CALL 6 READREC
5BBQ NAME 1,GOUT,INFO2
5BWB LDX 3 1
5CB2 LDX 1 FX1
5CTL CALL 6 WFLTEST [CHECK FOR WORKFILE
5D*= SCOL LDX 0 SETUPBIT(1)
5DSW ANDX 0 5
5F#G BZE 0 SCNS [J IF NO SETUP FILE
5FS6 CALL 6 READREC
5G?Q NAME 1,GOUT,INFO3
5GRB LDX 3 1
5H?2 LDX 1 FX1
5HQL CALL 6 WFLTEST
5J== SCNS LFRECNUM 4,5
5JPW [WE HAVE TO DELETE THE RECORDS IN REVERSE ORDER AS THE FILESTORE
5K9G [GETS CONFUSED IF WE DELETE THE LAST KEY-RECORD FROM A BLOCK
5KP6 [WITHOUT EMPTYING THE BLOCK.
5L8Q SCDEL CALL 6 SDELETE
5LNB BCT 4 SCDEL
5M82 CALL 4 STEP
5MML ADX 7 FX1
5N7= EXIT 7 0
5NLW [
5P6G SDELETE
5PL6 SBX 6 FX1
5Q5Q DELETE
5QKB ADX 6 FX1
5R52 EXIT 6 0
5RJL [
5S4= [THI S/R CHECKS WHETHER THE FABSNB POINTED AT BY X3 IS FOR A WORKFILE.
5SHW [IF SO, B16 OF ATYPE IS SET
5T3G [
5TH6 WFLAB 12HWORKFILE
5W2Q WFLTEST
5WGB TESTNAMX 3,WFLAB(1),A1+1(3),XT,2
5X22 LDN 0 #200
5XFL ORS 0 ATYPE(3)
5X^= XT LDX 2 FX2
5YDW EXIT 6 0
#Y56 [
#YJQ [
#^4B [***********************************************************************
#^J2 ...POINT1
*23L [THIS ENTRY POINT IMPLEMENTS THE LFDEL MACRO.
*2H= LDX 0 ACOMMUNE3(2)
*32W STO 0 AWORK1(2) [PRESERVE SWITCH
*3GG PICKREP 0
*426 STO 0 AWORK2(2) [PRESERVE REPLY
*4FQ CALL 7 SCRUBENT [DELETE ENTRY
*4^B ACROSS LISTNEXT,3
*5F2 [ ************
*5YL [
*6D= [***********************************************************************
*6XW ...POINT2
*7CG [THIS IS THE ENTRY POINT FOR AN ONLINE CPA WHICH HAS BEEN BROKEN
*7X6 [IN ON,AND HAS REASON TO BELIEVE THE REQUEST IS NOT CURRENTLY
*8BQ [BEING IMPLEMENTED
*8WB NOB OPENSOUT NOB,GENERAL
*9B2 LDX 4 AWORK2(2) [PICK UP KEY
*9TL LDN 5 0
*=*= GETSOUT ,4,5 [LOCATE REQUESTS FOR THIS JOB
*=SW STEPAGAIN
*?#G TRT BZE 3 NFOUND
*?S6 TXU 4 GOUTKEY1-A1(3)
*#?Q BCS NFOUND
*#RB LDX 6 GMODE-A1(3)
**?2 BNG 6 THISO [J IF REQUEST FOUND
**QL CALL 7 SKIPENT
*B== BRN TRT
*BPW THISO LDX 7 SETUPBIT(1)
*C9G LDX 0 GOUTKEY2-A1(3) [REMEMBER SUB KEY
*CP6 STO 0 AWORK3(2)
*D8Q ANDX 7 6 [FIND OUT ABOUT SETUP
*DNB LFRECNUM 5,6
*F82 ANDX 6 PROPBIT(1)
*FML BZE 6 NOLP [J NO PROPERTIES
*G7= CALL 4 STEP
*GLW NOLP BZE 7 NOLS
*H6G CALL 6 READREC
*HL6 NAME 1,FILE,FABSNB
*J5Q LDX 3 1
*JKB LDX 1 FX1
*K52 CALL 6 WFLTEST [CHECK FOR WORKFILE
*KJL LFTHAW
*L4= NOLS CALL 6 SDELETE
*LHW BCT 5 NOLS
*M3G LFHUNT 7,AWORK2(2),AWORK3(2),GOUT,GUPDATE
*MH6 BNG 3 NFOUND
*N2Q LDX 0 XFILOFFBS(1)
*NGB ANDX 0 GMODE(3)
*P22 BZE 0 NOFFLON [J IF NO OFFLINE FILES
*PFL LDX 1 FPTR(3)
*P^= FREECORE 1 [ELSE FREE FABSNB
*QDW NOFFLON
*QYG FREECORE 3 [FREE GUPDATE
*RD6 NFOUND
*RXQ CLOSEOUT [CLOSE SYSTEM.OUTPUT
*R^3 ... FSHCODE A,XENDA1
*S2# ...(
*S3K ...#
*S4W ...# SHARED FILESTORE: WE MUST PASS BREAK-IN BACK TO THE 'B' MACHINE
*S67 ...# IF THIS IS APPROPIATE
*S7D ...#
*S8P ... NOTALIEN XENDA1 [JIF NOT AN ALIEN ACTIVITY
*S=2 ... TRANSFIN [RETURN TO 'B' (WITH ZERO OFFSET)
*S?? ...#
*S#J ...XENDA1
*S*T ...)
*SCB COMBRKIN
*SX2 [
*TBL [***********************************************************************
*TW= [!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7!!!!!!
*W*W ...POINT3
*WTG [THIS IS THE ENTRY POINT FROM THE LFCHANGE MACRO
*X*6 [USED BY CH TO CHANGE URGENCY OF A :SYSTEM.OUTPUT ENTRY
*XSQ [ACOMMUNE1 HOLDS INDEX KEY OF ENTRY
*Y#B [ACOMMUNE2 HOLDS INDEX SUBKEY "
*YS2 [ACOMMUNE3 HOLDS THE NEW URGENCY
*^?L LDN 0 4
*^R= STO 0 AWORK1(2)
B2=W LDN 3 ACOMMUNE1(2) [IDENTIFY INTERFACE PARAMETERS
B2QG LDN 4 AWORK2(2)
B3=6 MOVE 3 3
B3PQ CALL 7 SCRUBENT [DELETE ENTRY
B49B MHUNT 1,GOUT,INFO
B4P2 LDX 0 AWORK4(2) [NEW URGENCY
B58L DCH 0 GOUTKEY1(1) [CREATE
B5N= STOZ GOUTKEY2(1) [NEW KEYS
B67W ... STOZ GSWORK1(2) [GWAKECT=0.ACTS AS FLAG IN L/END.
B776 STOZ GSWORK2(2) [GMULTID
B7LQ DOWN LISTEND,3 [INSERT REQUEST
B86B LDN 0 1 [UPDATE SUBKEY
B8L2 ADS 0 AWORK3(2)
B95L GETSOUT ,AWORK2(2),AWORK3(2) [REPOSITION READ POINTERS
B9K= UP
B=4W [!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7!!!!!!
B=JG #END
^^^^ ...25770540000100000000