SlideShare a Scribd company logo
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
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
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-
Peters
ITERGO
Specialist
 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
ERGO Insurance Group at a glance
Zahlen Stand 31.12.2013
Maria Hackmann-Peters, ITERGO
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
 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
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
 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
 One processor per processor type 
per language > unique structure using appropriate includes
per 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
 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
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
 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
 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
… …
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
 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
… …
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
 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
… …
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  PD2
QSTAGE in PROJEKT2:  #QPROJEKT2  PT2
QSTAGE 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$000
STGQUAL 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
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
21 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Q & A
22 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
For More Information
To learn more, please visit:
http://cainc.to/Nv2VOe
CA World ’15

More Related Content

PDF
Case Study: University of Chicago Achieves High Availability through a Centr...
PDF
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization Nightmares
PDF
Hands-On Lab: Application Performance Management Command Center: Automate Mon...
PDF
Continuous Testing through Service Virtualization
PDF
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
PDF
Fueling DevOps with a Testing Trifecta: How the New World of Testing is Driv...
PDF
Automating Workload AE and DE; Agent Deployment and Configuration
Case Study: University of Chicago Achieves High Availability through a Centr...
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization Nightmares
Hands-On Lab: Application Performance Management Command Center: Automate Mon...
Continuous Testing through Service Virtualization
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Fueling DevOps with a Testing Trifecta: How the New World of Testing is Driv...
Automating Workload AE and DE; Agent Deployment and Configuration

What's hot (20)

PDF
CA Project and Portfolio Management 14.x - Advanced Reporting for the End User
PDF
Embedded software static analysis_Polyspace-WhitePaper_final
PPTX
Service Virtualization 101
PDF
Decrease Test Build Time, Not Test Quality with CA BlazeMeter
PDF
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...
PPTX
HP ALM; HP ALI 2.5
PDF
Removing Barriers Between Dev and Ops
PPTX
RemoteLaunch Overview Presentation (2022)
PDF
Driving Down Costs of z Systems™ Storage
PDF
Best Practices for Ensuring SAP ABAP Code Quality and Security
PPTX
SpiraPlan Overview Presentation (2022)
PPTX
HPE ALM Octane | DevOps | Agile
PDF
How the U.S. Department of Defense Secures Its Custom ABAP Code
PDF
SAP performance testing & engineering courseware v01
PDF
How to Configure the CA Workload Automation System Agent agentparm.txt File
DOCX
LucNguyen
PDF
Performance tesing coding standards & best practice guidelines v1
PDF
[Brochure] HPE ALM Octane
PDF
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
PDF
Memory Heap Analysis with AppDynamics - AppSphere16
CA Project and Portfolio Management 14.x - Advanced Reporting for the End User
Embedded software static analysis_Polyspace-WhitePaper_final
Service Virtualization 101
Decrease Test Build Time, Not Test Quality with CA BlazeMeter
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...
HP ALM; HP ALI 2.5
Removing Barriers Between Dev and Ops
RemoteLaunch Overview Presentation (2022)
Driving Down Costs of z Systems™ Storage
Best Practices for Ensuring SAP ABAP Code Quality and Security
SpiraPlan Overview Presentation (2022)
HPE ALM Octane | DevOps | Agile
How the U.S. Department of Defense Secures Its Custom ABAP Code
SAP performance testing & engineering courseware v01
How to Configure the CA Workload Automation System Agent agentparm.txt File
LucNguyen
Performance tesing coding standards & best practice guidelines v1
[Brochure] HPE ALM Octane
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
Memory Heap Analysis with AppDynamics - AppSphere16
Ad

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

PPT
Mod02 compilers
PPT
Probe Debugging
PDF
Lab9500
PDF
Joel Falcou, Boost.SIMD
PPT
20081114 Friday Food iLabt Bart Joris
PPTX
QEMU - Binary Translation
PDF
Code Difference Visualization by a Call Tree
PDF
Rodrigo Almeida - Microkernel development from project to implementation
PDF
Directive-based approach to Heterogeneous Computing
PPTX
PRESENTATION ON PLC AND SCADA
PPTX
Tasks, functions and User Defined Programss.pptx
PDF
PowerDRC/LVS 2.2 released by POLYTEDA
PPTX
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
PDF
Pragmatic Optimization in Modern Programming - Ordering Optimization Approaches
PDF
Summer Internship Report For PLC Programming of Traffic light through Ladder ...
PPSX
What's new in c# 5.0 net ponto
PPTX
Tasks , functions and UDP's in verilog.pptx
PDF
DPDK & Layer 4 Packet Processing
PDF
Preparing to program Aurora at Exascale - Early experiences and future direct...
PDF
Summer Internship Report on PLC
Mod02 compilers
Probe Debugging
Lab9500
Joel Falcou, Boost.SIMD
20081114 Friday Food iLabt Bart Joris
QEMU - Binary Translation
Code Difference Visualization by a Call Tree
Rodrigo Almeida - Microkernel development from project to implementation
Directive-based approach to Heterogeneous Computing
PRESENTATION ON PLC AND SCADA
Tasks, functions and User Defined Programss.pptx
PowerDRC/LVS 2.2 released by POLYTEDA
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Pragmatic Optimization in Modern Programming - Ordering Optimization Approaches
Summer Internship Report For PLC Programming of Traffic light through Ladder ...
What's new in c# 5.0 net ponto
Tasks , functions and UDP's in verilog.pptx
DPDK & Layer 4 Packet Processing
Preparing to program Aurora at Exascale - Early experiences and future direct...
Summer Internship Report on PLC
Ad

