Skip to content

Confirming version regression override

When you check out a component into a package, ZMF records information about the baseline component at that time. If, at some later time, a different package is used to update the baseline version of the component, that baseline information no longer matches that recorded in your package. When audit sees this, it flags a synch10 version regression error.

Audit knows nothing about the contents of your component. You may well have included the recent baseline changes into your package component, but audit will continue to flag synch10 until this information is updated.

The longhand way to update this information is to save your package version to an external library, checkout the newly updated baseline version over the top of what is in your package, and then re-introduce your "saved-off" changes.

If you have already accounted for the baseline updates, this is not necessary.

The facility discussed in this section allows you to dynamically update the information used by audit to flag Synch10s and confirm that there is, in fact, no version regression. When this process is used, the synch10 is no longer reported by audit.

You can access this feature in two ways:

You can select option 5 of the build checkout menu:

Checkout Options

Option ===>

Package . . . . . STEV001576

1 Baseline/Promo    From baseline/promotion libraries
2 Package           Package components
3 Release           Components from a release
4 Package           From package
5 Confirm           Confirm no regression

Or you can access it directly from the package list using action C5:

                Change Package List                 Row 1 to 8 of 8
Command ===>                                        Scroll ===> CSR

    Package     Sta     Install     Lvl     Type    Work request    Dept    Promote     Aud Creator
    STEV001570  DEV     20221021    SMPL    PL/PE   REQ001          R&D     00              WSER58
    STEV001571  DEV     20221021    PART    PL/PE   REQ001          R&D     00           12 WSER58
    STEV001572  DEV     20221021    PART    PL/PE   REQ001          R&D     00           00 WSER58
    STEV001573  OPN                 CMPX    PL/PE   REQ001          R&D     00           12 WSER58
    STEV001574  DEV     20221021    SMPL    PL/PE   REQ001          R&D     00              WSER58
    STEV001575  DEV     20221021    SMPL    PL/PE   REQ001          R&D     00           12 WSER58
 C5 STEV001576  DEV     20221021    SMPL    PL/PE   REQ001          R&D     00              WSER58
    STEV001577  DEV     20211230    SMPL    PL/PE   ERO             DEV     00              WSER42

Both approaches lead to the version regression component selection panel:

                Baseline Version Regression Query Criteria
Command ===>

         Package: STEV001576

Component name . . . . ASMPGM04
Component type . . . . SRC

Enter "/" to select option
    / Mixed case

...

In this panel, enter the exact specification of the component you want to test for a potential version regression flag (note: wildcards/patterns are not supported). If no version regression is detected, the following message is displayed:

                  Baseline Version Regression Query C No version regression
Command ===>

        Package: STEV001576

Component name . . . . ASMPGM04
Component type . . . . SRC

Enter "/" to select option
/ Mixed case


+----------------------------------------------------------------------+
| CMN7814I - No baseline version regression issues were found for this |
| component. |
+----------------------------------------------------------------------+

...

Otherwise, a component action display is shown:

                Baseline Version Regression
Command ===>                                        Scroll ===> CSR

    Package: STEV001576 Libtype: SRC

    Component               -------------- Baseline ---------------
                            Package     Changed             User
    ASMPGM04              +             2020/11/16 08:25:00 WSER58

...

The three actions available to you are:

  • S - Show meta-data

  • C - Compare staging with baseline

  • P - Process version regression override

You should make use of S and C (especially C) to convince yourself that there is no version regression before proceeding to use P.

Using the line command S displays something like this:

                Baseline Version Regression Component Details
Command ===>

    Component:  ASMPGM04 +
    Libtype:    SRC

                Baseline                Staging
    Package:                            STEV001576
    User:       WSER58                  WSER58
    vv.mm:      12.01                   13.05
    Changed:    2020/11/16              2021/12/15
                08:25:00                03:13:14
    Hash token: 9DD2EC00000001EC        9083466B000002E2

                                        Check out time
    Changed:    2020/11/16              2021/12/12
                08:25:00                01:01:00
    Hash token: 9DD2EC00000001EC        BBBBBBBB0000000B

...

This panel displays attributes for the selected component to allow you to compare the version in the current release with that in the baseline.

