SELECT


This command schedules an EXEC or a program.

 

Command

Parameters

SELECT

EXEC(execName [p1 ... pn])|PGM(programName)

[PARM('p1 ... pn')]

[PRI(NORMAL|HIGH| HOT | FIRST |SINGLE | XSINGLE)]

[WAIT(NO|YES)]

[TARGET(targetSystem)]

 

The following table describes the parameters:

SELECT command parameters

Parameter

Function

Notes

EXEC

name of EXEC to schedule, including all parameters

The maximum length is 255 characters.

Upu must specify either EXEC or PGM.

PGM

name of a user-written program

Refer to Using-other-programming-languages for more information.

Store user-written programs in a separate user load library that is concatenated with the BBLINK library in the BBILOAD DDname.

If the BBILOAD DDname is not specified in the BBI-SS PAS JCL, specify the user load library in the STEPLIB statement of the BBI-SS PAS JCL. In addition, ensure that the user library is APF authorized.

The name of the routine must begin with the prefix IMFUxxxx.

You must specify either PGM or EXEC.

PARM

list of parameters to be passed to the program

Specify only when the PGM parameter is specified.

PRI

execution priority of the EXEC to be scheduled

(optional) Specify only when the EXEC keyword is also specified.

Specifying a priority value on the EXEC overrides the EXEC parameter in BBPARM member AAOEXP00.

The PRI keyword is valid when specified with WAIT(NO) but not with WAIT(YES).

Valid values are:

NORM | N schedules the EXEC with a normal priority setting by using first in, first out (FIFO) queuing strategy. The EXEC is placed in the Normal priority queue and uses an EXEC thread from the MAXNORM thread pool.

Note: BMC recommends that you use the normal priority setting for most of your EXEC processing. NORM is the default setting when you do not explicitly specify a priority. This setting can be overidden by the value that you specify in BBPARM member AAOEXPxx with the MAXHOTQ parameter.

HIGH | H schedules the EXEC with a high priority setting by using a FIFO queuing strategy. The EXEC is placed in the High priority queue and uses an EXEC thread from the MAXHIGH thread pool.

HOT | T schedules the EXEC as a hot EXEC by using a FIFO queuing strategy on the Hot priority queue. The next available EXEC thread from either the Normal or the High priority EXEC thread pool is used to run the EXEC waiting on the Hot priority queue.

FIRST | F schedules the EXEC as hot EXEC by using a last in, first out (LIFO) queuing strategy on the Hot priority queue. The next available EXEC thread from either the NORM or the HIGH EXEC thread pool is used to run the EXEC waiting on the Hot priority queue.

Note: BMC recommends that you reserve using the HOT or FIRST settings for only the most critical situations so that it can be as effective as possible.

PRI

(continued)

execution priority of the EXEC to be scheduled

SINGLE | S schedules the EXEC with a normal priority setting but allows only one instance of the EXEC to execute at a time, regardless of the number of available EXEC threads. For EXECs to be single-threaded using this option, the EXECs must have the same name and must specify SINGLE when scheduled. EXECs that have the same name but are scheduled without the SINGLE specification are not single-threaded with those that are specified with the SINGLE option.

XSINGLE | X attempts to schedule the EXEC with a normal priority setting; if another instance of the EXEC that also specified XSINGLE is already running (or waiting to run), the scheduling request is rejected, and message EM6111W is written to the BBI-SS journal.

WAIT

suspension criterion for invoking EXEC

Either YES or NO is specified.

NO (the default) causes the EXEC to be queued for execution by using a different EXEC thread.

YES causes the EXEC to execute under the same thread as the calling EXEC.

If YES is specified, the invoking EXEC waits for the scheduled EXEC to terminate. WAIT(YES) is required to retrieve a return code from the scheduled EXEC.

Note: When WAIT (YES) is used, the return code that was passed in IMFEXEC EXIT is returned in IMFRC.

WAIT(YES) is not supported for EXECs scheduled to a remote system with TARGET.

If both WAIT and TARGET are specified, the EXEC is queued to the TARGET system, but WAIT is ignored.

TARGET

identifies the target SS on which the command will be executed

The name must be defined in the BBPARM member BBIJNT00 as either the target name or BBI-SS PAS subsystem ID.

Note

If you use the IMFEXEC SELECT command to schedule an EXEC and you do not specify a target and WAIT(YES) is specified, the LOCAL variable pool is shared between the calling EXEC and the called EXEC.

Condition codes are listed in the following table:

 

Value

Description

0

Command was executed successfully.

8

One of the following situations is true:

  • Target specified is not found in BBIJNT00.
  • EXEC was specified but is not found in BBPROC.
  • Program name length is greater than 8 characters.
  • Program is not found.

12

One of the following stateliness is true:

  • EXEC name specified is more than 8 characters long.
  • Program does not start with IMFU.

16

Invalid syntax was used.

 

Example

This example command schedules the EXEC CHKENQ on the remote SS SYSB, passing it the parameter SYS2.PROD.XLIB.

/* REXX */
'IMFEXEC SELECT EXEC(CHKENQ SYS2.PROD.XLIB) TARGET(SYSB)'

CLIST example:

IMFEXEC SELECT EXEC(CHKENQ SYS2.PROD.XLIB) TARGET(SYSB)

This section also contains a discussion about how you can use other programming languages when you use the IMFEXEC SELECT command and how to determine condition codes when you select other program to run from an EXEC. Refer to Using-other-programming-languages and Understanding-completion-codes-for-EXEC-Initiated-EXECs-with-WAIT-YES-and-User-Written-programs.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*