The subsystem identification block (SSIB) identifies the particular
subsystem to which a request is being directed. Your program can provide
an SSIB or can use an SSIB provided by the system.
A
life-of-job SSIB is an SSIB that is automatically
provided by the system. The subsystem name specified in the life-of-job
SSIB is the name of the subsystem that initiated the currently running
job, started task, or TSO/E user. This is usually the primary JES,
but could be:
- An alternate JES2
- The master subsystem
If your program does not create an SSIB, it must set the address
of the SSIB in the SSOB (SSOBSSIB) to zero. This setting tells the
system to use the life-of-job SSIB.
Before you make an SSI request you need to evaluate whether the
subsystem name provided by the system in the life-of-job SSIB is the
correct subsystem for the function you are requesting. The system
provides the subsystem name in the life-of-job SSIB, based on whether
the unit of work is a batch job (including a WLM-initiated job), a
started task, or a time-sharing LOGON as follows:
- Batch jobs
A batch job is initiated under the JES that selects
the job, that is, either the primary or alternate JES. In a JES
initiator, the initiator's life-of-job SSIB contains the JES subsystem
name. In a WLM initiator, the initiator's life-of-job SSIB contains
the master subsystem name. The SMF exits IEFACTRT, IEFUJI, IEFUSI,
and IEFUTL receive control in the initiator's environment with the
initiator's life-of-job SSIB active. If your SMF exit makes an SSI
request that depends on JES, it will not be successful in a WLM initiator.
- Started tasks
If a START command with the SUB= parameter is
specified, the started task is initiated under the subsystem name
specified on the SUB= parameter. This is also the subsystem name in
the life-of-job SSIB.
If you specify SUB=MSTR,
the master subsystem starts the job even if it is not a subsystem.
To do this, however you must meet the requirements of the master subsystem.
See z/OS MVS JCL Reference for
considerations when running a started task under the master subsystem.
If
a START command (without the SUB= parameter) is specified, and is
for a started task with the same name as a subsystem that is capable
of being a job entry subsystem (JES), the started task is initiated
under the master subsystem. The subsystem name in the life-of-job
SSIB is MSTR.
If a START command (without the SUB= parameter)
is specified and is for a started task with the same name as a subsystem
that is not capable of being a job entry subsystem (JES), the started
task is initiated under the primary JES subsystem. The subsystem
name in the life-of-job SSIB is the primary JES subsystem name.
If
a START command (without the SUB= parameter) is specified and is for
a started task with a name that is not the name of a subsystem, the
started task is initiated under the primary JES subsystem. The subsystem
name in the life-of-job SSIB is the primary JES subsystem name.
- TSO/E users
For TSO/E users, the LOGON is initiated under the
primary JES. The subsystem name in the life-of-job SSIB is the primary
subsystem name.
If the subsystem name provided in the life-of-job SSIB is not the
correct subsystem name based on the function you want to invoke, your
program must provide an SSIB. See SSI Function Codes Your Program Can Request for the subsystem
name that must be specified when making requests for functions provided
by IBM® subsystems.
To create an SSIB, your program can use the following procedure:
- Map the format of the SSIB with the IEFJSSIB mapping macro.
- Clear the fields in the SSIB to binary zeros.
- Set the SSIBID and SSIBLEN fields to the appropriate values.
- Set the SSIBSSNM field to the name of the subsystem. (If the subsystem
name is less than 4 characters, specify it left-justified and padded
to the right with blanks.)
- Set the SSIBJBID field if required.
- Set the SSIBSUSE field if required.
Note: The SSI request (defined by IBM,
a vendor, or the installation) may require your program to set the
SSIBSUSE field. That field is available for the subsystem to use for
an SSIB that a program provides in response to the SSI request. A
subsystem (whether defined by a vendor or the installation) must not
use the SSIBSUSE field in the life-of-job SSIB.
- Store the address of the SSIB in the SSOBSSIB field of the SSOB.