{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CANCOM863)}}
====== CANCOM863 ======
(George Source)
**Macros used:** [[george:macro:ACROSSVAR|ACROSSVAR]], [[george:macro:BICE|BICE]], [[george:macro:CCON|CCON]], [[george:macro:COMERR|COMERR]], [[george:macro:COMERRX|COMERRX]], [[george:macro:FJOCA|FJOCA]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:PARAFREE|PARAFREE]], [[george:macro:PARAMOVE|PARAMOVE]], [[george:macro:PARANEXT|PARANEXT]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TRACE|TRACE]], [[george:macro:WRONG|WRONG]]
22FL #LIS K0CANCOM>K0COMMAND>K0ALLGEO
22^= #SEG CANCOM [ BILL IZATT : CENT
23DW 8HCANCOM
23YG [ ENTRY POINT. THIS LOCATION MUST REMAIN FIXED
24D6 SEGENTRY K1CANCOM,SENTRY1
24XQ [
25CB [
25X2 [ THIS SEGMENT CHECKS THAT THE SPECIFIED COMMAND IS
26BL [ CANCELLABLE AND IN AN ALLOWABLE CONTEXT TO BE CANCELLED.
26W= [ IT THEN PASSES CONTROL TO THE APPROPRIATE SEGMENT TO
27*W [ EFFECT THE CANCELLATION OR OUTPUTS THE APPROPRIATE ERROR
27TG [ MESSAGE.
28*6 [ THE FOLLOWING IS A LIST OF CANCELLABLE COMMANDS (SHORT-
28SQ [ FORM,LONG-FORM),FORBIDDEN CONTEXTS FOR CANCELLATION, AND
29#B [ LINKS TO THE CANCELLING SEGMENTS
29S2 SEGENTRY K90CANCOM [ THE START OF THE LIST
2=?L VERBLIST
2=R= ...#SKI JSKI31
2?=W BICE QI,QUIET,#00264,PNTLAST,3
2?QG #SKI ICANWEN
2#=6 BICE WE,WHENEVER,#00000,CANWEN,1
2#PQ BICE RV,RETRIEVE,#00000,CANCRVX,1
2*9B BICE AH,ATTACH,#00051,ATTACHA,5
2*P2 BICE AE,ASSOCIATE,#00351,ASSOC,2
2B8L BICE PR,PROPERTY,#351,PROPERTY,2
2BN= BICE AU,ATTRIBUTE,#151,ATTRIBUT,2
2C7W BICE CL,CONCEPTUAL,#00051,DELCON,1
2CMG BICE FN,FINISH,#00351,FINISH,2
2D76 BICE ET,ENTRUST,#00400,ENTRUST,2
2DLQ BICE AO,ALLOCATE,#00340,ALLOCATE,2
2DRY ...#SKI JSKI15
2D^6 ... BICE OP,OPERATOR,#00062,OPERATOR,2
2F6B #SKI AR
2FL2 BICE AR,ARCHIVE,#00002,ARCHIVE,2
2FR8 ...#UNS FTS1
2FYB ... BICE FZ,FREEZE,2,FREEZE,2
2G26 ...#UNS EXSEX2
2G3W ... BICE SX,SECUREX,#00002,ERASE,5
2G4D ...#UNS IDC
2G52 ... BICE DU,DUMP,#251,DUMP,2
2G58 ...#UNS ILOGACC
2G5B ... BICE LA,LOGACCESS,#00002,LOGCOM,1
2G5D ...#UNS AV7900S
2G5G ... BICE MV,MAKEVCC,#00351,MAKEVCC,2
2G5L SEGENTRY K91CANCOM [ THE END OF THE LIST
2GK= #DEF VBLISTLEN=0?-VERBLIST
2H4W #DEF SIZEBICE=BICESIZE [ NO OF WORDS IN BICE MACRO
2HJG [ THE FOLLOWING IS A LIST OF SUB-TYPES FOR THE CONTEXT
2J46 [ ERROR MESSAGES.
2JHQ PCOMPLIS
2K3B +JBREAK
2KH2 +JNOBREAK
2L2L +JPROGISH
2LG= +JFULL
2L^W +JTENT
2MFG +JCOR
2M^6 +JNOCOR
2NDQ +JREM
2NYB +JATT
2PD2 +JPTCR
2PXL +JOPCON
2QC= +JMOPCON
2QWW +JJDF
2RBG +JDIR
2RW6 +JCOM
2S*Q TWO +2
2STB THTEN +13
2T*2 NUM +VBLISTLEN
2TSL MERCONT +ERCONT
2W#= [
2WRW SENTRY1
2X?G PARANEXT #20 [SEPARATE COMMAND TO BE CANCELLED FROM
2XR6 [ITS FIRST PARAMETER AND PARAPASS IT
2Y=Q [ACROSS
2YQB ... TESTREP2 UNPAIR,ZN2 [ERROR IF UNPAIRED DELIMITER
2^28 ... TESTREP2 TOOMANY,ZN3 [ERROR IF TOOMANY PARAMS
2^=2 MHUNT 3,CPB,CUNI
2^PL LDX 7 ANUM(3) [GET WORD CONTAINING PARAMETER TYPE AND
329= [THE NO. OF CHARACTERS
32NW BNG 7 NOK [BRANCH IF PARAMETER MISSING
338G ANDN 7 #7777
33N6 TXL 7 THTEN(1) [TEST IF LONGER THAN TWELVE CHARACTERS
347Q BCS NOK
34MB COMERR INVERB
3572 NOK BNZ 7 N1 [TEST IF PARAMETER NULL
35LL COMERR JPARNULL,JCOMA
366= N1 BPZ 7 N2 [TEST IF MISSING
36KW COMERR JPARMIS,JCOMA
375G N2 ANDN 7 #7777 [LEAVE ONLY NO. OF CHARACTERS
37K6 LDX 4 NUM(1) [GET COUNT FOR TESTING LIST OF COMMANDS
384Q TXU 7 TWO(1) [TEST IF SHORT-FORM
38JB BCS N3
3942 LDN 6 0
39HL N4 LDX 5 VERBLIST(1) [GET NEXT SHORT-FORM
3=3= SBX 5 APARA(3)
3=GW BZE 5 VRBOK [WAS IT THE SAME AS THE COMMAND TO BE
3?2G [CANCELLED?
3?G6 ADN 6 SIZEBICE [ LOOK AT NEXT COMMAND IN TABLE
3?^Q ADN 1 SIZEBICE
3#FB TXL 6 4 [DOES AT LEAST ONE POSSIBLE COMMAND
3#^2 [REMAIN?
3*DL BCS N4
3*Y= ZN1 COMERR ERCOMM
3B5D ...ZN2 SPARAPAS [SET UP CUNI BLOCK
3B=L ... COMERR ERUNPAIR
3B#B ...ZN3
3BB6 ... COMERR JMAXPAR
3BCW N3 ADN 7 3 [CALCULATE NO. OF WORDS TAKEN UP BY THE
3BXG SRL 7 2 [COMMAND (INCLUDING THE SPACE-FILLING OF
3CC6 [THE LAST WORD,IF NECESSARY)
3CWQ LDN 6 0
3DBB N5 LDN 2 1
3DW2 SMO 2
3F*L LDX 5 VERBLIST(1) [GET NEXT WORD OF COMMAND
3FT= SMO 2
3G#W SBX 5 APARA-1(3)
3GSG BZE 5 N6 [DOES IT COMPARE SO FAR?
3H#6 ADN 6 SIZEBICE [ LOOK AT NEXT COMMAND IN TABLE
3HRQ ADN 1 SIZEBICE
3J?B TXL 6 4 [AT LEAST ONE POSSIBLE COMMAND REMAINS?
3JR2 BCS N5
3K=L COMERR ERCOMM
3KQ= N6 ADN 2 1
3L9W TXL 7 2 [HAVE WE CHECKED ALL THE WORDS THAT THE
3LPG [COMMAND TAKES UP YET?
3M96 BCC N5+1
3MNQ VRBOK LDX 5 VERBLIST+4(1) [GET FORBIDDEN CONTEXTS
3N8B #SKI K6CANCOM>999-999
3NN2 (
3P7L TRACE APARA(3),COMCAN
3PM= TRACE 5,FORBTEXT
3Q6W LDX 2 FX2
3QLG TRACE CONTEXT(2),CURRTEXT
3R66 )
3RKQ SMO FX2
3S5B ANDX 5 CONTEXT [MASK OUT NON-COINCIDENTAL CONTEXTS
3SK2 ... BZE 5 TXTPRV [DOES A FORBIDDEN CONTEXT COINCIDE WITH
3T4L [A CURRENT CONTEXT?
3TJ= SLL 5 9
3W3W LDN 7 0
3WHG N8 BPZ 5 N7 [DOES THIS BIT INDICATE THE CONTEXT
3X36 [ERROR?
3XGQ LDX 1 FX1
3Y2B SMO 7
3YG2 LDX 5 PCOMPLIS(1) [GET POINTER TO APPROPRIATE SUB-MESSAGE
3Y^L COMERRX MERCONT(1),5 [POINTER TO ERROR MESSAGE (+ERCONT) IS
3^F= [IMPLICIT
3^YW N7 SLL 5 1 [PREPARE NEXT BIT
42DG ADN 7 1 [UPDATE POINTER
42Y6 BRN N8
42^N ...TXTPRV
4322 ... LDN 5 2
432# ... SMO FX2
432L ... ANDX 5 CONTEXT
432Y ... BNZ 5 TXTOK
433= ... LDX 5 VERBLIST+4(1)
434S ... ANDX 5 ICONTEXT [OBTAIN REQD PRIVILEGE
436B ... BZE 5 TXTOK [J IF PRIVILEGE NOT REQUIRED
437Y ... FJOCA 1,2 [GET JOBQE BLOCK
439G ... LDX 7 JPRIV(1) [OBTAIN JOB PRIVILEGE
43?4 ... ANDX 7 5
43#L ... ERX 7 5
43B8 ... BNZ 7 WRONG [J IF USER HAS NOT REQUIRED PRIVILEGE
43CQ TXTOK LDX 7 ANUM(3) [GET NO. OF CHARACTERS
43XB ANDN 7 #7777 [IN COMMAND TO BE CANCELLED
44C2 PARAMOVE 7 [MOVE UP PARAMETERS OF COMMAND TO BE
44WL [CANCELLED IN CPB/CALAS BLOCK,OVERWRITING
45B= [THE COMMAND ITSELF
45TW PARAFREE [FREE ALL CPB/CMULTI BLOCKS
46*G MFREE CPB,CUNI [FREE THE CPB/CUNI BLOCK
46T6 SMO 6
47#Q LDN 5 VERBLIST+5(1) [GET POINTER TO LINK-PAIR OF SEGMENT
47SB [WHICH WILL EFFECT THE CANCELLATION
48#2 LDN 6 AWORK1(2)
48RL MOVE 5 HLINK [ MOVE LINK FOR ACROSSVAR
49?= CCON [ SET BIT INDICATING CANCEL COMMAND
49QW ACROSSVAR AWORK1(2)
4=2N ...WRONG COMERR ANOPRIV
4==G MENDAREA 30,GAPCANCOM
4=Q6 #END
^^^^ ...46151774000900000000