More from CA Technologies (20)

PPTX
CA Mainframe Resource Intelligence
PDF
Mainframe as a Service: Sample a Buffet of IBM z/OS® Platform Excellence
PDF
Case Study: How CA Went From 40 Days to Three Days Building Crystal-Clear Tes...
PDF
Case Study: How The Home Depot Built Quality Into Software Development
PDF
Pre-Con Ed: Privileged Identity Governance: Are You Certifying Privileged Use...
PDF
Case Study: Privileged Access in a World on Time
PDF
Case Study: How SGN Used Attack Path Mapping to Control Privileged Access in ...
PDF
Case Study: Putting Citizens at The Center of Digital Government
PDF
Making Security Work—Implementing a Transformational Security Program
PDF
Keynote: Making Security a Competitive Advantage
PDF
Emerging Managed Services Opportunities in Identity and Access Management
PDF
The Unmet Demand for Premium Cloud Monitoring Services—and How Service Provid...
PDF
Leveraging Monitoring Governance: How Service Providers Can Boost Operational...
PDF
The Next Big Service Provider Opportunity—Beyond Infrastructure: Architecting...
PDF
Application Experience Analytics Services: The Strategic Digital Transformati...
PDF
Application Experience Analytics Services: The Strategic Digital Transformati...
PDF
Strategic Direction Session: Deliver Next-Gen IT Ops with CA Mainframe Operat...
PDF
Strategic Direction Session: Enhancing Data Privacy with Data-Centric Securit...
PDF
Blockchain: Strategies for Moving From Hype to Realities of Deployment
PDF
Establish Digital Trust as the Currency of Digital Enterprise
CA Mainframe Resource Intelligence
Mainframe as a Service: Sample a Buffet of IBM z/OS® Platform Excellence
Case Study: How CA Went From 40 Days to Three Days Building Crystal-Clear Tes...
Case Study: How The Home Depot Built Quality Into Software Development
Pre-Con Ed: Privileged Identity Governance: Are You Certifying Privileged Use...
Case Study: Privileged Access in a World on Time
Case Study: How SGN Used Attack Path Mapping to Control Privileged Access in ...
Case Study: Putting Citizens at The Center of Digital Government
Making Security Work—Implementing a Transformational Security Program
Keynote: Making Security a Competitive Advantage
Emerging Managed Services Opportunities in Identity and Access Management
The Unmet Demand for Premium Cloud Monitoring Services—and How Service Provid...
Leveraging Monitoring Governance: How Service Providers Can Boost Operational...
The Next Big Service Provider Opportunity—Beyond Infrastructure: Architecting...
Application Experience Analytics Services: The Strategic Digital Transformati...
Application Experience Analytics Services: The Strategic Digital Transformati...
Strategic Direction Session: Deliver Next-Gen IT Ops with CA Mainframe Operat...
Strategic Direction Session: Enhancing Data Privacy with Data-Centric Securit...
Blockchain: Strategies for Moving From Hype to Realities of Deployment
Establish Digital Trust as the Currency of Digital Enterprise

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Approach and Philosophy of On baking technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Spectral efficient network and resource selection model in 5G networks
20250228 LYD VKU AI Blended-Learning.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Unlocking AI with Model Context Protocol (MCP)
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
cuic standard and advanced reporting.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Approach and Philosophy of On baking technology

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

  • 1. 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
  • 2. 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
  • 3. 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- Peters ITERGO Specialist
  • 4.  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
  • 5. ERGO Insurance Group at a glance Zahlen Stand 31.12.2013 Maria Hackmann-Peters, ITERGO
  • 6. 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
  • 7.  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
  • 8. 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
  • 9.  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
  • 10.  One processor per processor type per language > unique structure using appropriate includes per 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
  • 11.  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
  • 12. 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
  • 13.  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
  • 14.  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 … …
  • 15. 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
  • 16.  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 … …
  • 17. 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
  • 18.  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 … …
  • 19. 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  PD2 QSTAGE in PROJEKT2:  #QPROJEKT2  PT2 QSTAGE 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$000 STGQUAL 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
  • 20. 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
  • 21. 21 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD Q & A
  • 22. 22 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD For More Information To learn more, please visit: http://cainc.to/Nv2VOe CA World ’15