The MFBSI Configuration File

To simplify scheduler configuration, you can store most MFBSIJCL command line parameters for a given Enterprise Server with Mainframe Subsystem Support in a configuration file. Storing parameters in a configuration file also means that potentially the only parameter you need in order to execute MFBSIJCL on a command line is the JCL member name.

By default, the name of the configuration file is mfbsi.cfg and it resides in the location specified by the MFBSI_DIR environment variable. You can change the default location and the file name as needed with the CFG=... command line parameter, or by setting a value for the MFBSI_CFG environment variable.

A template of the configuration file, named mfbsi.cfg_model, is in the <install-directory>\etc folder.

That directory also contains a simple JCL file,rc08.jcl, that invokes IDCAMS. You can use this JCL with MFBSI for your initial tests.

Format of the mfbsi.cfg file

  • An asterisk (*) or a semi-colon (;) in position 1 of a line indicate a comment. To enable a parameter defined in the file, delete the comment symbol and specify a suitable value for the parameter.
  • Any blank lines in the file are ignored.
  • Parameter names are not case sensitive.
  • “Keyword” parameter values are case insensitive. Other parameter values may be case sensitive, especially with directory extensions on UNIX and Linux platforms.
  • If a parameter is defined both in the configuration file and on the command line, the command line definition takes precedence.
  • Some special parameters are only available from the configuration file and cannot be directly used from the command line.
  • If you use the access codes -j or -x on the MFBSIJCL command line, the values of the configuration parameters JCL-Submit and JCL-Ext in mfbsi.cfg are ignored.

When you use a configuration file, the minimum execution command line parameter you need to specify for mfbsijcl is the name of the JCL file to submit with or without the extension. In this case, specify the following parameters in mfbsi.cfg:

  • ES-Server=... - specifies how to access the enterprise server region (using -r, -l, or –sTCP)
  • JCL-Submit=... - -j/-xJCLpathLocation
  • JCL-Ext =… - extension to be used, if not specified in the command line parameter, referring to the JCL file
  • SJobID=JobNo|StdOut|JCL
  • JESYSMSG, if you need to retrieve the JCL JESSYSMSG execution log
  • REGION=… - the target region name when using a custom MFBSI_DIR

The template configuration file includes a list of the parameters you can use:

To access an enterprise server with Mainframe Subsystem support and specify its name and location:

ES-Server=-rES-JCL

ES-Server=-sTCP:10.1.1.101:32793

ES-Server=-sTCP:HostName:32793

ES-Server=-lES-SERV

To submit a JCL file (-x or –j) and specify the path to the JCL member directory:

JCL-Submit=-jPathToJCLfile

JCL-Submit=-xPathToJCLfile

Note:
  • Do not use double quotes for directory names that include spaces.
  • PathToJCLfile can use one or more references to environment variables. In this case, you need to prefix the environment variable with a $. For example: JCL-Submit=-x$SEE_JCL_BASE/$JCL_PDS.
  • The environment variables SEE_JCL_BASE and JCL_PDS will be substituted with their respective values.

When using a custom MFBSI_DIR setting (the last part of the MFBSI_DIR path does not specify the region name):

REGION=RegionName- where RegionName is the target enterprise server region name

To specify the JCL file extension to add to the JCL member name specified on the command line:

JCL-Ext=jcl.

The default is 'nothing to add' . You should not specify the period (".") before the extension.

To specify the startup timeout in seconds before issuing an alert:

StartupTimeout=300

To specify the run timeout in seconds before issuing an alert:

RunTimeout=600

To specify the alert back elapsed time in seconds:

AlertBackTimeout=600

To avoid stopping the MFBSIJCL execution when the enterprise server is stopped and the job is still waiting for execution:

ES-SHUTDOWN-JWAIT=CONTINUE - this is optional but recommended.

To request the JESYSMSG log from the enterprise server written in the SjobID.log file, use:

JESYSMSG

