Endevor

 View Only

ACM Builds Without Generates

By Joseph Walther posted May 11, 2023 02:13 PM

  

Introduction

Some Endevor sites have existed for years without the full benefit of the Automated Configuration Manager (ACM). Perhaps time constraints or other pressing demands, years or decades ago, led to shortcuts that rendered an incomplete ACM. This blog will help such sites quickly and safely build their Automated Configuration data to gain back features that had been lost to them, including:

  • Using the ACM Query Facility to quickly perform "where-used" or “impact analysis” queries against ACM component data. 

  • Identifying a complete list of application components for scoring, using tools such as SonarQube.

  • Using the AutoGen functionality to automatically generate elements that use a modified component 

Typically, once a conversion is complete and Endevor is managing production applications software, the opportunity is lost (or at least difficult) for building ACM data by Generate actions. 

  • Processors require temporary changes to avoid targeting production resources

  • Massive Generates are required - either with or without the use of packages. If not using packages, then Approval requirements must be temporarily removed

  • The size of the inventory might be so large that Generate actions would take longer than available timeframes (a weekend for example)

  • Huge amounts of MIPS are required

On the next few pages is presented an alternative. 

.

The Inventory Scan Alternative

An alternative, provided by a GitHub location here, builds ACM data from scanning inventory, and offers these benefits:

  • Low risk – no processor changes are required. Generate actions are not required. Can target non-Generated elements only.

  • Fast – Builds ACM relationship information by scanning inventory. Runs in a fraction of the time that it takes to Generate inventory. Avoids the unnecessary MIPS of running generates on all your inventory too.

Just follow the steps below to install the tools for this alternative. Execute a trial on a small sample of your inventory to review the results. Then execute on your remaining inventory as needed.  Do not hesitate to reach out to Broadcom Technical Services, if you need help.

Installation steps

  1. Place all members into a common dataset. The dataset you use will become the value for MODELLIB.

  2. ACM#LOD1. This job creates lists of inventory and breaks program inventory into Groups.

    1. Enter values for SET statements at top of JCL:

      1. HLQ – High-level-qualifiers for work datasets

      2. ENVMNT – name the Endevor environment to be scanned

      3. STAGE - name the Endevor stage to be scanned

      4. MODELLIB – the name of the library where the ACM#* members are found.

      5. STEPLIB1, STEPLIB2, and STEPLIB3 name the Endevor executable libraries – typically the CSIQAUTU, CSIQAUTH, and CSIQLOAD load libraries

    2. Within the BILDACM3 step, enter a table of TYPES that might be input components

    3. Within the BILDACM9 step, enter a table of TYPES that might use input components  - for example, COBOL, ASM, JCL, etc  (It is OK if a type is entered into both lists)

    4. Optionally adjust the size of each group. Change the value of “Break = 30” to Break = nn” where nn is your choice for the size of each group. The number indicates how many elements are to be processed per job. A smaller number will increase the number of jobs submitted., 

    5. Submit ACM#LOD1. ACMTABLE is then created to form inventory groups.

3)  ACM#LOD2

  1. Copy the SET statements from ACM#LOD1 to the top of the JCL

  2. Set the value for MODELLIB. Enter the name of the dataset name that contains ACM#LOD3

4)  ACM#LOD3

  1. Copy the SET statements from ACM#LOD1 to the top of the JCL

  2. Enter the dataset names for ACMROOT and ACMXREF. You can find these file names on the Endevor Site Information display screen.

  3. By default, ACM#LOD3 will scan elements that have not been Generated. If you wish to scan all elements or use a specific Generate date as a threshold, then change this statement in ACM#LOD3…

 

IF MODEL="MODELU" & GEN_DATE>'00000000' then $SkipRow='Y'

 

To scan all elements – whether they have been generated or not, then change to this.

 

* IF MODEL="MODELU" & GEN_DATE>'00000000' then $SkipRow='Y'

 

To bypass scanning elements that were generated after 2001 06 01, then change to this..

 

IF MODEL="MODELU" & GEN_DATE>'20010601' then $SkipRow='Y'

 

  1. If you are running these tools to find unused input components, then comment (or delete) the last two steps – LOAD and DELETE.

5)  ACM#REX1

  1. Review/tailor the SCANLINE section that examines each member scanned.

  2. Review/tailor other sections as needed              

6)  Submit ACM#LOD2. By default ACM#LOD2 will submit a separate job for each group. By tweaking the value for the SELECT variable, you can cause a sample to run for a single group. Review the results. Once you see the results of the scan reflected in your ACM queries. Then submit it for all program inventory.

7)  Optionally, if you are attempting to identify unused input components (for example Copybooks), then change the settings and submit the ACM#COPY job. The SORTOF01 output from this job lists input component information for elements not found in use. If you are using these tools to identify unused input components, then make the modification in ACM#LOD3 to scan for all elements.

 

Restrictions and other notes:

  1. The ACM build process captures input relationships only, and does nothing for output relationships.

  2. If an input component has its own invocation of other input components, you may elect to include a type in both tables within ACM#LOD1. However, relationship information will be matched for the input component element type and not the program element type. For example, if your copybooks contain COPY statements, you may want to include type COPY in both lists. Then a COPYbook with a COPY statement will have an ACM relationship with the COPY that it references.

 

This method for collecting ACM has been used by the Broadcom Technical Services team since the days of Endevor at release 3.9. You are welcome to share your thoughts and suggestions on the approach in this blog. If you would like to discuss this approach or to give it a try with our help, just reach out to any one of us listed below:

 

 joseph.walther@broadcom.com

0 comments
57 views

Permalink