Skip to content

CMNFIXMN - Generate SETSSI Data

Program CMNFIXMN checks the SETSSI in the IDR record of load modules to ensure that it contain information compatible with ChangeMan ZMF processing. If a SETSSI is incompatible, CMNFIXMN can update it. CMNFIXMN can also ensure that the load library directory contains the correct SETSSI value.

ChangeMan ZMF audit uses the load module SETSSI as a date/time stamp to discover out-of-synch conditions. When a load module is built by ZMF, the SETSSI is set to an eight-byte alphanumeric representation of a four byte binary number that is the number of seconds between January 1, 1960 and the link date of the load module. To improve the efficiency of ZMF programs that use the SETSSI, it is also stored in the directory of the load library.

If you add a load module or a load library to ChangeMan ZMF, the SETSSI may be blank or it may not contain the same value that ZMF would calculate. This may prevent audit from detecting out-of-synch conditions. CMNFIXMN prepares your load modules and load libraries for management by ChangeMan ZMF. CMNFIXMN can be run in two modes. When you use the REPORT execution parameter,

CMNFIXMN executes the SETSSI check and report its findings for each load module, but no updates are done. After you examine the report, you can run CMNFIXMN with execution parameter EXECUTE to update the load modules and the load library directory.

Input

Load library containing load modules that were not built by ChangeMan ZMF.

Output

Load library where all load module SETSSI are compatible with ChangeMan ZMF processing and the load library directory contains SETSSI values.

Sample JCL

Sample JCL is delivered in member CMNFIXMN in the delivered CMNZMF CNTL library.

DD Statements

This table describes DD statements for CMNFIXMN.

DDNAME I/O Purpose
LOD I/O Load library to be updated with SETSSI.
SYSPRINT Output Report of mock directory updates or actual updates.

...

PARM Options

The PARM parameter is required in the EXEC statement for CMNFIXMN. You must use one of the PARM values listed in this table. There is no default value.

Parameter Use Description
REPORT Alternative Produces a report of current SETSSI and ZMF calculated SETSSI. No updates are performed.
EXECUTE Alternative Produces a report of current SETSSI and ZMF calculated SETSSI, and where they are different, updates load modules and the load module directory.

...

Return Codes and Error Messages

This table lists return codes for CMNFIXMN.

Return Code Description
0 OK. No errors encountered.
4 Linkage date not found.

...

This table lists abend codes for CMNFIXMN.

Abend Code Description
U01 Unable to open //SYSPRINT DD
U02 Unable to open //LOD DD
U03 LOD Library record format not undefined (not allocated as RECFM=U)
U04 Unable to load //LOD DD (probably sequential)
U10 Unable to stow //LOD DD (probably directory full)

...

Reporting

This is a sample from a report from CMNFIXMN executed with PARM=REPORT.

CMN (MVS-8.1.0) JOB EXECUTION: DATE=WEDNESDAY FEBRUARY 25, 2015 TIME=12:21:06
CMN INVOCATION: PGM(CMNFIXMN - PROCESS SETSSI ROUTER) COMPILE(20141010 11.58)

  PARM='REPORT'
  PARM interpretation: REPORT; mock execution, NO UPDATES!

  LOD library DSNAME=USER015.ISPLLIB

Now a report of a mock update follows; NO UPDATES!

Module                  Dir         Module      Module      SSI    Update
Name    Alias-Of Exec   SETSSI      SETSSI      Link Date   Type   Dir
-------- -------- ---- -------- -------- ---------- ------ ------
CLS             Yes     MISSING     61257D9E    2011/08/24  Genned Yes  <MOCK UPDATE>
COLOURS         Yes     610A8BE2    610A8BE2    2011/08/04  Actual No
CURPOS          Yes     MISSING     61008925    2011/07/27  Genned Yes  <MOCK UPDATE>
DELINKI         Yes     MISSING     56D592F0    2006/03/01  Genned Yes  <MOCK UPDATE>
HELLOW          Yes     MISSING 6   4809EE4     2013/06/06  Genned Yes  <MOCK UPDATE>
...
S0C1            Yes     MISSING     662ECC1F    2014/04/28  Genned Yes  <MOCK UPDATE>
S0C4            Yes     MISSING     662ECD14    2014/04/28  Genned Yes  <MOCK UPDATE>

...

    33 Total members
    9 ALIAS notations
    0 Considered Not Executable
    0 Directory SETSSI unusable, replaced by module SETSSI
    23 Directory SETSSI missing, replaced by module SETSSI
    0 Directory SETSSI does not match module, replaced
    1 Directory SETSSI matches module, no action taken

CMNFIX30: PO(pdse) PROGRAM LIBRARY PROCESSOR COMPLETED.  RETURN CODE=00
CMNFIXMN: ROUTER PROCESSING COMPLETED.  RETURN CODE=00

...