* % IEFSSREQ: MACRO; 00110002 * /*******************************************************************/ 00112002 * /* */ 00114002 * /* MACRO NAME = IEFSSREQ */ 00116002 * /* */ 00118002 * /* DESCRIPTIVE NAME = SUBSYSTEM INTERFACES CALL SSREQ */ 00118402 * /* GENERATOR (PLS) */ 00118802 * /* */ 00119202 * /* FUNCTION = GENERATE CALL TO SUBSYSTEM INTERFACE REQUEST ROUTINE*/ 00119602 * /* */ 00119702 * /* OPERATION = BUILD MACRO CALL IMAGE AND COMMENT */ 00119802 * /* */ 00119902 * /* - CHECK FOR MORE THAN ONE POSITIONAL PARAMETER. IF */ 00129902 * /* MORE THAN ONE - */ 00139902 * /* .BUILD ERROR MESSAGE */ 00143202 * /* .ISSUE MACRO PHASE ERROR MESSAGE */ 00145202 * /* .ISSUE COMPILE STAGE MACRO CALL IMAGE MESSAGE */ 00145602 * /* .ISSUE COMPILE STAGE ERROR MESSAGE */ 00146002 * /* */ 00146402 * /* - IF NONE OR ONE POSITIONAL PARAMETER - */ 00146502 * /* .BUILD CALL STATEMENT (WITH SSOB AS ARGUMENT IF */ 00146602 * /* SPECIFIED ON MACRO CALL) */ 00159902 * /* .ISSUE COMPILE STAGE MACRO CALL IMAGE MESSAGE */ 00169902 * /* .ISSUE CALL TO SUBSYSTEM INTERFACE REQUEST RTN */ 00171902 * /* */ 00172302 * /* INPUT = ? IEFSSREQ - NO ARGUMENT SPECIFIED */ 00172702 * /* = ? IEFSSREQ(SSOB) - ARGUMENT SPECIFIED - SSOB IS NAME */ 00173102 * /* OF STRUCTURE MAPPING THE SSOB. ANY */ 00173202 * /* NAME MAY BE USED HERE. */ 00173302 * /* */ 00177702 * /* EXIT-NORMAL */ 00179702 * /* CONDITIONS = VALID MACRO CALL */ 00181702 * /* OUTPUT = MACRO CALL IMAGE COMMENT */ 00182102 * /* EXPLANATORY COMMENTS */ 00182202 * /* CALL SSREQ (NO ARGUMENT ON MACRO CALL) */ 00186602 * /* CALL SSREQ(SSOB) (ARGUMENT ON MACRO CALL) */ 00188602 * /* */ 00190602 * /* EXIT-ERROR */ 00191002 * /* CONDITIONS = MORE THAN ONE POSITIONAL PARAMETER ON MACRO CALL*/ 00191102 * /* OUTPUT = MACRO CALL IMAGE COMMENT */ 00202802 * /* MACRO AND COMPILE STAGE ERROR MESSAGE */ 00212802 * /* */ 00214802 * /* CHANGE ACTIVITY = Y02668,YM02296 */ 00218702 * /* */ 00220702 * /* MESSAGES = 'MORE THAN 1 POSITIONAL PARAMETER PRESENT' */ 00221102 * /* */ 00221502 * /* SEVERITY CODES = NONE */ 00221902 * /* */ 00222302 * /*******************************************************************/ 00222402 * /* ALL DECLARES ARE INTERNAL TO THIS MACRO DEFINITION */ 00222502 * DCL MACALL CHAR; /* MACRO CALL IMAGE */ 00222602 * DCL COMENT1 CHAR; /* MACRO CALL IMAGE COMMENT */ 00226502 * DCL NUMPARM FIXED; /* NUMBER OF POSITIONAL PARAMETERS 00228502 * SPECIFIED */ 00228902 * DCL ERRTEXT CHAR; /* ERROR MESSAGE TEXT */ 00229302 * DCL COMENT2 CHAR; /* ERROR MESSAGE COMMENT */ 00229702 * DCL CALLSTMT CHAR; /* CALL STATEMENT IMAGE */ 00230102 * DCL LEFTMARG FIXED; /* LEFT SOURCE MARGIN */ 00230202 * DCL (CALLCOM1,CALLCOM2,CALLCOM3,CALLCOM4) CHAR; 00230302 * DCL (CALLCOM5,CALLCOM6,CALLCOM7,CALLCOM8) CHAR; 00230402 * DCL (COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8) CHAR; 00234302 * 00236402 * NUMPARM=NUMBER(MACLIST); /* SET NUMBER OF POSITIONAL 00236802 * PARAMETERS SPECIFIED */ 00237202 * IF NUMPARM = 0 THEN /* CHECK IF ANY POSITIONAL PARMS */ 00237602 * MACALL = ' ? IEFSSREQ;'; /* NONE - BUILD MACRO CALL IMAGE */ 00238002 * ELSE 00238102 * MACALL = ' ? IEFSSREQ '||MACLIST||';'; /* BUILD MACRO CALL 00238202 * IMAGE - INCLUDE ARGUMENTS */ 00248502 * COMENT1=COMMENT(MACALL); /* SET UP COMMENT */ 00252002 * IF NUMPARM>1 THEN /* CHECK FOR MORE THAN ONE 00254002 * POSITIONAL PARAMETER */ 00256002 * DO; /* SET ERROR MESSAGE TEXT */ 00258002 * ERRTEXT = 'MORE THAN 1 POSITIONAL PARAMETER PRESENT'; 00258402 * COMENT2 = COMMENT(ERRTEXT); /* SET UP COMMENT */ 00258502 * ANSWER MSG(ERRTEXT); /* ISSUE MACRO PHASE ERROR MESSAGE */ 00258602 * ANSWER (COMENT1) SKIP; /* ISSUE COMPILE STAGE MACRO CALL 00258702 * IMAGE MESSAGE */ 00262102 * ANSWER (COMENT2) SKIP; /* ISSUE COMPILE STAGE ERROR MSG */ 00264102 * END; /* BYPASS CALL STATEMENT IF 00264502 * ERROR CONDITIONS */ 00264902 * ELSE 00265302 * DO; 00265402 * LEFTMARG = MACLMAR; /* SET LEFT SOURCE MARGIN */ 00265502 * /* BUILD SUBSYSTEM INTERFACE REQUEST ROUTINE CALL STATEMENT */ 00265602 * CALLSTMT = 'CALL SSREQ'||MACLIST||';'; 00269002 * ANSWER (COMENT1) SKIP; /* ISSUE COMPILE STAGE MACRO CALL 00271102 * IMAGE */ 00271502 * CALLCOM1=' '; 00271902 * CALLCOM2=' PASS CONTROL TO JOB ENTRY SUBSYSTEM TO '; 00272302 * CALLCOM3=' PROCESS REQUEST - '; 00272402 * CALLCOM4=' '; 00272502 * CALLCOM5=' INPUT - REGISTER 1 POINTS TO A ONE- '; 00275902 * CALLCOM6=' WORD PARAMETER LIST WHICH '; 00277902 * CALLCOM7=' POINTS TO THE SSOB '; 00278302 * CALLCOM8=' '; 00278702 * COM1 = COMMENT(CALLCOM1); 00279102 * COM2 = COMMENT(CALLCOM2); 00279202 * COM3 = COMMENT(CALLCOM3); 00279302 * COM4 = COMMENT(CALLCOM4); 00279402 * COM5 = COMMENT(CALLCOM5); 00282802 * COM6 = COMMENT(CALLCOM6); 00284802 * COM7 = COMMENT(CALLCOM7); 00285202 * COM8 = COMMENT(CALLCOM8); 00285602 * ANSWER (COM1) SKIP COLUMN(LEFTMARG); 00286002 * ANSWER (COM2) SKIP COLUMN(LEFTMARG); 00287402 * ANSWER (COM3) SKIP COLUMN(LEFTMARG); 00289402 * ANSWER (COM4) SKIP COLUMN(LEFTMARG); 00289502 * ANSWER (COM5) SKIP COLUMN(LEFTMARG); 00289602 * ANSWER (COM6) SKIP COLUMN(LEFTMARG); 00298202 * ANSWER (COM7) SKIP COLUMN(LEFTMARG); 00300202 * ANSWER (COM8) SKIP COLUMN(LEFTMARG); 00302202 * /* GENERATE CALL STATEMENT FOR SUBSYSTEM INTERFACE REQUEST */ 00304202 * ANSWER (CALLSTMT) SKIP COLUMN(LEFTMARG); 00306202 * END; 00306602 * % END; 00306702 MACRO 00307002 IEFSSREQ 00315602 * 00324202 * PASS CONTROL TO JOB ENTRY SUBSYSTEM TO PROCESS REQUEST - 00332802 * 00341402 * INPUT - REGISTER 1 POINTS TO A ONE-WORD PARAMETER LIST 00350002 * WITH THE HIGH-ORDER BIT ON AND A POINTER 00400002 * TO AN SSOB IN THE LOW-ORDER 31 BITS. 00450002 * 00500002 L 15,CVTPTR(0,0) SET CVT YM02296 00550002 USING CVTMAP,15 ADDRESSABILITY 00600002 L 15,CVTJESCT SET JESCT 00650002 USING JESCT,15 ADDRESSABILITY 00700002 L 15,JESSSREQ SET SUBSYSTEM REQUEST ROUTINE ADDRESS 00750002 BALR 14,15 PROCESS SUBSYSTEM REQUEST 00800002 DROP 15 00850002 MEND */ 00900002