{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: WLOUT865)}}
====== WLOUT865 ======
(George Source)
**Macros used:** [[george:macro:AND|AND]], [[george:macro:APPEND|APPEND]], [[george:macro:ASSMESS|ASSMESS]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BC|BC]], [[george:macro:BSXD|BSXD]], [[george:macro:DO|DO]], [[george:macro:DOWN|DOWN]], [[george:macro:ELSE|ELSE]], [[george:macro:ELSF|ELSF]], [[george:macro:FI|FI]], [[george:macro:IF|IF]], [[george:macro:JBC|JBC]], [[george:macro:LFWLINFO|LFWLINFO]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:OR|OR]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:READ|READ]], [[george:macro:REPEAT|REPEAT]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SHORTEN|SHORTEN]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:THEN|THEN]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:WHILE|WHILE]]
22FL #OPT K0WLOUT = 0
22^= #LIS K0WLOUT
23DW #SEG WLOUT
23YG 8HWLOUT
24D6 [
24XQ SEGENTRY K1WLOUT,WLOUTK1 [WRITES A 'FULL' ENTRY TO O/P FILE
25CB [
25X2 [
26BL [************************************************************
26W= [
27*W [ PRESET DATA
27TG [
28*6 [************************************************************
28SQ [
29#B [
29S2 SEGENTRY K90WLOUT [CHANGED BY 'WLOUTLIM'
2=?L [
2=R= MAXFULL 100 [MAX 'FULL' ENTRIES TO ANY OP'S CONS
2?=W [
2?QG [
2#=6 #DEF WGOUTKEY1 = GOUTKEY1 - A1
2#PQ #DEF WGOUTKEY2 = GOUTKEY2 - A1
2*9B #DEF WGMODE = GMODE - A1
2*P2 #DEF WGHEAD = GHEAD - A1
2B8L #DEF WGSUSE = GSUSE - A1
2BN= #DEF WGUSER = GUSER - A1
2C7W #DEF WGJOBS = GJOBS - A1
2CMG #DEF WGJOBN = GJOBN - A1
2D76 #DEF WGOPTY = GOPTY - A1
2DLQ #DEF WCPROPNO = CPROPNO - A1
2F6B #DEF WBPROPCNT = BPROPCNT - A1
2FL2 #DEF WBPROPS = BPROPS - A1
2G5L [
2GK= #DEF WJOBSIZE = 12 [INCLUSIVE WORDCOUNT OF NARROW
2H4W [FORMAT "JOB" MESSAGE (40 CHAR
2HJG [MESSAGE + CATEGORY WD + COUNT WD)
2J46 [
2JHQ PDEVDISP 8.1 [DISPLACEMENT OF 33 CHARS (I.E. TO
2K3B [DEVICE FIELD IN NARROW FORMAT "JOB"
2KH2 [MESSAGE
2L2L PVAR +JPDVARCHAR
2LG= PIMPLE 4H(I)
2L^W PUNAV 4H(U)
2M74 ...#UNS AWLSZ
2M#= ...PFSEL 12HSELECTIVE
2MFG [
2M^6 PNEWLINE +JWLBLANK [ MESSAGES:
2NDQ PJOB +JWLJOB [ NARROW FORMAT MESSAGE MUST
2NYB PMAINMESS +BWLIST [ IMMEDIATELY FOLLOW ITS STANDARD
2PD2 +BWLIST1 [ EQUIVALENT (IF THERE IS ONE)
2PXL PROPMESS +JWLPROPS
2QC= +JWLPROPS1
2QWW PSETUPMESS +JWLSETUP
2RBG +JWLSETUP1
2RW6 PTERMINATE +AWLTERM
2RY* ...#UNS AWLSZ
2S2J ...(
2S4R ...PFSZE +JWLFSZE [FILE SIZE
2S72 ...PFNYK +JWLFNYK [NOT YET KNOWN
2S99 ...PFNTC +JWLFNTC [NOT CALCULATED
2S?D ...)
2S*Q [
2STB [
2T*2 [ ******* USE OF AWORK WORDS ********
2TSL [
2W#= [ AWORK1 - FORMAT OF ENTRY - 1(NARROW) OR 0(STANDARD) - SET BY
2WRW [ CALLING CHAPTER
2X?G [ AWORK2 - GMODE OF REQUEST - SET ON ENTRY
2XR6 [ AWORK3 - USED WITHIN 'SWRITEPROPS'
2Y=Q [ AWORK4 - ........ " .........
2YQB [
2^=2 [
2^PL [
2^QM ...[
2^RN ...[***********************************************************************
2^SP ...[
2^TQ ...XSTEPAGAIN
2^WR ...[
2^XS ...[***********************************************************************
2^YT ...[
2^^W ...[ THE STEPAGAIN MACRO IN A SUBROUTINE AS IT IS CALLED A NUMBER OF TIMES
322X ...[
323Y ... SBX 7 FX1
324^ ... STEPAGAIN
3262 ... ADX 7 FX1
3273 ... EXIT 7 0
3284 ...[
329= [************************************************************
32NW [
338G SWRITE
33N6 [
347Q [************************************************************
34MB [
3572 [ WRITES A LINE TO THE OUTPUT FILE
35LL [
366= [ LINK X5 MUST BE PRESERVED THROUGHOUT
36KW [
375G [ ENVIRONMENT REQUIRED:-
37K6 [ X4=MESSAGE IDENTIFIER
384Q [
38JB [ ENVIRONMENT CHANGES:-
3942 [ X0, X3, X4 DESTROYED
39HL [ X1=FX1
3=3= [ X2=FX2
3=GW [
3?2G SBX 5 FX1
3?G6 ASSMESS 4 [INSERT PARAMS IN MESSAGE
3?^Q MHUNT 3,GMON,AOUT
3#FB NAME 3,FILE,FAPB
3#^2 LDEX 0 A1+FRH(3)
3*DL ADN 0 11
3*Y= SRL 0 2
3BCW STO 0 A1+FRH(3) [CONVERT MESS LENGTH TO WDS
3BXG APPEND 1,ZABANDON
3CC6 MFREE FILE,FAPB
3CWQ ADX 5 FX1
3DBB EXIT 5 0
3DW2 [
3F*L [
3FT= [************************************************************
3G#W [
3GSG SWRITEPROPS
3H#6 [
3HRQ [************************************************************
3J?B [
3JR2 [ WRITES THE PROPERTIES LINE OF A FULL WL/SL/CH OUTPUT
3K=L [
3KQ= [ LINK X6 MUST BE PRESERVED THROUGHOUT
3L9W [
3LPG [ ENVIRONMENT REQUIRED:-
3M96 [ FILE/FRB IN APERI/APROPNOS FORMAT EXISTS
3MNQ [
3N8B [ ENVIRONMENT CHANGES:-
3NN2 [ FILE/FRB FREED
3P7L [ X0, X3, X4, X5 DESTROYED
3PM= [ X1=FX1
3Q6W [ X2=FX2
3QLG [
3R66 SBX 6 FX1
3RKQ [ A MESSAGE BLOCK TO HOLD DETAILS OF 'ATTMAX' 12-CHAR PROPERTY
3S5B [ NAMES SPLIT INTO PERMANENT AND TEMPORARY STRINGS REQUIRES :-
3SK2 [ 2 WORDS FOR THE PARAMETER HEADERS
3T4L [ ATTMAX*13-1+3/4 FOR A SINGLE STRING &...
3TJ= [ +1 IF THE TEMP/PERM SPLIT ISN'T ON A WORD BOUNDARY
3W3W OUTBLOCN ATTMAX*13+2/4+3
3WHG MHUNT 3,FILE,FRB
3X36 IF +CHPERM(3),NZ
3XGQ THEN
3Y2B STO 0 AWORK3(2) [LENGTH (CHARS) IN AWORK3
3YG2 LDX 0 ADPERM(3)
3Y^L STO 0 AWORK4(2) [START ADDR REL X3 IN AWORK4
3^F= CALL 5 SPRFORMAT
3^YW ELSE
42?? ...XAA
42KN ... OUTPACK 5,1,SKIP,XAA
42Y6 FI
43CQ MHUNT 3,FILE,FRB
43XB IF +CHTEMP(3),NZ
44C2 THEN
44WL STO 0 AWORK3(2)
45B= LDX 0 ADTEMP(3)
45TW STO 0 AWORK4(2)
46*G CALL 5 SPRFORMAT
46T6 FI
47#Q MFREE FILE,FRB
47SB SMO AWORK1(2)
48#2 LDX 4 PROPMESS(1)
48RL CALL 5 SWRITE
49?= ADX 6 FX1
49QW EXIT 6 0
4==G SPRFORMAT
4=Q6 SBX 5 FX1
4?9Q LDX 4 AWORK3(2)
4?PB ANDN 4 #3
4#92 IF 4,NZ
4#NL THEN
4*8= NGX 4 4
4*MW ADN 4 4 [X4 := REDUNDANT CHARS AT END
4B7G LDX 1 AWORK4(2)
4BM6 ADX 1 3
4C6Q LDX 0 AWORK3(2)
4CLB SRC 0 2
4D62 ADX 1 0 [X1 -> FIRST UNUSED CHAR
4DKL LDN 0 #20
4F5= DO
4FJW DCH 0 0(1)
4G4G BCHX 1 £
4GJ6 REPEAT CT 4 [UNUSED CHARS NULL
4H3Q FI
4H8Y ...XAB
4HB6 ... MHUNT 3,FILE,FRB
4HHB LDX 4 AWORK3(2)
4J32 ADN 4 3
4JGL SRL 4 2
4K2= ADX 3 AWORK4(2)
4KFW LDX 1 FX1
4K^G ... OUTPACKX 3,4,PVAR(1),XAB
4LF6 ADX 5 FX1
4LYQ EXIT 5 0
4MDB [
4MY2 [
4NCL [ WW WW W
4NX= [ WW WW WW
4PBW [ WW WW WWW
4PWG [ WWWW WW
4QB6 [ WWWWW WW
4QTQ [ WW WW WW
4R*B [ WW WW WW
4RT2 [ WW WW WW
4S#L [
4SS= [
4T?W WLOUTK1
4TRG [
4W?6 [ APPENDS INFORMATION ABOUT A SYSOUT REQUEST TO THE OUTPUT FILE
4WQQ [
4X=B [ ENVIRONMENT REQUIRED:-
4XQ2 [ FILE PTRS SET TO 1ST RECORD OF ENTRY TO BE WRITTEN
4Y9L [
4YP= [ ENVIRONMENT CHANGES:-
4^8W [ AWLCOUNT INCREMENTED IN /AWHATLIST
4^NG [ FILE PTRS SET TO GIVE NEXT SYSOUT ENTRY ON 'STEP'
5286 [ INFO APPENDED TO O/P FILE
52MQ [ AWORK2 = GMODE OF ENTRY
537B [
53M2 LDN 7 0 [SET X7 TO 1 IF NARROW FORMAT
546L MHUNTW 3,ADATA,AWHATLIST
54L= IF BS,3,AWLBNARROW
555W THEN
55KG LDN 7 1
5656 FI
56JQ STO 7 AWORK1(2) [SEE 'USE OF AWORKS' ABOVE
574B IF 7,NZ [IF NARROW FORMAT THEN
57J2 THEN
583L LDX 4 PNEWLINE(1) [WRITE SEPARATOR LINE
58H= CALL 5 SWRITE
592W FI [FI
59GG OUTBLOCN 24 [SET UP PARAM BLOCK
5=26 ... CALL 7 XSTEPAGAIN
5=FQ LDX 0 WGMODE(3)
5=^B STO 0 AWORK2(2) [ SAVE GMODE FOR TESTING FOR OTHER RECOR
5?98 ...WLOUT2
5?F2 ... OUTPACK WGUSER(3),3,USERNAME,WLOUT1
5?NS ...WLOUT4
5?YL ... OUTPACK WGJOBN(3),3,JOBNAME,WLOUT3
5#8D ...WLOUT6
5#D= LDCH 6 WGOPTY(3)
5#XW ... OUTPACK 6,1,PERITYPE,WLOUT5
5*CG [SET UP USER, JOB, PERIPH TYPE
5*X6 LDCH 0 WGOUTKEY1(3)
5BBQ LDX 6 ACES
5BWB LDN 2 0
5CB2 DCH 0 6(2) [ASSUME WILL OUTPUT URGENCY
5CKS ...WLOUT8
5CTL IF BS,3,BLFRNAV [IF UNAVAILABLE THEN
5D*= THEN
5DSW LDX 6 PUNAV(1) [OUTPUT (U)
5F#G ELSF MBS,3,BLFRIMPLEM,BLFRPARTIMP [ELSF IMPLEMENTING THEN
5FS6 THEN
5G?Q LDX 6 PIMPLE(1) [OUTPUT (I)
5GRB FI [FI
5H?2 ... OUTPACK 6,1,VARCHAR,WLOUT7
5HQL IF +AWORK1(2),NZ [IF NARROW FORMAT THEN
5J== THEN
5JPW ASSMESS PJOB(1) [SET UP "JOB" LINE
5K9G MHUNT 3,GMON,AOUT
5KP6 NAME 3,FILE,FAPB
5L8Q [UNLESS JOBNAME AND USERNAME ARE
5LNB [BOTH ONLY ONE LETTER, THERE IS
5M82 [TOO MUCH SPACE BETWEEN END OF
5MML [JOBNAME AND START OF DEVICE.
5N7= LDN 2 A1+2(3)
5NLW ADX 2 PDEVDISP(1) [X2 -> WHERE THE "*" SHOULD BE
5P6G LDX 1 2
5PL6 WHILE TRUE
5Q5Q LDCH 0 0(1)
5QKB SBN 0 #32
5R52 AND 0,NZ
5RJL DO
5S4= REPEAT CHX 1 [X1 -> "*" IN OVER-LONG MESSAGE
5SHW MVCH 1 7 [MOVE THE DEVICE AND URGENCY FORWARD
5T3G [
5TH6 LDN 0 WJOBSIZE
5W2Q STO 0 A1+FRH(3) [SET RECORD WORDCOUNT
5WGB SHORTEN 3,WJOBSIZE
5X22 APPEND 1,ZABANDON [APPEND MSG AND FREE BLOCK
5XFL MFREE FILE,FAPB
5X^= OUTBLOCN 15 [SET UP BLOCK FOR "FILE"
5YDW ... CALL 7 XSTEPAGAIN
5YYG FI [FI
5^D6 MHUNTW 2,ADATA,AWHATLIST
5^XQ IF BC,2,AWLBWKFILE [IF (DOCUMENT NOT SELECTED ...
62CB LDCH 0 WGHEAD(3)
62X2 SBN 0 #21
63BL AND EITHER,0,NZ [ ... AND NOT ! DOCUMENT)
63W= OR BS,2,AWLBFILE [OR FILE SELECTED THEN
64*W THEN
64TG IF BS,3,BLFRPROPREC [IF PROPERTIES THEN
65*6 THEN
65SQ READ [READ THEM
66#B DOWN WLD,3 [SET UP FILENAME
66S2 SMO AWORK1(2)
67?L LDX 4 PMAINMESS(1)
67R= CALL 5 SWRITE [WRITE THE LINE
68=W CALL 6 SWRITEPROPS [WRITE PROPERTIES
68QG ELSE [ELSE (NO PROPS)
69=6 DOWN WLD,3 [SET UP FILENAME
69PQ SMO AWORK1(2)
6=9B LDX 4 PMAINMESS(1)
6=P2 CALL 5 SWRITE [WRITE THE LINE
6?8L FI [FI PROPERTIES
6?N= ELSE [ELSE (WORKFILE)
6#7W RETRY1
6#MG STEPAGAIN
6*76 LDN 6 WGHEAD(3)
6*LQ LDX 5 WGSUSE(3)
6B6B ADN 5 3
6BL2 SRL 5 2 [X5 := WD CT OF DOCUMENT NAME
6C5L LDN 4 JPDENTRANT
6CK= OUTPACKX 6,5,4,RETRY1 [SET UP DOCUMENT NAME
6D4W SMO AWORK1(2)
6DJG LDX 4 PMAINMESS(1)
6F46 CALL 5 SWRITE [WRITE MAIN LINE
6FHQ BSXD 0,BLFPROPREC
6G3B ANDX 0 AWORK2(2)
6GH2 IF 0,NZ [IF PROPERTIES THEN
6H2L THEN
6HG= READ
6H^W CALL 6 SWRITEPROPS [WRITE THEM
6JFG FI [FI PROPERTIES
6J^6 STEP
6KDQ FI [FI FILE/WKFILE
6KF2 ...#UNS AWLSZ
6KF= ...(
6KFC ... SEGENTRY K50WLOUT
6KFJ ... BRN XSTOP
6KFQ ...[ CODE OBEYED WHEN WLSIZE ON
6KG2 ...[
6KG= ...[ OUTPUTS ONE OF THREE MESSAGES - FILE SIZE
6KGG ...[ - FILE SIZE NOT KNOWN
6KGQ ...[ - FILE SIZE NOT CALCULATED
6KH2 ...[
6KH= ...[
6KHG ... BACKSPACE
6KHQ ... BSXD 0,BLFPROPREC
6KJ2 ... ANDX 0 AWORK2(2)
6KJ= ... BZE 0 XPAST
6KJG ... BACKSPACE
6KJQ ...XPAST
6KK2 ... CALL 7 XSTEPAGAIN
6KK= ... JBC WOFF,3,BLFRWLSIZE
6KKG ... LFWLINFO
6KKQ ... SMO 2
6KL2 ... LDX 6 0(3)
6KL= ... BPZ 6 XOUT2
6KLG ...[ FILE SIZE NOT YET KNOWN
6KLQ ... LDX 4 PFNYK(1)
6KM2 ... BRN XENDP
6KM= ...[ FILE SIZE : N BLOCKS (SELECTIVE)
6KMG ...[
6KMQ ...XOUT2 OUTBLOCN 6
6KMY ...XOUT2B
6KN6 ... OUTPACK 6,1,BLOCKCT,XOUT2B
6KN# ... CALL 7 XSTEPAGAIN
6KNG ... LDX 0 GFLI-A1(3)
6KNQ ... ORX 0 GNLI-A1(3)
6KP2 ... BZE 0 XOUT3 [NOT SELECTIVE
6KP= ... BZE 6 XOUT3
6KPB ...XOUT2A
6KPG ... LDX 5 PFSEL(1)
6KPQ ... LDX 6 PFSEL+1(1)
6KQ2 ... LDX 7 PFSEL+2(1)
6KQ= ... OUTPACK 5,3,VARCHAR,XOUT2A
6KQG ...XOUT3 LDX 4 PFSZE(1)
6KQQ ... BRN XENDP
6KR2 ...[
6KR= ...[ FILE SIZE NOT CALCULATED - WLSIZE OFF WHEN ENTRY PUT IN
6KRG ...[ :SYSTEM.OUTPUT
6KRQ ...[
6KS2 ...WOFF LDX 4 PFNTC(1)
6KS= ...XENDP
6KSG ... CALL 5 SWRITE
6KSQ ... STEP
6KT2 ... BSXD 0,BLFPROPREC
6KT= ... ANDX 0 AWORK2(2)
6KTG ... BZE 0 XSTOP
6KTQ ... STEP
6KW2 ...[
6KW= ...XSTOP SEGENTRY K51WLOUT
6KWG ...[
6KWQ ...)
6KYB LDX 2 FX2
6LD2 BSXD 0,BLFSETUP
6LXL ANDX 0 AWORK2(2)
6MC= IF 0,NZ [IF SETUP THEN
6MWW THEN
6NBG OUTBLOCN 15
6NW6 BSXD 0,BLFSETNAV
6P*Q ANDX 0 AWORK2(2)
6PTB IF 0,NZ [IF UNAVAILABLE THEN
6Q*2 THEN
6QJS ...WLOUTC
6QSL SMO FX1
6R#= LDX 6 PUNAV
6RRW ... OUTPACK 6,1,VARCHAR,WLOUTC [MARK IT
6S?G FI [FI
6SR6 DOWN WLD,3 [OUTPACK FILENAME
6T=Q SMO AWORK1(2)
6TQB LDX 4 PSETUPMESS(1)
6W=2 CALL 5 SWRITE [WRITE THE SETUP LINE
6WPL FI [FI SETUP
6X9= MHUNTW 2,ADATA,AWHATLIST
6XNW LDX 0 AWLCOUNT(2)
6Y8G ADX 0 AWLCOUNTUN(2)
6YN6 LDX 1 FX1
6^7Q IF 0,E,MAXFULL(1) [IF MAX ENTRIES OUTPUT
6^MB AND MBAS,2,AWLBHERE,AWLBOPER [AND HERE, OPERATOR THEN
7272 THEN
72LL BC 2,AWLBFULL
736= LDX 4 PTERMINATE(1)
73KW CALL 5 SWRITE [INFORM OF TERMINATION
745G FI [FI
74K6 [
754Q LDX 2 FX2
75JB LDX 0 AWORK2(2)
7642 STO 0 ACOMMUNE2(2)
76HL UPPLUS 1
76JF ...[
76K# ...WLOUT1
76L7 ... CALL 7 XSTEPAGAIN
76M2 ... BRN WLOUT2
76MT ...[
76NN ...WLOUT3
76PH ... CALL 7 XSTEPAGAIN
76QB ... BRN WLOUT4
76R9 ...[
76S4 ...WLOUT5
76SX ... CALL 7 XSTEPAGAIN
76TQ ... BRN WLOUT6
76WK ...[
76XD ...WLOUT7
76Y? ... CALL 7 XSTEPAGAIN
76^6 ... BRN WLOUT8
76^^ ...[
773= [
77GW [
782G [************************************************************
78G6 [
78^Q [ BREAKIN LABELS
79FB [
79^2 [************************************************************
7=DL [
7=Y= [
7?CW ZABANDON [ OUTPUT FILE FULL
7?XG [
7#C6 UP
7#WQ [
7*BB [
7*W2 [************************************************************
7B*L [
7BT= [ GEOERRS
7C#W [
7CSG [************************************************************
7D#6 [
7DRQ [
7H9W #END
^^^^ ...644731560003