{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BLOGNAL865)}}
====== BLOGNAL865 ======
(George Source)
**Macros used:** [[george:macro:BUDGBITX|BUDGBITX]], [[george:macro:BUDGINCX|BUDGINCX]], [[george:macro:BUDGUSE|BUDGUSE]], [[george:macro:BUDGWRITE|BUDGWRITE]], [[george:macro:CJOBLOCK|CJOBLOCK]], [[george:macro:CLOSBINC|CLOSBINC]], [[george:macro:CLOSE|CLOSE]], [[george:macro:FJOCA|FJOCA]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:ISSUCOM|ISSUCOM]], [[george:macro:MASKSTOZ|MASKSTOZ]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:OPEN|OPEN]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:READDICT|READDICT]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SFCB|SFCB]], [[george:macro:SPRIVON|SPRIVON]], [[george:macro:TESTREP|TESTREP]], [[george:macro:UP|UP]], [[george:macro:URGTIME|URGTIME]], [[george:macro:XCBINDEX|XCBINDEX]]
22FL #OPT K0BLOGNAL=0
22^= #LIS K0BLOGNAL>K0ALLGEO
23DW #SEG BLOGNAL70 [RICHARD GRIMWADE
23YG 8HBLOGNAL7
24D6 # THIS IS THE BUILT-IN VERSION OF LOGANAL. IT UPDATES THE MONEY AND TIME
24XQ # USED BY THE JOB ,ISSUES A SPECIAL LF COMMAND TO LIST THE MONITORING
25CB # FILE, AND COPIES THE MONITORING FILE IF THIS WAS REQUESTED
25X2 #
26BL SEGENTRY K1BLOGNAL,XK1
26W= SEGENTRY K2BLOGNAL,XK2
27*W #
27H4 ...[ SEGENTRY K25BLOGNAL USED BY RESTORE TIME MACRO PRESETRP
27N= ...[
27TG TABLE +GMONEY [BIT PATTERN FOR MONEY BUDGET
28*6 +JLOGMONEY [MESSAGE FOR MONEY
28SQ +GTIMEM [BIT PATTERN FOR TIME BUDGET -TIME(M)
29#B +JLOGTIME [MESSAGE FOR TIME
29Q3 ...ZCOPY +8
2=7N ... +23
2=K* ... 24HCOPY :%Z.%Y( 1/B1B0),
2?32 ...ZCYGEN +3.0
2?DM ...ZLF +14
2?W# ... +48
2#?^ ... 36HLF :%Z.%Y( 1/B1B0),*LP,ALL,MONFILE
2#PQ 12H
2#^J ...ZLFGEN +2.2
2*9B X1000 +1000 [CONSTANT FOR CONVERTING MILLI- TO SECS
2*F8 ... SEGENTRY K25BLOGNAL
2*P2 PRAMXMSK +AMXMSKPR
2B8L # DATA FOR FABSNB FOR OPENING THE DICTIONARY
2BN= XFBSNB +10
2C7W 12HMASTER
2CMG 12HDICTIONARY
2D76 +1
2DLQ +1
2F6B 4HB1
2FL2 #
2G5L XK1
2GK= MONOUT JLOGHEAD [SEND HEAD OF MESSAGE TO M.F.SYSTEM
2H4W CJOBLOCK 3
2HJG LDN 5 999 [GET TIME USED BY JOB FROM JOB BLOCK
2J46 ADXC 5 HTIMEJ+1(3)
2JHQ LDX 4 HTIMEJ(3) [AND CONVERTIT TO SECONDS,ROUNDING UP
2K3B DVD 4 X1000(1)
2LG= LDX 4 5 [ X4 = SECONDS USED BY JOB
2L^W MPY 5 IMULT [CALCULATE CHARGE (TIME*IMULT/IDIV
2MFG DVD 5 IDIV
2M^6 LDX 5 6
2NDQ TXL 5 IMIN [IF TOO LOW, SUBSTITUTE MINIMUM VALUE
2NYB BCC X
2PD2 LDX 5 IMIN
2PXL X LDXC 6 JURGE(3)
2QC= BNZ 6 X11
2QWW LDN 6 45 [LOAD M AS DEFAULT VALUE
2RBG X11
2RW6 URGTIME 6
2S*Q SETNCORE 10,3,FILE,FABSNB
2STB LDN 3 A1(3)
2T*2 LDN 2 XFBSNB(1)
2TSL MOVE 2 10
2W#= OPEN XBRK,GENERAL [OPEN DICTIONARY
2WRW BUDGBITX 6 [BIT PATTERN FOR TIME &
2X?G TESTREP NOSUCH,NOSUCH [SET UP JLINE BLOCK
2XR6 STO 6 AWORK3(2) [TIME BIT PATTERN
2Y=Q STO 4 AWORK4(2) [AMOUNT
2YQB LDX 6 TABLE(1) [MONEY PATTERN
2^=2 LDX 4 5 [AMOUNT
2^PL MHUNT 3,FILE,FABSNB
329= NAME 3,FILE,ADICT
32NW CJOBLOCK 2
338G ADN 2 JUSER
33N6 ADN 3 A1 [SET UP ADICT
347Q MOVE 2 3
34MB READDICT
3572 X1 BUDGUSE 6 [FIND BUDGET
35LL TESTREPN NOTYPE,X2 [J. IF EXISTS
366= BUDGINCX 6,4 [GIVE HIM BUDGET TYPE
36KW NGX 6 4 [LEFT
375G BRN X33
37K6 X2 MHUNTW 3,JBUDGET,JBUDGUSER
384Q ADS 4 JCONSUMED(3) [UPDATE
38JB LDX 6 JALLOWED(3)
3942 SBX 6 JCONSUMED(3) [LEFT
39HL BUDGWRITE [PUT BACK INTO DICTIONARY
3=3= MFREE JBUDGET,JBUDGUSER
3=GW X33 LDX 0 AWORK3(2)
3?2G BZE 0 X3 [J. IF SECOND TIME ROUND
3?G6 STO 4 AWORK1(2) [USED & LEFT FOR MONEY STORED HERE
3?^Q STO 6 AWORK2(2)
3#FB LDX 6 0
3#^2 STOZ AWORK3(2) [SET SWITCH
3*DL LDX 4 AWORK4(2)
3*Y= BRN X1 [BACK TO DO TIME
3BCW X3 CLOSBINC
3BXG LDN 7 8
3CC6 OUTPARAM 7,JCHARS,JBUDGET,JLINE
3CWQ LDN 7 2
3DBB MFREE JBUDGET,JLINE
3DW2 BRN Y2
3F*L Y1 LDX 4 AWORK1(2) [RECOVER STORED VALUES
3FT= LDX 6 AWORK2(2)
3G#W Y2 OUTNUM 4,7,1
3GSG OUTNUM 6,7,1
3H#6 ADX 1 7
3HRQ MONOUTX TABLE+1(1) [OUTPUT USED,LEFT LINE
3J?B SBN 7 2
3JR2 BPZ 7 Y1
3K=L XK2
3K#8 ...[ FIRST GET FGN OF MONITORING FILE
3K*Q ... NGN 6 1
3KC# ... SFCB 6,3 [SETS X3 POINTING TO FCB OF MON FILE
3KDW ...[
3KGD ...[ CONVERT FGN TO CHARS AND STORE IN AWORK2
3KJ2 ... LDN 1 AWORK1(2)
3KKJ ... XCBINDEX 4,1,FGEN(3)
3KM6 ... LDX 1 FX1
3KNN ...[
3KQ= Y MHUNTW 3,ADATA,AREPORT
3L9W LDX 7 A1(3) [REMEMBER REPORT MASK
3LPG LDX 5 A1+1(3)
3M96 MASKSTOZ ,2
3M?* ... FSHCODE AORB
3M*J ...(
3MCR ... LDX 0 CONTEXT(2)
3MG2 ... ANDN 0 8
3MJ9 ... BZE 0 SNOTMOP [ONLY SET MULTIPLEXOR MASK FOR MOP
3MLD ...)
3MP2 ... LDX 4 PRAMXMSK(1)
3MRJ ... STO 4 AMXMSK(2)
3MW6 ...#UNS CMXMSK
3MYN ...(
3M^H ... SEGENTRY K70BLOGNAL
3N2B ... BRN XK71 [MENDED TO NULL IF REPORTNEST ON
3N3= ... MHUNTW 1,CPB,CALAS
3N5S ... STO 4 CMXMSK(1)
3N6M ...XK71
3N7G ... SEGENTRY K71BLOGNAL
3N8B ... LDX 1 FX1
3N=Y ...)
3N*J ... FSHCODE AORB
3NGQ ...SNOTMOP
3NN2 BZE 7 Z [DON'T LF IF NONE SPECIFIED
3P7L SETUPCORE ZLF(1),2,ADATA,CREADL
3PM= LDX 4 ZLF+1(1)
3Q6W STO 4 A1(2)
3QLG ADN 1 ZLF+2
3R66 ADN 2 CPDATA
3R*Y ... MOVE 1 12
3RKQ ... SMO FX2
3RTJ ... STO 2 AWORK4 [STORE AD OF CPDATA
3S5B LDN 0 9 [CONVERT MONFILE MASK TO OCTAL
3SK2 LDN 6 #23 [BEFORE STORING IT AS "MONFILE" PARAM
3T4L ...OCT DCH 6 9(2)
3TJ= BCHX 2 £
3W3W STOZ 6
3WHG SLL 67 3
3X36 BCT 0 OCT
3XGQ # THIS SEEMS QUITE SILLY - BUT IT DOES
3Y2B # HAVE A REASON. IF THE WORD IS HANDED
3YG2 # OVER AS FOUR CHARACTERS,ONE OF THEM
3Y^L # MAY BE SPACE OR COMMA, AND WOULD NOT
3^F= # FUNCTION CORRECTLY.
3^FH ...[ SET FGN IN COMMAND
3^FS ... LDX 2 FX2
3^G5 ... LDN 6 AWORK2(2) [ AD OF FGN
3^GB ... SMO FX1
3^GM ... LDX 7 ZLFGEN
3^GY ... ADX 7 AWORK4(2) [X7=AD OF DESTINATION
3^H9 ... MVCH 6 4
3^HG ...[
3^HT ...#UNS FTS1
3^LD ...(
3^P3 ... FJOCA 3,FX2 [AVOID FROZEN CHECK IN COPY.......
3^RL ... SPRIVON JSSTART,3 [...BY MAKING JOB SYS STARTED
3^W9 ...)
3^YW ISSUCOM XERRLF [ISSUE LF COMMAND
42DG XERRLF
42Y6 Z CLOSE -1
43CQ BNZ 5 Z01 [GO TO COPY FILE IF NECESSARY
43XB XERR
44C2 Z0 MFREE ADATA,AREPORT
44WL UP
45B= Z01 STO 5 7 [KEEP NO. OF WORDS IN FILENAME
45TW ADX 5 ZCOPY(1)
46*G SETUPCORE 5,2,ADATA,CREADL
46T6 MHUNTW 3,ADATA,AREPORT
47#Q SLL 7 2
47SB ADX 7 ZCOPY+1(1) [CALCULATE NO. OF CHARS IN COMMAND
48#2 STO 7 A1(2)
48RL LDN 4 ZCOPY+2(1)
49?= LDN 5 CPDATA(2)
49DD ... SMO FX2
49KL ... STO 5 AWORK4 [STORE AD OF CPDATA
49QW SMO ZCOPY+1(1)
4==G MVCH 4 0
4=Q6 SBX 7 ZCOPY+1(1) [NO OF CHARS STILL TO BE MOVED
4?9Q LDN 4 A1+2(3) [POINT X4 TO FILNAME IN REPORT BLOCK
4?PB SMO 7
4#92 MVCH 4 0
4#=J ...[
4##6 ...[ SET FGN IN COMMAND
4#*N ... LDX 2 FX2
4#C= ... LDN 6 AWORK2(2) [AD OF FGN
4#DS ... SMO FX1
4#GB ... LDX 7 ZCYGEN
4#HY ... ADX 7 AWORK4(2) [DESTINATION
4#KG ... MVCH 6 4
4#M4 ...[
4#NL ISSUCOM XERR
4*8= BRN Z0
4*MW XBRK GEOERR 1,BRKBLOG
4B7G NOSUCH
4BM6 GEOERR 1,NOSUCH
4C6Q XNOTOK
4CLB GEOERR 1,WRONGREP
4D62 MENDAREA 20,K99BLOGNAL
4DKL #END
^^^^ ...37467470000300000000