22
Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors Maria Hackmann-Peters Mainframe ITERGO Specialist MFX34S #CAWorld

Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Embed Size (px)

Citation preview

Page 1: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Maria Hackmann-Peters

Mainframe

ITERGO

Specialist

MFX34S

#CAWorld

Page 2: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

2 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

© 2015 CA. All rights reserved. All trademarks referenced herein belong to their respective companies.

The content provided in this CA World 2015 presentation is intended for informational purposes only and does not form any type

of warranty. The information provided by a CA partner and/or CA customer has not been reviewed for accuracy by CA.

For Informational Purposes Only Terms of this Presentation

Page 3: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

3 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Abstract

In this session learn how simplify and automate your application build and

promotion tasks on the mainframe by creating reusable CA Endevor®

Software Change Manager Processors that are easy to maintain.

ITERGO develops innovative application systems and provides hardware and

low-level software to ensure the smooth operation of those applications for

the ERGO Insurance Group. Attend this session to learn various tips, tricks

and best practices that this real-world customer uses to address their

application development challenges.

Maria Hackmann-PetersITERGO

Specialist

Page 4: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Introduction: ERGO, ITERGO and ENDEVOR@ITERGO

Several best practices for processor

Example: How to use processor ‘includes’ to avoid redundant code

Using standard symbol ‘includes’ (for stages / types / languages)

Example: Using symbols for implementation of new requirement "double link for a PL1”

Circumvent symbol overrides: How to set a suitable symbol value

Example: Derive LOADLIB and LISTLIB names from type and stage symbols

Agenda

Maria Hackmann-Peters, ITERGO

Page 5: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

ERGO Insurance Group at a glance

Zahlen Stand 31.12.2013Maria Hackmann-Peters, ITERGO

Page 6: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

ITERGO is the group-wide provider of IT services

Cologne

Düsseldorf

Hamburg

Munich

Client / Server

30,000 users in more

than 30 countries

Management of approx.

4,000 servers

ERGO Printcenter

240 mill. pages per year

Enveloping volume of 45

mill. per year

Projects

400 medium and big

projects with a volume of

150,000 man days

per year

ERGO datacenter

(Mainframe)

25.000 MIPS

1.000 TB disc space

15 mill. online-transactions

per day

ITERGO GmbH

Victoriaplatz 2

40477 Düsseldorf

www.itergo.com

Maria Hackmann-Peters, ITERGO

Page 7: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

ENDEVOR users

1000 overall authorized users

300 developers

295.000 live ELEMENTs

800,000 ENDEVOR actions (ADD / UPDATE, GENERATE, MOVE)

13 active ENVIRONMENTs, 17 active STAGEs

50 SYSTEMs, on average 8 SUBSYSTEMs per SYSTEM

190 PROCESSORs

7

ENDEVOR@ITERGO

Maria Hackmann-Peters, ITERGO

Page 8: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Avoid redundant code

Processor steps are made to be used in different processors

Processor ‘include’ technique

Prevent different coding styles

All processors should be implemented with the same uniform structure

Avoid symbol overrides

Streamline your dataset naming conventions

Set the correct symbol default in the processor

Several Best Practices For Processor

Maria Hackmann-Peters, ITERGO

Page 9: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Prerequisites for using includes:

Type definition: e.g. PROCINCL as a ENDEVOR TYPE for processor includes

C1DEFLTS: LIBENV=LB (enables use of -INC syntax)

TYPE PROCESS Definition: INCLUDE LIBRARY ===> dataset

Using ‘includes’ in a processor:

//name PROC START=START, separated by comma-INC symbol include contains symbol: :

ZZ=END NO comma at the end-INC general step1-INC compile step (language specific)-INC link step:

9

How To Use Processor Includes To Avoid Redundant Code

Maria Hackmann-Peters, ITERGO

Page 10: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

One processor per processor type \per language > unique structure using appropriate includesper stage /

GPLIPD2 GENERATE Processor for PL1 at stage PD2

Use symbol includes PGPLIPD2 specific for GENERATE PL1 at PD2

