CA Workload Automation ESP and CA Endevor Collaboration
CA Workload Automation ESP and CA Endevor - Collaboration with Style
Workload Automation MW 104 SN CA Workload Automation ESP and CA Endevor - Collaboration with Style John P. Rooney CA Technologies
recommended slides
abstract John P. Rooney CA Technologies, Sr. Principal Consultant § When mainframe workloads need to be processed, it is very important to make sure that the most current versions of the software needed to execute the workloads are used. This session will illustrate how CA Workload Automation ESP Edition and CA Endevor Software Change Manager work together to help confirm that the right software is used in a workload execution. 4
agenda § Challenges § Version controlling ESP Applications § Version controlling ESP Events § Creating Change History documentation 5
common customer challenge § “We had a unique challenge to provide the same level of version control to our ESP Schedules using the same methodology as we use with our JCL, PROCS, etc…”
SCM challenges for managing ESP Applications § A solution to track ESP Applications(job schedules) changes − Mainframe developers typically use TSO to create ESP Applications − Distributed developers typically use the ESP GUI Workstation to create ESP Applications − Needs to be seamless to the developers regardless of user interface § Most workstation developers are not mainframe savvy − No knowledge of mainframe SCM processes using Endevor § ESP Applications are stored in PDS(s) − Version control is not inherent to a PDS − Promotion process is typically done by copying the member from a preproduction PDS to a Production PDS − Backing out changes requires using a PDS member restore process § No coordination between new/update application code and the new/updated job schedules
CA Endevor SCM § Used by mainframe developers to manage the development life cycle of all of their application code (source, JCL, Procs, Control Cards, etc. . ) § Complete version control for all types of elements − Who made a change? − What was it? − When was it made? § Migration to production by standard package processing § Changes into production meet support staff’s approval (signoff) § Elements can be backed out immediately
example of a single stage Endevor process § Automatic check-in to Endevor − Mostly transparent to the users § Staging library updated − No update to PROD. ESP. PROCLIB allowed § No check-out necessary NOTE: This is only one simple example to get your started. There are many more options that can be included into this process. 9
process flow diagram STAGING. ESP. PROCLIB Workstation Datatset Updated Mainframe SMF Datatset Trigger ESP Event via DSN Trigger ESP Application
process flow detail § Create ESP Event specifying a dataset trigger of ANYCLOSE on STAGING. ESP. PROCLIB − ESP Event will trigger MOV 2 PROD Application § Update STAGING. ESP. PROCLIB from ISPF or ESP Workstation § ESP Dataset Trigger Event will detect update (reading SMF) and trigger ESP Application § ESP MOV 2 PROD Application runs a single, multi-step job − − − List PDS Directory of STAGING. ESP. PROCLIB Compare Present Directory listing with previous one (0 generation) Sort out duplicates Create Endevor SCL to ADD/UPDATE member(s) into stage 1 Execute Endevor • Processor will run Simulate for specified day(s) • Simulate assumes PDS member name same as Event name − Save Directory Listing (+1 generation) § Optional: Create Change history doc for Operators − − − Endevor Change History Report Strip header records Copy to DOCLIB under ESP Application Name FTP to distributed server Add APPLEND to every Application with the name of the Application
ISPSTATS //* STEP 010 - CAPTURE DIRECTORY LISTING OF ESP. PROCLIB //* //STEP 010 EXEC PGM=IKJEFT 01 //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSUT 3 DD UNIT=SYSDA, SPACE=(TRK, (1, 1)) //SYSUT 4 DD UNIT=SYSDA, SPACE=(TRK, (1, 1)) //INDD DD DISP=SHR, DSN=STAGING. ESP. PROCLIB //SYSEXEC DD DISP=SHR, DSN=PROD. ESP. EXEC //ISPPROF DD DISP=(NEW, PASS), DSN=&&ISPPROF, // UNIT=SYSDA, SPACE=(TRK, (10, 10)), // RECFM=FB, DSORG=PO, LRECL=80 //ISPPLIB DD DISP=SHR, DSN=ISP. SISPPENU //ISPSLIB DD DISP=SHR, DSN=ISP. SISPSENU //ISPMLIB DD DISP=SHR, DSN=ISP. SISPMENU //ISPTLIB DD DISP=SHR, DSN=ISP. SISPTENU //ISPLOG DD SYSOUT=*, // DCB=(LRECL=120, BLKSIZE=2400, DSORG=PS, RECFM=FB) //ISPLIST DD SYSOUT=*, // DCB=(LRECL=121, BLKSIZE=1210, RECFM=FBA) //SYSUDUMP DD SYSOUT=* $INDEX //SYSTSIN DD * ISPSTART CMD(%ISPSTATS) #EASTER @DEPLOY @HEADER @PROD @STDS @TRAILER AACTEST 2 AAEFES ACF ADHOCJOB ADHOCWIN ADHOCZOS AGENTADD AGENTBAL 12 /* REXX exec ISPSTATS */ /* LMMLIST - LIST A LIBRARY'S MEMBERS */ /* OUTPUT dataset is &userid. ISPFSTAT. MEMBERS */ ADDRESS ISPEXEC TRACE R "LMINIT DATAID(INPUT) DDNAME(INDD) ENQ(SHR)" SAY ZERRLM "LMOPEN DATAID("INPUT")" "LMMLIST DATAID("INPUT") OPTION(SAVE)", "STATS(YES) GROUP(ISPFSTAT)" SAY RC "LMCLOSE DATAID("INPUT")" "LMFREE DATAID("INPUT")" 01. 01 01. 07 01. 00 01. 01 01. 06 01. 00 01. 01 01. 00 01. 04 01. 05 01. 01 01. 00 01. 04 07/03/06 10/07/22 11/04/05 09/04/09 11/08/01 11/09/07 11/02/02 09/12/09 09/10/14 09/02/12 07/05/24 08/05/27 10/08/19 11/02/02 09/02/17 10/09/30 11/04/05 10/09/30 11/08/01 11/09/07 11/02/04 11/07/07 09/12/09 10/09/30 09/02/12 11/02/04 10/09/08 10/08/19 11/02/02 10/12/07 13: 35 17: 29 11: 37 17: 45 09: 47 14: 59 11: 33 17: 54 11: 56 17: 38 21: 10 09: 48 18: 56 23: 45 23: 36 21: 22 14: 20 2 31 53 33 10 1 4 52 34 45 2270 11 11 8 8 22 30 1 30 53 43 10 1 4 50 34 46 2270 10 8 8 8 22 19 0 0 0 0 0 ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02
sort $INDEX #EASTER @DEPLOY @HEADER @PROD @STDS @TRAILER AACTEST 2 AAEFES ACF ADHOCJOB ADHOCWIN ADHOCZOS AGENTADD AGENTBAL 01. 01 01. 07 01. 00 01. 01 01. 06 01. 00 01. 01 01. 00 01. 04 01. 05 01. 01 01. 00 01. 04 07/03/06 10/09/30 10/07/22 10/09/30 $INDEX 11/04/05 #EASTER 09/04/09 10/09/30 @DEPLOY 11/08/01 @HEADER 11/09/07 @PROD 11/09/07 11/02/02 @STDS 11/02/04 09/12/09 11/07/07 @TRAILER 09/12/09 AACTEST 09/10/14 10/09/30 AACTEST 2 09/02/12 AAEFES 07/05/24 ACF 11/02/04 08/05/27 ADHOC 10/09/08 10/08/19 ADHOCJOB 10/08/19 ADHOCWIN 11/02/02 ADHOCZOS 09/02/17 10/12/07 AGENTADD AGENTBAL 13: 35 17: 29 11: 37 17: 45 09: 47 14: 59 11: 33 17: 54 11: 56 17: 38 21: 10 09: 48 18: 56 23: 45 23: 36 21: 22 14: 20 // IF (STEP 010. RC = 0) THEN //* STEP 020 - USE SORT TO COMPARE TO PREVIOUS DIRECTORY AND DROP DUPS. //* THE RECORDS LEFT ARE THE ONES THAT HAVE BEEN UPDATED //* //STEP 020 EXEC PGM=ICETOOL //STEPLIB DD DISP=SHR, DSN=SYS 1. SORTLPA //I DD DISP=SHR, DSN=ROOJO 02. ISPFSTAT. MEMBERS // DD DISP=SHR, DSN=ROOJO 02. ISPFSTAT. MEMBGDG(0) //O DD DISP=OLD, DSN=ROOJO 02. ISPFSTAT. MEMBERS. SORTOUT //SYSOUT DD SYSOUT=* //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //TOOLIN DD * SELECT FROM(I) TO(O) ON(1, 80, CH) NODUPS WINTEST 13 2 1 0 ROOJO 02 31 30 ROOJO 02 01. 01 07/03/06010/09/30 53 53 0 ROOJO 02 01. 01 10/07/22 10/09/30 33 43 0 ROOJO 02 01. 01 11/04/05 10 10 0 ROOJO 02 01. 07 09/04/09 10/09/30 1 1 0 ROOJO 02 01. 00 11/08/01 4 4 0 ROOJO 02 01. 00 11/09/07 52 50 0 ROOJO 02 01. 01 11/02/02 11/02/04 34 34 0 ROOJO 02 01. 06 09/12/09 11/07/07 45 46 0 ROOJO 02 01. 00 09/12/09 2270 0 ROOJO 02 01. 01 09/10/14 10/09/30 11 10 0 ROOJO 02 01. 00 09/02/12 11 8 0 ROOJO 02 01. 04 07/05/24 11/02/04 8 8 0 ROOJO 02 01. 05 08/05/27 10/09/08 8 8 0 ROOJO 02 01. 01 10/08/19 22 22 0 ROOJO 02 01. 00 10/08/19 30 19 0 ROOJO 02 01. 00 11/02/02 13: 35 17: 29 11: 37 17: 45 09: 47 14: 59 11: 33 17: 54 11: 56 17: 38 21: 10 09: 48 18: 56 23: 45 23: 36 21: 22 01. 04 09/02/17 10/12/07 14: 20 01. 12 10/06/30 11/10/10 20: 07 01. 13 10/06/30 11/10/10 20: 14 13 12 10 10 0 ROOJO 02 2 31 53 33 10 1 4 52 34 45 2270 11 11 8 8 22 30 1 30 53 43 10 1 4 50 34 46 2270 10 8 8 8 22 19 0 0 0 0 0 ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02
NDVRREQ WINTEST 01. 12 10/06/30 11/10/10 20: 07 01. 13 10/06/30 11/10/10 20: 14 13 12 10 10 0 ROOJO 02 /* REXX */ //* STEP 030 - REXX EXEC TO CREATE ENDEVOR SCL STATEMENTS //* //STEP 030 EXEC PGM=IRXJCL, TIME=1000, PARM=('NDVRREQ') //SYSTSPRT DD SYSOUT=* //INDD DD DISP=SHR, DSN=ROOJO 02. ISPFSTAT. MEMBERS. SORTOUT //ESPCMDS DD DISP=(NEW, PASS), DSN=&&ESPCMDS, // UNIT=SYSDA, SPACE=(TRK, 15), // RECFM=FB, DSORG=PS, LRECL=80 //NDVRREQ DD DISP=(NEW, PASS), DSN=&&NDVRREQ, // UNIT=SYSDA, SPACE=(TRK, 15), // RECFM=FB, DSORG=PS, LRECL=80 //SYSEXEC DD DISP=SHR, DSN=ROOJO 02. ESP. EXEC //SYSTSIN DD DUMMY TR ROOJO 02. APPLDOC USER 1(WINTEST) SET STOPRC 16. ADD ELEMENT 'WINTEST' FROM DSNAME 'ROOJO 02. ESP. PROCLIB' MEMBER 'WINTEST' TO ENVIRONMENT 'DEV' SYSTEM 'ROOJO 02' SUBSYSTEM 'ESPPROC' TYPE 'ESPAPPL' OPTIONS CCID '001' UPDATE COMMENTS "ROOJO 02" PRO GRO = ESPSIM override signout. 14 /* NDVR Commands to ADD/UPDATE Element */ 'EXECIO * DISKR indd (FINIS STEM inrecs. ' /* ESP Commands to create Optional Change Doc */ Do i = 1 to inrecs. 0 by 2 Parse Var inrecs. i w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w 9. QUEUE "TR ROOJO 02. APPLDOC USER 1("w 1")" End newstack "EXECIO" queued() "DISKW ESPCMDS (FINIS" if inrecs. 0 = 0 then EXIT 8 QUEUE 'SET STOPRC 16. ' QUEUE ' ' Do i = 1 to inrecs. 0 by 2 Parse Var inrecs. i w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w 9. QUEUE "ADD ELEMENT '"w 1"'" QUEUE " FROM DSNAME 'ROOJO 02. ESP. PROCLIB' MEMBER '"w 1"'" QUEUE " TO ENVIRONMENT 'DEV' SYSTEM 'ROOJO 02' SUBSYSTEM 'ESPPROC'" QUEUE " TYPE 'ESPAPPL'" QUEUE ' OPTIONS CCID '''001''' UPDATE COMMENTS "'w 9'" PRO GRO = ESPSIM' QUEUE " override signout" QUEUE ". " end "EXECIO" queued() "DISKW NDVRREQ (FINIS" exit
execute Endevor SET STOPRC 16. //* STEP 040 - ENDEVOR STEP TO ADD/UPDATE CHANGED MEMBER(S) //* PROCESSOR INVOKES ESP TO SIMULATE APPLICATION //* //STEP 040 EXEC PGM=NDVRC 1, DYNAMNBR=1500, REGION=4096 K, // PARM='C 1 BM 3000' //STEPLIB DD DISP=SHR, DSN=CAIDEMO. NDVR. USER. AUTHLIB // DD DISP=SHR, DSN=CAIPROD. SIQ 14. XE 21. CSIQAUTU // DD DISP=SHR, DSN=CAIPROD. SIQ 14. XE 21. CSIQAUTH //CONLIB DD DISP=SHR, DSN=CAIPROD. SIQ 14. XE 21. CSIQLOAD //BSTIPT 01 DD DISP=(OLD, PASS), DSN=&&NDVRREQ //SYSPRINT DD SYSOUT=* //SORTWK 01 DD UNIT=SYSDA, SPACE=(CYL, (1, 2)) //SORTWK 02 DD UNIT=SYSDA, SPACE=(CYL, (1, 2)) //SORTWK 03 DD UNIT=SYSDA, SPACE=(CYL, (1, 2)) //C 1 TPDD 01 DD UNIT=SYSDA, SPACE=(CYL, 5), // DCB=(RECFM=VB, LRECL=260) //C 1 TPDD 02 DD UNIT=SYSDA, SPACE=(CYL, 5), // DCB=(RECFM=VB, LRECL=260) //C 1 MSGS 1 DD SYSOUT=* //C 1 MSGS 2 DD SYSOUT=* //C 1 PRINT DD SYSOUT=*, // DCB=(RECFM=FBA, LRECL=133) //SYSUDUMP DD SYSOUT=* //SYMDUMP DD DUMMY //SYSOUT DD SYSOUT=* 15 ADD ELEMENT 'WINTEST' FROM DSNAME 'ROOJO 02. ESP. PROCLIB' MEMBER 'WINTEST' TO ENVIRONMENT 'DEV' SYSTEM 'ROOJO 02' SUBSYSTEM 'ESPPROC' TYPE 'ESPAPPL' OPTIONS CCID '001' UPDATE COMMENTS "ROOJO 02" PRO GRO = ESPSIM override signout. ESP VER 11. 3 AM 01 BATCH INTERFACE 11. 48. 41 MONDAY OCTOBER 17 TH, 2 SIMULATE EVENT(ROOJO 02. WINTEST) SCHED('TODAY') INVOKE ROOJO 02. ESP. PROCLIB(WINTEST) APPL WINTEST /* This is a comment at the header */ /* changed by jpr */ /* */ NT_JOB Win_test RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 18 release Win_test 2 ENDJOB NT_JOB Win_test 2 RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 25 ENDJOB INVOKE 'ROOJO 02. ESP. PROCLIB(@TRAILER)' DOCLIB 'ROOJO 02. ESP. APPLDOC' APPLEND WINTEST. DOC RUN ANY ENDJOB Agentmsg 20111017 11484180+0400 JPRR 113 * Win_test/WINTEST. 0/MAIN RUN. Data(Command=C: Scriptssleep. bat, Args="18") Target. Subsystem(WIN) MFUser(TWEMA 01) Agentmsg 20111017 11484180+0400 JPRR 113 * Win_test 2/WINTEST. 0/MAIN RUN. Data(Command=C: Scriptssleep. bat, Args="25") Target. Subsystem(WIN) MFUser(TWEMA 01) SIMULATION OF EVENT ROOJO 02. WINTEST AT 00. 00 ON MONDAY OCTOBER 17 TH, 2011 JOBS: (NONE) 3 JOBS SELECTED FOR SUBMISSION JOB TYPE-JOBNAME-------HC-RELEASES NTJob Win_test 0 Win_test 2 NTJob Win_test 2 1 WINTEST. DOC Appl. End WINTEST. DOC 1 (NONE)
Endevor Processor executing ESP Simulation //*---------------------------------//* GESPSIM PROCESSOR FOR ESP PROCEDURE SIMILATION //*---------------------------------//GESPSIM PROC AA=' ', START OF SYMBOLIC LIST // CPFX=&#COMMPRFX. , COMMON SYSTEM PREFIX // PFX=&#BASEPRFX. , USE PREFIX SITE SYM // VIO=SYSDA //* -------------------//* ALLOCATE THE OUTPUT LISTING DATASETS //* -------------------//INITLIST EXEC PGM=BC 1 PDSIN //C 1 INIT 01 DD DSN=&&ESPLST, DISP=(, PASS), // SPACE=(TRK, (3, 5)), // DCB=(RECFM=FBA, LRECL=133, DSORG=PS) //**=================================** //** ESPSIM - SIMULATE PROC VIA ESP ** //**=================================** //ESPSIM EXEC PGM=ESP, MAXRC=0, PARM='SUBSYS(EP 21)‘ //SYSPRINT DD DSN=&&ESPLST, DISP=(OLD, PASS) //*YSPRINT DD SYSOUT=* //SYSIN DD * SIMULATE EVENT(ROOJO 02. &C 1 ELEMENT) SCHED('TODAY') //* -----------------//* PLACE THE LISTING IN LISTINGS //* -----------------//CONLIST EXEC PGM=CONLIST, PARM=STORE, MAXRC=0, COND=EVEN //C 1 LLIBO DD DSN=&PFX. . LISTLIB, // DISP=OLD, MONITOR=COMPONENTS, FOOTPRNT=CREATE //C 1 BANNER DD UNIT=&VIO, SPACE=(TRK, (1, 1)), // DCB=(RECFM=FBA, LRECL=121, BLKSIZE=6171, DSORG=PS) //LIST 01 DD DSN=&&ESPLST, DISP=(OLD, PASS) //* -----------------//* COPY SIMULATE OUTPUT TO SYSOUT //* -----------------//COPYSRC EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=X, BLKSIZE=0 //SYSIN DD DUMMY, BLKSIZE=0 //SYSUT 1 DD DSN=&&ESPLST, DISP=(OLD, PASS) //SYSUT 2 DD SYSOUT=* 16 ESP VER 11. 3 AM 01 BATCH INTERFACE 11. 48. 41 MONDAY OCTOBER 17 TH, 2 SIMULATE EVENT(ROOJO 02. WINTEST) SCHED('TODAY') INVOKE ROOJO 02. ESP. PROCLIB(WINTEST) APPL WINTEST /* This is a comment at the header */ /* changed by jpr */ /* */ NT_JOB Win_test RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 18 release Win_test 2 ENDJOB NT_JOB Win_test 2 RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 25 ENDJOB INVOKE 'ROOJO 02. ESP. PROCLIB(@TRAILER)' DOCLIB 'ROOJO 02. ESP. APPLDOC' APPLEND WINTEST. DOC RUN ANY ENDJOB Agentmsg 20111017 11484180+0400 JPRR 113 * Win_test/WINTEST. 0/MAIN RUN. Data(Command=C: Scriptssleep. bat, Args="18") Target. Subsystem(WIN) MFUser(TWEMA 01) Agentmsg 20111017 11484180+0400 JPRR 113 * Win_test 2/WINTEST. 0/MAIN RUN. Data(Command=C: Scriptssleep. bat, Args="25") Target. Subsystem(WIN) MFUser(TWEMA 01) SIMULATION OF EVENT ROOJO 02. WINTEST AT 00. 00 ON MONDAY OCTOBER 17 TH, 2011 JOBS: (NONE) 3 JOBS SELECTED FOR SUBMISSION JOB TYPE-JOBNAME-------HC-RELEASES NTJob Win_test 0 Win_test 2 NTJob Win_test 2 1 WINTEST. DOC Appl. End WINTEST. DOC 1 (NONE)
create the most current version of the directory //* STEP 050 - CREATE THE +1 GDG OF THE DIRECTORY //* //STEP 050 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT 1 DD DISP=SHR, DSN=ROOJO 02. ISPFSTAT. MEMBERS //SYSUT 2 DD DISP=(NEW, CATLG), DSN=ROOJO 02. ISPFSTAT. MEMBGDG(+1), // UNIT=SYSDA, SPACE=(TRK, (10, 10), RLSE), // DCB=*. SYSUT 1 $INDEX #EASTER @DEPLOY @HEADER @PROD @STDS @TRAILER AACTEST 2 AAEFES ACF ADHOCJOB ADHOCWIN ADHOCZOS AGENTADD AGENTBAL 17 01. 01 01. 07 01. 00 01. 01 01. 06 01. 00 01. 01 01. 00 01. 04 01. 05 01. 01 01. 00 01. 04 07/03/06 10/07/22 11/04/05 09/04/09 11/08/01 11/09/07 11/02/02 09/12/09 09/10/14 09/02/12 07/05/24 08/05/27 10/08/19 11/02/02 09/02/17 10/09/30 11/04/05 10/09/30 11/08/01 11/09/07 11/02/04 11/07/07 09/12/09 10/09/30 09/02/12 11/02/04 10/09/08 10/08/19 11/02/02 10/12/07 13: 35 17: 29 11: 37 17: 45 09: 47 14: 59 11: 33 17: 54 11: 56 17: 38 21: 10 09: 48 18: 56 23: 45 23: 36 21: 22 14: 20 2 31 53 33 10 1 4 52 34 45 2270 11 11 8 8 22 30 1 30 53 43 10 1 4 50 34 46 2270 10 8 8 8 22 19 0 0 0 0 0 ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02
trigger ESP Application to create change doc //* STEP 060 - TRIGGER ESP TO CREATE CHANGE HISTORY DOC //* //STEP 060 EXEC PGM=ESP, REGION=4000 K, PARM='SUBSYS(JPR)' //STEPLIB DD DISP=SHR, DSN=CAIDEMO. ESP. R 113. SSCPLINK //SYSIN DD DISP=(OLD, PASS), DSN=&&ESPCMDS //SYSPRINT DD SYSOUT=* // ENDIF ESP VER 11. 3 AM 01 BATCH INTERFACE TR ROOJO 02. APPLDOC USER 1(WINTEST) ESP 2502 I EVENT TRIGGERED 18 TR ROOJO 02. APPLDOC USER 1(WINTEST) 20. 14. 23 MONDAY OCTOBER 10 TH, 2011
change history documentation § Execute Endevor to print Element Change § Add it to existing documentation § FTP to server § Convert text document to PDF 19
ESP application to create change history doc 20
execute Endevor print for an Element Change History //STEP 010 EXEC PGM=NDVRC 1, DYNAMNBR=1500, REGION=4096 K, // PARM='C 1 BM 3000' //C 1 PRINT DD DISP=(NEW, PASS), DSN=&&C 1 PRINT, // UNIT=SYSDA, SPACE=(TRK, 15), // RECFM=FBA, DSORG=PS, LRECL=133 //************************** //* REQUEST DATA SET * //************************** //BSTIPT 01 DD * PRINT ELEMENT %USER 1 FROM ENVIRONMENT DEV SYSTEM ROOJO 02 SUBSYSTEM ESPPROC TYPE ESPAPPL STAGE 1 TO C 1 PRINT OPTIONS ELEMENT CHANGE. //* 21 Copyright (C) 1986 -2010 CA. All Rights Reserved. CAMAT PRINT CHANGES ELEMENT: WINTEST CA Endevor SCM ACTION # ******************************************************************************* ** ELEMENT CHANGES 17 OCT 11 11: 56 ** ** ENVIRONMENT: DEV SYSTEM: ROOJO 02 SUBSYSTEM: ESPPROC ** ** ELEMENT: WINTEST TYPE: ESPAPPL STAGE ID: 1 ** ** SIGNED OUT TO: ROOJO 02 ** ***************************************** ------------- SOURCE LEVEL INFORMATION -------------VVLL SYNC ---- ---0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 GENERATED +0111 +0111 USER -------ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02 DATE ------21 JAN 11 03 FEB 11 13 JUN 11 30 SEP 11 10 OCT 11 11 OCT 11 17 OCT 11 TIME STMTS CCID --------16: 03 10 001 10: 46 10 001 14: 18 10 001 14: 21 10 001 16: 11 10 001 17: 03 10 001 17: 07 11 001 20: 07 13 001 20: 14 12 001 15: 47 13 001 17: 22 13 001 11: 48 21 001 11: 48 001 release Win_test 2 ENDJOB NT_JOB Win_test 2 RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 25 COMMENT -----------ROOJO 02 ROOJO 02 ROOJO 02 ROOJO 02
read the Endevor Change History and edit out the headings Copyright (C) 1986 -2010 CA. All Rights Reserved. CAMAT PRINT CHANGES ELEMENT: WINTEST CA Endevor SCM ACTION # ******************************************************************************* ** ELEMENT CHANGES 17 OCT 11 11: 56 ** ** ENVIRONMENT: DEV SYSTEM: ROOJO 02 SUBSYSTEM: ESPPROC ** ** ELEMENT: WINTEST TYPE: ESPAPPL STAGE ID: 1 ** ** SIGNED OUT TO: ROOJO 02 ** ***************************************** ------------- SOURCE LEVEL INFORMATION -------------VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- -------------0100 ROOJO 02 21 JAN 11 16: 03 10 001 ROOJO 02 //CHECK 01 //STEP 020 //SYSTSPRT //INDD //APPLDOC // // //SYSEXEC //SYSTSIN IF STEP 010. RC < 4 THEN EXEC PGM=IRXJCL, TIME=1000, PARM=('NDVRCHNG') DD SYSOUT=* DD DISP=(OLD, PASS), DSN=&&C 1 PRINT DD DISP=(NEW, PASS), DSN=&&APPLDOC, UNIT=SYSDA, SPACE=(TRK, 15), RECFM=FBA, DSORG=PS, LRECL=133 DD DISP=SHR, DSN=ROOJO 02. ESP. EXEC DD DUMMY VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- ---------0111 ROOJO 02 17 OCT 11 11: 48 21 001 ROOJO 02 +0111 +0111 release Win_test 2 ENDJOB NT_JOB Win_test 2 RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 25 ------------------------------ 22 /* REXX */ "EXECIO * DISKR INDD (STEM inrecs. FINIS)" Newstack QUEUE ' ' queue inrecs. 21 queue inrecs. 22 do x=25 to inrecs. 0 parse var inrecs. x var 1 rest if var 1 = 'GENERATED' then do z = x - 1 queue inrecs. z queue ' ' x = x + 2 leave end do y= x to inrecs. 0 parse var inrecs. y var 1 rest if var 1 = '1' then do y = y + 4 iterate end queue inrecs. y end QUEUE ' ' QUEUE '------------------------------' QUEUE ' ' "EXECIO " queued() "DISKW APPLDOC (FINIS)"
add the new changes before the old in the documentation library VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- ---------0111 ROOJO 02 17 OCT 11 11: 48 21 001 ROOJO 02 //STEP 030 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //DD 1 DD DISP=(OLD, PASS), DSN=&&APPLDOC // DD DISP=(SHR), DSN=ROOJO 02. ESP. APPLDOC(%USER 1) //DD 2 DD DISP=(SHR), DSN=ROOJO 02. ESP. APPLDOC(%USER 1) //SYSIN DD * REPRO INFILE(DD 1) OUTFILE(DD 2) //* +0111 +0111 VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- -----------0111 ROOJO 02 17 OCT 11 11: 48 21 001 ROOJO 02 +0111 +0111 ------------------------------ VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- ---------0110 ROOJO 02 11 OCT 11 17: 22 13 001 ROOJO 02 NT_JOB Win_test 2 RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 25 +0110 /* changed by jpr +0107 -0110 /* VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- ---------0109 ROOJO 02 11 OCT 11 15: 47 13 001 ROOJO 02 +0109 +0110 /* changed by jpr +0107 -0110 /* */ */ ------------------------------VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- -----------0109 ROOJO 02 11 OCT 11 15: 47 13 001 ROOJO 02 /* */ */ ------------------------------ VVLL SYNC USER DATE TIME STMTS CCID COMMENT ---- -------- ---------0110 ROOJO 02 11 OCT 11 17: 22 13 001 ROOJO 02 23 NT_JOB Win_test 2 RUN now AGENT JPRR 113 CMDNAME C: Scriptssleep. bat ARGS 25 release Win_test 2 ENDJOB ------------------------------ +0109 release Win_test 2 ENDJOB */ /* */
if this is a new application, create a base document //INITDOC ELSE //STEP 040 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //DD 1 DD DISP=(SHR), DSN=ROOJO 02. ESP. APPLDOC($BASEDOC) //DD 2 DD DISP=(SHR), DSN=ROOJO 02. ESP. APPLDOC(%USER 1) //SYSIN DD * REPRO INFILE(DD 1) OUTFILE(DD 2) //* // ENDIF // 24
FTP the job documentation to the doc server as. txt --------------------------------Output of messages for workload object FTPDOWN/APPLDOC. 14/MAIN Start date Tue Oct 11 17: 15: 03 EDT 2011 --------------------------------Attempting to connect to TSO 21: 21 Connection established to TSO 21: 21 USER ROOJO 02 331 Send password please. PASS (hidden) 230 ROOJO 02 is logged on. Working directory is "ROOJO 02. ". Downloading ASCII C: \ESPJOBDOCUMENTATION\WINTEXT. TXT' <-- ESP. APPLDOC(WINTEXT) SIZE ESP. APPLDOC(WINTEXT) 501 command aborted -- FTP server not configured for SIZE PORT 10, 132, 8, 10, 231, 255 200 Port request OK. TYPE A 200 Representation type is Ascii Non. Print RETR ESP. APPLDOC(WINTEXT) 125 Sending data set ROOJO 02. ESP. APPLDOC(WINTEXT) FIXrecfm 133 Downloaded 18495 bytes in 0. 200 seconds, 90. 30 Kbytes/sec. Download successful QUIT 221 Quit command received. Goodbye. Logged out 25
convert the. txt file to a PDF cd C: ESPJob. Documentation Txt. To. PDF. exe %1 %2 -pfs 8 exit --------------------------------Output of messages for workload object TXTTOPDF/APPLDOC. 14/MAIN Start date Tue Oct 11 17: 15: 04 2011 --------------------------------C: Program FilesCAWA Agent R 11. 3>cd C: ESPJob. Documentation>Txt. To. PDF. exe WINTEXT. TXT WINTEXT. PDF -pfs 8 C: ESPJob. Documentation>exit 26
click on the APPLEEND object and Browse Job Documentation 27
click on the APPLEEND object and Browse Online Documentation 28
examples of adding APPLEND job into ESP Application – add directly to the application 29
examples of adding APPLEND job into ESP Application – invoke a standard member 30
other variations/options § Manage the ESP Events as well § Dynamically create the event used for simulation for preproduction environments if one doesn’t exist § Check if the userid updating matches the previous userid § Simulate for normal exception days − Weekly, day before holiday, holiday § Use for auditing − Simulated against actual 31
one customer experience § “Since we’ve leveraged CA Endevor SCM for version and release management of the ESP schedules, no schedules have been accidentally overwritten in production. ”
summary § Applications are simulated and checked for errors before production. − No schedule can move into production without a review process. § A complete audit trail is produced showing the activity for a schedule from development to production. § Change history is easily accessible for review by operations. § Job schedule changes can be backed out immediately and automatically without having to have specific knowledge.
holding slide for recommended sessions 34
holding slide for related technology in the Exhibition Center 35
holding slide for session summary QR Code to be scanned 36
Q&A
thank you
- Slides: 38