From b683cdd62384e012cfdec8e05a994ec81f087463 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Tue, 11 Mar 2025 13:14:11 -0500 Subject: [PATCH 01/12] Update README.md --- .../README.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index 8d7197c..d5513ed 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -66,6 +66,7 @@ Package Shipping variables are made available early in the shipment process. If See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as examples for capturing package shipment variables. Paired with the **@DBOX** member, **C1BMXIN** is able to leverage additional variables whose values are applicable to only one host or sending site. + ### Skeleton / Model / Script example members for commenting Members in this folder that help with commenting include: @@ -78,6 +79,42 @@ __#RJICPY1.skl__ is a version of the #RJICPY1 showing commented steps. The edit maccro __JCLCOMMNT__ can help insert comments for a member or element that contains JCL. While editing an element or member, enter JCLCOMMT on the Command line. +## Member Inclusions + +Members in the CSIQSENU library(s) use the standard ISPF Skeleton method - )IM name - for including other skeletons. + +Members of the CSIQOPTN library(s) and remote JCL PROCs and snippets may also include other members. + +### For members of the CSIQOPTN library(s): + +Within a member of a CSIQOPTN library, you can include other members, using this syntax. + + @INCLUDE=member_name - Required Inclusion of Specific Member + @INCLUDE=(member-name) - Optional Inclusion of Specific Member + +Inclusion can also be based on the presence of a member in a 3 tiered hierarchy of members. The hierarchy consists of a destination specific member, a transmission method specific member, and a non-specific member. The member names consist of a root and a one character suffix (alphabetic or national character). + + Destination Specific Members: ddddddd.suffix where "ddddddd" is a Destination + Transmission Method Specific: #PSxxxx.suffix where "xxxx" is a transmission method mnumonic + Non-Specific Members: #PSNDVR.suffix + +If a certain destination requires special processing, a destination specific member(s) can be created which will generate control statements for that destination only. + + @INCLUDE=suffix Required Inclusion of Hierarchical Member + @INCLUDE=(suffix) Optional Inclusion of Hierarchical Member + +### PROC and JCL inclustions + +Consider also using a JES include, where an included member name includes the destination name, and the member itself resides in a library at the Destination site. The member may reside in a PROC library, or a library named by your JCLLIB ORDER statement. For Example: + + //*==================================================================* + // JCLLIB ORDER=(MY.REMOTE.JCL) + //*==================================================================* + + // INCLUDE MEMBER=#&DESTID JES include from MY.REMOTE.JCL + + + ## Tips and Techniques Miscellaneous tips and techniques for package shipping are given here. From c3af2a734e90a94d9d071e73afde7ef6da34f579 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Tue, 11 Mar 2025 18:47:07 -0500 Subject: [PATCH 02/12] Update README.md --- endevor/Package-Shipping-Model-and-Script-Examples/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index d5513ed..0669c53 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -103,7 +103,7 @@ If a certain destination requires special processing, a destination specific mem @INCLUDE=suffix Required Inclusion of Hierarchical Member @INCLUDE=(suffix) Optional Inclusion of Hierarchical Member -### PROC and JCL inclustions +### PROC and JCL inclusions Consider also using a JES include, where an included member name includes the destination name, and the member itself resides in a library at the Destination site. The member may reside in a PROC library, or a library named by your JCLLIB ORDER statement. For Example: From 28b4dc6bbf32aa50968b5cd162aa880c9c092ca2 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Thu, 13 Mar 2025 20:23:42 -0500 Subject: [PATCH 03/12] Update README.md --- .../README.md | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index 0669c53..e34c5d5 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -1,10 +1,7 @@ # Package Shipping Model and Script examples -There are many challenges when working with Endevor's package shipping. - -One Package shipment can submit up to 4 jobs, depending on the transmission tool used. If you are shipping to and from multiple sites, it becomes difficult to track the site names and packages to the job outputs. - -There are many parts to the package shipping process. It can be confusing to know where to insert the new code you want to include. +There are a few challenges when working with Endevor's package shipping. +One Package shipment can submit up to 4 jobs, depending on the transmission tool used. If you are shipping to and from multiple sites, there are some things you can do to make it easier to track job outputs to the site names and packages that spawned them. Objects from the Endevor CSIQSENU library are standard [IBM File Tailoring Skeletons](https://www.ibm.com/docs/en/zos/3.1.0?topic=reference-defining-file-tailoring-skeletons), whereas objects from Endevor's CSIQOPTN libary use a syntax that is unique to package shipping. @@ -13,6 +10,18 @@ Items in this folder may help with these challenges, and to complement the mater - Items to comment your package shipping jobs - a first step in keeping track of package shipping objects - Miscellaneous tips and techniques + ## Setting up Package Shipments + + These are recommended steps for setting up + + - Check the RJCLROOT value on your Defaults table. Techdoc says... + + "The generation of the remote copy and delete job stream is controlled by the C1DEFLTS specification for RJCLROOT keyword. RJCLROOT specifies the member root for the package ship remote JCL model." + +- If you modify any of the CSIQSENU or CSIQOPTN members, consider placing them into an override library, separate from the Endevor product library. Then, make sure your override libraary(s) are concatenated in your C1BMXJOB, or whatever equivalent you are using. Where you see a CSIQOPTN, or a CSIQSENU library, you may concatenate your override library above it. See also the **Tips and Techniques** section below. + +- Comment the members you modify. + ## Commenting Package Shipment Jobs Generous commenting of your package shipping objects helps you to connect jobs to their originations. Remote and confirmation jobs might be commented this way, giving you backward pointers to the origin of each package shipment. @@ -120,7 +129,7 @@ Consider also using a JES include, where an included member name includes the de Miscellaneous tips and techniques for package shipping are given here. -### Preparing a library for your Shipping software members +### Preparing an Overrice library for your Shipping software members By default, Endevor builds package shipping JCL from members of the CSIQOPTN and CSIQSENU libraries. You do not need to place your modified objects into these libraries. Instead, you can create one or more "Override" libraries, and place your modified members into them. Ideally, these libraries are Endevor output libraries. **C1BMXJOB.skl** is the member that names your Override libraries. See the topic on the Override library in [Package Shipping Demystified](https://community.broadcom.com/blogs/joseph-walther/2023/11/27/package-shipping-and-post-ship-scripts-de-mystifie ). The **C1BMXJOB.skl** member in this folder gives an example, naming three "override" libraries. Any one of which may contain your modified objects. From d7201b9f966f358ea05897f77b53d2ad808a2d8a Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Fri, 14 Mar 2025 12:31:28 -0500 Subject: [PATCH 04/12] Update README.md --- .../README.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index e34c5d5..a8bd946 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -3,8 +3,6 @@ There are a few challenges when working with Endevor's package shipping. One Package shipment can submit up to 4 jobs, depending on the transmission tool used. If you are shipping to and from multiple sites, there are some things you can do to make it easier to track job outputs to the site names and packages that spawned them. -Objects from the Endevor CSIQSENU library are standard [IBM File Tailoring Skeletons](https://www.ibm.com/docs/en/zos/3.1.0?topic=reference-defining-file-tailoring-skeletons), whereas objects from Endevor's CSIQOPTN libary use a syntax that is unique to package shipping. - Items in this folder may help with these challenges, and to complement the material found in [Shipping and Post Ship Scripts demysfied](https://community.broadcom.com/blogs/joseph-walther/2023/11/27/package-shipping-and-post-ship-scripts-de-mystifie). Included are: - Items to comment your package shipping jobs - a first step in keeping track of package shipping objects @@ -12,19 +10,19 @@ Items in this folder may help with these challenges, and to complement the mater ## Setting up Package Shipments - These are recommended steps for setting up + Objects from the Endevor CSIQSENU library are standard [IBM File Tailoring Skeletons](https://www.ibm.com/docs/en/zos/3.1.0?topic=reference-defining-file-tailoring-skeletons), whereas objects from Endevor's CSIQOPTN libary use a syntax that is unique to package shipping. Here are some recommended steps for setting up Package Shipments: - Check the RJCLROOT value on your Defaults table. Techdoc says... "The generation of the remote copy and delete job stream is controlled by the C1DEFLTS specification for RJCLROOT keyword. RJCLROOT specifies the member root for the package ship remote JCL model." -- If you modify any of the CSIQSENU or CSIQOPTN members, consider placing them into an override library, separate from the Endevor product library. Then, make sure your override libraary(s) are concatenated in your C1BMXJOB, or whatever equivalent you are using. Where you see a CSIQOPTN, or a CSIQSENU library, you may concatenate your override library above it. See also the **Tips and Techniques** section below. +- If you modify any of the CSIQSENU or CSIQOPTN members, consider placing them into an override library, separate from the Endevor product library. Then, make sure your override library(s) are concatenated in your C1BMXJOB, or whatever equivalent you are using. Where you see a CSIQOPTN, or a CSIQSENU library, you may concatenate your override library above it. See also the **Tips and Techniques** section below for more. -- Comment the members you modify. +- Comment the members you modify, so that when you are viewing package shipment jobs, you will be able to easily find the contributing objects that created them. ## Commenting Package Shipment Jobs -Generous commenting of your package shipping objects helps you to connect jobs to their originations. Remote and confirmation jobs might be commented this way, giving you backward pointers to the origin of each package shipment. +Generous commenting of your package shipping objects helps you to connect jobs to their originations. Remote and confirmation jobs might be commented this way (after variable substitution), giving you backward pointers to the origin of each package shipment. //SHIPJOBR JOB (123000),'FROM DEV1',CLASS=A,PRTY=6, // MSGCLASS=X,REGION=0M @@ -37,7 +35,7 @@ Generous commenting of your package shipping objects helps you to connect jobs t //* RmotLibs := SHIP.RMOT.D240506.T091612.SOMWHER //* *==============================================================* * -Job steps may be commented this way to name the package shipment object that contributed the step to the JCL: +Comment your Job steps to name the package shipment object that contributed the step to the JCL: Command ===> Scroll ===> CSR @@ -73,8 +71,7 @@ Package Shipping variables are made available early in the shipment process. If - VNB6TIME - Six character shipping Time - VPHPKGID - Package ID -See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as examples for capturing package shipment variables. Paired with the **@DBOX** member, **C1BMXIN** is able to leverage additional variables whose values are applicable to only one host or sending site. - +See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as examples for capturing package shipment variables. Paired with the **@DBOX** member, **C1BMXIN** is able to capture additional variables whose values can be applied across your contributing shipping objects. ### Skeleton / Model / Script example members for commenting From 301d5e9d706a9ecac86492e242710883530c4f91 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Fri, 14 Mar 2025 19:04:30 -0500 Subject: [PATCH 05/12] Update README.md --- .../Package-Shipping-Model-and-Script-Examples/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index a8bd946..4d22f31 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -16,7 +16,7 @@ Items in this folder may help with these challenges, and to complement the mater "The generation of the remote copy and delete job stream is controlled by the C1DEFLTS specification for RJCLROOT keyword. RJCLROOT specifies the member root for the package ship remote JCL model." -- If you modify any of the CSIQSENU or CSIQOPTN members, consider placing them into an override library, separate from the Endevor product library. Then, make sure your override library(s) are concatenated in your C1BMXJOB, or whatever equivalent you are using. Where you see a CSIQOPTN, or a CSIQSENU library, you may concatenate your override library above it. See also the **Tips and Techniques** section below for more. +- If you modify any of the CSIQSENU or CSIQOPTN members, consider placing them into an override library, separate from the Endevor product library. Then, make sure your override library(s) are concatenated in your C1BMXJOB, or whatever equivalent you are using. Where you see a CSIQOPTN, or a CSIQSENU library, you may concatenate your override library above the one that is there. See also the **Tips and Techniques** section below for more. - Comment the members you modify, so that when you are viewing package shipment jobs, you will be able to easily find the contributing objects that created them. @@ -73,9 +73,9 @@ Package Shipping variables are made available early in the shipment process. If See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as examples for capturing package shipment variables. Paired with the **@DBOX** member, **C1BMXIN** is able to capture additional variables whose values can be applied across your contributing shipping objects. -### Skeleton / Model / Script example members for commenting +### Skeleton / Model / Capture and re-use of shipping variables -Members in this folder that help with commenting include: +Members in this folder show how you can capture values for shipping variables and re-use them. __C1BMXIN.skl__ is a version of the C1BMXIN skeleton found in your CSIQSENU library. This version captures values for some of the package shipping variables, and makes it possible for them to be available in your shipping JCL. Shipments for all transmission methods use the C1BMXIN member. The example uses Table Tool in a step named TAILOR to capture and expand variables for subsequent shipping jobs. From a87bb2e33446297eb5b26d1cb73cdf1288e4fcc9 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Sat, 15 Mar 2025 20:01:21 -0500 Subject: [PATCH 06/12] Update README.md --- .../Package-Shipping-Model-and-Script-Examples/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index 4d22f31..dba5a40 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -5,10 +5,12 @@ One Package shipment can submit up to 4 jobs, depending on the transmission tool Items in this folder may help with these challenges, and to complement the material found in [Shipping and Post Ship Scripts demysfied](https://community.broadcom.com/blogs/joseph-walther/2023/11/27/package-shipping-and-post-ship-scripts-de-mystifie). Included are: + - Reminders for Setting up Package Shipments - Items to comment your package shipping jobs - a first step in keeping track of package shipping objects + - Member inclusions - Miscellaneous tips and techniques - ## Setting up Package Shipments + ## Reminders for Setting up Package Shipments Objects from the Endevor CSIQSENU library are standard [IBM File Tailoring Skeletons](https://www.ibm.com/docs/en/zos/3.1.0?topic=reference-defining-file-tailoring-skeletons), whereas objects from Endevor's CSIQOPTN libary use a syntax that is unique to package shipping. Here are some recommended steps for setting up Package Shipments: @@ -79,7 +81,7 @@ Members in this folder show how you can capture values for shipping variables an __C1BMXIN.skl__ is a version of the C1BMXIN skeleton found in your CSIQSENU library. This version captures values for some of the package shipping variables, and makes it possible for them to be available in your shipping JCL. Shipments for all transmission methods use the C1BMXIN member. The example uses Table Tool in a step named TAILOR to capture and expand variables for subsequent shipping jobs. -The example tailors the content of C1BMXFTC, which is the job submitted for Netview FTP (or IBM FTP) commands. The inclusion or exclusion of the C1BMXFTC references in your version might depend on your transmission utility. +The example tailors the content of C1BMXFTC, which is the job submitted for Netview FTP (or IBM FTP) commands. The inclusion or exclusion of the C1BMXFTC references in your version might depend on your transmission utility. You will need to tailor it slightly if you are using another transmission tool. __#RJICPY1.skl__ is a version of the #RJICPY1 showing commented steps. From 885de83c97413f9eb5bfe421d4cf08cf08f90de7 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Sat, 15 Mar 2025 20:21:23 -0500 Subject: [PATCH 07/12] Update README.md --- .../README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index dba5a40..7033eaf 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -18,7 +18,7 @@ Items in this folder may help with these challenges, and to complement the mater "The generation of the remote copy and delete job stream is controlled by the C1DEFLTS specification for RJCLROOT keyword. RJCLROOT specifies the member root for the package ship remote JCL model." -- If you modify any of the CSIQSENU or CSIQOPTN members, consider placing them into an override library, separate from the Endevor product library. Then, make sure your override library(s) are concatenated in your C1BMXJOB, or whatever equivalent you are using. Where you see a CSIQOPTN, or a CSIQSENU library, you may concatenate your override library above the one that is there. See also the **Tips and Techniques** section below for more. +- If you modify any of the CSIQSENU or CSIQOPTN members, consider placing them into one or two override libraries, separate from the Endevor product libraries. Then, make sure your override libraries are concatenated in your C1BMXJOB, or whatever equivalent you are using. Where you see a reference to a CSIQOPTN or a CSIQSENU library, concatenate an override library above the one that is there. See also the **Tips and Techniques** section below for more. - Comment the members you modify, so that when you are viewing package shipment jobs, you will be able to easily find the contributing objects that created them. @@ -63,7 +63,7 @@ Comment your Job steps to name the package shipment object that contributed the Where QBOXB, C1BMXRCN are package shipping members and/or elements in your Endevor Admin area. -Package Shipping variables are made available early in the shipment process. If you capture them at the appropriate time you can use them within the shipping objects to better comment, and to enhance functionality. Objects in this folder serve as examples in capturing and leveraging variables such as those listed here. +Package Shipping variables are made available early in the shipment process. If you capture them at the appropriate time you can use them within the remaining shipping objects to better comment, and to enhance functionality. Objects in this folder serve as examples in capturing and leveraging variables such as those listed here. - VDDHSPFX - Host staging dataset name prefix - VDDRSPFX - Remote staging dataset name prefix @@ -85,11 +85,11 @@ The example tailors the content of C1BMXFTC, which is the job submitted for Netv __#RJICPY1.skl__ is a version of the #RJICPY1 showing commented steps. -The edit maccro __JCLCOMMNT__ can help insert comments for a member or element that contains JCL. While editing an element or member, enter JCLCOMMT on the Command line. +The edit maccro __JCLCOMMT__ can help insert comments for a member or element that contains JCL. While editing an element or member, enter JCLCOMMT on the Command line. ## Member Inclusions -Members in the CSIQSENU library(s) use the standard ISPF Skeleton method - )IM name - for including other skeletons. +Members in the CSIQSENU library(s) use the standard ISPF Skeleton method - )IM name - for including other skeleton members. Members of the CSIQOPTN library(s) and remote JCL PROCs and snippets may also include other members. @@ -103,7 +103,7 @@ Within a member of a CSIQOPTN library, you can include other members, using this Inclusion can also be based on the presence of a member in a 3 tiered hierarchy of members. The hierarchy consists of a destination specific member, a transmission method specific member, and a non-specific member. The member names consist of a root and a one character suffix (alphabetic or national character). Destination Specific Members: ddddddd.suffix where "ddddddd" is a Destination - Transmission Method Specific: #PSxxxx.suffix where "xxxx" is a transmission method mnumonic + Transmission Method Specific: #PSxxxx.suffix where "xxxx" is a transmission method mnemonic Non-Specific Members: #PSNDVR.suffix If a certain destination requires special processing, a destination specific member(s) can be created which will generate control statements for that destination only. @@ -113,7 +113,7 @@ If a certain destination requires special processing, a destination specific mem ### PROC and JCL inclusions -Consider also using a JES include, where an included member name includes the destination name, and the member itself resides in a library at the Destination site. The member may reside in a PROC library, or a library named by your JCLLIB ORDER statement. For Example: +It might be usefui to consider using a JES include, where an included member name includes the destination name, and the member itself resides in a library at the Destination site. The member may reside in a PROC library, or a library named by your JCLLIB ORDER statement. For Example: //*==================================================================* // JCLLIB ORDER=(MY.REMOTE.JCL) From 3ff9147b42137921568ef02e44977bd4310ac409 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Mon, 17 Mar 2025 16:22:37 -0500 Subject: [PATCH 08/12] Update README.md --- .../README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index 7033eaf..c37afa9 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -128,16 +128,16 @@ It might be usefui to consider using a JES include, where an included member nam Miscellaneous tips and techniques for package shipping are given here. -### Preparing an Overrice library for your Shipping software members +### Preparing an Override library for your Shipping software members -By default, Endevor builds package shipping JCL from members of the CSIQOPTN and CSIQSENU libraries. You do not need to place your modified objects into these libraries. Instead, you can create one or more "Override" libraries, and place your modified members into them. Ideally, these libraries are Endevor output libraries. **C1BMXJOB.skl** is the member that names your Override libraries. See the topic on the Override library in [Package Shipping Demystified](https://community.broadcom.com/blogs/joseph-walther/2023/11/27/package-shipping-and-post-ship-scripts-de-mystifie -). The **C1BMXJOB.skl** member in this folder gives an example, naming three "override" libraries. Any one of which may contain your modified objects. +By default, Endevor builds package shipping JCL from members of the CSIQOPTN and CSIQSENU libraries. You do not need to place your modified objects into these libraries. Instead, you can create one or more "Override" libraries, and place your modified members into them. Ideally, these libraries are managed in your admin area of Endevor. Within **C1BMXJOB.skl**, name your Override libraries. See the topic on the Override library in [Package Shipping Demystified](https://community.broadcom.com/blogs/joseph-walther/2023/11/27/package-shipping-and-post-ship-scripts-de-mystifie +). An example **C1BMXJOB.skl** member in found in this folder, and gives an example, naming three "override" libraries. Any one of which may contain your modified objects. DBOX.OVER1.ENDEVOR.ISPS DBOX.OVER2.ENDEVOR.ISPS DBOX.PROD.ISPS -It is not necessary to separate CSIQOPTN members from CSIQSENU members. You can choose to place override members into one library, regardless of their original locations. However, it is strongly recommended, that you comment them generously with their names in the comments. +Within an Override library, it is not necessary to separate CSIQOPTN members from CSIQSENU members. You may elect to place override members into one library, regardless of their original locations. However, it is strongly recommended, that you comment them generously with their names in the comments. ### Using your Transmission tool for the Confirmation job @@ -178,17 +178,16 @@ Here is an example of using IBM's FTP within the C1BMXRCN skeleton member. QUIT //***--------------------------------------------* C1BMXRCN (CONT.) * -Notice that the &RMOTHLQ, &DATE6 and &TIME6 variables are among those captured by the TAILOR step within C1BMXIN. +Notice that the &RMOTHLQ, &DATE6 and &TIME6 variables are among those captured or created by the TAILOR step within C1BMXIN. ### IEBPTPCH -IEBPTPCH is an IBM utility program that is used to print or punch records from a sequential or partitioned dataset. The utility can perform various tasks, including copying members from a partitioned dataset (PDS) into a sequential dataset (PS). If you have shipped members of a datset that contain commands, such as DB2 Binds or CICS newcopies, then IEBPTPCH is useful for writing all the shipped members into a sequential file for subsequent processing. - +IEBPTPCH is an IBM utility program that is used to print or punch records from a sequential or partitioned dataset. Our examples show using IEBPTPCH to write all members of a "Staging" dataset into a single outpu. It is useful for shipped objects, such as DB2 Binds or CICS newcopies. Then the output is further processed in subsequent step in the shipping job. See the __#RJNDVRA__ member example. ### Multiple Endevors -If you are running multiple Endevors, it would be unreasonable to expect that dataset names and jobcard values (for example) be the same on all of them. A more reasonable expectation is to allow each Endevor (or Lpar) to use its own dataset names, jobcard values and other site-specific variations. +If you are running multiple Endevors, it would be unreasonable to expect that dataset names and jobcard values (for example) be the same on all of them. A more reasonable expectation is to allow each Endevor (or Lpar) to use its own dataset names, jobcard values and other image-specific variations. If **DBOX** is the name of an Lpar, then **@DBOX** is the name of a "callable Rexx" service, providing site-specific information for just that Lpar. Other Lpars can have their own "callable Rexx" services too. Then, the necessary differences from one Endevor to the next can be managed in "callable Rexx" service routines, and not managed in the common code. The example **C1BMXIN.skl**, paired with the **@DBOX** member, shows how this can be done. @@ -245,4 +244,5 @@ One final note about about the CSIQCLS0 variable. The variable is created brand **item Location** -JCLCOMMT.rex - endevor\Field-Developed-Programs\ISPF-tools-for-Quick-Edit-and-Endevor +Find JCLCOMMT.rex here - [endevor\Field-Developed-Programs\ISPF-tools-for-Quick-Edit-and-Endevor](https://github.com/BroadcomMFD/broadcom-product-scripts/blob/Package-Shipping-Model-and-Script-Examples-update/endevor/Field-Developed-Programs/ISPF-tools-for-Quick-Edit-and-Endevor/JCLCOMMT.rex +) From 572caf2a4a06eff90f74747303bec124afbd0ca9 Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Mon, 17 Mar 2025 17:50:47 -0500 Subject: [PATCH 09/12] Update README.md --- .../README.md | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index c37afa9..30c7cb7 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -73,19 +73,27 @@ Package Shipping variables are made available early in the shipment process. If - VNB6TIME - Six character shipping Time - VPHPKGID - Package ID -See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as examples for capturing package shipment variables. Paired with the **@DBOX** member, **C1BMXIN** is able to capture additional variables whose values can be applied across your contributing shipping objects. +See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as an example for capturing package shipment variables. This code determines the name, like **@DBOX**, that contains image-specific settings. + + WhereIam = Strip(Left("@"MVSVAR(SYSNAME),8)) ; + +The combination of the **@DBOX** and **C1BMXIN** members gives you the ability to capture shipping-time variables that you can use across your shipping objects. See more in the topic on **Multiple Endevors**. + ### Skeleton / Model / Capture and re-use of shipping variables Members in this folder show how you can capture values for shipping variables and re-use them. -__C1BMXIN.skl__ is a version of the C1BMXIN skeleton found in your CSIQSENU library. This version captures values for some of the package shipping variables, and makes it possible for them to be available in your shipping JCL. Shipments for all transmission methods use the C1BMXIN member. The example uses Table Tool in a step named TAILOR to capture and expand variables for subsequent shipping jobs. +__C1BMXIN.skl__ is a version of the C1BMXIN skeleton found in your CSIQSENU library. This version captures values for some of the package shipping variables, and makes it possible for them to be available in your shipping JCL. Shipments for all transmission methods use the **C1BMXIN** member. The example uses Table Tool in a step named TAILOR to capture and expand variables for subsequent shipping jobs. -The example tailors the content of C1BMXFTC, which is the job submitted for Netview FTP (or IBM FTP) commands. The inclusion or exclusion of the C1BMXFTC references in your version might depend on your transmission utility. You will need to tailor it slightly if you are using another transmission tool. +The example tailors the content of C1BMXFTC, which Endevor builds for Netview FTP (or IBM FTP) commands. The inclusion or exclusion of the C1BMXFTC references in your version might depend on your transmission utility. You will need to tailor outputs for the transmission tool you are using. __#RJICPY1.skl__ is a version of the #RJICPY1 showing commented steps. -The edit maccro __JCLCOMMT__ can help insert comments for a member or element that contains JCL. While editing an element or member, enter JCLCOMMT on the Command line. +The edit maccro __JCLCOMMT__ can help insert comments for a member or element that contains JCL. While editing an element or member, enter **JCLCOMMT** on the Command line. + +Find JCLCOMMT.rex here - [ISPF-tools-for-Quick-Edit-and-Endevor](https://github.com/BroadcomMFD/broadcom-product-scripts/blob/Package-Shipping-Model-and-Script-Examples-update/endevor/Field-Developed-Programs/ISPF-tools-for-Quick-Edit-and-Endevor/JCLCOMMT.rex +) ## Member Inclusions @@ -240,9 +248,3 @@ Engaging a "callable REXX" service may also be performed from other REXX program One final note about about the CSIQCLS0 variable. The variable is created brand new in the REXX portion of the C1BMXIN skeleton, and is used as an ISPF variable later on the TAILOR step. You can make variables like CSIQCLS0 be both an ISPF variable and a Table Tool variable, if it is included in the OPTIONS of the TAILOR step. -## Find items at the these locations: - -**item Location** - -Find JCLCOMMT.rex here - [endevor\Field-Developed-Programs\ISPF-tools-for-Quick-Edit-and-Endevor](https://github.com/BroadcomMFD/broadcom-product-scripts/blob/Package-Shipping-Model-and-Script-Examples-update/endevor/Field-Developed-Programs/ISPF-tools-for-Quick-Edit-and-Endevor/JCLCOMMT.rex -) From 069a60facc7c037e8622bfdbe87c1202282fed0d Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Mon, 17 Mar 2025 20:14:33 -0500 Subject: [PATCH 10/12] Update README.md --- .../README.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index 30c7cb7..074e919 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -73,10 +73,7 @@ Package Shipping variables are made available early in the shipment process. If - VNB6TIME - Six character shipping Time - VPHPKGID - Package ID -See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as an example for capturing package shipment variables. This code determines the name, like **@DBOX**, that contains image-specific settings. - - WhereIam = Strip(Left("@"MVSVAR(SYSNAME),8)) ; - +See the **)REXX** and **)ENDREXX** blocks within the **C1BMXIN** member as an example for capturing package shipment variables. The combination of the **@DBOX** and **C1BMXIN** members gives you the ability to capture shipping-time variables that you can use across your shipping objects. See more in the topic on **Multiple Endevors**. @@ -139,17 +136,16 @@ Miscellaneous tips and techniques for package shipping are given here. ### Preparing an Override library for your Shipping software members By default, Endevor builds package shipping JCL from members of the CSIQOPTN and CSIQSENU libraries. You do not need to place your modified objects into these libraries. Instead, you can create one or more "Override" libraries, and place your modified members into them. Ideally, these libraries are managed in your admin area of Endevor. Within **C1BMXJOB.skl**, name your Override libraries. See the topic on the Override library in [Package Shipping Demystified](https://community.broadcom.com/blogs/joseph-walther/2023/11/27/package-shipping-and-post-ship-scripts-de-mystifie -). An example **C1BMXJOB.skl** member in found in this folder, and gives an example, naming three "override" libraries. Any one of which may contain your modified objects. +). Member **C1BMXJOB.skl** gives an example by naming three "override" libraries. Any one of which may contain your modified objects. DBOX.OVER1.ENDEVOR.ISPS DBOX.OVER2.ENDEVOR.ISPS DBOX.PROD.ISPS -Within an Override library, it is not necessary to separate CSIQOPTN members from CSIQSENU members. You may elect to place override members into one library, regardless of their original locations. However, it is strongly recommended, that you comment them generously with their names in the comments. ### Using your Transmission tool for the Confirmation job -The last package shipping job is the "Notification" job. It returns back to the host the overall status of a single package shipment. See the **C1BMXRCN** reference in the [Shipment Tracking and Confirmation](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-endevor-software-change-manager/19-0/administrating/package-administration/package-ship-facility/build-track-and-confirm-package-shipments/shipment-tracking-and-confirmation.html) documentation. Package Shipping assumes an IEBGENER can write the Notification JCL to the internal reader to submit the job on the Host system. In many cases a "ROUTE XEQ" statement on the jobcard can route the job submission onto the host system. However, at some sites it is necessary to replace the IEBGENER with a file transmission to submit the Notification job. You can leverage captured variables and submit the Notification job onto the host system, using this IBM FTP example: +The last package shipping job is the "Notification" job. It returns back to the host the overall status of a single package shipment. See the **C1BMXRCN** reference in the [Shipment Tracking and Confirmation](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-endevor-software-change-manager/19-0/administrating/package-administration/package-ship-facility/build-track-and-confirm-package-shipments/shipment-tracking-and-confirmation.html) documentation. Package Shipping assumes an IEBGENER can write the Notification JCL to the internal reader to submit the job on the Host system. In many cases a "ROUTE XEQ" statement on the jobcard is all that is necessary. However at some sites, the IEBGENER must be replaced with a file transmission step to submit the Notification job. You can submit the Notification job onto the host system, using this IBM FTP example: Here is an example of using IBM's FTP within the C1BMXRCN skeleton member. @@ -190,14 +186,14 @@ Notice that the &RMOTHLQ, &DATE6 and &TIME6 variables are among those captured o ### IEBPTPCH -IEBPTPCH is an IBM utility program that is used to print or punch records from a sequential or partitioned dataset. Our examples show using IEBPTPCH to write all members of a "Staging" dataset into a single outpu. It is useful for shipped objects, such as DB2 Binds or CICS newcopies. Then the output is further processed in subsequent step in the shipping job. +IEBPTPCH is an IBM utility program that is used to print or punch records from a sequential or partitioned dataset. Our examples show using IEBPTPCH to write all members of a "Staging" dataset into a single output file. It is useful for shipped objects such as DB2 Binds or CICS newcopies. Then, the output is further processed in subsequent step in the shipping job. See the __#RJNDVRA__ member example. ### Multiple Endevors -If you are running multiple Endevors, it would be unreasonable to expect that dataset names and jobcard values (for example) be the same on all of them. A more reasonable expectation is to allow each Endevor (or Lpar) to use its own dataset names, jobcard values and other image-specific variations. +If you are running multiple Endevors, it would be unreasonable to expect that dataset names and jobcard values (for example) be the same on all of them. A more realistic expectation is for each Endevor (or Lpar) to use its own dataset names, jobcard values and other image-specific variations. -If **DBOX** is the name of an Lpar, then **@DBOX** is the name of a "callable Rexx" service, providing site-specific information for just that Lpar. Other Lpars can have their own "callable Rexx" services too. Then, the necessary differences from one Endevor to the next can be managed in "callable Rexx" service routines, and not managed in the common code. The example **C1BMXIN.skl**, paired with the **@DBOX** member, shows how this can be done. +If **DBOX** is the name of an Lpar, then **@DBOX** is the name of a "callable Rexx" service, providing image-specific information for just that Lpar. Other Lpars can have their own "callable Rexx" services too. Then, the necessary differences from one Endevor to the next can be managed in "callable Rexx" service routines, and not managed in the common code. The example **C1BMXIN.skl**, paired with the **@DBOX** member, shows how this is done. A "callable Rexx" service can be engaged anywhere REXX is run. One of the places is within an ISPF skeleton. Member **C1BMXIN.skl** references a CSIQCLS0 library whose name might differ from one Lpar to the next. When running on the DBOX Lpar, it calls **@DBOX** for the value of **MyCLS0Library** and assigns the returned dataset name to a new variable named **CSIQCLS0**. Then, the **&CSIQCLS0** variable will be replaced with the datset name whenever it is found. @@ -246,5 +242,3 @@ Lines 13 and 14 show the REXX code identifying where it is running. The **MVSVAR Engaging a "callable REXX" service may also be performed from other REXX programs, such as an Endevor REXX exit or from REXX zowe executions. One final note about about the CSIQCLS0 variable. The variable is created brand new in the REXX portion of the C1BMXIN skeleton, and is used as an ISPF variable later on the TAILOR step. You can make variables like CSIQCLS0 be both an ISPF variable and a Table Tool variable, if it is included in the OPTIONS of the TAILOR step. - - From 738a40ec37dcd059be035a6db4f15c972603680f Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Tue, 18 Mar 2025 08:18:54 -0500 Subject: [PATCH 11/12] Update README.md --- .../Package-Shipping-Model-and-Script-Examples/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index 074e919..8668dc8 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -12,7 +12,7 @@ Items in this folder may help with these challenges, and to complement the mater ## Reminders for Setting up Package Shipments - Objects from the Endevor CSIQSENU library are standard [IBM File Tailoring Skeletons](https://www.ibm.com/docs/en/zos/3.1.0?topic=reference-defining-file-tailoring-skeletons), whereas objects from Endevor's CSIQOPTN libary use a syntax that is unique to package shipping. Here are some recommended steps for setting up Package Shipments: + Objects from the Endevor CSIQSENU library are standard [IBM File Tailoring Skeletons](https://www.ibm.com/docs/en/zos/3.1.0?topic=reference-defining-file-tailoring-skeletons), whereas objects from Endevor's CSIQOPTN library use a syntax that is unique to package shipping. Here are some recommended steps for setting up Package Shipments: - Check the RJCLROOT value on your Defaults table. Techdoc says... @@ -87,7 +87,7 @@ The example tailors the content of C1BMXFTC, which Endevor builds for Netview FT __#RJICPY1.skl__ is a version of the #RJICPY1 showing commented steps. -The edit maccro __JCLCOMMT__ can help insert comments for a member or element that contains JCL. While editing an element or member, enter **JCLCOMMT** on the Command line. +The edit macro __JCLCOMMT__ can help insert comments for a member or element that contains JCL. While editing an element or member, enter **JCLCOMMT** on the Command line. Find JCLCOMMT.rex here - [ISPF-tools-for-Quick-Edit-and-Endevor](https://github.com/BroadcomMFD/broadcom-product-scripts/blob/Package-Shipping-Model-and-Script-Examples-update/endevor/Field-Developed-Programs/ISPF-tools-for-Quick-Edit-and-Endevor/JCLCOMMT.rex ) @@ -241,4 +241,4 @@ Lines 13 and 14 show the REXX code identifying where it is running. The **MVSVAR Engaging a "callable REXX" service may also be performed from other REXX programs, such as an Endevor REXX exit or from REXX zowe executions. -One final note about about the CSIQCLS0 variable. The variable is created brand new in the REXX portion of the C1BMXIN skeleton, and is used as an ISPF variable later on the TAILOR step. You can make variables like CSIQCLS0 be both an ISPF variable and a Table Tool variable, if it is included in the OPTIONS of the TAILOR step. +One final note about the CSIQCLS0 variable. The variable is created brand new in the REXX portion of the C1BMXIN skeleton, and is used as an ISPF variable later on the TAILOR step. You can make variables like CSIQCLS0 be both an ISPF variable and a Table Tool variable, if it is included in the OPTIONS of the TAILOR step. From 37be286b74d9484898609d743523fa2ebfad822d Mon Sep 17 00:00:00 2001 From: Joseph Walther Date: Tue, 18 Mar 2025 08:21:02 -0500 Subject: [PATCH 12/12] Update README.md --- endevor/Package-Shipping-Model-and-Script-Examples/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/endevor/Package-Shipping-Model-and-Script-Examples/README.md b/endevor/Package-Shipping-Model-and-Script-Examples/README.md index 8668dc8..b1b8aba 100644 --- a/endevor/Package-Shipping-Model-and-Script-Examples/README.md +++ b/endevor/Package-Shipping-Model-and-Script-Examples/README.md @@ -118,7 +118,7 @@ If a certain destination requires special processing, a destination specific mem ### PROC and JCL inclusions -It might be usefui to consider using a JES include, where an included member name includes the destination name, and the member itself resides in a library at the Destination site. The member may reside in a PROC library, or a library named by your JCLLIB ORDER statement. For Example: +It might be useful to consider using a JES include, where an included member name includes the destination name, and the member itself resides in a library at the Destination site. The member may reside in a PROC library, or a library named by your JCLLIB ORDER statement. For Example: //*==================================================================* // JCLLIB ORDER=(MY.REMOTE.JCL) @@ -186,7 +186,7 @@ Notice that the &RMOTHLQ, &DATE6 and &TIME6 variables are among those captured o ### IEBPTPCH -IEBPTPCH is an IBM utility program that is used to print or punch records from a sequential or partitioned dataset. Our examples show using IEBPTPCH to write all members of a "Staging" dataset into a single output file. It is useful for shipped objects such as DB2 Binds or CICS newcopies. Then, the output is further processed in subsequent step in the shipping job. +IEBPTPCH is an IBM utility program that is used to print or punch records from a sequential or partitioned dataset. Our examples show using IEBPTPCH to write all members of a "Staging" dataset into a single output file. It is useful for shipped objects such as DB2 Binds or CICS newcopies. Then, the output is further processed in subsequent steps in the shipping job. See the __#RJNDVRA__ member example. ### Multiple Endevors