To request the JESYSMSG log from the enterprise server and write it to StdOut:

JESYSMSG=StdOut

To assign a name for the MFBSI jobLog file:

SJobID=JobNo - using the job number assigned by the enterprise server

SJobID=JCL - using the JCL member name

SJobID=StdOut - write the MFBSI job execution log to the standard output (StdOut)

To request the execution of a pre-submit user-exit module, use:

JCLExit=pgmName

JCLExitID=IdentString - associated string passed to the pre-submit user-exit module to determine what action to perform (a maximum of 32 characters)

To invoke a termination user exit just before terminating the execution of MFBSIJCL:

TerminateExit=pgmName

By default, performing a soft-kill on an MFBSIJCL process that is waiting for JOB termination also cancels the JOB in Enterprise Server before terminating.

Use the following parameter to avoid killing the JOB when the process is soft-killed:

ES_JOB_KILL=NO

By default, ES_JOB_KILL=YES is assumed.

To specify the type of JCL files other than the default one, JES2:

JCLType=VSE

JCLType=JES2

JCLType=JES3

To specify a user Id when MSS security is in place (optional):

UserID=myUser

To specify a password when MSS security is in place (optional):

Password=myPwd

To specify a security group when MSS security is in place (optional):

SGroup=securityGroup

Symbolic parameters substitution and using the Control-M AutoEdit Facility:

Note:
  • Using these parameters is mandatory when you use JCL parameters.
  • Substitution is requested with SkelProcessType.

To substitute parameters without accessing the Control-M AutoEdit facility, use:

SkelProcessType=MFBSI

To enable the specific Control-M AutoEdit Facility processing, use:

SkelProcessType=CONTROL-M or SkelProcessType=MFBSICTM

To substitute parameters even if no parameters are specified on the MFBSIJCL command line (this allows substitution of system parameters like DATE, DAY), (optional):

AutoEdit

To specify the parameter substitution prefix that substitutes one or two characters (optional):

SUBST-Prefix=parameterValue

The default value is %%: SUBST-Prefix=%%

To specify the day the week starts (optional):

StartOfWeek=Sunday|Monday

The default value is Monday.

To force submitting the substituted JCL by reference or by content, CASSUB –x, (optional):

CASSUB-CTM=BYREF|CONTENT

CASSUB... –j ... is used by default (CONTENT).

To specify the use of API calls for CASSUB/CASOUT in place of their native commands, and avoid having to create a new process for them (optional):

CASAPI

To specify the OS codes returned by MFBSIJCL if a job abends:

  • SYS-ABEND-RC=nnn - with a SYSTEM abend
  • USR-ABEND-RC=nnn - with a USER abend
  • RTS-ABEND-RC=nnn - with a Run-Time system abend

The default delays used by MFBSIJCL to check for a job state in Enterprise Server are as follows:

  • Two seconds before each check for "Job Started"
  • Ten seconds before each check for "Job Concluded".

You can use the following two parameters to configure these delays:

  • JOBSTART-LOOKUP-FREQ=nn|AUTO
  • JOBEND-LOOKUP-FREQ=nn|AUTO

Where:

  1. nn indicates a numeric value with a minimum of 1 and a maximum of 60 (in seconds)
  2. AUTO - MFBSIJCL automatically optimizes the lookup frequency

    When AUTO is used, MFBSIJCL uses an initial frequency of one second for three minutes after which the default values are restored.

Using these parameters significantly reduces the overhead elapsed time in MFBSIJCL when compared to the Enterprise Server JCL reported execution time of a job. This has an effect mainly in scenarios when you have short-running jobs that are frequently executed.

To specify the maximum allowed delay (in minutes) for an ended job to conclude in MSS/JCL (optional):

EMX-Timeout=nn

The default value is fix minutes.

MFDEBUG

To produce a detailed trace log of mfbsijcl execution. To be used if requested by Micro Focus Support. This is not recommended in a production environment.