* %/* START OF SPECIFICATIONS *** @G24LB22 17250000 * @G24LB22 17300000 *01* MODULE-NAME = ICBMODC @G24LB22 17350000 * @G24LB22 17400000 *01* DESCRIPTIVE-NAME = MODIFY CARTRIDGE @G24LB22 17450000 * @G24LB22 17500000 *01* COPYRIGHT = NONE @G24LB22 17550000 * @G24LB22 17600000 *01* STATUS = OS/VS2 @G24LB22 17650000 * @G24LB22 17700000 *01* FUNCTION = BUILDS A REQUEST BLOCK FOR A MODIFYC @G24LB22 17750000 * REQUEST. THE MACRO IS A COMMUNICATION LINK @G24LB22 17800000 * BETWEEN THE CALLER AND THE MSSC SVC MODULE. @G24LB22 17850000 * @G24LB22 17900000 *01* NOTES = ICBMODC IS CODED IN PLS ONLY. @G24LB22 17950000 * @G24LB22 18000000 *02* DEPENDENCIES = NONE @G24LB22 18050000 * @G24LB22 18100000 *02* RESTRICTIONS = THE PREFIXES ICB AND MOD SHOULD BE @G24LB22 18150000 * AVOIDED WHEN INVOKING THIS MACRO. @G24LB22 18200000 * @G24LB22 18250000 *02* REGISTER-CONVENTIONS = FOLLOWS NORMAL USE OF @G24LB22 18300000 * REGISTERS BY MACROS: @G24LB22 18350000 * R0,R1,R14, AND R15. @G24LB22 18400000 * @G24LB22 18450000 *01* MODULE-TYPE = MACRO @G24LB22 18500000 * @G24LB22 18550000 *02* PROCESSOR = PLS2 @G24LB22 18600000 * @G24LB22 18650000 *01* INPUT = PARAMETERS SPECIFIED ON THE PLS MACRO @G24LB22 18700000 * INVOCATION. @G24LB22 18750000 * @G24LB22 18800000 * @G24LB22 18850000 * MACRO SYNTAX @G24LB22 18900000 * @G24LB22 18950000 * LIST FORM @G24LB22 19000000 * @G24LB22 19050000 * VERB REQUIRED PARMS OPTIONAL PARMS @G24LB22 19100000 * @G24LB22 19150000 * ICBMODC MF(L,NAME[,ATTRIBUTE]) @G24LB22 19200000 * @G24LB22 19250000 * EXECUTE FORM @G24LB22 19300000 * @G24LB22 19350000 * VERB REQUIRED PARMS OPTIONAL PARMS @G24LB22 19400000 * @G24LB22 19450000 * ICBMODC MF(E,NAME) @G24LB22 19500000 * [,COMPLETE]) @G24LB22 19550000 * ATTR1(NAME) @G24LB22 19600000 * ATTR2(NAME) @G24LB22 19650000 * VOLID(NAME) @G24LB22 19700000 * LOC1(NAME) @G24LB22 19750000 * CSN(NAME) @G24LB22 19800000 * NVOLID(NAME) @G24LB22 19850000 * LOC2(NAME) @G24LB22 19900000 * CSNPAIR(NAME) @G24LB22 19950000 * VOLFLG(NAME) @G24LB22 20000000 * SEQNO(NAME) @G24LB22 20050000 * @G24LB22 20100000 * KEYWORD PARAMETERS: @G24LB22 20150000 * @G24LB22 20200000 * MF - MACRO FORMAT: THIS PARAMETER DESCRIBES THE @G24LB22 20250000 * MACRO FORMAT AND MAY GIVE THE ADDRESS OR @G24LB22 20300000 * ADDRESS IN A REGISTER WHERE THE REQUEST BLOCK @G24LB22 20350000 * IS STORED. @G24LB22 20400000 * @G24LB22 20450000 * L - LIST FORM: THE EXPANSION OF THE L-FORM @G24LB22 20500000 * MACRO WILL RESULT IN AN UNINITIALIZED @G24LB22 20550000 * REQUEST BLOCK. @G24LB22 20600000 * @G24LB22 20650000 * (1) NAME - THE MACRO INVOKER MUST SPECIFY A @G24LB22 20700000 * NAME FOR HIS STRUCTURE WHEN INVOKING THE @G24LB22 20750000 * PLS LIST FORM. @G24LB22 20800000 * @G24LB22 20850000 * (2) ATTRIBUTE - THE MACRO WILL PLACE ANY PLS @G24LB22 20900000 * ATTRIBUTE SPECIFIED IN THE MACRO INVOCATION @G24LB22 20950000 * IN AN UNINITIALIZED REQUEST BLOCK. @G24LB22 21000000 * ATTRIBUTE EXAMPLE: @G24LB22 21050000 * @G24LB22 21100000 * CHAR, FIXED, STATIC LOCAL, NONLOCAL, @G24LB22 21150000 * BASED(*), ETC. @G24LB22 21200000 * @G24LB22 21250000 * E - EXECUTABLE FORM: THE EXPANSION OF THIS @G24LB22 21300000 * FORM CONSISTS OF A LINKAGE INSTRUCTION AND @G24LB22 21350000 * POSSIBLY, PARAMETER BINDING INSTRUCTIONS. @G24LB22 21400000 * @G24LB22 21450000 * SUB-PARAMETERS @G24LB22 21500000 * (1) AN E MUST BE SPECIFIED IN THE FIRST @G24LB22 21550000 * SUB-PARAMETER POSITION. THIS @G24LB22 21600000 * INDICATES THAT THE MACRO IS IN @G24LB22 21650000 * EXECUTABLE FORM. @G24LB22 21700000 * @G24LB22 21750000 * (2) A NAME MUST BE SPECIFIED IN THE SECOND @G24LB22 21800000 * SUB-PARAMETER. @G24LB22 21850000 * @G24LB22 21900000 * (3) 'COMPLETE' - COMPLETE WILL CAUSE THE @G24LB22 21950000 * MACRO TO ZERO OUT THE REQUEST BLOCK. @G24LB22 22000000 * AFTER ZEROING THE REQUEST BLOCK THE @G24LB22 22050000 * FUNCTION OPCODE AND LENGTH ARE @G24LB22 22100000 * PLACED IN THE REQUEST BLOCK. @G24LB22 22150000 * @G24LB22 22200000 * @G24LB22 22250000 * REQUEST | ORDER | CODE @G24LB22 22300000 * -------------------------------------- @G24LB22 22350000 * MODIFYC | HEX'11' | N/A @G24LB22 22400000 * @G24LB22 22450000 * @G24LB22 22500000 *01* EXIT-NORMAL = VALID INVOCATION @G24LB22 22550000 * @G24LB22 22600000 *02* CONDITION = RETURN CODE = 0. @G24LB22 22650000 * = RETURN CODE = 4. @G24LB22 22700000 * @G24LB22 22750000 *02* OUTPUT = IN-LINE PLS STATEMENTS THAT PERFORM THE @G24LB22 22800000 * REQUESTED FUNCTION. @G24LB22 22850000 * = A WARNING MESSAGE WILL BE PRINTED, AND @G24LB22 22900000 * THE EXPANSION WILL CONTINUE. @G24LB22 22950000 * @G24LB22 23000000 *01* EXIT-ERROR = INVALID INVOCATION @G24LB22 23050000 * @G24LB22 23100000 *02* CONDITION = RETURN CODE = 12. @G24LB22 23150000 * @G24LB22 23200000 *02* OUTPUT = ERROR MESSAGE @G24LB22 23250000 * @G24LB22 23300000 *01* EXTERNAL-REFERENCES = NONE @G24LB22 23350000 * @G24LB22 23400000 *01* TABLES = NONE @G24LB22 23450000 * @G24LB22 23500000 *01* MESSAGES = AS FOLLOWS: @G24LB22 23550000 * @G24LB22 23600000 * ICB602I: A NAME FOR THE REQUEST BLOCK MUST @G24LB22 23650000 * BE SPECIFIED IN MF(2) @G24LB22 23700000 * ICB604I: WARNING - ONLY MF PARAMETER IS VALID @G24LB22 23750000 * FOR LIST FORM @G24LB22 23800000 * ICB612I: MF(2) MUST CONTAIN REQ BLK NAME @G24LB22 23850000 * IF EXEC MACRO FORM REQUESTED @G24LB22 23900000 * ICB620I: INVALID MF PARAMETER SPECIFIED, @G24LB22 23950000 * MUST BE L OR E. @G24LB22 24000000 * @G24LB22 24050000 *01* INNER-MACRO = NONE @G24LB22 24100000 * @G24LB22 24150000 *01* SYSTEM-MACRO = NONE @G24LB22 24200000 * @G24LB22 24250000 *01* CHANGE-ACTIVITY = NONE @G24LB22 24300000 * @G24LB22 24350000 **** END OF SPECIFICATIONS *** @G24LB22*/ 24400000 * /*@G24LB22*/ 24450000 * ICBMODC: MACRO KEYS(MF,ATTR1,ATTR2,VOLID,LOC1, 24500000 * CSN,NVOLID,LOC2,CSNPAIR, 24550000 * VOLFLG,SEQNO); /*@G24LB22*/ 24600000 */* EXTERNAL DECLARES @G24LB22*/ 24650000 * DCL MODTSTR1 FIXED EXT; /*USED AS A TEST TO @G24LB22*/ 24700000 * /*SEE IF R1 ALREADY @G24LB22*/ 24750000 * /*DECLARED @G24LB22*/ 24800000 */* INTERNAL DECLARES @G24LB22*/ 24850000 * DCL RETCODE FIXED; /*RETURN CODE @G24LB22*/ 24900000 * DCL MODCODE CHAR; /*MODIFYC ORDER @G24LB22*/ 24950000 * DCL LENGTH CHAR; /*LENGTH OF BLOCK @G24LB22*/ 25000000 * DCL ESW FIXED; /*EXIT-SWITCH @G24LB22*/ 25050000 * DCL BSW FIXED; /*BRCH-SWITCH @G24LB22*/ 25100000 * DCL CTR FIXED; /*PARM-SWITCH @G24LB22*/ 25150000 */* INITIALIZE SWITCHES AND FIELDS @G24LB22*/ 25200000 * ESW=0; /*INIT ERROR SWITCH @G24LB22*/ 25250000 * BSW=0; /*INIT BRANCH SWITCH @G24LB22*/ 25300000 * CTR=0; /*INIT PARM SWITCH @G24LB22*/ 25350000 * MODCODE='11'; /*ORDER CODE @G24LB22*/ 25400000 * LENGTH='34'; /*REQ BLK LEN @G24LB22*/ 25450000 */* END OF DECLARES AND INITIALIZATION @G24LB22*/ 25500000 * IF MODTSTR1=0 THEN /*HAS R1 BEEN DCL'D? @G24LB22*/ 25550000 * DO; /*NO,DECLARE IT @G24LB22*/ 25600000 * ANS('DCL MODBR1 PTR REG(1) ;'|| 25650000 * '/*WILL CONTAIN BLOCK ADDRESS @G24LB22*/') 25700000 * SKIP(1); /*@G24LB22*/ 25750000 * MODTSTR1=1; /*MODTSTR1 SET TO 1 @G24LB22*/ 25800000 * END; /* @G24LB22*/ 25850000 * IF MF(1)^='L' THEN /*IF NOT LIST FORM @G24LB22*/ 25900000 * GO TO EXCHECK; /*THEN BRANCH @G24LB22*/ 25950000 * IF MF(2)='' THEN /*WAS A NAME GIVEN? @G24LB22*/ 26000000 * DO; /*NO,TURN ESW ON AND @G24LB22*/ 26050000 * ESW=1; /*PRINT ERROR MSG @G24LB22*/ 26100000 * ANS MSG(' ICB602I - A NAME FOR THE '|| 26150000 * 'REQUEST BLOCK MUST BE SPECIFIED '|| 26200000 * 'IN MF(2)')SKIP(5); /*@G24LB22*/ 26250000 * RETCODE=12; /*SET RETURN CODE @G24LB22*/ 26300000 * END; /* @G24LB22*/ 26350000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 26400000 * GO TO EXIT; /*YES, BRANCH @G24LB22*/ 26450000 * IF ATTR1 ^= '' THEN /*ATTR1 SPECIFIED? @G24LB22*/ 26500000 * CTR = CTR + 1; /*YES,INCREMENT CTR @G24LB22*/ 26550000 * IF ATTR2 ^= '' THEN /*ATTR2 SPECIFIED? @G24LB22*/ 26600000 * CTR = CTR + 1; /*YES,INCREMENT CTR @G24LB22*/ 26650000 * IF VOLID ^= '' THEN /*VOLID SPECIFIED? @G24LB22*/ 26700000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 26750000 * IF LOC1 ^= '' THEN /*LOC1 SPECIFIED? @G24LB22*/ 26800000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 26850000 * IF CSN ^= '' THEN /*CSN SPECIFIED? @G24LB22*/ 26900000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 26950000 * IF NVOLID ^= '' THEN /*NVOLID SPECIFIED? @G24LB22*/ 27000000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 27050000 * IF LOC2 ^= '' THEN /*LOC2 SPECIFIED? @G24LB22*/ 27100000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 27150000 * IF CSNPAIR ^= '' THEN /*CSNPAIR SPECIFIED? @G24LB22*/ 27200000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 27250000 * IF VOLFLG ^= '' THEN /*VOLFLG SPECIFIED? @G24LB22*/ 27300000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 27350000 * IF SEQNO ^= '' THEN /*SEQNO SPECIFIED? @G24LB22*/ 27400000 * CTR = CTR + 1; /*YES,INCREMENT COUNTER @G24LB22*/ 27450000 * IF CTR > 0 THEN /*COUNTER GT ZERO? @G24LB22*/ 27500000 * DO; /*YES,PRINT WARNING MSG @G24LB22*/ 27550000 * RETCODE = 4; /*SET RETURN CODE TO 4 @G24LB22*/ 27600000 * ANS MSG(' ICB604I - WARNING-ONLY'|| 27650000 * ' THE MF PARAMETER IS VALID FOR THE'|| 27700000 * ' LIST FORM ')SKIP; /*@G24LB22*/ 27750000 * END; /* @G24LB22*/ 27800000 */* @G24LB22*/ 27850000 */********************************************************* @G24LB22*/ 27900000 */* PRINT OUT DECLARES FOR LIST FORM @G24LB22*/ 27950000 */********************************************************* @G24LB22*/ 28000000 */* @G24LB22*/ 28050000 */* @G24LB22*/ 28100000 * ANS('/*******************************************'|| 28150000 * '************* @G24LB22*/')SKIP; 28200000 * ANS('/* MSSC MODIFY CARTRIDGE MACRO '|| 28250000 * ' @G24LB22*/')SKIP; 28300000 * ANS('/*VS1-6/VS2-3 VERSION--04/23/76 LEVEL 00 '|| 28350000 * ' @G24LB22*/')SKIP; 28400000 * ANS('/*THIS IS THE UNINITIALIZED LIST FORM '|| 28450000 * ' @G24LB22*/')SKIP; 28500000 * ANS('/*******************************************'|| 28550000 * '************* @G24LB22*/')SKIP; 28600000 * IF MF(3) ^= '' THEN DO; /*PLS ATTR SPCD? @G24LB22*/ 28650000 * ANS('DCL 1 '||MF(2)||' '||MF(3)||','|| 28700000 * '/*MODIFYC REQUEST BLOCK*/ ') SKIP(1); 28750000 * END; 28800000 * ELSE 28850000 * DO; 28900000 * ANS('DCL 1 '||MF(2)||','||' /*MF2 REQUEST BLOCK'|| 28950000 * '@G24LB22*/') SKIP(1); 29000000 * END; 29050000 * ANS(' 2 MODLEN FIXED(31), /*LENGTH'|| 29100000 * ' = 52 BYTES (DEC.) @G24LB22*/')SKIP(1); 29150000 * ANS(' 2 MODORDER FIXED(8), /*OPCODE='|| 29200000 * ' 11 HEX @G24LB22*/') SKIP(1); 29250000 * ANS(' 2 MODRES1 CHAR(1), /*RESERVED @G24LB22*/') SKIP(1); 29300000 * ANS(' 2 MODFUNC BIT(8),'|| 29350000 * ' /*FUNCTION FIELD @G24LB22*/') SKIP(1); 29400000 * ANS(' 3 MODUPDTE BIT(1), /*UPDATE'|| 29450000 * 'CARTRIDGE LABEL @G24LB22*/') SKIP(1); 29500000 * ANS(' 3 MODCREAT BIT(1), /*CREATE'|| 29550000 * 'SCRATCH CARTRIDGE @G24LB22*/') SKIP(1); 29600000 * ANS(' 3 MODMOVE BIT(1), /*MOVE CARTRIDGE'|| 29650000 * 'TO CAS @G24LB22*/') SKIP(1); 29700000 * ANS(' 3 * BIT(5), /*RESERVED @G24LB22*/') SKIP(1); 29750000 * ANS(' 2 MODLOCAT BIT(8),'|| 29800000 * ' /*LOCATE ATTRIBUTE @G24LB22*/') SKIP(1); 29850000 * ANS(' 3 MODLCSN BIT(1), /*LOCATE'|| 29900000 * ' USING CSN @G24LB22*/') SKIP(1); 29950000 * ANS(' 3 MODLVOL BIT(1), /*LOCATE'|| 30000000 * ' USING VOLID @G24LB22*/') SKIP(1); 30050000 * ANS(' 3 MODLLXYZ BIT(1), /*LOCATE'|| 30100000 * ' USING LXYZ @G24LB22*/') SKIP(1); 30150000 * ANS(' 3 MODLSEQ1 BIT(1), /*UPDTE-MOVE'|| 30200000 * ' SEQ1 CART @G24LB22*/') SKIP(1); 30250000 * ANS(' 3 MODLSEQ2 BIT(1), /*UPDTE-MOVE'|| 30300000 * ' SEQ2 CART @G24LB22*/') SKIP(1); 30350000 * ANS(' 3 * BIT(3), /*RESERVED BITS '|| 30400000 * 'AND MUST BE ZERO @G24LB22*/') SKIP(1); 30450000 * ANS(' 2 MODVOLID CHAR(6),'|| 30500000 * ' /*CURRENT VOLID @G24LB22*/') SKIP(1); 30550000 * ANS(' 2 MODLXYZ FIXED(16), /*CURRENT '|| 30600000 * 'LOC OF CART @G24LB22*/') SKIP(1); 30650000 * ANS(' 2 MODCSN CHAR(12),'|| 30700000 * ' /*CURRENT CSN @G24LB22*/') SKIP(1); 30750000 * ANS(' 2 MODNVOL CHAR(6), /*SUPPLIED '|| 30800000 * 'VOLID FOR UPDTE @G24LB22*/') SKIP(1); 30850000 * ANS(' 2 MODNLXYZ FIXED(16), /*SUPPLIED '|| 30900000 * 'LXYZ FOR UPDTE @G24LB22*/') SKIP(1); 30950000 * ANS(' 2 MODNCSN CHAR(12), /*CSN OF PAIR '|| 31000000 * 'FOR UPDTE @G24LB22*/') SKIP(1); 31050000 * ANS(' 2 MODVFLG BIT(8), /*VOLUME FLAGS @G24LB22*/') 31100000 * SKIP(1); /*@G24LB22*/ 31150000 * ANS(' 3 * BIT(2), /*RESERVED BITS '|| 31200000 * 'AND MUST BE ZERO @G24LB22*/') SKIP(1); 31250000 * ANS(' 3 MODSECUR BIT(1), /*SECURE'|| 31300000 * ' VOLUME @G24LB22*/') SKIP(1); 31350000 * ANS(' 3 MODEXCL BIT(1), /*EXCLUSIVE'|| 31400000 * ' VOLUME @G24LB22*/') SKIP(1); 31450000 * ANS(' 3 MODSCR BIT(1), /*SCRATCH'|| 31500000 * ' CARTRIDGE @G24LB22*/') SKIP(1); 31550000 * ANS(' 3 MODBIND BIT(1), /*BOUND'|| 31600000 * ' VOLUME @G24LB22*/') SKIP(1); 31650000 * ANS(' 3 MODWINH BIT(1), /*WRITE'|| 31700000 * ' INHIBIT @G24LB22*/') SKIP(1); 31750000 * ANS(' 3 * BIT(1), /*RESERVED BITS '|| 31800000 * 'AND MUST BE ZERO @G24LB22*/') SKIP(1); 31850000 * ANS(' 2 MODSEQNO CHAR(1), /*ID OF CARTRIDGE '|| 31900000 * 'OF PAIR @G24LB22*/') SKIP(1); 31950000 * ANS(' 2 * CHAR(2); /*RESERVED @G24LB22*/') 32000000 * SKIP(1); /*@G24LB22*/ 32050000 * GO TO EXIT; /*BRANCH TO END @G24LB22*/ 32100000 */********************************************************* @G24LB22*/ 32150000 */* THIS IS ALL THAT IS DONE FOR LIST FORM @G24LB22*/ 32200000 */********************************************************* @G24LB22*/ 32250000 */* THE MACRO BRANCHES HERE FOR EXEC FORM @G24LB22*/ 32300000 */********************************************************* @G24LB22*/ 32350000 */* @G24LB22*/ 32400000 *EXCHECK: IF MF(1)='E' THEN /*EXEC FORM? @G24LB22*/ 32450000 * GO TO EXFORM; /*YES, BRANCH @G24LB22*/ 32500000 * ESW=1; /*TURN EXIT-SWTCH ON @G24LB22*/ 32550000 * DO; /*PRINT THIS ERR MSG @G24LB22*/ 32600000 * ANS MSG(' ICB620I - INVALID MF PARAMETER'|| 32650000 * ' SPECIFIED, MUST BE L OR E') SKIP(5); /*@G24LB22*/ 32700000 * END; /* @G24LB22*/ 32750000 * RETCODE=12; /*SET RETURN CODE @G24LB22*/ 32800000 * GO TO TEST1; /*BRANCH @G24LB22*/ 32850000 *EXFORM: IF MF(2)='' THEN /*ADDR OF LIST GIVEN @G24LB22*/ 32900000 * DO; /*NO,PRINT ERROR MSG @G24LB22*/ 32950000 * ESW=1; /*TURN EXIT-SWTCH ON @G24LB22*/ 33000000 * ANS MSG(' ICB612I - MF(2) MUST '|| 33050000 * 'CONTAIN REQ BLK NAME IF '|| 33100000 * 'EXEC MACRO FORM REQUESTED ') SKIP(5); /*@G24LB22*/ 33150000 * RETCODE=12; /*SET RETURN CODE @G24LB22*/ 33200000 * GO TO TEST1; /*BRANCH @G24LB22*/ 33250000 * END; /* @G24LB22*/ 33300000 * ANS('/*******************************************'|| 33350000 * '************* @G24LB22*/')SKIP; 33400000 * ANS('/* MSSC MODIFY CARTRIDGE MACRO '|| 33450000 * ' @G24LB22*/')SKIP; 33500000 * ANS('/*VS1-6/VS2-3 VERSION-- 04/23/76 LEVEL 00 '|| 33550000 * ' @G24LB22*/')SKIP; 33600000 * ANS('/*THIS IS THE OUTPUT FOR THE EXECUTE FORM. '|| 33650000 * ' @G24LB22*/')SKIP; 33700000 * ANS('/*THE LIST FORM OF THIS MACRO SHOULD BE '|| 33750000 * ' @G24LB22*/')SKIP; 33800000 * ANS('/*INVOKED FIRST IN ORDER TO SET UP NECESSARY'|| 33850000 * ' @G24LB22*/')SKIP; 33900000 * ANS('/*DECLARES. IF THE COMPLETE ARGUMENT IS '|| 33950000 * ' @G24LB22*/')SKIP; 34000000 * ANS('/*SPECIFIED THE REQ BLOCK WILL BE ZEROED. '|| 34050000 * ' @G24LB22*/')SKIP; 34100000 * ANS('/*******************************************'|| 34150000 * '************* @G24LB22*/')SKIP; 34200000 * ANS('RFY(MODBR1)RSTD; /*RESTRICT REGISTER 1 @G24LB22*/')SKIP; 34250000 * ANS('MODBR1=ADDR('||MF(2)|| 34300000 * '); /*SET MODBR1 TO ADDR OF REQ BLK @G24LB22*/') SKIP(1); 34350000 * IF MF(3) = 'COMPLETE' THEN /*REQUEST TO ZERO? @G24LB22*/ 34400000 * DO; /*YES,ZERO BLK @G24LB22*/ 34450000 * ANS(' '||MF(2)||'='||MF(2)||'&&'||MF(2)||';'|| /*@G24LB22*/ 34500000 * '/*ZERO REQUEST BLOCK @G24LB22*/')SKIP; 34550000 * END; /* @G24LB22*/ 34600000 * ANS('MODLEN='||QUOTE(LENGTH)||'X;'|| 34650000 * '/*SET LENGTH FIELD @G24LB22*/')SKIP(1); 34700000 * ANS('MODORDER='||QUOTE(MODCODE)||'X; /*OPCODE @G24LB22*/') SKIP(1); 34750000 *TEST1: /*@G24LB22*/ 34800000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 34850000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 34900000 * IF ATTR1 ^='' THEN /*ATTR1 SPECIFIED? @G24LB22*/ 34950000 * DO; 35000000 * ANS('MODFUNC='||ATTR1||';/*FILL IN FUNCTION FIELD @G24LB22*/') 35050000 * SKIP(1); /*@G24LB22*/ 35100000 * END; /* @G24LB22*/ 35150000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 35200000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 35250000 * IF ATTR2 ^='' THEN /*ATTR2 SPECIFIED? @G24LB22*/ 35300000 * DO; 35350000 * ANS('MODLOCAT='||ATTR2||';/*FILL IN SEARCH FIELD @G24LB22*/') 35400000 * SKIP(1); /*@G24LB22*/ 35450000 * END; /* @G24LB22*/ 35500000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 35550000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 35600000 * IF VOLID ^='' THEN /*VOLID SPECIFIED? @G24LB22*/ 35650000 * DO; 35700000 * ANS('MODVOLID='||VOLID||';/*FILL IN CURRENT VOLID @G24LB22*/') 35750000 * SKIP(1); /*@G24LB22*/ 35800000 * END; /* @G24LB22*/ 35850000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 35900000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 35950000 * IF LOC1 ^='' THEN /*LXYZ SPECIFIED? @G24LB22*/ 36000000 * DO; 36050000 * ANS('MODLXYZ='||LOC1||';/*FILL IN CURRENT LOCATION @G24LB22*/') 36100000 * SKIP(1); /*@G24LB22*/ 36150000 * END; /* @G24LB22*/ 36200000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 36250000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 36300000 * IF CSN ^='' THEN /*CSN SPECIFIED? @G24LB22*/ 36350000 * DO; 36400000 * ANS('MODCSN='||CSN||';/*FILL IN CURRENT CSN @G24LB22*/') 36450000 * SKIP(1); /*@G24LB22*/ 36500000 * END; /* @G24LB22*/ 36550000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 36600000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 36650000 * IF NVOLID ^='' THEN /*VOLID SPECIFIED? @G24LB22*/ 36700000 * DO; /* @G24LB22*/ 36750000 * ANS('MODVOLID='||NVOLID||';/*FILL IN NEW VOLID @G24LB22*/') 36800000 * SKIP(1); 36850000 * END; /* @G24LB22*/ 36900000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 36950000 * GO TO EXIT; /*YES, GO TO END @G24LB22*/ 37000000 * IF LOC2 ^='' THEN /*LXYZ SPECIFIED? @G24LB22*/ 37050000 * DO; 37100000 * ANS('MODNLXYZ='||LOC2||';/*FILL IN NEW LOCATION @G24LB22*/') 37150000 * SKIP(1); /*@G24LB22*/ 37200000 * END; /* @G24LB22*/ 37250000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 37300000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 37350000 * IF CSNPAIR ^='' THEN /*CSN SPECIFIED? @G24LB22*/ 37400000 * DO; 37450000 * ANS('MODNCSN='||CSNPAIR||';/*FILL IN CURRENT CSN @G24LB22*/') 37500000 * SKIP(1); /*@G24LB22*/ 37550000 * END; /* @G24LB22*/ 37600000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 37650000 * GO TO EXIT; /*YES, BRANCH TO END @G24LB22*/ 37700000 * IF VOLFLG ^='' THEN /*VOLFLG SPECIFIED? @G24LB22*/ 37750000 * DO; /* @G24LB22*/ 37800000 * ANS('MODVFLG='||VOLFLG||';/*FILL IN VOLUME FLAGS @G24LB22*/') 37850000 * SKIP(1); /*@G24LB22*/ 37900000 * END; /* @G24LB22*/ 37950000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 38000000 * GO TO EXIT; /*YES, GO TO END @G24LB22*/ 38050000 * IF SEQNO ^='' THEN /*SEQNO SPECIFIED? @G24LB22*/ 38100000 * DO; 38150000 * ANS('MODSEQNO='||SEQNO||';/*FILL IN SEQUENCE NO. @G24LB22*/') 38200000 * SKIP(1); 38250000 * END; /* @G24LB22*/ 38300000 * IF ESW=1 THEN /*EXIT-SWITCH ON? @G24LB22*/ 38350000 * GO TO EXIT; /*YES, GO TO END @G24LB22*/ 38400000 *LINK: ANS(' SVC (126); /*ISSUE SVC INSTRUCTION @G24LB22*/') 38450000 * SKIP(1); 38500000 * ANS('RFY MODBR1 UNRSTD;/*UNRESTRCT REG 1 @G24LB22*/')SKIP; 38550000 *EXIT: RETURN CODE(RETCODE); /*@G24LB22*/ 38600000 * %END; /*@G24LB22*/ 38650000