PGPLI common PL1 settings e.g. PL1 Compiler Options

PGENPD2 specific for GENERATE at PD2

PGALL common GENERATE settings e.g. Utility parameters

PSYSPD2 System Qualifier PD2 e.g. DB2 Subsystem Name

PHLQPD2 (High Level) Qualifier PD2 e.g. IMS datasets HLQs

Duplicate definition of symbols is allowed: specific value “replaces” common value

Options Table ALLOW_DUP_SYMBOLS=ON

„First come, first serve“ Sequence is important!

10

Processors And Standard Symbol Includes

Maria Hackmann-Peters, ITERGO

Page 11: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Change ITERGO’s company-specific PL1 runtime (from “MAC” to “MAC-LE”)

NO mixed mode usage of MAC and MAC-LE load modules

Requires a re-link of 10,000 PL1 programs

Exchanging the runtime and every load module must be possible

• fast

• back and forth

• during test as well as later during production

Create two versions (MAC and MAC-LE) for each load module

ENDEVOR:

Dual link (only) for PL1 programs to two different load libraries (active one / fallback lib)

Easy and quick exchange of assignment MAC / MAC-LE to active / fallback lib

Step by step activation according to the MAP (and a generate of all the 10,000 PL1 modules)

Maria Hackmann-Peters, ITERGO 11

Example For Using Symbols: Dual Link For PL1 MAC-LE

Page 12: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Maria Hackmann-Peters, ITERGO 12

Example (cont’d)

MAC LE Implementation In ENDEVOR

1.Preparation

PGALL MACLE=DUMMY

+ dual Link step (IF MACLE<>”DUMMY”)

2.Dual link in PD2

PGPLIPD2 MACLE=OFF

3.MAC-LE in PD2

PGPLIPD2 MACLE=ON

4.MAC-LE through the MAP

PGPLIxxx per stage MACLE=ON

5.MAC-LE in production

PGPLI MACLE=ON

all PGPLIxxx remove MACLE=ON

6.FALLBACK swap the active / fallback loadlibs

PGPLI MACLE=OFF

MACLE Control Symbol

=DUMMY No dual link, no MAC-LE module

=ON MAC-LE module into active load library

=OFF MAC-LE module into fallback library

Includes

PGPLIPD2 specific GENERATE PL1 on PD2

PGPLI common PL1 settings

PGENPD2 specific GENERATE on PD2

PGALL common GENERATE settings

PSYSPD2 System Qualifier PD2

PHLQPD2 High Level Qualifier PD2

Page 13: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Use other symbols to create the symbol’s value

A simple example: The dataset name obeys a good naming convention.

Use a common symbol setting like:

LOADLIB=&HLQ.&C1STAGE..&C1TYPE..LOADLIB,

DONE

If all your datasets correspond to the naming conventions ….

But Dataset names have often developed over years

and do NOT follow a proper naming convention.

You may be able to derive their names as shown in the following examples.

Maria Hackmann-Peters, ITERGO 13

Avoid Symbol Overrides

Set A Correct Symbol Default In The Processor

Page 14: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

LOADLIB contains a qualifier, which sometimes is an abbreviation of the type:

This LOADLIB qualifier can be derived from the type.

Maria Hackmann-Peters, ITERGO 14

Avoid Symbol Overrides

Example 1: LOADLIB

TYPE LOADLIB

PGMOCOB hlq.stagequal.PGMO.LOADLIB

PGMHCOB hlq.stagequal.PGMH.LOADLIB

PGMDCOB hlq.stagequal.PGMO.LOADLIB

ALIAS hlq.stagequal.PGMH.LOADLIB

… …

Page 15: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

LOADLIB=&HLQPGM..&STGQUAL..&LTYPQUAL..LOADLIB,

Type-specific qualifier: LTYPQUAL=&LTYP&C1TY(1,4).,

LTYPPGMO=PGMO,

LTYPPGMD=PGMO,

LTYPPGMU=PGMU,

LTYPPGMH=PGMH,

LTYPALIA=PGMO,

