ADDPJE (Add Prestart Job Entry)

ADDPJE Command syntax diagram

 

Purpose

The Add Prestart Job Entry (ADDPJE) command adds a prestart job entry to the specified subsystem description. The entry identifies prestart jobs that are started when the subsystem is started or when the start prestart job command is entered.

Restriction: This command is restricted to a user with *USE and object management authorities for the subsystem description and *USE authority for the user profile and the job description.

 

Required Parameters

SBSD
Specifies the qualified name of the subsystem description to which the prestart job entry is being added.

The name of the subsystem description can be qualified by one of the following library values:

*LIBL: All libraries in the job's library list are searched until the first match is found.

*CURLIB: The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.

library-name: Specify the name of the library to be searched.

subsystem-description-name: Specify the name of the subsystem description.

PGM
Specifies the qualified name of the program run by the prestart job. This program name is used to match an incoming request with an available prestart job. Two entries with the same program name can exist in a single subsystem description, but they must have different library names. If the program does not exist when the entry is added, a library qualifier must be specified because the qualified name is retained in the subsystem description.

The name of the the program can be qualified by one of the following library values:

*LIBL: All libraries in the job's library list are searched until the first match is found.

*CURLIB: The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.

library-name: Specify the name of the library to be searched.

program-name: Specify the name of the program to be run by the prestart job.

 

Optional Parameters

USER
Specifies the name of the user profile under which the prestart job is initiated. In addition, the current user profile of the prestart job is set to this user whenever the job waits for a request to handle.

Note: When a prestart job is given a request to handle, the current user profile of the job is updated. Refer to the Work Management

This change in current user profile is for authority checking only. None of the other attributes of the user profile, such as the current library (CURLIB) or the initial program to call (INLPGM), are given to the prestart job.

QUSER: The IBM-supplied QUSER user profile is used.

user-profile-name: Specify the name of the user profile used for the prestart job.

JOB
Specifies the name of the prestart job that is started.

*PGM: The prestart job name is the same as the program name specified by the PGM parameter.

job-name: Specify the name of the prestart job.

JOBD
Specifies the qualified name of the job description used for the prestart job. If the job description does not exist when the entry is added, a library qualifier must be specified because the qualified job description name is retained in the subsystem description.

*USRPRF: The job description name specified in the user profile for the USER parameter is used.

*SBSD: The job description having the same name as that of the subsystem description named in the SBSD parameter is used.

The name of the job description can be qualified by one of the following library values:

*LIBL: All libraries in the job's library list are searched until the first match is found.

*CURLIB: The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.

library-name: Specify the name of the library to be searched.

job-description-name: Specify the name of the job description being used for this prestart job. If no library is specified, the library list (*LIBL) of the job where this command is run is used to find the job description.

STRJOBS
Specifies whether prestart jobs are started at the time the subsystem is started.

*YES: The prestart jobs are started when the subsystem is started.

*NO: The prestart jobs are not started when the subsystem is started. The Start Prestart Jobs (STRPJ) command must be used to start these prestart jobs.

INLJOBS
Specifies the initial number of prestart jobs started when the subsystem specified in the SBSD parameter is started.

 

Notes

  1. The value of this parameter must be less than or equal to the value of the MAXJOBS parameter.
  2. The value of this parameter must be greater than or equal to the value of the THRESHOLD parameter.

3: Three prestart jobs are started when the subsystem is started.

initial-active-jobs: Specify the initial number of prestart jobs that are started when the subsystem is started. Valid values range from 1 through 9999.

THRESHOLD
Specifies the threshold number of available prestart jobs at which additional prestart jobs are started. When the pool of available prestart jobs (jobs available to service requests) is reduced below this number, more prestart jobs (specified by the ADLJOBS parameter) are started and added to the pool of available prestart jobs.

Note: The value of this parameter must be less than or equal to the value of the INLJOBS parameter.

2: When one prestart job is available, start the number of jobs specified by the ADLJOBS parameter.

threshold-value: Specify the minimum number of prestart jobs that must be available before additional prestart jobs are started. Valid values range from 1 through 9999.

ADLJOBS
Specifies the additional number of prestart jobs started when the number of prestart jobs drops below the THRESHOLD parameter.

Note: The value of this parameter must be less than the value of the MAXJOBS parameter.

2: Two additional prestart jobs are started.

additional-active-jobs: Specify the number of additional prestart jobs to be started. Valid values range from 0 through 999.

MAXJOBS
Specifies the maximum number of prestart jobs that can be active on the subsystem at the same time under this prestart job entry.

 

Notes

  1. The value of this parameter must be greater than or equal to the value of the INLJOBS parameter.
  2. The value of this parameter must be greater than the value of the ADLJOBS parameter.

*NOMAX: There is no maximum number of jobs that can be active at the same time.

maximum-jobs: Specify the maximum number of prestart jobs that can be active at the same time. Valid values range from 1 through 9999.

MAXUSE
Specifies the maximum number of requests that can be handled by each prestart job in the pool before the job controlled by the system is ended.

200: A prestart job for this entry can service up to 200 requests before it is ended. If *NOMAX is specified, the prestart jobs may end abnormally for one of the following reasons:

  • The job log has exceeded the maximum size.
  • The allowed maximum for spooled files has been reached.
  • The allowed maximum for CPU time has been reached.
  • The allowed maximum for temporary storage has been reached.

