{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SCHEDMTA860)}}
====== SCHEDMTA860 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:FINDREC|FINDREC]], [[george:macro:GEOERR|GEOERR]], [[george:macro:JBS|JBS]], [[george:macro:MBSXD|MBSXD]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:OPEN|OPEN]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:OUTMESSX|OUTMESSX]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP2|SETREP2]], [[george:macro:SSEARCH|SSEARCH]], [[george:macro:STEP|STEP]], [[george:macro:STF|STF]], [[george:macro:TAPEOPEN|TAPEOPEN]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:UNNORM|UNNORM]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:XWRONG|XWRONG]]
22FL ... SEG SCHEDMTA,860,C.R.JOHNSON,SCHEDULER
22^= ...[
23DW ...[
23YG ... SEGENTRY K1SCHEDMTA,X1SCHEDMTA
24D6 ... SEGENTRY K2SCHEDMTA,X2SCHEDMTA
24XQ ... SEGENTRY K3SCHEDMTA,X3SCHEDMTA
25CB ... SEGENTRY K4SCHEDMTA,X4SCHEDMTA
25X2 ...[
26BL ...[
26W= ...[ THIS SEGMENT IS AN OVERFLOW FOR SCHEDMTX (THE RETRIEVAL
27*W ...[ SYSTEM SCHEDULING SEGMENT) AND DEALS WITH CERTAIN ASPECTS
27TG ...[ OF RETRIEVEING FILES FROM ALIEN FILESTORE DUMP TAPES.
28*6 ...[
28SQ ...[
29#B ... SEGENTRY K99SCHEDMTA [THIS ENTRY POINT IS USED
29S2 ... +7 [BY THE 'ALIENDIR' MACRO.
2=?L ... 12HALIENFS [DEFAULT USERNAME
2=R= ... 12HINCINDEX [MUST BE 'INCINDEX'
2?=W ... +1 [REEL NUMBER
2?QG ... +0 [ALLOW ANY GENERATION
2#=6 ... +0 [AND LANGUAGE.
2#PQ ...[
2*9B ...[
2*P2 ...TEN +10 [USED TO CONVERT BINARY TO DEC.
2B8L ...XINCMISS +JINCMISS [MESSAGE PARAMETER IDENTIFIERS
2BN= ...XINCOFF +JINCOFF [
2C7W ...XINCCORR +JINCCORR [
2CMG ...XINCWRO +JINCWRO [
2D76 ...XINCMSO +JINCMSO [
2DLQ ...[
2F6B ...[ ******************************************************************
2FL2 ...[
2G5L ...[ THIS SUBROUTINE SETS UP PARAMETERS FOR AND OUTPUTS THE MESSAGE:-
2GK= ...[ 'SOME RETRIEVES ARE FAILING BECAUSE %B IS %A'
2H4W ...[ X6 CONTAINS THE %A MESSAGE IDENTIFIER
2HJG ...[
2J46 ...RVFAIL
2JHQ ... SBX 7 FX1 [RELATIVIZE LINK
2K3B ... JBS XFABFREE,BOLC,BIFDTRVF [J IF MESSAGE ALREADY OUTPUT
2KH2 ... OUTMESSX 6 [OUTPUT %A
2L2L ... SETNCORE 11,3,ADATA,CREADL [SET UP FOR UNNORM
2LG= ... STOZ A1(3) [CHARACTER COUNT ZREO AS YET
2L^W ... UNNORM TWO [CONVERT ENTRANT NAME
2MFG ... MHUNT 3,ADATA,CREADL [UNNORM COORDINATES
2M^6 ... OUTPARAM A1(3),CPDATA,ADATA,CREADL [OUTPUT %B OF MESSAGE
2NDQ ... MFREE ADATA,CREADL [NO LONGER NEEDED
2NYB ... MONOUT JRVFAIL [OUTPUT MESSAGE
2PD2 ... SEGENTRY K98SCHEDMTA [USED BY TSRPALL MACRO
2PXL ... BS BOLC,BIFDTRVF [SET 'RV FAILED MESSAGE OUTPUT' BIT
2QC= ... SEGENTRY K97SCHEDMTA [USED BY TSRPALL MACRO
2QWW ...XFABFREE [
2RBG ... MFREE FILE,FABSNB [FREE FABSNB
2RW6 ... ADX 7 FX1 [RESET LINK
2S*Q ... EXIT 7 0 [EXIT
2STB ...[
2T*2 ...[ *******************************************************************
2TSL ...[
2W#= ...[ THIS SUBROUTINE CHECKS THAT THE TSN CONTAINED IN X6 IS
2WRW ...[ SECURE (IN :SYSTEM.SERIAL). IF NOT REPLY 'OPWRONG' IS SET.
2X?G ...[
2XR6 ...TESTSECURE [
2Y=Q ... SBX 7 FX1 [RELATIVIZE LINK
2YQB ... OPENSYS ,SERIAL,READ [OPEN :SYTEM.SERIAL
2^=2 ... SSEARCH XNOTSECURE,6 [J IF TSN NOT SECURE
2^PL ... CLOSETOP [CLOSE SERIAL
329= ... ADX 7 FX1 [RESET LINK
32NW ... EXIT 7 1 [ SECURE
338G ...XNOTSECURE [
33N6 ... CLOSETOP [CLOSE SERIAL
347Q ... SETREP2 OPWRONG [SET REPLY FOR SCHEDMTX & DTSTART
34MB ... ADX 7 FX1 [RESET LINK
3572 ... EXIT 7 0 [ INSECURE
35LL ...[
366= ...[ *******************************************************************
36KW ...[
375G ...[ THIS SUBROUTINE CHECKS THAT THE RECORD POINTED TO BY X3
37K6 ...[ IS A VALID INCINDEX RECORD, I.E. THAT THE FOLLOWING IS TRUE:
384Q ...[
38JB ...[ [AINCRH] = AMAGR + [AMTS]*INCMAGLEN
3942 ...[
39HL ...[ LINK IS X7
3=3= ...[
3=GW ...[ X3 -> INCINDEX RECORD(RECORD HEADER)
3?2G ...[
3?G6 ...RECCHECK [
3?^Q ... LDX 5 AMTSR(3) [X5 => NO OF TAPES
3#FB ... LDN 4 INCMAGLEN [X4 => LENGTH OF TAPE ENTRY
3#^2 ... MPY 5 4 [X6 => LENGTH OF TAPE ENTRIES
3*DL ... ADN 6 AMAGR [X6 => LENGTH OF RECORD?
3*Y= ... LDEX 5 AINCRHR(3) [X5 => LENGTH OF RECORD HEADER
3BCW ... BXU 5 6,EXIT1 [J IF TAPE ENTRIES OVERFLOW RECORD
3BXG ... SBN 5 AMAGR [RECORD MUST BE > AMAGR-1
3CC6 ... BNG 5 EXIT1 [J IF RECORD TOO SHORT
3CWQ ... EXIT 7 1 [VALID RECORD
3DBB ...EXIT1 [
3DW2 ... EXIT 7 0 [INVALID RECORD
3F*L ...[
3FT= ...[
3G#W ...[ ******************************************************************
3GSG ...[
3H#6 ...[ THIS ENTRY POINT IS ENTERED DOWN FROM SCHEDMTX IN ORDER
3HRQ ...[ TO ATTEMPT TO OPEN THE ALIEN FILESTORE INCINDEX (FILESTORE
3J?B ...[ NUMBER SPECIFIED IN X6), POSITION ON THE RELEVENT
3JR2 ...[ INCREMENT (SPECIFIED IN X4) AND TO PERFORM SUFFICIENT
3K=L ...[ VALIDITY CHECKING SO THAT THE RETRIEVAL SYSTEM WILL
3KQ= ...[ NOT BREAK!!
3L9W ...[
3LPG ...X1SCHEDMTA [
3M96 ... DVS 5 TEN(1) [CONVERT FILESTORE NUMBER TO DEC.
3MNQ ... LDN 7 2 [X7 => COUNT OF REL. CHARS.
3N8B ... SLL 6 18 [QUOTIENT IN TOP CHAR POSIT.
3NN2 ... SLL 5 12 [REMAINDER IN SECOND POSIT.
3P7L ... BNZ 6 SETUPFAB [J IF TWO CHARS
3PM= ... SBN 7 1 [ONLY ONE CHARACTER
3Q6W ... SLL 5 6 [REMAINDER IN TOP POSITION
3QLG ...SETUPFAB [
3R66 ... ORX 6 5 [X6 => FILESTORE IN CHARS
3RKQ ... BZE 6 (GEOERR) [X6 ILLEGAL
3S5B ... SETNCORE 10,3,FILE,FABSNB [FOR OPEN MACRO
3SK2 ... STO 6 ACOMMUNE1(2) [FILESTORE NUMBER
3T4L ... LDN 0 10 [RECORD HEADER
3TJ= ... STO 0 A1(3) [STORE IT
3W3W ... LDX 0 ACES [X0 => #20202020
3WHG ... STO 0 A1+1(3) [PUT SPACES IN FABSNB
3X36 ... LDN 0 A1+1(3) [NOW MOVE SPACES
3XGQ ... LDN 1 A1+2(3) [DOWN FABSNB
3Y2B ... MOVE 0 5 [ONLY FIVE
3YG2 ... LDX 1 FX1 [RESET X1
3Y^L ... LDX 0 K99SCHEDMTA(1) [X0 => LENGTH OF USERNAME
3^F= ... BZE 0 (GEOERR) [MUSN'T BE ZERO
3^YW ... LDN 1 K99SCHEDMTA+1(1) [X1 -> USERNAME
42DG ... LDN 2 A1+1(3) [A1+1 -> USERNAME IN FABSNB
42Y6 ... SMO 0 [LENGTH OF MOVE
43CQ ... MVCH 1 0 [USERNAME MOVED IN
43XB ... LDX 1 FX2 [
44C2 ... LDN 1 ACOMMUNE1(1) [X1 -> FILESTORE NUMBER
44WL ... SMO 7 [X7 => 1 OR 2
45B= ... MVCH 1 0 [MOVE IN FILESTORE NUMBER
45TW ... LDX 1 FX1 [RESET X1
46*G ... LDN 2 K99SCHEDMTA+4(1) [X2 -> LOCAL NAME
46T6 ... LDN 3 A1+4(3) [X3 -> LOCAL NAME IN FABSNB
47#Q ... MOVE 2 6 [MOVE IN 'INCINDEX' ETC.
47SB ...[
48#2 ...[ NOW OPEN INCINDEX,
48RL ...[
49?= ... OPEN (GEOERR),READ,QUERY,NOWAIT
49QW ...[
4==G ...[ AND TEST REPLIES.
4=Q6 ...[
4?9Q ... TESTREP2 OK,XCHECK,LOST,XMISSING,MAG,XOFFLINE
4?PB ... TESTREP2 NOFILE,XMISSING,NOUSER,XMISSING,VRYWRONG,XWRONG
4#92 ... TESTREP2 WRONG,XWRONG
4#NL ... GEOERR 1,ALIENFS [UNEXPECTED REPLY
4*8= ...XCHECK [
4*MW ...[
4B7G ...[ X4 CONTAINS INCREMENT NUMBER
4BM6 ...[ SEARCH FOR THIS RECORD IN INCINDEX
4C6Q ...[
4CLB ... BS BOLC,BIFDTOPEN [SET THE 'INCINDEX OPEN' BIT
4D62 ... FINDREC ,AINCNOR,4,XCORRUPT [J IF RECORD NOT FOUND
4DKL ... READAGAIN [INCINDEX RECORD FOUND
4F5= ... MHUNTW 3,FILE,FRB [X3 -> INCINDEX RECORD
4FJW ... ADN 3 A1 [SET UP FOR RECCHECK
4G4G ... CALL 7 RECCHECK [CHECK FOR INVALID INCINDEX RECORD
4GJ6 ... BRN XCORRUPT [INVALID RECORD
4H3Q ... LDX 5 AMTSR(3) [X5 => NO OF TAPES
4HHB ... BZE 5 XCORRUPT [J IF NO TAPES
4J32 ... LDEX 2 AINCRHR(3) [X2 => LENGTH OF RECORD
4JGL ... SBN 2 AMAGR [X2 => LENGTH OF TAPE ENTRIES
4K2= ... BZE 2 XCORRUPT [J IF NO TAPE ENTRIES
4KFW ...XLOOP [
4K^G ... SBN 2 INCMAGLEN [SET X2
4LF6 ... SMO 2 [
4LYQ ... LDX 0 AMAGR(3) [X0 => TSN
4MDB ... BPZ 0 UP [J IF POSITIVE TSN FOUND
4MY2 ... BNG 2 XCORRUPT [J IF NONEVEN TAPE ENTRY LENGTH
4NCL ... BNZ 2 XLOOP [J IF MORE TAPE ENTRIES
4NX= ... BRN XCORRUPT [J IF ALL TSNS ARE NEGATIVE
4PBW ...UP [
4PWG ... UP [GO UP
4QB6 ...XMISSING [ALIEN INCINDEX IS MISSING
4QTQ ... LDX 6 XINCMISS(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL
4R*B ... CALL 7 RVFAIL [OUTPUT MESSAGE
4RT2 ... BRN XPERMLST [
4S#L ...XWRONG [ALIEN INCINDEX IS OF WRONG TYPE
4SS= ... LDX 6 XINCWRO(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL
4T?W ... CALL 7 RVFAIL [OUTPUT MESSAGE
4TRG ... BRN XPERMLST [
4W?6 ...XMISSORDER [ALIEN INCINDEX IS MISSORDERED
4WQQ ... MFREEW FILE,FDINCS [
4X=B ... LDX 6 XINCMSO(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL
4XQ2 ... CALL 7 RVFAIL [OUTPUT MESSAGE
4Y9L ... BRN XPERMLST [
4YP= ...XFREEFDINC [
4^8W ... MFREEW FILE,FDINCS [FREE FDINCS BLOCK
4^NG ...XCORRUPT [ALIEN INCINDEX IS CORRUPT
5286 ... LDX 6 XINCCORR(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL
52MQ ... CALL 7 RVFAIL [OUTPUT MESSAGE
537B ...XPERMLST [FILE IS PERMENTLY LOST
53M2 ... LDX 2 FX2 [
546L ... MBSXD 7,BPERLOST,BTERMST [MASK FOR PERMENTLY LOST INCREMENT
54L= ... STO 7 ACOMMUNE1(2) [STORE FOR SCHEDMTX
555W ... BRN UPPLUS1 [
55KG ...XOFFLINE [ALIEN INCINDEX IS OFFLINE
5656 ... LDX 6 XINCOFF(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL
56JQ ... CALL 7 RVFAIL [OUTPUT MESSAGE
574B ...XTEMPLST [FILE IS TEMPORARILY LOST
57J2 ... LDX 2 FX2 [
583L ... MBSXD 7,BTEMLOST,BTERMST [MASK FOR TEMPORARILY LOST FILE
58H= ... STO 7 ACOMMUNE1(2) [STOR FOR SCHEDMTX
592W ...UPPLUS1 [
59GG ... UPPLUS 1 [GO UP + 1
5=26 ...[
5=FQ ...[ ******************************************************************
5=^B ...[
5?F2 ...[ THIS ENTRY POINT SETS UP A FDINCS BLOCK FOR AN ALIEN
5?YL ...[ TAPE WHOSE TSN IS SPECIFIED IN AWORK2 (FILESTORE NUMBER
5#D= ...[ IS IN X6).
5#XW ...[
5*CG ...X2SCHEDMTA [
5*X6 ... SETNCORE 7,3,FILE,FDINCS [X3 -> FDINCS BLOCK
5BBQ ... STOZ AWORK1(2) [SET FIRST INC ZERO
5BWB ... STOZ FDINCNO(3) [SET COUNT OF ENTRIES ZERO
5CB2 ... LDX 0 AWORK2(2) [X0 => TSN
5CTL ... STO 0 FDINCTSN(3) [STORE TSN IN FDINCS
5D*= ... BZE 6 (GEOERR) [X6 SHOULDN'T BE ZERO
5DSW ... STOZ FDINCWOR(3) [SET FDINC STATE WORD ZERO
5F#G ... STF 3,FDINCFSNO,6 [STORE FILESTORE NUMBER
5FS6 ... REWIND [POSITION AT START OF INCINDEX
5G?Q ...T1MTA [
5GRB ... STEP [X3 -> NEXT RECORD
5H?2 ... BZE 3 T4MTA [J IF END OF INCINDEX
5HQL ... CALL 7 RECCHECK [CHECK VALIDITY OF THIS RECORD
5J== ... BRN XFREEFDINC [J IF INVALID RECORD
5JPW ... LDEX 2 AINCRHR(3) [X2 => LENGTH OF RECORD
5K9G ... SBN 2 AMAGR [X2 => LENGTH OF TAPE ENTRIES
5KP6 ... BZE 2 T1MTA [J IF NO TAPE ENTRIES
5L8Q ... SMO FX2 [X2 IS CORRUPT
5LNB ... LDX 0 AWORK2 [X0 => TSN
5M82 ...T2MTA [
5MML ... SBN 2 INCMAGLEN [SET X2
5N7= ... SMO 2 [
5NLW ... BXE 0 AMAGR(3),T3MTA [J IF TSN FOUND IN INCINDEX RECORD
5P6G ... BNG 2 XCORRUPT [J IF NONEVEN TAPE ENTRY LENGTH
5PL6 ... BNZ 2 T2MTA [J IF MORE ENTRIES
5Q5Q ... BRN T1MTA [READ NEXT RECORD
5QKB ...T3MTA [TAPE ENTRY FOUND
5R52 ... ADX 2 3 [X2 -> TAPE ENTRY
5RJL ... LDX 7 AINCNOR(3) [X7 => INCREMENT NUMBER
5S4= ... BNG 7 XFREEFDINC [J IF NEG INC NO
5SHW ... SMO FX2 [
5T3G ... LDX 5 AWORK1 [X5 => PREVIOS INC
5TH6 ... BXL 7 5,XMISSORDER [J IF INCINDEX MISSORDERED
5W2Q ... BXE 7 5,XFREEFDINC [J IF INC NOS EQAL
5WGB ... SMO FX2 [
5X22 ... STO 7 AWORK1 [STORE THIS INCREMENT NMBER
5XFL ... MHUNTW 2,FILE,FDINCS [X2 -> FDINCS
5X^= ... LDX 3 FDINCNO(2) [X3 => NUMBER OF ENTRIES SO FAR
5YDW ... LDN 0 1 [
5YYG ... ADS 0 FDINCNO(2) [INCREASE ENTRY COUNT BY ONE
5^D6 ... SMO 2 [
5^XQ ... STO 7 FDINCINC(3) [INCREMENT NUMBER FOR THIS ENTRY
62CB ... ADN 3 4 [INCREASE LENGTH?
62X2 ... BXL 3 ALOGLEN(2),T1MTA [J IF BLOCKSIZE OK
63BL ... LDX 6 2 [
63W= ... ADN 3 8 [INCREASE LENGTH BY 8 ENTRIES
64*W ... ALTLEN 6,3,FILE,FDINCS [INCREASE BLOCKSIZE
64TG ... BRN T1MTA [START AGAIN
65*6 ...T4MTA [FDINCS SET UP OK
65SQ ... MFREE FILE,FABSNB [KEPT TILL NOW FOR ERROR REPORTING
66#B ... BRN UP [
66S2 ...[
67?L ...[ ******************************************************************
67R= ...[
68=W ...[ THIS ENTRY POINT IS USED TO OPEN AN ALIEN FILESTORE TAPE
68QG ...[ IF IT IS FOUND TO BE SECURE - ENTERED DOWN FROM SCHEDMTX
69=6 ...[
69PQ ...[ X6 => TSN OF TAPE
6=9B ...[
6=P2 ...X3SCHEDMTA [
6?8L ... CALL 7 TESTSECURE [IS TSN SECURE (IN SERIAL)?
6?N= ... BRN UPPLUS1 [J IF INSECURE
6#7W ... TAPEOPEN (GEOERR),6,,INFORM,NOTOL,REPLY
6#MG ... BRN UP [GO UP
6*76 ...[
6*LQ ...[ ******************************************************************
6B6B ...[
6BL2 ...[ THIS ENTRY POINT IS USED TO OPEN AN ALIEN FILESTORE TAPE
6C5L ...[ IF IT IS FOUND TO BE SECURE - ENTERED DOWN FROM DTSTART
6CK= ...[
6D4W ...[ X4 => TSN OF TAPE
6DJG ...[
6F46 ...X4SCHEDMTA [
6FHQ ... LDX 6 4 [X6 => TSN
6G3B ... CALL 7 TESTSECURE [IS TSN SECURE (IN SERIAL)?
6GH2 ... BRN UPPLUS1 [J IF INSECURE
6H2L ... TAPEOPEN (GEOERR),6,,NOTOL,REPLY
6HG= ... BRN UP [
6H^W ...#END
^^^^ ...347720260001