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.