WLOUT865
(George Source)
Macros used: AND, APPEND, ASSMESS, BACKSPACE, BC, BSXD, DO, DOWN, ELSE, ELSF, FI, IF, JBC, LFWLINFO, MFREE, MHUNT, MHUNTW, NAME, OR, OUTBLOCN, OUTPACK, OUTPACKX, READ, REPEAT, SEGENTRY, SHORTEN, STEP, STEPAGAIN, THEN, UP, UPPLUS, WHILE
- WLOUT865.txt
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 <PROP>&<PROP>... 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