* %GOTO IEPLS1; /* BILINGUAL MAPPING 00050002 MACRO 00052002 IKJEFFIE &IETYPE=SUBMIT 00054000 .*C000540 @OZ40499 00054600 .*A-000000-999999 @Y02993*/ 00056002 *%IEPLS1: ; /* BAL/PLS HEADER */ 00057502 */********************************************************************/ 00063002 */* */ 00066002 */* *** IKJEFFIE *** LEVEL=03/07/74 OS/VS2 RELEASE 02.0 */ 00070002 */* */ 00080002 */* FUNCTION - BILINGUAL MAPPING MACRO FOR THE PARAMETER LISTS */ 00090002 */* TO/FROM THE INSTALLATION EXITS FOR THE FOREGROUND */ 00100002 */* INITIATED BACKGROUND (FIB) COMMANDS */ 00110002 */* */ 00120002 */* IKJEFF10 IS THE INSTALLATION EXIT FOR THE SUBMIT */ 00130002 */* COMMAND AND IKJEFF53 IS THE EXIT FOR THE CANCEL, */ 00140002 */* OUTPUT, AND STATUS COMMANDS. THE EXITS ARE ENTERED */ 00150002 */* IN KEY 1, SUPERVISOR STATE SO THEY ARE PROTECTED */ 00152002 */* FROM TSO USERS. (CANNOT BE LOADED FROM */ 00154002 */* STEPLIB OR PRELOADED UNDER TSO TEST.) */ 00156002 */* */ 00160002 */* INTERFACE - REGISTER 1 HAS POINTER TO THE PARAMETER LIST */ 00170002 */* FOR CANCEL/OUTPUT/STATUS. REGISTER 1 HAS */ 00172002 */* POINTER TO POINTER TO THE PARAMETER LIST FOR */ 00174002 */* SUBMIT. */ 00176002 */* REGISTER 15 WILL HAVE RETURN CODE FROM THE EXIT. */ 00180002 */* */ 00190002 */* METHOD OF ACCESS */ 00195002 */* PLS - %IEBASE='BASEINFO' - IF WANT BASED */ 00200002 */* EXAMPLE: %IEBASE='BASED(MYPTR)'*/ 00210002 */* DEFAULT IS NOT BASED */ 00220002 */* %IETYPE='SUBMIT' - - IF WANT PARAMETERS FOR SUBMIT */ 00390402 */* (THIS IS THE DEFAULT) */ 00391402 */* %IETYPE='CANST' - - IF WANT PARAMETERS FOR CANCEL */ 00392402 */* AND STATUS */ 00394402 */* %IETYPE='OUTPUT' - - IF WANT PARAMETERS FOR OUTPUT */ 00396402 */* %INCLUDE SYSLIB(IKJEFFIE) */ 00398402 */* */ 00398602 */* BAL - <> */ 00398802 */* IETYPE=SUBMIT - - - IF WANT PARAMETERS FOR SUBMIT */ 00399002 */* (THIS IS THE DEFAULT) */ 00499002 */* IETYPE=CANST - - - IF WANT PARAMETERS FOR CANCEL */ 00599002 */* AND STATUS */ 00699002 */* IETYPE=OUTPUT - - - IF WANT PARAMETERS FOR OUTPUT */ 00799002 */* */ 00849002 */* ALWAYS GET A DSECT, IEDSECTD */ 00899002 */* IF IETYPE=OUTPUT GET A SECOND DSECT, IEOUTPLD */ 01199002 */* IF IETYPE=SUBMIT GET A SECOND DSECT, IESUBCTD */ 01499002 */* */ 01799002 */* F.E.'S - MICROFICHE LISTING = IKJEFFIE */ 01899002 */* */ 01999002 */********************************************************************/ 02099002 *%GOTO IEPLS2; /* PLS CODE SKIPS AROUND BAL STATEMENTS 02199002 AIF ('&IETYPE' EQ 'CANST').IEBAL1 **SKIP SUBMIT CODE** 02299002 AIF ('&IETYPE' EQ 'OUTPUT').IEBAL1 **SKIP SUBMIT CODE** 02399002 AIF ('&IETYPE' EQ 'SUBMIT').IEBAL2 **GOTO CODE FOR SUBMIT** 04143002 .********************************************************************** 04144002 .* ** BAD VALUE FOR IETYPE - NOT 'CANST', 'OUTPUT', OR 'SUBMIT'** 04146002 MNOTE 8,'INVALID VALUE FOR IETYPE KEYWORD ON IKJEFFIE MACRO' 04149002 MEXIT 04152002 .********************************************************************** 04153002 .IEBAL1 ANOP ** CODE FOR IETYPE=CANST OR OUTPUT ** 04155002 IEDSECTD DSECT 06055002 DS 0F 06060002 IEPARML EQU * .<> 06065002 IEJOBNMP DS A .JOBNAMEP = POINTER TO JOBNAME 06069002 * . (IN PARSE PDE CONTROL BLOCK) 06073002 IENAMELP DS A .NAMELENP = POINTER TO HALFWORD 06077002 * . WITH JOBNAME LENGTH (IN PDE C.B.) 06081002 IEUSRIDP DS A .USERIDP = POINTER TO USERID 06085002 IEIDLENP DS A .IDLENPTR = POINTER TO ONE BYTE 06089002 * . WITH LENGTH OF USERID FROM PSCB 06093002 IEMSGP DS A .MESSAGEP = ZERO ON ENTRY TO EXIT. NOTE -- 06101002 * . EXIT MUST PLACE POINTER TO MESSAGE HERE 06109002 * . IF RETURNING CODE OF 4 0R 8 TO COMMAND 06117002 * . (MESSAGE FORMAT IS LL-TEXT; WHERE LL IS 06125002 * . A TWO-BYTE LENGTH FIELD WITH LENGTH OF 06133002 * . THE MSG, INCLUDING LENGTH OF LL FIELD). 06141002 * . MAXIMUM MESSAGE TEXT LENGTH IS 246 BYTES. 06147002 IEREPLYP DS A .REPLYP = ZERO ON FIRST ENTRY TO THE EXIT 06154002 * . AND = POINTER TO REPLY OBTAINED BY THE 06156002 * . COMMAND IF EXIT HAD SPECIFIED RETURN CODE 06162002 * . 4 (NOTE -- REPLY HAS SAME SETUP AS MSG). 06168002 * . THE COMMAND WILL FREE THE REPLY BUFFER. 06171002 IECODEP DS A .CODEP = POINTER TO ONE-BYTE FIB COMMAND 06174002 * . CODE. THE FOLLOWING CODES ARE DEFINED... 06178002 IECANCEL EQU 4 .VALUE FOR CALLER = CANCEL COMMAND 06186002 IEOUTPUT EQU 8 .VALUE FOR CALLER = OUTPUT COMMAND 06190002 IESTATUS EQU 0 .VALUE FOR CALLER = STATUS COMMAND 06194002 * 06198002 * 06200002 IEJOBIDP DS A .JOBIDP = POINTER TO JOBID IF JOBID WAS 06202002 * . SPECIFIED ON THE COMMAND (MAXIMUM LENGTH 06206002 * . IS 8) 06210002 IEJIDLNP DS A .JIDLENP = POINTER TO TWO-BYTE LENGTH OF 06214002 * . JOBID; LENGTH FIELD IS ZERO IF JOBID WAS 06218002 * . NOT SPECIFIED 06220002 IEOUTPLP DS A .POINTER TO OUTPUT COMMAND PARAMETER LIST 06222002 * . - ZERO IF THE COMMAND IS CANCEL OR STATUS 06226002 ORG IEOUTPLP 06234002 IEHIGH DS BL1 .CAN TURN ON HIGHEST BIT FOR STANDARD LINKAGE 06238002 ORG IEOUTPLP+4 06244002 AIF ('&IETYPE' EQ 'CANST').IEBAL3 **MACRO STATEMENT** 06246002 .* ** SKIP NEXT DS'S IF COMMAND ISN'T OUTPUT ** 06250002 SPACE 3 06252002 *********************************************************************** 06254002 * PARAMETER LIST GIVING INFORMATION FOR OUTPUT COMMAND ONLY * 06258002 *********************************************************************** 06262002 IEOUTPLD DSECT 06266002 DS 0F .TO USE THIS DSECT, CODE -- 06270002 * . L YOURREG,IEOUTPLP 06273002 * . USING IEOUTPLD,YOURREG 06276002 IEOUTPL EQU * .IEOUTPL = OUTPUT PARAMETER LIST 06279002 IECLPDE1 DS A .CLASPDE1 = POINTER TO CLASS PDE 06282002 * . (FIRST ON PARSE'S CHAIN). ZERO IF CLASS 06285002 * . NOT SPECIFIED ON OUTPUT COMMAND. 06286002 IEPRDPDE DS A .PRDSPDE = POINTER TO 06288002 * . PRINT-DATA-SET-NAME PDE 06291002 IENCLPDE DS A .NEWCPDE = POINTER TO NEWCLASS PDE 06294002 IEDESTPD DS A .DESTPDE = POINTER TO DEST PDE 06297002 IESYNTAX DS 0B .IESYNTAX = STATUS BITS WITH USER-ENTERED 06300002 * . SYNTAX OF OUTPUT COMMAND 06303002 * 06306002 IESYNTX1 DS B .FIRST 8 STATUS BITS 06312002 IEPAUSE EQU X'80' .BIT ON IF PAUSE ENTERED (DEFAULT IS NOPAUSE) 06314002 IEHOLD EQU X'40' .BIT ON IF HOLD ENTERED (DEFAULT IS NOHOLD) 06320002 IEHERE EQU X'20' .BIT ON IF HERE ENTERED 06321002 IEBEGIN EQU X'10' .BIT ON IF BEGIN ENTERED 06322002 IENEXT EQU X'08' .BIT ON IF NEXT ENTERED 06323002 IEDELETE EQU X'04' .BIT ON IF DELETE ENTERED 06324002 IEPRINT EQU X'02' .BIT ON IF PRINT ENTERED 06325002 IENCLASS EQU X'01' .BIT ON IF NEWCLASS ENTERED 06326002 * 06327002 * 06327502 IESYNTX2 DS B .SECOND 8 STATUS BITS 06328002 IEKEEP EQU X'80' .BIT ON IF KEEP ENTERED (DEFAULT IS NOKEEP) 06328802 IEDEST EQU X'40' .BIT ON IF DEST ENTERED 06329602 .IEBAL3 ANOP 06330502 SPACE 3 06330702 *********************************************************************** 06331002 * RETURN CODES FROM IKJEFF53 INSTALLATION EXIT TO THE COMMAND * 06332002 *********************************************************************** 06340002 IECONTIN EQU 0 .O.K. -- CONTINUE PROCESSING THIS JOBNAME 06360002 * . OR JOBNAME(JOBID) REQUEST 06362002 IEPROMPT EQU 4 .ISSUE PROMPT MESSAGE FOR IKJEFF53 EXIT 06364002 * . AND RETURN THE REPLY TO THE EXIT. THE 06366002 * . TSO COMMAND WILL FREE THE REPLY AREA. 06369002 * . IF USER IN NOPROMPT MODE, THE COMMAND 06370002 * ISSUES AN ERROR MESSAGE AND TERMINATES. 06371002 IEMSG EQU 8 .ISSUE PUTLINE MESSAGE FOR EXIT, THEN 06372002 * . REENTER EXIT. CALLER MUST OBTAIN MESSAGE 06373002 * . AREA AND MAY FREE IT WHEN REENTERED. 06375002 IEREJECT EQU 12 .REJECT THIS JOB AND CONTINUE PROCESSING ANY 06377002 * . OTHER JOBS. AN ERROR MESSAGE SHOULD BE 06379002 * . ISSUED TO THE USER FIRST (USING RETURN 06381002 * . CODE 8). 06383002 IEABORT EQU 16 .ABORT THE COMMAND. AN ERROR MESSAGE 06387002 * . SHOULD BE ISSUED TO THE USER FIRST 06389002 * . (USING RETURN CODE 8). 06391002 AGO .IEBAL4 06393002 .IEBAL2 ANOP **CODE FOR SUBMIT PARMLIST** 06396002 IEDSECTD DSECT .REGISTER 1 -> POINTER -> IEEXITL 06399002 DS 0F 06402002 IEEXITL EQU * .EXITLIST = PARAMETER LIST TO SUBMIT'S 06405002 * . INSTALLATION EXIT, IKJEFF10 06406002 IECARDP DS A .CARDPTR = POINTER TO CURRENT JCL STATEMENT. 06407002 * . IF ZERO, EXIT IS BEING REENTERED TO GET 06408002 * . A NEW STATEMENT. THE EXIT MAY ZERO THIS 06410002 * . FIELD TO DELETE THE CURRENT STATEMENT 06412002 * . OR IT MAY CHANGE THIS STATEMENT. 06413002 IEMSGP DS A .MESSAGEP = ZERO ON ENTRY TO EXIT. NOTE -- 06414002 * . EXIT MUST PLACE POINTER TO MESSAGE HERE 06416002 * . IF RETURNING CODE = 8 OR 12 TO COMMAND 06418002 * . (MESSAGE FORMAT IS LL-TEXT; WHERE LL IS A 06420002 * . TWO-BYTE LENGTH FIELD WITH LENGTH OF THE 06422002 * . MESSAGE, INCLUDING LENGTH OF LL FIELD). 06424002 * . MAXIMUM MESSAGE TEXT LENGTH IS 246 BYTES. 06426002 IEREPLYP DS A .REPLYP = ZERO ON FIRST ENTRY TO THE EXIT 06429602 * . AND = POINTER TO REPLY OBTAINED BY THE 06429702 * . COMMAND IF EXIT HAD SPECIFIED RETURN CODE 06430302 * . 12 (NOTE -- REPLY HAS SAME SETUP AS MSG). 06430902 * . SUBMIT WILL FREE THE REPLY BUFFER. 06431202 IEUSRIDP DS A .USERIDPT = POINTER TO 8-BYTE USERID FIELD 06431602 * . (PADDED ON THE RIGHT WITH BLANKS) 06437402 IESUBCTP DS A .SWITSPT = POINTER TO JCL SWITCH BYTES AND 06441402 * . COLUMN OF OPERAND FIELD ON JCL CARD 06442802 IEEXITWD DS F .EXITWORK = WORD FOR EXIT'S USE. IT IS 06443002 * . INITIALIZED TO ZEROES AND RETAINS 06445802 * . WHATEVER VALUE THE EXIT GIVES IT THRU 06446202 * . THE DURATION OF THE SUBMIT COMMAND. 06446602 IEACCTIP DS A .ACCTIPT = POINTER TO USER'S ACCOUNTING 06447002 * . INFORMATION (RECONSTRUCTED FROM ACCOUNT 06447602 * . CONTROL TABLE, ACT, BUILT AT LOGON). 06448602 * . THIS ACCOUNT INFORMATION IS PLACED ON 06449602 * . JOB CARDS GENERATED BY SUBMIT. 06450602 IEACCTLP DS A .ACCTLPT = POINTER TO TWO-BYTE LENGTH FIELD 06451802 * . FOR THE ACCOUNTING INFORMATION. 06454002 * . (HAVE 0 < LENGTH < 191 -- MAXIMUM OF 142 06455002 * . CHARACTERS PLUS DELIMITERS.) 06456002 SPACE 3 06458002 *********************************************************************** 06459002 * RETURN CODES FROM IKJEFF10 INSTALLATION EXIT TO THE COMMAND * 06460002 *********************************************************************** 06461002 IECONTIN EQU 0 .CONTINUE - COMPLETE PROCESSING CURRENT 06464002 * . STATEMENT AND READ THE NEXT 06466002 IERETURN EQU 4 .PROCESS CURRENT STATEMENT AND RETURN TO EXIT 06470002 * . FOR ANOTHER STATEMENT 06472002 IEMSG EQU 8 .ISSUE MESSAGE IKJ56283I FOR EXIT AND REENTER 06474002 * . EXIT. EXIT MUST OBTAIN MESSAGE TEXT AREA 06475002 * . AND MAY FREE IT WHEN REENTERED. 06476002 IEPROMPT EQU 12 .ISSUE PROMPT MESSAGE IKJ56280A FOR EXIT AND 06477002 * . RETURN THE REPLY TO EXIT. IKJEFF02 06480002 * . MESSAGE ISSUER ROUTINE OBTAINS THE 06480702 * . REPLY AREA AND IKJEFF09 WILL FREE IT. 06481402 * .IF USER IN NOPROMPT MODE, SUBMIT ISSUES 06481602 * . ERROR MESSAGE IKJ56282I AND ABORTS. 06481802 IEABORT EQU 16 .TERMINATE THE SUBMIT COMMAND. RETURN CODE 8 06482102 * . SHOULD BE USED FIRST TO ISSUE AN ERROR 06482802 * . MESSAGE TO THE TSO USER. 06483502 SPACE 3 06484202 *********************************************************************** 06484902 * DSECT WITH SUBMIT JCL CONTROL INFORMATION PASSED TO EXIT * 06485602 *********************************************************************** 06486302 IESUBCTD DSECT .TO USE THIS DSECT, CODE -- 06487002 * . L YOURREG,IESUBCTP 06487702 * . USING IESUBCTD,YOURREG 06488402 DS 0B .DATA IS ON BYTE BOUNDARY 06489102 IETAKEEX DS B .SWITCHES WHICH CONTROL WHEN EXIT IS ENTERED 06489802 * . <> 06491202 IETJOB EQU X'80' .ON IF TAKE EXIT FOR JOB CARDS (DEFAULT = ON) 06491902 IETEXEC EQU X'40' .ON IF TAKE EXIT FOR EXEC CARDS (DEFAULT=OFF) 06492602 IETDD EQU X'20' . DD OFF 06493302 IETCMD EQU X'10' . COMMAND OFF 06494002 IETNULL EQU X'08' . NULL OFF 06494702 IETJES EQU X'04' . /*NONBLANK OFF 06494802 * . (SUBSYSTEM CONTROL CARD) 06494902 IETCOMNT EQU X'02' . //* OFF 06495002 * . (COMMENT OR JES3 CARD) 06495402 IEOPRAND DS XL1 .COLUMN OF OPERAND FIELD ON CURRENT CARD, IF 06496802 * . ONE EXISTS (ONE-ORIGINED COLUMN NUMBER) 06497102 IESTMTYP DS B .SWITCHES WHICH INDICATE TYPE OF CURRENT 06497502 * . JCL STATEMENT. JCL STATEMENTS IN DATA 06498202 * . STREAM FOLLOWING A DD DATA STATEMENT 06498302 * . (OR /*NONBLANK, FOLLOWING A DD *) ARE 06498902 * . NOT PASSED TO THE EXIT. 06499602 IESJOB EQU X'80' .ON IF STATEMENT IS JOB STATEMENT 06501002 IESEXEC EQU X'40' . EXEC (PGM OR PROC) 06501702 IESDD EQU X'20' . DD 06502402 IESCMD EQU X'10' . COMMAND 06503102 IESNULL EQU X'08' . NULL 06503302 IESOPCON EQU X'04' . OPERAND TO BE CONTINUED 06503802 IESSCON EQU X'02' . STATEMENT TO BE CONTINUED 06504502 IESCONTN EQU X'01' . STATEMENT IS A CONTINUATION 06505102 IESTMTP2 DS B .SWITCHES, CONTINUED 06505702 IESJES EQU X'80' .ON IF STATEMENT IS /*NONBLANK STATEMENT 06506502 * . (JOB ENTRY SUBSYSTEM CONTROL CARDS) 06507302 IESCOMNT EQU X'40' .ON IF STATEMENT IS COMMENT STATEMENT, //* 06508102 * . (OR MAY BE JES3 CONTROL CARD) 06508902 .IEBAL4 ANOP 06510002 *********************************************************************** 06513002 * END OF IKJEFFIE MAPPING MACRO * 06514002 *********************************************************************** 06517002 MEND , */ 06522002 *%IEPLS2: ; /* PLS-ONLY CODE */ 06523002 *%IF IEBASE = '' %THEN /* CHECK FOR NO %IEBASE VALUE GIVEN */ 06525002 *%IEBASE='BDY(WORD)'; /* DEFAULT BASE FOR PARMLIST STRUCTURE*/ 06528002 *%IF IETYPE = 'CANST' %THEN /* NOTE DEFAULT TYPE IS 'SUBMIT' */ 06531002 *%GOTO IELABEL2; /* SKIP DECLARES FOR SUBMIT'S EXIT */ 06534002 *%IF IETYPE = 'OUTPUT' %THEN /* NOTE DEFAULT TYPE IS 'SUBMIT' */ 06537002 *%GOTO IELABEL2; /* SKIP DECLARES FOR SUBMIT'S EXIT */ 06540002 *%IELABEL1: ; /* **DECLARES FOR SUBMIT'S EXIT** */ 06543002 * DCL 06546002 * 1 EXITLIST 06550002 * IEBASE 06553002 * , /* PARAMETER LIST TO SUBMIT EXIT */ 06556002 * 2 CARDPTR PTR (31),/* POINTER TO CURRENT JCL STATEMENT 06559002 * - EXIT MAY ZERO THIS FIELD TO 06562002 * DELETE THE STATEMENT OR IT MAY 06565002 * CHANGE THIS STATEMENT. IF ZERO 06568002 * ON ENTRY, EXIT HAS BEEN ENTERED 06571002 * TO GET A NEW STATEMENT */ 06574002 * 2 EXMSGPTR PTR(31),/* EXIT MUST PUT POINTER TO MESSAGE 06577002 * HERE WHEN USING RETURN CODE 8 OR 06580002 * 12 */ 06610002 * 2 RESPTR PTR (31), /* POINTER TO REPLY OBTAINED BY 06650002 * SUBMIT AFTER EXIT R.C. 12. 06670002 * SUBMIT WILL FREE THE REPLY 06690002 * BUFFER. */ 06710002 * 2 USERIDPT PTR (31),/* POINTER TO USERID */ 06750002 * 2 SWITSPT PTR (31), /* POINTER TO SWITCH FIELD */ 06850002 * 2 EXITWORK FIXED (31), /* WORD FOR EXIT'S USE. IT IS 06950002 * INITIALIZED TO ZEROES AND 06956002 * RETAINS WHATEVER VALUE THE EXIT 06962002 * GIVES IT THRU THE DURATION 06968002 * OF THE SUBMIT COMMAND. */ 06974002 * 2 ACCTIPT PTR(31), /* POINTER TO USER'S ACCOUNTING 06980002 * INFORMATION (FROM LOGON) */ 07010002 * 2 ACCTLPT PTR(31); /* POINTER TO LENGTH OF THE 07050002 * USER'S ACCOUNTING INFORMATION*/ 07070002 * DCL IECARD CHAR(80) 07071002 * BASED(CARDPTR); /* JCL CARD CURRENTLY BEING 07072002 * PROCESSED BY SUBMIT */ 07073002 * 07074002 * /* IKJEFFIE - FORMAT OF MESSAGE SET UP BY THE SUBMIT EXIT */ 07075002 * DCL 1 IEMSGBUF 07076002 * BASED(EXMSGPTR), 07077002 * 2 IEMSGLN FIXED(15), /* LENGTH OF MESSAGE, INCLUDING 07078002 * LENGTH OF THIS FIELD */ 07079002 * 2 IEMSGTXT CHAR(246); /* MESSAGE TEXT THAT THE EXIT 07080002 * WANTS ISSUED TO THE USER */ 07081002 * 07082002 * /* IKJEFFIE - FORMAT OF REPLY RETURNED TO THE EXIT */ 07083002 * /* BY SUBMIT */ 07083502 * DCL 1 IEREPLY 07084002 * BASED(RESPTR), 07085002 * 2 IEREPLYL FIXED(15), /* LENGTH OF REPLY, INCLUDING 07086002 * LENGTH OF THIS FIELD */ 07087002 * 2 IERTEXT CHAR(*); /* TEXT OF REPLY FROM USER */ 07088002 * 07089002 * DCL IEUSERID CHAR(8) 07090002 * BASED(USERIDPT); /* USERID FROM PSCB C.B. (PADDED 07091002 * ON RIGHT WITH BLANKS) */ 07092002 * /* IKJEFFIE - CONTROL INFORMATION FOR SUBMIT EXIT */ 07093002 * DCL 1 IESUBCTL 07094002 * BASED(SWITSPT), 07095002 * 2 IETAKEEX BIT(8),/* SWITCHES WHICH CONTROL WHEN 07096002 * EXIT IS ENTERED (INITIALIZED 07097002 * TO ONLY ENTER FOR JOBS - MAY BE 07098002 * TURNED ON OR OFF BY EXIT) */ 07099002 * 3 IETJOB BIT(1),/* ON IF TAKE EXIT FOR EACH JOB 07100002 * CARD SUBMITTED */ 07101002 * 3 IETEXEC BIT(1), /* TAKE EXIT FOR EACH EXEC CARD 07102002 * (EXEC PROC OR EXECP PROGRAM) */ 07103002 * 3 IETDD BIT(1),/* TAKE EXIT FOR EACH DD CARD */ 07104002 * 3 IETCMD BIT(1),/* TAKE EXIT FOR EACH COMMAND 07105002 * CARD (//NAME OPERATION) */ 07106002 * 3 IETNULL BIT(1),/* TAKE EXIT FOR EACH NULL CARD 07107002 * (//ALL BLANK) */ 07108002 * 3 IETJES BIT(1),/* TAKE EXIT FOR JOB ENTRY 07108202 * SUBSYSTEM CONTROL CARDS 07108602 * (SLASH-ASTERISK-NONBLANK) */ 07109002 * 3 IETCOMNT BIT(1),/* TAKE EXIT FOR COMMENT CARDS 07109402 * (OR MAY BE JES3 CONTROL CARDS)*/ 07109802 * 3 * BIT(1),/* *** RESERVED *** */ 07111002 * 2 IEOPRAND PTR(8),/* ZERO OR OPERAND COLUMN ON THE 07112002 * JCL STATEMENT (ONE-ORIGINED) */ 07113002 * 2 IESTMTYP BIT(8),/* INFORMATION FOR CURRENT JCL 07113502 * STATEMENT. NOTE THAT JCL 07114002 * STATEMENTS IN DATA STREAM 07115002 * FOLLOWING A DD DATA STATEMENT 07116002 * (OR SLASH-ASTERISK-NONBLANK 07117002 * STATEMENTS FOLLOWING A DD *) 07118002 * ARE NOT PASSED TO THE EXIT. */ 07119002 * 3 IESJOB BIT(1),/* CURRENT STATEMENT IS JOB */ 07120002 * 3 IESEXEC BIT(1),/* CURRENT STATEMENT IS EXEC */ 07123102 * 3 IESDD BIT(1),/* CURRENT STATEMENT IS DD */ 07126002 * 3 IESCMD BIT(1),/* CURRENT STATEMENT IS CMD */ 07128002 * 3 IESNULL BIT(1),/* CURRENT STATEMENT IS NULL */ 07132002 * 3 IESOPCON BIT(1),/* OPERAND TO BE CONTINUED */ 07134002 * 3 IESSCON BIT(1),/* STATEMENT TO BE CONTINUED */ 07134702 * 3 IESCONTN BIT(1),/* CURRENT STATEMENT IS A 07137002 * CONTINUATION */ 07140002 * 2 IESTMTP2 BIT(8), /* INFORMATION FOR CURRENT JCL 07143002 * STATEMENT, CONTINUED */ 07144002 * 3 IESJES BIT(1),/* CURRENT STATEMENT IS JOB ENTRY 07146002 * SUBSYSTEM STATEMENT, 07149002 * SLASH-ASTERISK-NONBLANK */ 07152002 * 3 IESCOMNT BIT(1), /* CURRENT STATEMENT IS COMMENT 07154002 * CARD, //* 07156002 * (MAY BE JES3 STATEMENT) */ 07157002 * 3 * BIT(6); 07158002 * 07160002 * /* IKJEFFIE - ACCOUNTING INFORMATION AND LENGTH FOR USER */ 07162002 * DCL IEACCNTI CHAR(*) BASED(ACCTIPT); /* USER'S ACCOUNTING 07166002 * INFORMATION, RECONSTRUCTED 07168002 * FROM ACCOUNT CONTROL TABLE 07170002 * (ACT), BUILT AT LOGON. THIS 07172002 * ACCOUNT INFO IS PLACED ON JOB 07174002 * CARDS GENERATED BY SUBMIT. */ 07176002 * DCL IEACCNTL FIXED(15) BASED(ACCTLPT); /* 07178002 * LENGTH OF ACCOUNTING INFORMATION 07182002 * (MAXIMUM IS 142 PLUS QUOTES 07183002 * AND/OR PARENTHESES, FOR A SUBMIT 07185002 * MAXIMUM OF 191) */ 07188002 * 07190002 * /************************************************************/ 07192002 * /* IKJEFFIE - RETURN CODES FROM IKJEFF10 TO SUBMIT COMMAND */ 07194002 * /************************************************************/ 07197002 * DCL IECONTIN FIXED(31) CONSTANT(0); /* 07199002 * COMPLETE PROCESSING CURRENT 07202002 * STATEMENT AND READ THE NEXT */ 07204002 * DCL IERETURN FIXED(31) CONSTANT(4); /* 07206002 * PROCESS CURRENT STATEMENT AND 07210002 * RETURN TO EXIT FOR ANOTHER 07211002 * STATEMENT */ 07212002 * DCL IEMSG FIXED(31) CONSTANT(8); /* 07215002 * ISSUE MESSAGE IKJ56283I FOR 07217002 * EXIT, THEN REENTER EXIT. EXIT 07220002 * MUST OBTAIN MSG TEXT AREA AND 07222002 * MAY FREE IT WHEN REENTERED. */ 07225002 * DCL IEPROMPT FIXED(31) CONSTANT(12); /* 07227002 * ISSUE PROMPT MESSAGE IKJ56280A 07230002 * FOR EXIT AND RETURN THE REPLY 07232002 * TO EXIT. IKJEFF02 MESSAGE 07235002 * ISSUER ROUTINE OBTAINS THE 07237002 * REPLY AREA AND IKJEFF09 WILL 07240002 * FREE IT. IF USER IN NOPROMPT 07242002 * MODE, SUBMIT ISSUES ERROR 07244002 * MESSAGE IKJ56282I AND ABORTS. */ 07246002 * DCL IEABORT FIXED(31) CONSTANT(16); /* 07248002 * TERMINATE THE SUBMIT COMMAND. 07250002 * RETURN CODE 8 SHOULD BE USED 07252002 * FIRST TO ISSUE AN ERROR MESSAGE 07254002 * TO THE TSO USER. */ 07256002 *%GOTO IELABEL3; /* SKIP THESE DECLARES IF SUBMIT EXIT*/ 07258002 *%IELABEL2: ; /* DECLARES FOR CANCEL, OUTPUT, OR STATUS*/ 07260002 * DCL 07262002 * 1 PARMLIST 07264002 * IEBASE 07270002 * , /* <> */ 07320002 * 2 JOBNAMEP PTR(31),/* POINTER TO JOBNAME (IN PARSE 07350002 * PDE CONTROL BLOCK) */ 07400002 * 2 NAMELENP PTR(31),/* POINTER TO JOBNAME LENGTH 07500002 * FIELD (IN PDE C.B.) */ 07550002 * 2 USERIDP PTR(31), /* POINTER TO USERID (FROM PSCB) */ 07650002 * 2 IDLENPTR PTR(31), /* LENGTH OF USERID */ 07750002 * 2 MESSAGEP PTR(31), /* EXIT MUST PLACE POINTER TO 07850002 * MESSAGE HERE IF RETURNING CODE 07900002 * OF 4 OR 8 TO THE COMMAND */ 07920002 * 2 REPLYP PTR(31), /* POINTER TO REPLY OBTAINED BY 07950002 * THE COMMAND IF EXIT HAD 07980002 * SPECIFIED RETURN CODE = 4. THE 08010002 * COMMAND WILL FREE THE REPLY 08020002 * BUFFER. */ 08030002 * 2 CODEP PTR(31), /* POINTER TO FIB COMMAND CODE */ 08050002 * 2 JOBIDP PTR(31), /* POINTER TO JOBID IF JOBID WAS 08100002 * SPECIFIED ON THE COMMAND */ 08150002 * 2 JIDLENP PTR(31), /* POINTER TO LENGTH OF JOBID */ 08200002 * 2 IEOUTPLP PTR(31), /* POINTER TO OUTPUT COMMAND 08250002 * PARAMETER LIST - ZERO IF THE 08300002 * COMMAND IS CANCEL OR STATUS */ 08450002 * 3 IEHIGH BIT(1); /* CAN BE TURNED ON FOR STANDARD 08650002 * LINKAGE */ 08850002 * DCL 09100002 * IEJOBNM CHAR(*) BASED(JOBNAMEP); /* 09250002 * JOBNAME TO BE CHECKED FOR 09257002 * VALIDITY, LOCATED IN PDE C.B. */ 09264002 * DCL 09271002 * JOBNAMEL FIXED(15) BASED(NAMELENP); /* 09278002 * LENGTH OF JOBNAME, LOCATED IN 09285002 * 2ND WORD OF PDE */ 09292002 * DCL 09300002 * USERID CHAR(*) BASED(USERIDP); /* 09450002 * USERID TO BE COMPARED TO 09460002 * JOBNAME FOR VALIDITY */ 09470002 * DCL 09500002 * IDLENGTH PTR(8) BASED(IDLENPTR); /* 09530002 * LENGTH OF USERID */ 09560002 * DCL 09600002 * IEJOBID CHAR(*) BASED(JOBIDP); /* 09630002 * JOBID SPECIFIED ON THE COMMAND*/ 09660002 * DCL 09700002 * JIDLEN FIXED(15) BASED(JIDLENP); /* 09730002 * JOBID'S LENGTH (ZERO IF JOBID 09760002 * NOT SPECIFIED) */ 09780002 * DCL 09800002 * CMNDCODE PTR(8) BASED(CODEP); /* 10000002 * CODE WHICH IDENTIFIES THE 10005002 * COMMAND CALLING THE EXIT */ 10010002 * 10015002 * /* IKJEFFIE - POSSIBLE VALUES OF CMNDCODE FIELD */ 10020002 * DCL IECANCEL PTR(8) CONSTANT(4); /* CALLER IS CANCEL COMMAND*/ 10025002 * DCL IEOUTPUT PTR(8) CONSTANT(8); /* CALLER IS OUTPUT COMMAND*/ 10030002 * DCL IESTATUS PTR(8) CONSTANT(0); /* CALLER IS STATUS COMMAND*/ 10035002 * 10040002 * /* IKJEFFIE - FORMAT OF MESSAGE SET UP BY THE EXIT */ 10045002 * DCL 10050002 * 1 MESSAGE BASED(MESSAGEP), 10058002 * 2 MSGLENGT FIXED(15), /* LENGTH OF MESSAGE, 10066002 * INCLUDING LENGTH OF THIS FIELD*/ 10074002 * 2 MSGTEXT CHAR(246); /* TEXT OF MESSAGE TO USER */ 10082002 * 10090002 * /* IKJEFFIE - FORMAT OF REPLY RETURNED TO THE EXIT */ 10098002 * DCL 10106002 * 1 IEREPLY BASED(REPLYP), 10114002 * 2 IEREPLYL FIXED(15), /* LENGTH OF REPLY, 10122002 * INCLUDING LENGTH OF THIS FIELD*/ 10130002 * 2 IERTEXT CHAR(*); /* TEXT OF REPLY FROM USER */ 10138002 * 10138502 * /************************************************************/ 10139002 * /* IKJEFFIE - RETURN CODES FROM IKJEFF53 TO THE COMMAND */ 10139302 * /************************************************************/ 10139602 * DCL IECONTIN FIXED(31) CONSTANT(0); /* O.K. -- 10143002 * CONTINUE PROCESSING THIS JOBNAME 10144002 * OR JOBNAME(JOBID) REQUEST */ 10145002 * DCL IEPROMPT FIXED(31) CONSTANT(4); /* 10146002 * ISSUE PROMPT MESSAGE FOR 10147002 * IKJEFF53 EXIT AND RETURN THE 10147502 * REPLY TO THE EXIT. THE TSO 10148002 * COMMAND WILL FREE THE REPLY 10148302 * AREA. IF USER IN NOPROMPT MODE 10148602 * THE COMMAND WILL ISSUE AN ERROR 10148702 * MESSAGE AND TERMINATE. */ 10148802 * DCL IEMSG FIXED(31) CONSTANT(8); /* 10149002 * ISSUE PUTLINE MESSAGE FOR 10150002 * EXIT, THEN REENTER EXIT. 10150402 * CALLER MUST OBTAIN MESSAGE 10150802 * AREA AND MAY FREE IT WHEN 10151202 * REENTERED. */ 10151602 * DCL IEREJECT FIXED(31) CONSTANT(12); /* 10152002 * REJECT THIS JOB AND CONTINUE 10153002 * PROCESSING ANY OTHER JOBS. 10154002 * AN ERROR MESSAGE SHOULD BE 10154502 * ISSUED TO THE USER FIRST (USING 10155002 * RETURN CODE 8). */ 10155502 * DCL IEABORT FIXED(31) CONSTANT(16); /* 10156002 * TERMINATE THE COMMAND. AN ERROR 10157002 * MESSAGE SHOULD BE ISSUED TO 10157502 * THE USER FIRST (USING RETURN 10158002 * CODE 8). */ 10158502 *%IF IETYPE^='OUTPUT' %THEN 10159002 * %GOTO IELABEL3; /* SKIP THESE DECLARES IF NOT OUTPUT CMD */ 10159502 * %IEDUMMY2: ; 10162002 * /************************************************************/ 10166002 * /* IKJEFFIE - PARAMETER INFORMATION FOR OUTPUT COMMAND ONLY */ 10168002 * /************************************************************/ 10170002 * DCL 1 IEOUTPL BASED(IEOUTPLP), 10172002 * 2 CLASPDE1 PTR(31), /* PTR TO CLASS PDE (FIRST ON 10174002 * PARSE'S CHAIN). ZERO IF CLASS 10176002 * NOT SPECIFIED ON OUTPUT CMD */ 10177002 * 2 PRDSPDE PTR(31), /* POINTER TO PRINT-DATA-SET-NAME 10178002 * PDE */ 10180002 * 2 NEWCPDE PTR(31), /* POINTER TO NEWCLASS PDE */ 10182002 * 2 DESTPDE PTR(31), /* POINTER TO DEST PDE */ 10182802 * 2 * FIXED(31),/* WORD WITH 10 STATUS BITS 10183602 * DEFINED */ 10184002 * 3 IESYNTAX BIT(16), /* USER-ENTERED SYNTAX 10184402 * OF OUTPUT COMMAND */ 10185002 * 4 IEPAUSE BIT(1),/* ON IF PAUSE ENTERED (OFF IF 10185602 * NOPAUSE OR DEFAULTED) */ 10186202 * 4 IEHOLD BIT(1), /* ON IF HOLD ENTERED (DEFAULT 10186802 * IS NOHOLD) */ 10187302 * 4 IEHERE BIT(1), /* ON IF HERE ENTERED */ 10187802 * 4 IEBEGIN BIT(1),/* ON IF BEGIN ENTERED */ 10188802 * 4 IENEXT BIT(1), /* ON IF NEXT ENTERED */ 10189802 * 4 IEDELETE BIT(1),/* ON IF DELETE ENTERED */ 10190802 * 4 IEPRINT BIT(1),/* ON IF PRINT ENTERED */ 10191802 * 4 IENCLASS BIT(1),/* ON IF NEWCLASS ENTERED */ 10192802 * 4 IEKEEP BIT(1), /* ON IF KEEP ENTERED (DEFAULT 10193802 * IS NOKEEP) */ 10194302 * 4 IEDEST BIT(1), /* ON IF DEST ENTERED */ 10194802 * 4 * BIT(6); /* ***RESERVED*** */ 10195802 *%IELABEL3: ; 10199002 */********************************************************************/ 10199502 */* END OF IKJEFFIE PARAMETER LIST */ 10200002 */********************************************************************/ 13200002