140 likes | 418 Views
CONPARMX. Introduces new processor capabilities - Reduces processor groups . July 2, 2010. Introduction. CONPARMX – a new processor utility program that can dynamically build execution parameters and invoke processor programs Made available with r14 and r12 SP3 ( ptf ). Agenda.
E N D
CONPARMX Introduces new processor capabilities - Reduces processor groups July 2, 2010
Introduction • CONPARMX – a new processor utility program thatcandynamicallybuildexecutionparameters and invoke processor programs • Made availablewith r14 and r12 SP3 (ptf) July 2010, CONPARMX
Agenda • Input & Outputs (PARMSDEF & PARMS DD’s) • Walkingthrough the CONPARMX parameters • Examples July 2010, CONPARMX
Inputs & Outputs • Input: PARMSDEF DD (FB/80 PDS - mandatory) • Provides input to the construction of executionparameterdata • Output: PARMS DD (optional) • Executionparameter data writtento thisDD if processor program not invokeddirectly by CONPARMX (onlyused if parm8 = ‘Y’) July 2010, CONPARMX
The layoutof each PARMSDEF input members • The processor program name(e.g.IGYCRCTL) • Starts in position 1 of eachrecord • Program nameterminatedatfirst trailingblank • The invocation program executionparameters • Must bedefinedwithinquotes(e.g. ‘RENT,REUS’) • Specifiedafter the program name on the samethe record • Example: • IGYCRCTL ‘COBOL3,LANGLVL(2),NOSOURCE’ July 2010, CONPARMX
The 8 CONPARMX parameters • Parm1 : The processor program name • Parm2 : Beginningof executionparmdata) • Parm3 : The default parms • Parm4 : The processor group overrideparms • Parm5 : The elementoverrideparms • Parm6 : Endingexecutionparmdata( Note: Parm2 & Parm6 are usuallyusedto specify constant, or fixed, executionparameter data) July 2010, CONPARMX
The 8 CONPARMX parameters • Parm7 : Concatenateparameter data specified on PARM3-PARM5 (Y/N specification) • Parm8 : Writeparameter data to PARMS DD (Y/N specification) • If Y, the program will not beinvoked • If N, PARMS data will not bewritten July 2010, CONPARMX
The 8 parameters – an example //COBPROC PROC PARMTAIL=XYZ //STEP001 EXEC PGM=CONPARMX, // PARM=(IGYCRCTL, (invocation pgmname) // (‘ABC’),(parm2 – constant parm data) // $$$$DFLT, &C1PRGRP.P, &C1ELEMENT.P, // '(&PARMTAIL)', (parm6 – last parm) // 'Y','Y') (parm7/8 directions) //PARMSDEF DD DSN=input.parameter.pds,DISP=SHR //PARMS DD DSN=&&parmout,DISP=(NEW,PASS),… July 2010, CONPARMX
PARMSDEF input memberexample • $$$$DLFT: • ASMA90 ‘LIST… ‘ • IGYCRCTL ‘COBOL3,LANGLVL(2),NOSOURCE’ • IEWL ‘AMODE(31)’ • IEWL ‘RMODE(ANY)’ July 2010, CONPARMX
The PARMS output DD content example ABC COBOL3,LANGLVL(2),NOSOURCE Parmsdefined by the Processor member Parmsdefined by the Elementmember XYZ July 2010, CONPARMX
Or when invoking IGYCRCTL directly //CONPARMX EXEC PGM=IGYCRCTL, // PARM=‘ABC,COBOL3,LANGLVL(2),NOSOURCE, //procgrp-parms, elm-parms, XYZ’ July 2010, CONPARMX
Parm7 To concatenate or not to concatenate, that’s the question • ‘Y’ : • Concatenate PARM3, then PARM4 then PARM5 contents • ‘N’ : • Use PARM5 (elmmember) contents If not found… • Use PARM4 (prcgrpmember) contents. If not found… • Use PARM3 (dfltmember) contents . If not found... • Use none. • Whendefined, Parms 2 and 6 willalwaysbeincluded. July 2010, CONPARMX
Parm8 Build PARMS DD or invoke program • ‘Y’ : • The executionparmswillbewritten to the PARMS DD. • ‘N’ : • The program willbeinvoked and the executionparameterswillbepassed to the program July 2010, CONPARMX
Questions? July 2010, CONPARMX