z/OS MVS Using the Subsystem Interface
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Subsystem Identification Block (SSIB)

z/OS MVS Using the Subsystem Interface
SA38-0679-00

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:
  1. Map the format of the SSIB with the IEFJSSIB mapping macro.
  2. Clear the fields in the SSIB to binary zeros.
  3. Set the SSIBID and SSIBLEN fields to the appropriate values.
  4. 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.)
  5. Set the SSIBJBID field if required.
  6. 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.
  7. Store the address of the SSIB in the SSOBSSIB field of the SSOB.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014