Endevor

 View Only
  • 1.  EDV* products

    Posted Sep 06, 2019 02:59 PM
    Has anyone removed the extremely entrenched EDV* (parm, bind, etc) Products from their Endevor implementation?  if so, how long did it take (from planning to removal) and what kind of issues did you run into?

    Thanks. ​

    ------------------------------
    Felicity

    ------------------------------


  • 2.  RE: EDV* products

    Broadcom Employee
    Posted Sep 06, 2019 10:15 PM
    There is a in a quick solution which will let you keep the EDV "table" but swap out EDVPARM (for example) for CONPARMX.
    Attach a copy (or sample) of your EDVPARM table, and I will provide a processor example.

    If you are also using EDVBIND, you are welcome to attach a copy or sample of it too.


  • 3.  RE: EDV* products

    Posted Sep 09, 2019 09:14 AM

    Hey Joseph,

     

    Thanks very much for the information.  We currently have the EDVPARM/BIND tables overriding options down to the program level.  My plan was to create input cards for all the different overrides we need.  I want the Developers to be responsible for their compile and bind options, but I'm concerned about the initial conversion and the timing.  We also have some specialized REXX programs built into some of our Processors that may be grabbing values from the tables (I'll have to check).  If the CONPARMX can override down to the program level without creating multiple processor groups, that might fit the bill.

     

    Please let me know how this works without creating multiple Processor Groups.

     

    Thanks.

     

    Felicity Vaughan 

    Office:  303-389-8325 

     






  • 4.  RE: EDV* products

    Broadcom Employee
    Posted Sep 09, 2019 08:18 PM

    Felicity. Yes CONPARMX can support override values down to the program level, and does not require multiple processor groups. You can do a search for 'CONPARMX' in the Community site search window, and find many excellent and useful presentations.

    Making Developers be responsible is natural for CONPARMX, and it renders the EDVPARM table obsolete. The conversion is a bit more complicated, but we can work through it. If you are willing to share your EDVPARM table (send to joseph.walther@broadcom.com), I will run a conversion process against it, review the process and results with you. Then I will post the process onto the Community site for others.




  • 5.  RE: EDV* products
    Best Answer

    Broadcom Employee
    Posted Nov 27, 2019 12:14 PM

    There must be twenty or more ways to do this using the Table Tool. Here is an example that requires a simple change to the EDVPARM table. (Other methods do not require changes to the EDVPARM table, but add a bit more complexity to the processor steps). This example is a JCL example, so that you can submit it to see what it does, before converting it to processor code. (Both the Table Tool and CONPARMX can run in JCL – outside of a processor).

    Make a copy of the EDVPARM table, and make the following adjustments to the copy

    1. Shift the entire table content to the right by one character
    2. Adjust the heading to the Table Tool format..Make the first column in the heading an asterisk, then use the dash characters to indicate the widths of each field. For example:

                  *SYSTEM--        SUBSYS--    TYPE----  PROCGRP-      ELEMENT-     STAGE---  STEP----  PROGRAM- ……

     
    The JCL example that uses the updated table contains 3 steps:
    1. A Table Tool Step to convert the Table into OPTIONS for subsequent CONPARMX steps
    2. An IEBGENER to simply print the OPTIONS statements
    3. A CONPARMX step to do a COBOL compile
    To convert the JCL to processor code, you will need to also replace some of the symbols. For example, ELEMENT in the parm becomes C1ELEMENT.

    //*****
    // SET SYSTEM=DB2DEV1
    // SET SUBSYS=VISANETA
    // SET TYPE=COBB
    // SET PROCGRP=COBBMVS
    // SET ELEMENT=AVSCRAMU
    // SET STAGE=TEST
    //*****
    //******* Defaults for this Lpar ****** ----------------------------
    // SET CSIQCLS0=CAPRD.NDVR.EMER.CATSNDVR.CSIQCLS0
    // SET STEPLIB=CAPRD.NDVR.PROD.CATSNDVR.LOADLIB
    // SET PARMA='LIB,SSRANGE'
    // SET PARMZ=
    // SET SYSIN=WALJO11.ENDEVOR.SOURCE
    //*********************************************************************
    //OPTIONS1 EXEC PGM=IRXJCL,
    // PARM='ENBPIU00 M &SYSTEM &SUBSYS &TYPE &PROCGRP &ELEMENT &STAGE'
    //TABLE DD DISP=SHR,DSN=WALJO11.VISA.EDVPARM
    //OPTIONS DD * / Set Defaults and initialize values
    C1VER=01 /* &C1VER */
    C1LEV=12 /* &C1LEV */
    $delimiter = '.'
    If PROGRAM = 'IEFBR14' then, +
    DO; PROGRAM = STEP; PARAMETERS = 'Y'; END
    If WordPos(PROGRAM,ListOutput) > 0 then $SkipRow = 'Y'
    ListOutput = PROGRAM ListOutput
    MODEL = 'MODEL'
    If Length(PARAMETERS) > 62 then, +
    Do; MODEL = 'MODEL2'; +
    PARAMETER1 =Substr(PARAMETERS,1,62); +
    whereComma = LastPos(',',PARAMETER1); +
    PARAMETER1 =Substr(PARAMETERS,1,whereComma); +
    PARAMETER2 =Substr(PARAMETERS,whereComma+1); +
    End ;
    //MODEL DD *
    &PROGRAM='&PARAMETERS'
    //MODEL2 DD *
    &PROGRAM='&PARAMETER1' +
    '&PARAMETER2'
    //SYSTSPRT DD SYSOUT=*
    //SYSTSIN DD DUMMY
    //SYSEXEC DD DISP=SHR,DSN=&CSIQCLS0
    //TBLOUTX DD SYSOUT=*
    //TBLOUT DD DSN=&&OPTIONS(&ELEMENT),
    // UNIT=SYSALLDA,
    // SPACE=(TRK,(5,5,5)),
    // DISP=(NEW,PASS,DELETE),
    // DCB=(LRECL=80,RECFM=FB,BLKSIZE=0,DSORG=PO)
    //*********************************************************************
    //SHOWME EXEC PGM=IEBGENER,REGION=1024K
    //SYSPRINT DD SYSOUT=* MESSAGES
    //SYSUT1 DD DSN=&&OPTIONS(&ELEMENT),DISP=(OLD,PASS)
    //SYSUT2 DD SYSOUT=* OUTPUT FILE
    //SYSIN DD DUMMY CONTROL STATEMENTS
    //SYSUDUMP DD SYSOUT=*
    //*--------------------------------------------------------------------
    //COMPILE EXEC PGM=CONPARMX,
    // PARM=(IGYCRCTL,'(&PARMA)','#$$$DFLT','&PROCGRP',
    // '&ELEMENT','(&PARMZ)','Y','N')
    //STEPLIB DD DISP=SHR,DSN=&STEPLIB
    // DD DSN=IGY.SIGYCOMP,DISP=SHR
    //PARMSDEF DD DSN=&&OPTIONS,DISP=(OLD,PASS)
    //PARMS DD SYSOUT=*
    //SYSTSPRT DD SYSOUT=*
    //SYSIN DD DSN=&SYSIN(&ELEMENT),DISP=SHR
    //SYSLIB DD DISP=SHR,DSN=&SYSIN
    //SYSLIN DD DSN=&&LOADSET,UNIT=SYSDA,
    // DISP=(MOD,PASS),SPACE=(512,(50,20)),
    // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
    //SYSPRINT DD SYSOUT=*
    //SYSOUT DD SYSOUT=*
    //SYSCPRT DD SYSOUT=*
    //SYSUT1 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
    //SYSUT2 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
    //SYSUT3 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
    //SYSUT4 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
    //SYSUT5 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
    //SYSUT6 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
    //SYSUT7 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
    //SYSUT8 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
    //SYSUT9 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
    //SYSUT10 DD SYSOUT=*
    //SYSUT14 DD UNIT=SYSDA,SPACE=(32000,(30,30)),
    // DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
    //SYSUT15 DD SYSOUT=*
    //*-------------------------------------------------------------------


    Sample output from the SHOWME step:
    IGYCRCTL='OPT,OFF,MAP,XREF,DYN,NOADV,DATA(24),BUFSIZE(32760),' +
    'YEARWINDOW(1950),NOSEQ,SOURCE,LIB'
    SCNDBX='Y'
    SCN1='Y'
    DSNHPC='APOST,APOSTSQL,HOST(COB2),SOURCE,VERSION(V0112)'
    DFHECP1$='COBOL2,NOSOURCE,NOSEQ,SP'
    IEWL='LIST,LET,MAP,XREF'

    Sample output from the COMPILE step :
    PP 5655-S71 IBM Enterprise COBOL for z/OS 4.2.0 Date 11
    Invocation parameters:
    LIB,SSRANGE,OPT,OFF,MAP,XREF,DYN,NOADV,DATA(24),BUFSIZE(32760),YEARWINDOW(1950),NOSEQ,SOURCE,LIB
    PROCESS(CBL) statements:
    PROCESS OUTDD(DISPLAYS) APOST
    Options in effect:
    NOADATA
    NOADV
    APOST
    ARITH(COMPAT)
    NOAWO
    NOBLOCK0
    BUFSIZE(32760)
    NOCICS
    CODEPAGE(1140)  




  • 6.  RE: EDV* products

    Broadcom Employee
    Posted Jan 11, 2020 12:01 PM
    Edited by Joseph Walther Dec 28, 2020 07:04 PM
      |   view attached

    Attached is an example solution for an EDVBIND replacement. It uses the Table Tool (ENBPIU00) utility, which is available at every Endevor site, and sample JCL/processor code. This solution was tested  successfully with a sample EDVBIND table that was provided. If anyone has another version of an EDVBIND table that does not match this one, or if you encounter any issues with this example, you may reach out to me at Joseph.Walther@broadcom.com


    Attachment(s)



  • 7.  RE: EDV* products

    Broadcom Employee
    Posted Feb 19, 2020 05:04 AM
      |   view attached
    Attached here is an example solution for an EDVCEMT replacement. It uses the Table Tool (ENBPIU00) utility, which is available at every Endevor site, and sample JCL/processor code. This solution was tested successfully with a sample EDVCEMT table that was provided. If anyone has another version of an EDVCEMT table that does not match this one, or if you encounter any issues with this example, you may reach out to me at Joseph.Walther@broadcom.com

    Attachment(s)



  • 8.  RE: EDV* products

    Posted Feb 19, 2020 01:47 PM
    Thanks Dan! 👏

    ------------------------------
    Phil Gineo
    Senior Systems Engineer
    Aetna / CVS Health
    Hartford Connecticut USA
    ------------------------------