Endevor

 View Only
Expand all | Collapse all

update element last stage

  • 1.  update element last stage

    Posted Feb 11, 2021 09:37 AM
    Good morning,

    I am trying to try to have a different code in each stage. That is, the same component name but with different code in each stage. For example a DCL:
    stage 1 -> STORGROUP = DB2RELE

    stage 2 -> STORGROUP = DB2PROD.

    I have created a new processor. and when I do move I insert an update, but it tells me that the component does not exist and it also tells me that the component was modified, but it tells me in stage 1 when I am modifying stage 2. The problem comes from the UPDATE option ELEMENT cannot indicate the stage. Do you know any option to be able to modify the font when I move the component?

    a greeting and thank you very much


  • 2.  RE: update element last stage

    Posted Feb 12, 2021 05:20 AM
    I have tried what you have told me. But it keeps telling me that it changes the font in the first stage.
    What I do is when I move the component I update the source.

    What I do is the following:
    Edit component and it is added to the first stage. When I move the component in a source modification is made with fileaid and I perform an update.

    UPDATE ELEMENT "PRUEDCL2"
    TO ENVIRONMENT "PRODCTLM"
    SYSTEM "SISTEMAS" SUBSYSTEM "SISTEMAS"
    TYPE "DCL"
    FROM DSNAME "TSODES0.FUENTES.SALIDA"
    OPTIONS CCID 'RAPIDINSTALL'
    AUTOGEN SPAN SUBSYSTEMS
    DELETE INPUT SOURCE
    COMMENT 'CHANGES FOR NEW REPORTING REQUIREMENTS' .




    But this change says that it performs it in the first stage. And I move the component to the second stage without making the modification.


  • 3.  RE: update element last stage

    Posted Feb 12, 2021 08:37 AM
    It appears you are trying to update the element while migrating through Endevor. It's a tenet of Endevor's dogma that you don't do that.

    What you want to do is create a GENERATE processor that puts a modified member into an output library. Then make it different for each stage you migrate it through by doing a MOVE with GENERATE,

    ------------------------------
    Consultant
    John D Consulting Inc.
    ------------------------------



  • 4.  RE: update element last stage

    Posted Feb 12, 2021 09:00 AM
    Hi John,

    I will try. Anyway, where can I indicate the library where I have modified the source? When I do the Generate step


  • 5.  RE: update element last stage
    Best Answer

    Posted Feb 12, 2021 09:15 AM
    Yes.... but what you are describing (or at least what I'm understanding) is not normally done in a good Endevor implementation. 

    Say you have element ABC that contains "123" and you want it to flow through map DVLP/Stage1 ==> DVLP/Stage2 ==> PROD/Stage2. At DVLP/Stage1, you want it to be "121", DVLP/Stage2 to be "122", and PROD/Stage2 to be "123". 

    Note that the value you want for PROD is "123".... which is what the element contains.

    Create a GENERATE processor that fetches the element (ABC containing "123") and then changes the value into a library (NOT the Base Library) specified in the processor depending on where it is in the map. So "121" for DVLP/Stage1, "122" for DVLP/Stage2, and NO change for PROD/Stage2.

    ------------------------------
    Consultant
    John D Consulting Inc.
    ------------------------------



  • 6.  RE: update element last stage

    Posted Feb 15, 2021 05:18 AM
    HI John,

    I have tried, But here I have a question, where I indicate in the sentence to generate the modified source. I modify the font in the process of moving. I include this sentence after moving:
    
    
     ELEMENT "PRUEDCL2"
    ENVIRONMENT "PRODCTLM"
    SYSTEM "SISTEMAS" SUBSYSTEM "SYSTEMAS"
    TYPE "DCL" STAGE "2"
     OPTIONS COMMENT "PRUEBA SISMTEAS" 
       CCID "RESEBA"
       PROCESSOR GROUP "GMCOPY"
    
    but it is giving me this error, since I cannot tell you where to capture the modified source.
    
    C1G0014E DATA SET / FILE NOT FOUND
    C1G0030E UNABLE TO VERIFY FOOTPRINT FOR ELEMENT IN THE COMPONENT DELTA LIBRARY
    C1G0030I AT LOCATION: ENV: PRODCTLM, STG: 2, SYS: SISTEMAS, SBS: SISTEMAS, T
    C1G0000I DATA SET END.PRDCTL.DCL.DELTA
    C1G0000I MBR / FILE FKTJZTB3
    C1G0014E DATA SET / FILE NOT FOUND
    ACMB020I NO ACM INDEX UPDATES REQUIRED

    thanks



  • 7.  RE: update element last stage

    Posted Feb 15, 2021 08:19 AM
    let me suggest something for you.  Example of a JCL element, JCL should have changes made throughout the lifecycle to be able to fully execute at every stage/region of that application lifecycle.  So a skeleton JCL is added to Endevor as a base, but the processor executes something like File Manager or File Master or File Aid to modify/translate the output.  That allows a core JCL under Endevor to be modified as a processor output to meet the requirements of each lifecycle with the translation to support the JCL requirements specific for that region.  The Core JCL is not modified, but instead the processor output performs that translation.  

    The Endevor Element source can only be modified within an entry stage, but the output can be done via processor and then footprinted for validation to ensure it has not been comprised by anyone.

    ------------------------------
    Software Engineer
    Enterprise Technology
    Fiserv
    Ky, USA
    ------------------------------



  • 8.  RE: update element last stage

    Posted Feb 15, 2021 09:06 AM
    Hi,

    I explain more or less what I want to do ...

    In the first step, the jcl is generated, in this step we leave the program in the first stage. When we move to the second stage here we want to make the modification. But we don't know whether to do it with update or generate. With the first option we can indicate an input file where our modified source resides, the problem with the update is that we cannot indicate the stage where we want to carry out the modification and by default it goes to the first stage. The problem we have with generate is that we do not know how to indicate the new source.

    I hope to explain myself well ...

    Thank you very much for the help.


  • 9.  RE: update element last stage

    Posted Feb 15, 2021 09:13 AM
    HI,

    I leave you the source of the new processor that we have created with the move option.

    //*********************************
    //** TRANSFORMACION DE DCL **
    //*********************************
    //FILEMGR EXEC PGM=FMNMAIN
    //STEPLIB DD DSN=IBM.FILEMNGR.V141.SFMNMOD1,DISP=SHR
    //SYSPRINT DD SYSOUT=*
    //FMNTSPRT DD SYSOUT=*
    //SYSTERM DD SYSOUT=*
    //SYSIN DD *
    $$FILEM SET HEADERPG=YES,PAGESIZE=60,DATAHDR=YES
    $$FILEM SET WIDEPRT=YES,PRTTRANS=ON
    $$FILEM FCH ,
    $$FILEM MEMBER=*,
    $$FILEM PACK=ASIS,
    $$FILEM LIST=LONG,
    $$FILEM NOUPDATE=YES,
    $$FILEM DSNIN='TSODES0.FUENTES.SALIDA'
    C 'DB2PROD' 'PRUEBA'
    /+
    //*******************************************************************
    //* ACTUALIZAMOS ELEMENTO CON DATASET SALIDA REXX
    //*******************************************************************
    //ADDI1 EXEC PGM=C1BM3000,PARM=(INDD,MSGOUT1)
    //STEPLIB DD DISP=SHR,DSN=CAI.ENDEVOR.R180.CSIQAUTU
    // DD DISP=SHR,DSN=CAI.ENDEVOR.R180.CSIQAUTH
    //*CONLIB DD DISP=SHR,DSN=CAI.ENDEVOR.R180.CSIQLOAD
    //MSGOUT1 DD SYSOUT=*
    //MSGOUT2 DD SYSOUT=*
    //SYSABEND DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*
    //SYSOUT DD SYSOUT=*
    //SCLIN DD *
    //INDD DD *
    UPDATE ELEMENT "&MEM"
    TO ENVIRONMENT "&C1EN"
    SYSTEM "&C1SYSTEM" SUBSYSTEM "&C1SUBSYS"
    TYPE "&C1ELTYPE"
    FROM DSNAME "TSODES0.FUENTES.SALIDA"
    OPTIONS CCID 'RAPIDINSTALL'
    AUTOGEN SPAN SUBSYSTEMS
    DELETE INPUT SOURCE
    COMMENT 'CHANGES FOR NEW REPORTING REQUIREMENTS' .



  • 10.  RE: update element last stage

    Posted Feb 15, 2021 09:26 AM
    But with this example you are attempting to update the source in Endevor... I suggested that the source remain as is, but update the output with the processor.  The source in Endevor should never change only the processor output to meet the stage requirements.

    ------------------------------
    Software Engineer
    Enterprise Technology
    Fiserv
    Ky, USA
    ------------------------------



  • 11.  RE: update element last stage

    Posted Feb 16, 2021 08:29 AM
    What Phon and I are saying is that your processor will never work.

    Think of COBOL. You dont change the COBOL source as you move stage to stage; you may recompile it but you dont change it..

    For your source, change the TYPE definition to GENERATE on MOVE. Then at the target stage, create a GENERATE processor that reads your source as it is, manipulates or changes it for that stage, and writes it to another dataset (NOT Endevor but controlled by Endevor). This is like the COBOL compiler creating the load member.

    ------------------------------
    Consultant
    John D Consulting Inc.
    ------------------------------



  • 12.  RE: update element last stage

    Posted Mar 18, 2021 12:26 PM
    Edited by daniel moreno Mar 18, 2021 12:27 PM
    Hello,

    When you indicate that you have to make the change in the processor and the processor output, I do not understand what you want to do. I understand that I can't change the source, but I can change the processor output.

    What we do inside the Move option, I have a processor called MJCL, which makes the modification of the JCL and copies it to the library. The problem that we have is that when this happens, we return to modify the source and there gives us the problem.


    THANKS for your sopport.



  • 13.  RE: update element last stage

    Posted Mar 18, 2021 12:49 PM
    Your flow should likely be:
    Stage 1: GENERATE the JCL in an Endevor GENERATE PROCESSOR and have the output from that PROCESSOR go to some place like HLQ.TEST01.OUTPUT.THE.WAY.YOU.WANT.IT.FOR.STAGE1

    Make sure your TYPE definition states GENERATE ON MOVE. 

    When you MOVE to Stage 2, Endevor will again execute the GENERATE PROCESSOR but this time have the PROCESSOR output go to some place like HLQ.TEST02.OUTPUT.THE.WAY.YOU.WANT.IT.FOR.STAGE2

    You don't change the source IN Endevor. You capture the change in a dataset FROM Endevor.

    ------------------------------
    Consultant
    John D Consulting Inc.
    ------------------------------



  • 14.  RE: update element last stage

    Posted Mar 19, 2021 11:02 AM

    (At least in our shop) Endevor should always reflect your production values.  I imagine you have JCLPLUS or PRO-JCL to validate your production standards?  I'm not sure what our developers do here for their JCL and PROCs for testing, but we perform no manipulation on either type (I assume because they are somewhat stable).  Bind cards, however, need to change at each stage so the DB2 programs can be bound to that stage's corresponding DB2 subsystem.  So in each of my DB2 processors, we copy the production BIND cards to a temporary dataset, then do fileaid, against the temporary dataset to change DB2P to DB2A or DB2B or DB2C depending on the stage and use the manipulated bind cards in the bind step.

     

    Can you expand on :

     

    What we do inside the Move option, I have a processor called MJCL, which makes the modification of the JCL and copies it to the library. The problem that we have is that when this happens, we return to modify the source and there gives us the problem.

     

    What problem is modifying the source giving you?  If your processor is performing the manipulation correctly, the output library should reflect the whatever changes you made to the Endevor source but with the modified values you need at each stage.

     

    For example, let say you need to change the high level qualifier the data files used/produced dataset referenced in the JCL:

     

    //SYSUT1   DD  DSN=GPO.#PN1Z.GRBPPRNT.RECIP.FILE(0),DISP=SHR  

    //SYSUT2   DD  DSN=GPO.#PN1Z.RGEXTJCL.RECIP.FILE(+1),         

    //             DISP=(,CATLG,DELETE),                            

    //             UNIT=DISK,SPACE=(CYL,(100,25),RLSE),             

    //             DCB=(SYS3.DSCB,RECFM=FB,LRECL=500,BUFNO=16)      

    In the above example GPO reflect production.  In your JCL processor you have a fileaid (or rexx or other edit tool) step:

     

    //DD01     DD  DSN=ENDEVOR.&C1ST..JCLLIB(&C1ELEMENT),                   

    //             DISP=SHR                                            

    //DD01O    DD  DSN=ENDEVOR.&C1ST..MODIFIED.JCLLIB(&C1ELEMENT),DISP=SHR

    //SYSIN    DD  *

    //SYSIN    DD *                            

    $$DD01 COPYALL REPL=(1,0,C'GPO',C'GTO')  

     

    ENDEVOR will always contain GPO, and MODIFIED will always contain GTO for users to run outside Endevor.

     

    Does that help?

     

                                                   

    Karen
    Karen Turner
    Technical Support Sr. Specialist
    Endevor Support

     

    ------------------------------------------------------------------------------
    CONFIDENTIALITY NOTICE: If you have received this email in error,
    please immediately notify the sender by e-mail at the address shown. 
    This email transmission may contain confidential information.  This
    information is intended only for the use of the individual(s) or entity to
    whom it is intended even if addressed incorrectly.  Please delete it from
    your files if you are not the intended recipient.  Thank you for your
    compliance.  Copyright (c) 2021 Cigna
    ==============================================================================






  • 15.  RE: update element last stage

    Posted Mar 22, 2021 09:00 AM
    i,

    excuse me, but I don't understand that when you say to work with the processor output.

    What we do is to modify the sources via rexx.

    When we modify the source we don't usually have this problem:

    PROCESSOR GROUP GCOPY FOR THIS ELEMENT WAS OBTAINED FROM ENVIRONMENT M
    ELEMENT WILL BE SYNCHRONIZED WITH NEXT ELEMENT UP THE MAP
    LEVEL SYNCHRONIZATION BEGINNING
    BASE FILE PREMATURE END-OF-FILE
    BASE FILE PREMATURE END-OF-FILE
    DATA SET END.PRDCTL.DCL
    MEMBER DCLDANI7

    When we switch from development to production we change the sources.

    has this definition in endevor:

    DISPLAY ---------------- PROCESSOR GROUP DEFINITION -------------------------
    COMMAND ===>

    CURRENT ENV: DESACTLM STAGE ID: 2 SYSTEM: SISTEMAS TYPE: DCLDESA
    NEXT ENV: PRODCTLM STAGE ID: 2 SYSTEM: SISTEMAS TYPE:

    PROCESSOR GROUP: GCOPY PROCESSOR O/P TYPE: DCLDESA GCOPY
    DESCRIPTION: PROCESADOR COPIA ELEMENTO EN LIBRERIA CONTROL
    NEXT PRCS GROUP: GCOPY

    UPDATED: 18MAR21 16:55 BY TSODES0

    ----------------------- OUTPUT MANAGEMENT INFORMATION -----------------------

    PROCESSOR TO USE FOR MOVE ACTION: G (M/G)
    PROCESSOR TO USE FOR TRANSFER ACTION: G (M/G)

    S - Browse Symbolics L - List Processor

    FOREGROUND EXECUTION
    GENERATE PROCESSOR: *NOPROC* : Y (Y/N)
    DELETE PROCESSOR: *NOPROC* : Y (Y/N)
    MOVE PROCESSOR: MDCL : N (Y/N)

    when we make the move we call the MDCL processor (in this example it is for DCL), and with this processor we are now trying the following:







  • 16.  RE: update element last stage

    Posted Mar 22, 2021 12:45 PM

    When the data sets are allocated to DASD that is configured as shared across the lifecycle stages then it 100% makes sense to be automating the "tailoring" or "environmentalization" of the source code for pre- production testing in each of the pre-production stages.  All you have to do is create and populate a second set of libraries in addition to the base libraries as follows:

    1) Either code the processor to first copy the source code to another library or specify the other library as source output library in the type definition (the contents of the base library that is always specified in the type definition cannot be modified by the processor).
    2) Now code the processor to update the element in that other library (using File Manger or whatever).