Starting ICSF during IPL-time
In addition to starting ICSF manually, ICSF can be started automatically during IPL-time. Starting ICSF during IPL-time allows callers of ICSF to take advantage of ICSF functionality during IPL-time. This functionality is available on ICSF FMID HCR77C0 and later running on z/OS V2R3, with PTF for APAR OA55378 applied, and later.
Both the ICSFPROC and ICSF system parameters must be specified in order to start ICSF
automatically during IPL-time. You can specify the values of the ICSFPROC and ICSF system parameters
in one or more of the following places:
- The IEASYSxx parmlib member.
- By the operator, in response to message IEA101A SPECIFY SYSTEM PARAMETERS.
If you define the values in only the IEASYSxx parmlib member, the system uses that definition. Otherwise, the system determines the ICSFPROC and ICSF system parameters using the values specified via the operator response to message IEA101A SPECIFY SYSTEM PARAMETERS.
To configure ICSF to start during IPL-time:
- Configure the ICSFPROC system parameter. The ICSFPROC system parameter specifies the ICSF
startup procedure to be used during early ICSF initialization. ICSFPROC can be omitted or ‘NONE’ can
be specified to prevent ICSF from starting early. If ‘NONE’ is specified, ICSF must be started
manually. The procedure must reside in a SYS1.PROCLIB data set or an equivalent that is specified by
the IEFPDSI DD card specification of the MSTJCLxx PARMLIB member. If the procedure is not in
this location, ICSF will not start. For information about MSTJCL, see z/OS MVS Initialization and Tuning Reference.
ICSFPROC=CSF2
ICSFPROC=NONE
- Configure the ICSF system parameter. The ICSF system parameter specifies the xx value of
the CSFPRMxx member containing the installation options data set. For example, a value of 00
would correspond to the CSFPRM00 member. ICSF can be omitted or ‘NONE’ can be specified to prevent
ICSF from starting early. If ‘NONE’ is specified, ICSF must be started
manually.
ICSF=00
ICSF=NONE
- Modify the ICSF startup procedure. The ICSF startup procedure must be modified to accept the PRM
procedure variable. The PRM procedure variable must be set to the xx value of the
CSFPRMxx member containing the installation options data set. The following example shows how
this would look using the CSFPARM DD
statement:
//CSF PROC PRM=00 //CSF EXEC PGM=CSFINIT,REGION=0M,TIME=1440,MEMLIMIT=NOLIMIT //CSFPARM DD DSN=USER.PARMLIB(CSFPRM&PRM),DISP=SHR
- IPL the system. If both the ICSFPROC and ICSF system parameters are configured correctly and the ICSF startup procedure exists and is coded correctly, ICSF starts during IPL-time.
Notes:
- For information on the syntax of the ICSFPROC and ICSF system parameters, see IEASYSxx (system parameter list) in MVS Initialization and Tuning Reference.
- For information on how to setup the ICSF startup procedure, see Steps to create the ICSF startup procedure.
- It is recommended that you set up an AUTOR policy to auto reply to the BCF005A and BCF006A
messages after a specified amount of time has passed. In the example below, ICSF must be started
manually if the auto reply is NONE after 60
seconds.
MSGID(BCF005A) DELAY(60S) REPLY(NONE)
MSGID(BCF006A) DELAY(60S) REPLY(NONE)
- You should remove any existing invocations that start ICSF and rely on ICSF startup at IPL-time.
For example, look for any commands that start ICSF in the COMMNDxx parmlib member. After the
system brings up ICSF automatically, the system rejects any attempt to bring up a second instance of
ICSF. The system issues the following warning message and terminates the second instance of
ICSF:
CSFM004A ICSF TERMINATING. ICSF ALREADY ACTIVE.
- ICSF, when started during IPL-time, is started as a system address space. Any processing
(including automation) that relies on ICSF being started as a job (started task) might need to make
changes. For example, ICSF would not be included in the output of the DISPLAY JOBS,LIST or DISPLAY
A,LIST system commands. Note: ICSF address space is still included in the output of the DISPLAY JOBS,ALL and DISPLAY A,ALL system commands.