The following checks are made:
Check of the file and job variable names
Check of the guard names
Further checks (system files, migrated files, etc.)
Check of the file and job variable names
There must be no file or job variable names in the pubsets to be converted which would be longer than 54 characters when the new catalog ID is added (generally the future SM pubset ID).
Similarly, there must be no file generation group names that would be longer than 47 characters when the new catalog ID is added (or no name of an individual file generation- with the generation number added - that would be longer than 54 characters).Guard conditions that refer to the program name are checked to determine whether or not they would be valid when converted to an SM pubset; however, they are not automatically adapted. This can cause the following:
The catalog ID of the SM pubset is longer than that of the SF pubset and the implicit adaptation of the path name would cause the maximum permissible size of the condition range to be exceeded. In this case, the entire condition range remains unchanged and must be adapted by the owner of the guard.
The catalog ID of the program name contains wildcard symbols. In this case, both catalog IDs (that of the SF pubset and that of the SM pubset) are checked for wildcard catalog IDs. If at least one of the old catalog IDs satisfies the wildcard conditions, but the new SM pubset catalog ID does not, a conflict is reported. The program name containing the wildcard symbol is retained in each case.
This point is an exception in that the pubset conversion can still be carried out; the guard entries can be adapted by the user at a later stage.
The SF pubsets to be converted must not contain two path names or job variable names that differ only with respect to the catalog ID.
This also applies to system files, for example $TSOS.SYSTEM.MRSCAT. Systems support must ensure that these exist on only one of the pubsets.
Exceptions to this are system files that are deleted or renamed automatically after conversion to an SM pubset.These are the files:
$TSOS.SYS.PUBSET.CONFIG
$TSOS.SYS.PVS.SHARER.CONTROL
$TSOS.SYSCAT.GUARDS
$TSOS.SYSEAM
$TSOS.SYSPBN
$TSOS.SYSSRPM
$TSOS.SYSSRPM.BACKUP
$TSOS.TSOSCAT
$TSOS.TSOSCAT.#M nn (mit nn=00..99)
$TSOS.TSOSCAT.#P nn (mit nn=00..99)
$TSOS.TSOSCAT.#J nn (mit nn=00..99)
$TSOS.TSOSCAT.$PFI
$TSOS.TSOSCAT.$NLO
$TSOS.TSOSCAT.$NLC
$TSOS.TSOSJOIN
Check of the guard names
The pubset must not contain two guard names that differ only with respect to the catalog ID.
Further checks
The following names must not be present in any of the pubsets:
$TSOS.SYSCAT.STORCLS $TSOS.SYSCAT.VSETLST $SYSHSMS.SYSCAT.HSMS
None of the file names may start with $TSOS.SYSWRK.SMPGEN.
$TSOS.SYS.PUBSET.CONFIG files created by the user, or the files whose names commence with $TSOS.TSOSCAT., must not be present in any of the pubsets.
If a certain number of name conflicts specified by the user is exceeded, the consistency check is aborted. (A name conflict here means the occurrence of file of job variable names that are too long, or the presence of files, job variables or guards in several pubsets.)
If the user is privileged and S1-MIGRATED-FILES=*ALLOWED is not specified, it is also checked that no files are migrated to S1 level. (This is not permissible; they must be migrated to S2 as required; failure counts as 1 conflict per pubset.)
Notes
By default, not only the number of errors but also the detailed information is output in the event of an error; this information includes the file names, job variables and guards occur more than once and on which pubsets they are present.
Furthermore, all file and job variable names that are too long and all guard condition conflicts (see "Check of the file and job variable names", item 2) are output. The error lists are sorted according to user ID or pubset/catalog ID.
The information is output in list form by default. If output is to be made to a terminal, browsing on screen is possible.
Alternatively, or in addition, the information can be stored in an S variable (operand value STRUCTURED-OUTPUT).
SMPGEN requires a correct SYSFILE environment. If the function is to be executed in a new batch task that is to be created, the default pubset of the runtime user ID (or the SPOOL pubset defined in ACS) must be imported. If SYSOUT or SYSLST outputs fails repeatedly, the SMPGEN function is terminated with an error.