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:
  1. 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
  2. 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
  3. 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
  4. 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.