Module 3: Staging and Audit
ChangeMan- Staging and Audit
Staging is where the actual development work happens: you check components out of the baseline libraries into your package's staging datasets, edit them, and compile them. Audit is the automated integrity check that proves the package is internally consistent before it is allowed to move forward.
Library types and staging datasets
- Common library types: SRC (program source), CPY (copybooks), LOD (load modules), OBJ (object modules), JCL, PRC (cataloged procedures), DDL (DB2 definitions), LST (listings).
- When the package is created, ZMF allocates one staging PDS per library type, named from the global parameters pattern (for example CMNTP.S0.PAY001.SRC).
- You edit only staging datasets. Baseline, promotion and production datasets are never edited directly.
Checkout vs staging new components
- Open the package component list and select the component to work on.
- Checkout (line command C): ZMF copies the current baseline member into your staging dataset. The component is now locked: nobody else can check it out in another open package.
- New component: ZMF creates an empty member in the staging dataset for a program that does not exist in baseline yet.
- Edit the staging member with ISPF edit, exactly like any PDS member.
- Compile from the stage function: ZMF submits a batch job running the language procedure (for example COBOL compile and link-edit) and puts the load module in the staging LOD dataset.
The AUDIT process
- Audit is a batch job you submit from the package Audit option. It checks the whole package for integrity problems.
- Key checks: every source compiles cleanly; every load module was built from the current staged source (out-of-sync check); changed copybooks have all dependent programs recompiled; no component is missing its required parts.
- Read the audit report output. Return code 0 means the audit is clean; higher return codes list the errors to fix.
- You cannot freeze (and therefore cannot promote or install) a package that fails audit.
A sample audit report excerpt:
CMN AUDIT REPORT - PACKAGE PAY001 DATE 2026/10/15
COMPONENT TYPE STATUS
PAY1000 SRC OK - COMPILED RC=0
PAY1000 LOD ** OUT OF SYNC - SOURCE CHANGED AFTER COMPILE **
PAYREC CPY OK
PAY2000 SRC ** COMPILE ERROR - SEE SYSPRINT **
PAY2000 LOD ** MISSING - STAGE REQUIRED **
Resolving audit errors
- Out of sync (source changed after compile): recompile the component from the stage function so the load matches the source.
- Compile error: fix the source in the staging dataset, recompile, and confirm RC 0.
- Copybook changed, dependent program not recompiled: recompile every program that includes the changed copybook, then restage their load modules.
- Missing load module: stage the component (compile and link) so the LOD member exists.
- Re-run audit after every fix until the report is clean (RC 0).
FREEZE
- Freeze locks the package: staging components can no longer be edited, added or deleted. Freezing is required before approval and promotion.
- Freeze from the package Freeze option; it succeeds only if the last audit is clean.
- If a fix is needed after freezing, use Unfreeze: the package returns to development status, you make the change, then re-audit and re-freeze.
- Never unfreeze casually: unfreezing after approvals may invalidate them, depending on site rules.