The top half of the panel shows a comparison, for the component, between what is in baseline now and what is in the package.

The bottom half compares the fields that audit uses to decide whether a version regression (synch10) error should be flagged. We can see a repeat of the timestamp and hash token of the baseline component as it exists right now. This is compared with the values of these attributes as they were when the component was checked out into the package. Any differences in these attributes indicate the baseline was updated after the component was checked out and cause audit to flag a synch10.

If you choose to confirm that all potentially regressed code has actually been included in the current package (option P from the component list), this mismatch will be reconciled.

Line command C presents a comparison panel showing what is about to be compared:

Baseline Version Regression Comparison
Command ===>

    Baseline version (SYSUT1):

    WSER58.BASE.SRC(ASMPGM04)                                                       +

    Current package version (SYSUT2):

    CMNDEV.CMNL.STEV.#001576.SRC(ASMPGM04)                                          +

...

Press Enter.

SERCOMPR(Comparex) is used to compare the two members:

BROWSE     WSERWRK.WSER58.#DAC4223.#90B3CAC.OUTLIST                                     Line 0000000000 Col 001 132
Command ===>                                                                                        Scroll ===> CSR
******************************************************* Top of Data ************************************************
    S E R C M P A R (MVS - 880 - 20201205) 2   TEXTONLY   WEDNESDAY DECEMBER 15, 2021   (2021/349)  08:32:42 PAGE 1
SYSUT1=WSERWRK.WSER58.#DAC4220.#3E5FF02.STG,SYSUT2=WSERWRK.WSER58.#DAC4220.#4425151.STG
    ASMPGM04 CSECT                                                              00010000            O N E 1
    ********                                                                    00010100            O N E 2
++++++++<+++.++++1++++.++++2++++.++++3++++.++++4++++.++++5++++.++++6++++.++++7+>++.++++8+++++++++++++++++++++
D               COPY    AACPY02                                                 00010402    DIF     O N E 3 +
--------|---.----1----.----2----.----3----.----4----.----5----.----6----.----7----.----8---------------------
I               COPY    CPYV8                                                   00010402    DIF     T W O 3 +
I               COPY    AACPY01                                                 00010403    DIF     T W O 4 +
I               COPY    CPY22104                                                00010404    DIF     T W O 5 +
I               COPY    BAS22104                                                00010405    DIF     T W O 6 +
++++++++<+++.++++1++++.++++2++++.++++3++++.++++4++++.++++5++++.++++6++++.++++7+>++.++++8+++++++++++++++++++++
                XR      15,15                                                   00020000            O N E 4
                BR      14                                                      00030000            O N E 5
                END                                                             00040000            O N E 6
SER71I - END OF TEXT ON FILE SYSUT1
SER72I - END OF TEXT ON FILE SYSUT2
SER75I - RECORDS PROCESSED: SYSUT1(6)/SYSUT2(9),DIFFERENCES(1,0,3)
                            EXPLANATION - 1 RECORD DIFFER THAT SYNCHRONIZED TOGETHER
                                          0 RECORDS WERE CONSIDERED INSERTED ON SYSUT1
                                          3 RECORDS WERE CONSIDERED INSERTED ON SYSUT2
SER80I - TIME OF DAY AT END OF JOB: 08:32:42 - CONDITION CODE ON EXIT: 4

...

Finally, line action P starts the process to alter the meta-data so that the synch10 is no longer flagged. First, a confirmation panel is displayed:

                Baseline Version Regression Confirmation
Command ===>

    Component: ASMPGM04 + Libtype: SRC

    When this component was last checked out, the version identifying values
    for the component in baseline were

    Timestamp:  2021/12/12  01:01:00    Hash token: BBBBBBBB0000000B

    Since it was checked out the baseline version of this component has
    been updated and now has the following values

    Timestamp:  2020/11/16  08:25:00    Hash token: 9DD2EC00000001E

    To confirm that the current package component is 'up to date' with all
    changes made to the prior release simply press enter, else hit PF3 to
    cancel.

...

As shown on the panel, you can abandon this process using cancel or pf3/end. Pressing Enter applies the meta-data change.