Before you begin: You must know that when defining OMVS,
you must use the keyword parameter form of the IEFSSNxx member of
SYS1.PARMLIB. Subsystems defined in the keyword parameter form can
use dynamic SSI services, while positional format cannot.
Perform the following steps to activate the IEFUJI installation
exit.
- Define OMVS as a subsystem by adding it to the IEFSSNxx member.
Example: To
define OMVS, using the keyword parameter form of the IEFSSNxx member:
SUBSYS SUBNAME(OMVS)
If
you define SUBSYS(OMVS) in IEFSSNxx and then use SET OMVS commands,
you might receive a warning message stating that the notification
of SUBSYS(OMVS) failed. Ignore this message.
If you want to
use the positional parameter form, it is still supported. However,
subsytems defined using the positional parameter form cannot use dynamic
SSI services. For more information about the positional parameter
form of the IEFSSNxx member,
see z/OS MVS Initialization and Tuning Reference.
Example: To
define OMVS, using the positional parameter form of the IEFSSNxx member:
OMVS
To
learn more about writing subsystems, see z/OS MVS Using the Subsystem Interface..
_______________________________________________________________
- Specify the subsystem type in the SMFPRMxx member. For example:
SUBSYS(OMVS,EXITS(IEFUJI))
Tip: Specify your installation-specific options for TYPE, INTERVAL,
and DETAIL in the SUBSYS statement. If you specify EXITS, then only
those listed are invoked for OMVS work. If EXITS is not specified,
all SMF exits are invoked.
_______________________________________________________________
- Specify IEFUJI in the EXITS option of PROGxx. If it is not specified,
it will not get control of work attributed to the address spaces (such
as logging into the shell environment, running utilities, or executing
shell scripts).
Example: Use one of the following:
EXIT ADD EXITNAME(SYSOMVS.IEFUJI) MODNAME(IEFUJI)
SETPROG EXIT,ADD,EXITNAME=SYSOMVS.IEFUJI,MODNAME=IEFUJI,
DSNAME=...............,STATE=ACTIVE
Result: IEFUJI is called for forked or spawned
address spaces, or both.
_______________________________________________________________
- Add system processes and any daemons you intend to start from /etc/rc to
the job names exclusion list.
Guideline: Add the
following system processes to the job name exclusion list for the
IEFUJI installation exit:
ETCINIT
ETCINIT1
ETCINIT2
ETCINIT3
ETCRC
When you are done, IEFUJI will have been activated.
Restriction: You cannot distinguish a forked or spawned
address space as being used for foreground or background activity.
When the IEFUJI installation exit obtains control for a forked or
spawned address space, a flag is set in the interface identifying
it as a foreground job. In the past, the only time this flag was set
was for TSO address spaces. In a TSO address space, there is a TSB
pointed to by ASCBTSB. For an address space of subsystype OMVS, ASCBTSB
is zero and no TSB exists. Therefore, you cannot count on having a
TSB just because the SMF flag identifies it as a foreground job.
If the IEFUJI exit sets a return code indication that the user
should not be able to continue, the initiator will try again. An attempt
is made to fork the address space again and if the IEFUJI exit sets
the same return code, then reason code 0BFC0434 is set and the address
space is terminated.
- 0BFC0434 (issued from module BPXPRJSR)
- Reason code 0434 - JrJsrint (Internal error from BPXPRJSR)
If users are running in the shell, they might see the following
message:
FSUM7726 cannot fork - reason code 0bfc0434
Message
BPXP005I is written to the job log for the user:
BPXP005I A fork or spawn error was encountered.
Return code 00000070 Reason code 0BFC0434