*NOMAX: There is no maximum number of jobs that can be active at the same time.

maximum-uses: Specify the maximum number of requests that a prestart job can handle before it is ended. Valid values range from 1 through 1000.

WAIT
Specifies whether program start requests either wait for a prestart job to become available or are rejected if a prestart job is not immediately available when the program start request is received.

Note: Refer to the CL Programming book to determine the time-out considerations for the communications type being used.

*YES: Program start requests wait either until there is an available prestart job, or until a prestart job is started, to service the request.

*NO: Program start requests are rejected if a prestart job is not immediately available when the program start request is received.

POOLID
Specifies the identifier of the subsystem pool in which the prestart jobs run.

1: The prestart jobs run in the first pool.

pool-identifier: Specify the identifier of the subsystem pool in which the prestart jobs run. Valid values range from 1 through 10.

CLS
Specifies the names of the classes under which the prestart jobs run and how many prestart jobs are allowed to run under each class. Jobs start by using the first class. After the number of jobs specified for the first class is reached, jobs are started under the second class. If the class does not exist when the entry is added, a library qualifier must be specified because the qualified class name is retained in the subsystem description.

Element 1: Class Name of First Class

*SBSD: The class having the same name as the subsystem description specified in the SBSD parameter is used for prestart jobs.

The name of the class can be qualified by one of the following library values:

*LIBL: All libraries in the job's library list are searched until the first match is found.

*CURLIB: The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.

library-name: Specify the name of the library to be searched.

class-name: Specify the name of the class being used for prestart jobs. If no library qualifier is specified, the library list (*LIBL) of the job where this command is run is used to find the class.

Element 2: Number of Jobs Using First Class

*CALC: The system calculates how many prestart jobs use this class. If one class is specified and *CALC is specified, all of the jobs use the specified class. If two classes are specified and *CALC is specified for both, the first class is the value of the MAXJOBS parameter divided by two, and the second class is the value of the MAXJOBS parameter minus the value calculated for the first class. If a specific number of jobs is specified for one class and *CALC is specified for the other class, the system calculates the difference between MAXJOBS and the specific number of jobs for the *CALC designation.

*MAXJOBS: All of the prestart jobs use the specified class.

number-of-jobs: Specify the number of prestart jobs that use this class. The sum of the values specified for both classes must total the value specified for the MAXJOBS parameter.

Element 3: Class Name of Second Class

*NONE: One class is used.

*SBSD: The class having the same name as the subsystem description specified in the SBSD parameter is used for prestart jobs.

The name of the class can be qualified by one of the following library values:

*LIBL: All libraries in the job's library list are searched until the first match is found.

*CURLIB: The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.

library-name: Specify the name of the library to be searched.

class-name: Specify the name of the class being used for prestart jobs. If no library qualifier is specified, the library list (*LIBL) of the job where this command is run is used to find the class.

Element 4: Number of Jobs Using Second Class

*CALC: The system calculates how many prestart jobs use this class. If one class is specified and *CALC is specified, all of the jobs use the specified class. If two classes are specified and *CALC is specified for both, the first class is the value of the MAXJOBS parameter divided by two, and the second class is the value of the MAXJOBS parameter minus the value calculated for the first class. If a specific number of jobs is specified for one class and *CALC is specified for the other class, the system calculates the difference between MAXJOBS and the specific number of jobs for the *CALC designation.

*MAXJOBS: All of the prestart jobs use the specified class.

number-of-jobs: Specify the number of jobs that use this class. The sum of the values specified for both classes must total the value specified for the MAXJOBS parameter.

Examples for ADDPJE

Example 1: Specifying Additional Prestart Jobs

ADDPJE  SBSD(QGPL/PJSBS)  PGM(QGPL/PGM1)  INLJOBS(15)
  THRESHOLD(5)  ADLJOBS(10)  WAIT(*NO)

This command adds a prestart job entry for the PGM1 program in the QGPL library to the PJSBS subsystem description contained in the QGPL library. The entry specifies that 15 prestart jobs (program PGM1 in the QGPL library) are started when subsystem PJSBS in the QGPL library is started. When the pool of available prestart jobs is reduced to four (because the prestart jobs are servicing requests specified for program PGM1 in the QGPL library), ten additional jobs are started. If no prestart jobs are available for this entry when a request is received, the request is rejected.

Example 2: Specifying Maximum Number of Prestart Jobs

ADDPJE  SBSD(QGPL/PJSBS)  PGM(QGPL/PGM2)
  USER(PJUSER)  MAXJOBS(100)
  MAXUSE(50)  CLS(QGPL/CLS1 75 QGPL/CLS2 *CALC)

This command adds a prestart job entry for the PGM2 program in the QGPL library to the PJSBS subsystem description contained in the QGPL library. The entry specifies that the prestart job for this entry runs under the PJUSER user profile. The maximum number of prestart jobs that can be active at the same time for this entry is 100. Each prestart job in the pool can handle 50 requests before the job is ended. If 100 prestart jobs are active at the same time for this entry, 75 of them would use CLS1 in the QGPL library, and 25 of them would use CLS2 in the QGPL library. If 50 prestart jobs are active at the same time for this entry, all 50 of them would use class CLS1 in the QGPL library.

Error messages for ADDPJE

*ESCAPE Messages

CPF1691
Active subsystem description may or may not have changed.