All message control statements from SMPHOLD are processed in the
order in which they occur. (++HOLD contained within SYSMODs that were
received are processed when those SYSMODs are processed.) For each
++HOLD and ++RELEASE statement that was selected, SMP/E takes these
actions:
- For
++HOLD statements, SMP/E adds the reason IDs to the associated global
zone SYSMOD entry. If no SYSMOD entry exists, SMP/E builds one that
contains just the reason IDs. SMP/E also saves the ++HOLD statement
in the global zone. This is called a HOLDDATA entry.
Note: For
a given SYSMOD, SMP/E does not save multiple entries or subentries
for a given reason ID. This is true except for ++HOLDs that are contained
within a SYSMOD. For ++HOLDs that are contained within a SYSMOD, unique
HOLDDATA can be created for the same reason ID as long as the SYSMOD
ID specified on each ++HOLD is different.
Therefore, uniqueness
for a HOLDDATA entry is determined by reason ID and SYSMOD ID specified
on the HOLD. For example, assume SMP/E has already received the following
++HOLD statement:
++HOLD (UZ12345) FMID(FXY1040) SYSTEM REASON(DOC)
COMMENT(message XXX123 was changed. enter U to reply.).
Later,
SMP/E receives another ++HOLD statement for the same SYSMOD, HOLD
type, and reason ID, but the comment is different:
++HOLD (UZ12345) FMID(FXY1040) SYSTEM REASON(DOC)
COMMENT(default for xyz command changed to NO.).
Information
from the second ++HOLD statement replaces the information from the
first ++HOLD statement.
- For ++HOLD statements with a hold category of FIXCAT,
SMP/E translates fix category values into SOURCEIDs and assigns them
to the resolving (fixing) PTFs identified on the HOLDDATA, if those
PTFs are already received. A PTF must have been previously received,
either during a previous RECEIVE command or the current RECEIVE, in
order for the FIXCAT SOURCEID to be assigned.
- For ++RELEASE statements, SMP/E removes the specified reason ID
from the global zone SYSMOD entry and deletes the ++HOLD statement
for that reason ID from the global zone.