SCLM provides three exits you can use for verifying change codes,
integrating with change management systems, or practically any other
Edit, Migrate, Save, or Store processing you might want to perform:
- The Verify Change Code exit (CCVFY) enables you to verify
a change code, a language, a user id, or other values. The
exit routine is invoked at Edit verification and SPROF processing.
It is invoked during SPROF processing when either the language or
the change code has changed. A blank change code is acceptable. A
nonzero return code from the exit routine stops processing immediately.
- The Save Change Code exit (CCSAVE) occurs before SCLM writes
accounting data to the accounting data set for Edit, Migrate, Save,
or Store processing. The routine is invoked during Save.
This includes Edit save processing, the Migrate Utility, and the EDIT,
STORE, SAVE, and MIGRATE services. A blank change code is acceptable.
A nonzero return code from the exit routine stops processing immediately.
- The Change Code Verification exit (VERCC) was superseded
by CCVFY. Like CCVFY it can be used to verify change records. A nonblank change code is required.
If you supply this routine to SCLM, it is used by the SCLM Editor,
Migration, and Import utilities, as well as the EDIT, IMPORT, MIGRATE,
SAVE, and STORE services.
When the VERCC routine is invoked just
before the edit, SCLM stores the return code and allows the edit to
begin. If the VERCC routine has set a nonzero return code, the VERCC
routine will be invoked again when the member is saved. When a VERCC
routine fails during a save, you have two options:
- You can use the CREATE edit command to make a non-SCLM-controlled
copy of the editing session and then use the migrate utility to bring
the member back under SCLM control.
- You can use SPROF from SCLM Edit to change or add the change code.
You can specify any or all of these routines for your project.
If you specify a VERCC exit and a CCVFY or CCSAVE exit routine, the
VERCC exit routine is invoked first. The CCVFY or CCSAVE exit routine
is only invoked if the VERCC exit completes successfully. The exception
is during SPROF processing where the CCVFY exit routine is called
without first invoking the VERCC exit routine when only the language
has changed.
All three of these exit routines are invoked in the same way.
SCLM passes a string of up to eight parameters separated by commas.
The parameter list can include one list of user-specified options
followed by up to seven SCLM parameters (see Table 1).
Register 1 contains the address of the input data. The first halfword
of the input data is the length of the input string. Immediately following
the halfword length is the input parameter string. The return code
from the routine is the only parameter passed back. The return code
is returned in Register 15. SCLM allows a member to be saved only
if it receives a return code of 0 from the exit routine. SCLM informs
you if it detects a nonzero return code.
A project can use any combination of the parameters to determine
whether an update should be permitted. Table 1 explains
the format and description of the parameters passed from SCLM to all
change code verification routines.
Table 1. Initial and Save
Change Code Exit Routine ParametersParameter |
Description |
---|
OPTION LIST |
Up to 255-character (including delimiters) parameters
specified on the FLMCNTRL macro using the CCVFYOP for options to the
verify change code exit routine and CCSAVOP for those passed to the
save change code exit routine. Delimit this string so that the SCLM
parameters that follow can be identified by the exit routine. |
GROUP |
The 8-character name of the group in which the
member is being created or modified (capitalized, left-aligned, blank-padded). |
TYPE |
The 8-character name of the member type being
created or modified (capitalized, left-aligned, blank-padded). |
MEMBER |
The 8-character name of the member that is being
created or modified (capitalized, left-aligned, blank-padded). |
LANGUAGE |
The 8-character name of the language specified
for the member (capitalized, left-aligned, blank-padded). |
USERID |
The 8-character user ID of the developer performing
the modification (capitalized, left-aligned, blank-padded). |
AUTHCODE |
The 8-character authorization code for the member
(capitalized, left-aligned, blank-padded). |
CHANGE CODE |
The 8-character change code that has been entered
(capitalized, left-aligned, blank-padded). |