{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CANCRVX864)}}
====== CANCRVX864 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BBS|BBS]], [[george:macro:BBUS|BBUS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CLOSESTREAM|CLOSESTREAM]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COMBRKIN|COMBRKIN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERRORX|ERRORX]], [[george:macro:FC|FC]], [[george:macro:FNORM|FNORM]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:GEOERR|GEOERR]], [[george:macro:LF|LF]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:REPERR|REPERR]], [[george:macro:REWRITE|REWRITE]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TRANCHKN|TRANCHKN]], [[george:macro:TRANSBEG|TRANSBEG]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:TREPN|TREPN]], [[george:macro:UNIFREE|UNIFREE]], [[george:macro:UNNORM|UNNORM]], [[george:macro:UP|UP]], [[george:macro:USEROPEN|USEROPEN]]
22FL ... SEG CANCRVX,860,C.R.JOHNSON,SCHEDULER
22^= ...[
23DW ...[ THIS SEGMENT IMPLEMENTS THE CANCEL RETRIEVE COMMAND
23YG ...[
24D6 ...[ THE FIRST PARAMETER IS A FILE DESCRIPTION; THE FILE'S
24XQ ...[ DIRECTORY IS OPENED TO OBTAIN THE FILE AND INCREMENT NUMBER
25CB ...[ AND A SEARCH IS MADE DOWN THE OFF-LINE CHAIN FOR AN APPROPRIATE
25X2 ...[ FREQ BLOCK. IF FOUND THE FREQ BLOCK IS FREED UNLESS SOMEONE
26BL ...[ ELSE REQUIRES THE FILE. IF THERE IS NO FREQ BLOCK WE DO NOT
26W= ...[ KNOW WHAT HAS HAPPENED SO A MESSAGE IS ISSUED GIVING THE STATE
27*W ...[ OF THE FILE AT PRESENT.
27TG ...[
28*6 SEGENTRY K1CANCRVX,X1CANCRVX
29S2 [
29^8 ... FSHSKIP B
2=6B ...(
2=?L XT11 #76777777
2=R= XJNOPAR +JNOPAR [NO PARAMS
2?=W XAMISS +AMISS
2?QG XJUSE +JUSNA
2#=6 XERENT +ERENTTYPE
2#PQ XJLOC +JLOCNA
2*9B [
2*P2 [ MONITORING FILE MESSAGES
2B8L [
2BN= MON1 +ALRONL [%A IS ALREADY ON-LINE
2C7W MON2 +ANOTNL [%A IS NOT ON-LINE
2CMG [
2CX# ...[ ******************************************************************
2D76 [
2DLQ XLOCAL [USER NAME MISSING
2F6B LDN 1 XAMISS
2FL2 LDN 2 XJUSE
2G5L CALL 7 ZERR2
2G*D ... MHUNT 3,CPB,CUNI
2GK= BRN NULLPAR
2H4W XUSE LDN 1 XAMISS [ONLY USERNAME PRESENT
2HJG LDN 2 XJLOC
2J46 CALL 7 ZERR2
2JHQ BRN XINCV
2JMM ...[
2JRJ ...[ ******************************************************************
2JXF ...[
2K3B [ SEND TWO-PARAM ERROR MESSAGE
2KH2 [
2L2L ZERR2 SMO FX1
2LG= LDX 1 0(1)
2L^W SMO FX1
2MFG LDX 2 0(2)
2M^6 SBX 7 FX1
2NDQ ERRORX 1,2
2NYB ADX 7 FX1
2PD2 EXIT 7 0
2PXL XENTTYPE [ENTRANT TYPE INVALID
2QC= LDN 1 XERENT
2QJD ...[
2QPL ...[ ******************************************************************
2QWW [
2RBG [ SEND OUT ERROR MESSAGE WITH ONE PARAM
2RW6 [
2S*Q XERROR SMO FX1
2STB LDX 1 0(1)
2T*2 ERRORX 1
2TSL BRN XINCV [J TO PICK UP NEXT PAR
2TWR ...UP
2TYY ... FSHCODE A,XFSHATRAN
2W35 ...(
2W5= ... TRANCHKN FSHCANCRVX,EQUAL,XFSHATRAN,XFSHATRAN [J IF FROM M/C B
2W7C ... TRANSFIN [RETURN TO MACHINE B
2W9J ...XFSHATRAN
2W?P ...)
2W*W ... ENDCOM
2WD7 ...[
2WJ4 ...[ ******************************************************************
2WM^ ...[
2WRW [ THIS SUBROUTINE WILL REMOVE A SPECIFIC JOB NO FROM AFREQ BLOCK
2X?G [ AND ALTER ITS LENGTH
2XH# ...[
2XR6 [ ENTRY X2=FREQ BLOCK
2XW= ...[
2X^B ...[ THE SUBROUTINE MUST NOT CORRUPT ACOMMUNE1,2,OR 3.
2Y4G ...[
2Y7L ...[
2Y=Q REMJOB
2YQB SBX 7 FX1 [RELATIVISE LINK
2^=2 STO 2 4 [PRESERVE POINTER TO FREQ
2^PL LDX 5 FREVCT(2) [X5=NO OF JOBS
329= BZE 5 XEXIT2 [J IF NO JOBNOS
32NW RET1
338G BXE 6 FREVCT+1(2),REQ1 [LOOP ROUND FOR
33N6 ADN 2 1 [EQUAL JOB NOS
347Q BCT 5 RET1
34MB XEXIT2 [UNABLE TO FIND JOB NO
3572 ADX 7 FX1
35LL EXIT 7 0 [EXIT IF JOB NO NOT FOUND
366= REQ1
36KW SBN 5 1
375G BZE 5 NOMOVE [J IF POS ON LAST JOB NO
37K6 LDN 1 FREVCT+2(2)
384Q ADN 2 FREVCT+1
38JB SMO 5
3942 MOVE 1 0
39HL NOMOVE
3=3= LDX 2 4 [REPLACE THE POINTER
3=GW LDN 1 1
3?2G SBS 1 FREVCT(2)
3?G6 SBS 1 ALOGLEN(2) [REDUCE LOG LENGTH
3?^Q LDX 3 ALOGLEN(2)
3#FB ALTLEN 4,3
3#^2 ADX 7 FX1
3*DL EXIT 7 1 [EXIT IF JOB NO FOUND
3*KS ...[
3*R2 ...[ ******************************************************************
3*Y= [
3BCW [ S.R. TO DISCOVER PRESENCE OR ABSENCE OF REQUEST BLOCK
3BXG [ IN OFF LINE CHAIN
3CC6 [
3CWQ VSEARCH
3DBB LDN 3 0 [SET 'VARIABLE'
3DW2 BRN VS
3F5S ...[
3F*L [ SUBROUTINE TO SEARCH OFF LINE CHAIN FOR A REQUEST BLOCK SPECIFIED
3FM2 ...[ BY AN INCREMENT NUMBER IN X4, FILE NUMBER IN X5, AND
3FYB ...[ FILESTORE NUMBER IN X6.
3G9Q ...[ THE CHAIN IS SORTED ON INCREMENT NUMBER, FILE NUMBER AND THEN
3GH6 ...[ FILESTORE NUMBER.
3GSG [ IF THE REQUEST BLOCK IS NOT FOUND X2 POINTS TO THE NEXT BLOCK IN
3H#6 [ THE CHAIN EXIT 7 1
3HLH ...[ IF THE REQUEST BLCK IS FOUND X2 POINTS TO IT EXIT 7 0
3HYY ...[
3J?B SEARCH
3JR2 LDN 3 1 [SET MANDATORY
3K=L VS LDX 2 BOLC
3KQ= LDN 0 BOLC
3L9W M1SFOLC
3LPG LDX 2 0(2)
3M7B ... BXE 2 0,XIT1 [J IF END OF CHAIN
3MK= ... BXL 4 FDTINCNUM(2),XIT1 [J IF INCREMENT NOT THERE
3N36 ... BXU 4 FDTINCNUM(2),M1SFOLC [J IF INCREMENT NOT YET REACHED
3NF2 ... BXL 6 FDTFILSTR(2),XIT1 [J IF FILESTORE NOT THERE
3NWW ... BXU 6 FDTFILSTR(2),M1SFOLC [J IF FILESTORE NOT YET REACHED
3P#Q ... BXL 5 FDTFILNUM(2),XIT1 [J IF FILE NOT THERE
3PQL ... BXU 5 FDTFILNUM(2),M1SFOLC [J IF FILE NOT YET REACHED
3Q8G ...[
3QLG [ X2 POINTS TO A REQUEST BLOCK FOR THIS FILE
3QW# ...[
3R66 EXIT 7 0
3R*Y ...[
3RKQ [ THERE IS NO REQUEST BLOCK FOR THIS FILE IN OFF LINE CHAIN
3RTJ ...[
3S5B XIT1 BNZ 3 XGONE [J IF MANDATORY
3SK2 EXIT 7 1
3T4L XGONE GEOERR 1,FILEGONE
3T9S ...[
3TC2 ...[ ******************************************************************
3TJ= [
3W3W [ S.R. TO SET CHAIN ALTERED BITS IN DUMP TAPE ACTIVITIES
3WHG [
3X36 [
3XGQ [ IN N.I. JUST SET BIT 8 OF FDST FOR EACH FDT ENTRY-MEANS CHAIN ALTE
3Y2B [
3YG2 SACT LDX 2 BOLC
3Y^L LDCT 0 1 [BIT 8
3^F= LDX 1 A1(2) [COUNT OF FDT ENTRIES
3^YW BZE 1 SACT2
42DG SET8 ORS 0 FDST(2) [SET B8
42Y6 ADN 2 FDTLEN [NEXT ENTRY
43CQ BCT 1 SET8
43XB SACT2 EXIT 7 0
43^# ...)
443? ...[
4478 ...[ ******************************************************************
44?5 ...[
44C2 [ ENTRY 1 FETCH THE ENTRANT DESCRIPTION
44WL [
45B= X1CANCRVX
45CS ... FSHCODE B,XFSHBTRAN
45FB ...(
45GY ...# ALL CANCEL RETRIEVES TO BE DONE IN MACHINE B
45JG ... TRANSBEG FSHCANCRVX,CANCRVX,1,CLB,,ACOMMUNE1
45L4 ... ENDCOM
45ML ...XFSHBTRAN
45P8 ...)
45QQ ... FSHSKIP B
45S# ...(
45TW STOZ AWORK1(2)
46*G [
46T6 STARTAGN
47#Q SPARAPAS
47SB MHUNT 3,CPB,CUNI [FETCH THE PARAMETER
48#2 LDX 0 ANUM(3)
48RL BNG 0 NOMORE [J IF PARAMETER MISSING
49?= BNZ 0 NORM [J IF +VE IE. PAR PRESENT
49QW NULLPAR
4==G FREECORE 3 [NULL PAR FREE CPB/CUNI
4=Q6 BRN STARTAGN
4?9Q NOMORE
4?PB SMO FX2
4#92 LDX 0 AWORK1
4#NL BNZ 0 ZATLONE [J IF AT LEAST ONE PAR SPEC.
4*8= LDN 1 XJNOPAR [OUTPUT ERROR MESSAGES
4*BG ...[
4*JQ ...[ FOR NO PARAM CASE - SIMPLEST TO HAVE SEPARATE S/R
4*R2 ...[
4*^= ...[
4B7G SMO FX1
4BM6 LDX 1 0(1)
4C6Q ERRORX 1
4CLB BRN UP
4D62 ZATLONE
4DKL FREECORE 3 [FREE CPB/CUNI BLK
4F5= BRN UP [COMMAND FINISHED
4FJW [
4G4G [ MUST FIRST DO SOME WORK FOR FNORM-IT WONT COPE WITH A RELATIVE
4GJ6 [ NAME IN NO USER CONTEXT
4H3Q [
4HHB NORM
4J32 STO 3 AWORK1(2) [MAKE AWK1 +VE
4JGL LDCH 0 APARA(3) [FIRST CHARACTER
4K2= SBN 0 #12 [:
4KFW BZE 0 PRESCOL [J IF USER NAME PRESENT
4K^G BBUS 23,CONTEXT(2),XLOCAL [J IF RELATIVE NAME IN NO USER
4LF6 [CONTEXT
4LYQ [
4MDB [ EITHER COLON OR IN USER CONTEXT
4MY2 [
4NCL PRESCOL
4NX= NAMETOP 3,FILE,FNAME
4PBW FNORM [CONVERT TO A FILE/FABSNB
4PJ4 ... MHUNT 3,FILE,FNAME
4PP= ... NAMETOP 3,CPB,CUNI [FOR USEROPEN ERROR MESSAGES
4PWG TESTREP2 NAMEFORM,XFNO [ERROR REPORTED BY FNORM
4QB6 MHUNT 1,FILE,FABSNB
4QTQ LDN 0 #2400 [CHECK WHETHER TSN OR REEL/RET PRESEN
4R*B ANDX 0 ATYPE(1)
4RT2 BNZ 0 XENTTYPE [J IF ENTRANT TYPE INVALID
4S#L BBS 16,ATYPE(1),SHRIEK [J IF WORKFILE
4SS= LDX 0 ALOGLEN(1)
4T?W SBN 0 4
4TRG BZE 0 XUSE [J IF ONLY USERNAME
4W?6 [
4WQQ [ OPEN THE FILE'S SUPERIOR DIRECTORY
4X=B [
4XQ2 ... USEROPEN XBR,READR,LEAVE,STREAMS,DIR,TERMDIR,UNTRAP,FROZEN
4Y9L REPERR OK2
4YP= ... BRN XINCV [ TO PICK NEXT PAR
4^8W ...OK2 STOZ AWORK4(2)
4^NG ... TREPN STREAM,OK3
5286 ... LDX 0 GSIGN
52MQ ... STO 0 AWORK4(2) [REMEMBER TO CLOSE SDF
53M2 OK3
546L MHUNTW 3,FILE,ENT
54L= LDN 6 0
555W BBUS 23,CONTEXT(2),NOUSERACT [J IF IN
55KG [ NO USER ACTIVITY
5656 LDX 6 JOBNO(2) [PICK UP JOB NO
56JQ NOUSERACT
56SJ ... STO 6 AWORK2(2) [STORE JOBNUMBER
574B LDX 4 EINC(3) [X4 =INC NO
57J2 LDX 5 EFILNUM(3) [X5=FILE NO
57P8 ... LF 3,FEFSNO,6 [X6 => FILESTORE NUMBER.
57WB ...[
583L [ SEARCH FOR REQUEST BLKS
58?D ...[
58H= CALL 7 VSEARCH [SEARCH FOR FREQ BLK;X2=FREQ
592W BRN XFREQP [J IF REQUEST BLK PRESENT
59*? ...[
59MN ...[ IF FREQ BLK NOT FOUND (OR JOB NO) THEN IT IS NOT POSSIBLE TO DET.
5=26 [ EXACTLY WHAT HAPPENED, SO WE MERELY INFORM THE USER OF THE CURRENT
5=FQ [ STATE OF THE FILE
5=^B [
5?F2 SEREND
5?YL SETNCORE 100,3,ADATA,CREADL [BLOCK FOR ENTRANT DESCRIPTION
5#D= STOZ A1(3) [NOTHING IN IT YET
5#XW UNNORM TWO [CONVERT NAME FROM FABSNB
5*CG MHUNTW 3,ADATA,CREADL
5*X6 OUTPARAM A1(3),CPDATA,ADATA,CREADL [SET UP AS A PARAMETER
5BBQ MFREEW ADATA,CREADL
5BWB MHUNTW 3,FILE,ENT
5CB2 LDX 4 MON1(1) [%A IS ALREADY ON-LINE
5CTL LDX 0 ECOPS(3)
5D*= ANDN 0 #7777
5DSW BNZ 0 ONL [BRANCH IF ON-LINE
5F#G LDX 4 MON2(1) [%A IS NOT ON-LINE
5FS6 ONL MFREEW FILE,ENT
5G?Q ...ONLSH MONOUTX 4
5GRB ... BRN XINCF
5H?2 XFREQP
5HQL LDX 3 FX2
5J42 ... STO 4 ACOMMUNE1(3)
5J*B ... STO 5 ACOMMUNE2(3)
5JLQ ... STO 6 ACOMMUNE3(3)
5JY6 ... LDX 6 AWORK2(3) [X6 => JOBNUMBER
5K9G CALL 7 REMJOB
5KP6 BRN SEREND [JOB NOT PRESENT
5L4T ... LDX 4 ACOMMUNE1(2)
5LDJ ... LDX 5 ACOMMUNE2(2) [RESTORE ACCS
5LS? ... LDX 6 ACOMMUNE3(2)
5M82 CALL 7 SEARCH [X2=FREQ BLK
5MML LDX 0 FREQCT(2)
5N7= BNZ 0 XENDCC [J IF WAITERS PRESENT
5NLW LDX 0 FREVCT(2)
5P6G BNZ 0 XENDCC [J IF JOBS PRESENT
5PL6 FREECORE 2 [ FREE REQUEST BLOCK
5Q5Q CALL 7 SACT [CHAIN ALTERED BITS
5Q9M ... MHUNTW 3,FILE,ENT
5Q?K ... FC 3,FEGMTRV [CLEAR GMTNOW FIELD IN FILE ENT
5Q*H ... NAME 3,FILE,FWB
5QCF ... REWRITE [UPDATE NAME RECORD
5QFC ... MFREEW FILE,FWB
5QHB ... BRN XINCF
5QKB XENDCC
5R52 MFREEW FILE,ENT
5RB5 ...XINCF
5RM9 ... CLOSETOP [CLOSE DIRECTORY
5RPS ... LDX 0 AWORK4(2)
5RSC ... BPZ 0 XINCV [CHECK FOR SDF
5RX2 ... CLOSESTREAM
5R^L ...XINCV
5S4= MFREE FILE,FABSNB
5SHW XFNO
5T3G ... UNIFREE
5TH6 BRN STARTAGN
5W2Q [
5WGB [ CANCEL RV !
5X22 [
5XFL SHRIEK
5X^= LDX 2 FX2
5YDW LDCT 0 #210 [! CHAR
5YYG STO 0 ACOMMUNE1(2)
5^D6 LDN 0 1
5^XQ OUTPARAM 0,ACOMMUNE1
62CB LDX 4 MON1(1)
62PR ... MONOUTX 4
6348 ... BRN XINCV
63BL XBR COMBRKIN
63W= MENDAREA 100,K99CANCRVX
6464 ...)
64*W #END
64TG
^^^^ ...15400262000200000000