Idea ID: 2875443

Unique label ID for every version of a component

Status: Under Consideration

To enhance the source-to-load tracking mechanism to take into account SSV versions (and anything else we might consider useful) as an option (i.e. allowing the existing mechanisms to co-exist) is likely to be a sizeable undertaking. We will need to make sure the solution is generic.

The current development release is full so we will have to consider this further at a later date (i.e. for inclusion in a ZMF 8.3 patch release after patch 1).

CR 307002 has been opened to track this request and we will be in contact with Johan (the requester) to discuss the design as soon as time becomes available. 

See status update history

When enabling staging versions one can give a freeform text after each change of a component.

We have customised Changeman in such a way that this freeform text has a standard naming convention, using HLLX exits BULD00XC, BULD01XC, CKOT00XM and CKOT01XM. 

The label will look like 

nnn-FNC(APPLnnnnnn-vvv) opt. text

Where nnn is a sequence number incremented after each change

FNC : a functional ID : PKG = Checkout from package

                                     BAS = Checkout from baseline

                                     PRM = Checkout from a promotion dataset

                                     EDT = a version created after editing he component

APPLnnnnnn : the package from where was checked out

                        if checkout from baseline this will be the package that baselined the last changed version (not recompile)

vvv : the version of the component in that package

opt. tex : in case of a Baseline checkout (Base  nn)

               in case of a checkout from a promotion dataset : Lvl nn

At checkin or checkout time, these labels are also stored in a DB2 table

the version number is also added in the SETSSI, this is then handy when debugging a component in a test environment

I was wondering if people would like to see this feature as a standard part of ZMF ?

  • Hi Steve,

    Well that is whole lot to write down :-)

    - We have a lot of parallel development going on and testing can't always keep up and sometimes reported issues on a component pointed to a package were in the meantime the component was already fixed/upgraded

    - The SETSSI is stored in the loadmodule, but when in the meantime the component changed, the setssi is gone in ZMF and so we didn't knew on which version the bug was discovered. So additionally to the SETSSI, we store the version number into the load and then when a bug is reported, the developer can always trace back in which version it was discovered and how to fix in the code.

    - Also when people checkout from package (Release 1) to package (Release 2)  it might be that the R2 version is still in line with a proper sequential development path, but when R1 is baselined, the audit will give a SYNCH10, although this is false positive. We added a so called retrofit report to suppress them from the audit.

    - When we perform a recompile the recompile label references the last packageID-version of the last source change

    - Additionally we have created a csect that is imbedded in the loadmodule that lists all included copybooks (package version) and static routines, an internal fingerprint command extracts the csect and displays this detailed cross reference. So even at the load module level we know at any point in time how the loadmodule was build and with which versions of a any source

    I'm always happy to present this in a teams call

    Best regards

    Johan