Generating Ship list for Endevor and Changeman packages

You can generate shiplist.xml using Endevor SCL and Changeman configurations. Generated shiplist.xml can later be used to create component version using buztool.sh.

Generating Ship list from Endevor SCL

Run shiplistgen.sh to generate ship list from an Endevor SCL.

shiplistgen.sh parameters

Parameters Required Description
-d, -dataset Yes MVS Dataset that contains Endevor SCL (or) use '-f' option
-f, -file HFS File that contains Endevor SCL (or) use '-d' option
-o, -output No Ship list file name to be written to. By default, a file 'shiplist.xml' is created in current working directory
-m, -mapping Yes Mapping file for Endevor
-verb, -verbose No Set to true to display trace log
This tool requires Endevor Package SCL containing only MOVE statements in a Data set or file. Refer to the following sample Endevor SCL:
MOVE ELEMENT 'CARP001'
     FROM ENVIRONMENT 'PROD'
          SYSTEM 'PAYROLL'
          SUBSYSTEM 'REPORTS'
          TYPE 'COBOL'
          STAGE NUMBER 1
     OPTIONS CCID REQ#43034
          COMMENT 'MOVE INTO PRODUCTION'
          WITH HISTORY.

     MOVE ELEMENT 'CARPBACH'
     FROM ENVIRONMENT 'PROD'
          SYSTEM 'PAYROLL'
          SUBSYSTEM 'REPORTS'
          TYPE 'DBRM'
          STAGE NUMBER 1
     OPTIONS CCID REQ#43034
          COMMENT 'MOVE INTO PRODUCTION'
          WITH HISTORY.

     MOVE ELEMENT 'SCRN001'
     FROM ENVIRONMENT 'PROD'
          SYSTEM 'PAYMENTS'
          SUBSYSTEM 'FINANCE'
          TYPE 'COPYBOOK'
          STAGE NUMBER 1
     OPTIONS CCID REQ#43034
          COMMENT 'MOVE INTO PRODUCTION'
          WITH HISTORY.
This tool also requires a mapping file in JSON format. Assign Data set names DSNAME for each TYPE available in Endevor. For example, A SCL type COBOL is assigned to Data set name TEST.ENDEVOR.COBOL as shown in below sample mapping JSON:
[
    {
        "TYPE": "COBOL",
        "DSNAME": "TEST.ENDEVOR.COBOL"
    },
    {
        "TYPE": "COPYBOOK",
        "DSNAME": "TEST.ENDEVOR.COPYBOOK"
    },
    {
        "TYPE": "DBRM",
        "DSNAME": "TEST.ENDEVOR.DBRM"
    }
]
For example, the following command creates a ship list using Endevor package SCL stored in file /u/user/Sample_SCL.txt and mapping in /u/user/Endevor_mappings.json.
/opt/hcl-launch/agent/bin/shiplistgen.sh -f /u/user/Sample_SCL.txt -m /u/user/Endevor_mappings.json

The shiplistgen.sh creates a shiplist.xml file in the working directory.

Generating shiplist for Changeman packages

HCL Launch can create its own versions for equivalent packages in Changeman. This is done using the help of shiplist4changeman.sh shell script that is shipped in the z/OS agent.

The shiplist4changeman.sh accepts the following parameters:
Parameters Required Description
-m, -mapping Yes A file in USS that can map one of (TEXT, BINARY, EXEC) types to COBOL, JCL and other types in Changeman SCM in key value pairs like below: EXEC=LOAD TEXT=COBOL, COPYBOOK, JCL, PROCLIB BINARY=DBRM Multiple values must be separated by commas.
-p, -package Yes Name of the package.
-hlq Yes High-level qualifier of datasets for Changeman packages. The HLQ can be like: HLQ.*. PKGNAME.*. LOADLIB HLQ.*. PKGNAME.*. LOAD* HLQ.PKGNAME. LOAD* HLQ.*. PKGNAME.*. JCLLIB HLQ. **. PKGNAME.*. COBOL
-o, -output No The output xml file to which the shiplist.xml is generated to. The file need not be present in the system.
-verb, -verbose No Set to true to display the trace log.

The shell script is found in <AGENT_HOME>/bin and hence must be executed from this directory.

For a package "PKG" containing only JCL members, a high-level qualifier "HLQ ", and mapping file "mappingfile.txt" containing TEXT=JCL and output "shiplist.xml”, the command displays as below:
/opt/hcl-launch/agent/bin/shiplist4changeman.sh -m /u/user/mappingfile.txt -p PKG -hlq HLQ. **.PKG -o /u/user/shiplist.xml

The output shiplist.xml will look like below:

<?xml version="1.0" encoding="IBM-1047"?><manifest type="MANIFEST_LIST"> <container deployType="TEXT" name="HLQ.PKG.JCL" type="PDS"> <resource name="*" type="PDSMember"/> </container> </manifest>