LTYPCINC=PGMH,

ATTENTION: Please be aware of new types!

A runtime error will occur if the corresponding LTYPxxx does not exist.

Maria Hackmann-Peters, ITERGO 15

Avoid Symbol Overrides

Example 1: LOADLIB Qualifier Derived From The Type

Page 16: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

LISTDS for several types contain an additional qualifier:

This additional qualifier can also be derived from the type.

Maria Hackmann-Peters, ITERGO 16

Avoid Symbol Overrides

Example 2: LISTDS

TYPE LISTDS

PGMOCOB

PGMUCOB

PGMHCOB

hlq.stage.LIST

PGMDCOB hlq.stage.PGMD.LIST

ALIAS hlq.stage.ALIAS.LIST

… …

Page 17: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

LISTDS=&#HLQNDV..&C1EN.&C1SI..&LISTQUAL.LIST,

Type-specific qualifier: LISTQUAL=&LIST&C1TY(1,4).,

LISTPGMO=,

LISTPGMD=PGMD.,

LISTPGMU=,

LISTPGMH=,

LISTALIA=ALIAS.,

ATTENTION: Please be aware of the periods!

Maria Hackmann-Peters, ITERGO 17

Avoid Symbol Overrides

Example 2: LISTDS Qualifier Derived From Type

Page 18: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

LOADLIB contains a stage qualifier, which is different for various stages:

This LOALDIB qualifier has to be derived from stage and processor group.

Maria Hackmann-Peters, ITERGO 18

Avoid Symbol Overrides

Example 3: LOADLIB

Stage Name Processor Group LOADLIB

PROJDV2 n.a. hlq.PD2.typequal.LOADLIB

PROJEKT2 E$000 hlq.PT2.E$000.typequal.LOADLIB

PROJEKT2 E$001 hlq.PT2.E$001.typequal.LOADLIB

PROD2 n.a. hlq.PROD.typequal.LOADLIB

… …

Page 19: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

LOADLIB=&HLQPGM..&STGQUAL..&LTYPQUAL..LOADLIB,

Stage shortcut QSTAGE=&#Q&C1EN.&C1SI.., (PGALL)

#QPROJDV2=PD2 (site symbols)

#QPROJEKT2=PT2 (site symbols)

#QPROD2=PROD (site symbols)

QSTAGE in PROJDV2: #QPROJDV2 PD2QSTAGE in PROJEKT2: #QPROJEKT2 PT2QSTAGE in PROD: #QPROD2 PROD

PROCGRP lib PMULTPD2=, (PGALL)

PMULTPT2=&C1PRGRP(1,5). (PGALL)

PMULTPROD=, (PGALL)

Stage qualifier STGQUAL=&QSTAGE..&PMULT&QSTAGE., (PGALL)

STGQUAL in PROJDV2 PD2.&PMULTPD2 PD2 STGQUAL in PROJEKT2 PT2.&PMULTPD2 PT2.&C1PRGRP(1,5). e.g. PD2.E$000STGQUAL in PROD PROD.&PMULTPROD PROD

ATTENTION: Please be aware of the periods! Equivalent notation maybe different during processor execution.

Maria Hackmann-Peters, ITERGO 19

Avoid Symbol Overrides Example 3: LOADLIB Qualifier Derived From Stage And Processor Group

Page 20: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

Keep it easy and reduce maintenance overhead:

Use a common processor coding style so that common processor steps can be

coded and maintained as ‘include’ members.

Keep it simple and avoid the need for unique symbol overrides:

Use a standard data set naming convention that incorporates CA Endevor

inventory references (Environment, Stage, Type, etc.) in the name so that standard

CA Endevor symbols can be used to "build" the names.

Conclusion

Maria Hackmann-Peters, ITERGO

Page 21: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

21 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Q & A

Page 22: Advanced CA Endevor® Software Change Manager Processor Coding Techniques: Practical Techniques to Streamline and Simplify your Processors

22 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

For More Information

To learn more, please visit:

http://cainc.to/Nv2VOe

CA World ’15