1 | Qualified subsystem name | Input | Char(20) |
2 | Change format name | Input | Char(8) |
3 | Subsystem entry identifier | Input | Char(*) |
4 | Change information | Input | Char(*) |
5 | Error code | I/O | Char(*) |
The Change Subsystem Entry (QWDCSBSE) API changes a subsystem entry in the specified subsystem description.
The subsystem description that contains the subsystem entry being changed. The first 10 characters contain the subsystem description name, and the second 10 characters contain the library name. You can use these special values for the library name:
*CURLIB | The job's current library |
*LIBL | The job's library list |
The format of the subsystem entry to change. You can use the following format:
SBSE0500 | Prestart job entry. For details, see SBSE0500 Format (Prestart Job Entry). |
The subsystem entry that is to be changed. The identifier is specific to the entry type. For prestart job entries, see SBSE0500 Format (Prestart Job Entry) for details.
The information for the subsystem entry that you want to change. The information must be in the following format:
The structure in which to return error information. For the format of the structure, see Error code parameter.
The following table shows the layout of the variable length record. For a detailed description of each field, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of variable length record |
4 | 4 | BINARY(4) | Attribute key |
8 | 8 | BINARY(4) | Length of data |
12 | C | CHAR(*) | Data |
If the length of the data is longer than the key field's data length, the data is truncated at the right. No message is issued.
If the length of the data is shorter than the key field's data length and the key contains binary data, an error message is issued. If the key does not contain binary data, the field is padded with blanks.
It is not an error to specify a key more than once. If duplicate keys are specified, the last specified value for that key is used.
Each variable length record must be 4-byte aligned. If not, unpredictable results may occur.
Attribute key. The attribute to be set. For prestart job entries, see SBSE0500 Format (Prestart Job Entry) for details.
Data. The value to which a specific attribute is to be set.
Length of data. The length of the attribute value.
Length of variable length record. The length of the record including this field.
This format changes a prestart job entry in the specified subsystem description. The associated subsystem may be active when the prestart job entry is changed. Changes made to the entry when the subsystem is active are reflected over time. Prestart jobs that are created after the API is issued use the new job-related values.
The qualified name of the program that identifies the prestart job entry being changed. The first 10 characters contain the program name, and the second 10 characters contain the library name. You can use these special values for the library name:
*CURLIB | The job's current library |
*LIBL | The job's library list |
The following table shows the valid attribute keys for the attribute key field of the variable length record. For a detailed description of each field, see Field Descriptions of Attribute Keys for SBSE0500 Format.
Key | Type | Field |
---|---|---|
1 | CHAR(10) | User profile name |
2 | CHAR(1) | Start jobs |
3 | BINARY(4) | Initial number of jobs |
4 | BINARY(4) | Threshold |
5 | BINARY(4) | Additional number of jobs |
6 | BINARY(4) | Maximum number of jobs |
7 | CHAR(10) | Job name |
8 | CHAR(20) | Job description name |
9 | BINARY(4) | Maximum number of uses |
10 | CHAR(1) | Wait for job |
11 | BINARY(4) | Pool identifier |
12 | CHAR(20) | Class 1 name |
13 | BINARY(4) | Class 1 number of jobs |
14 | CHAR(20) | Class 2 name |
15 | BINARY(4) | Class 2 number of jobs |
16 | CHAR(20) | Thread resources affinity |
18 | CHAR(10) | Resources affinity group |
Additional number of jobs. The additional number of prestart jobs that are started when the number of prestart jobs drops below the threshold value. The value of this parameter must be less than the value of the maximum number of jobs. Valid values range from 0-999.
Class 1 name. The name of a class under which the prestart jobs run. Two classes can be specified for a prestart job entry, class 1 name and class 2 name. Each class defines the number of jobs that run under that class. See class 1 number of jobs and class 2 number of jobs.
Jobs start under the first class specified until the number of jobs specified for the first class is reached. After the allowed number of jobs specified for the first class is reached, jobs are started under the second class.
The possible values are:
*SBSD | The class that has the same name as the subsystem description specified in the qualified subsystem name is used for prestart jobs. | ||||
Qualified class name | The name of the class used for prestart jobs. The
first 10 characters contain the class name, and the second 10 characters
contain the library name. You can use these special values for the library
name:
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. |
Class 1 number of jobs. The maximum number of jobs to run that use the first class. If you specified the maximum number of jobs key to be changed, the value for the number of jobs specified for this key might need to be changed. If -3 or -4 is specified, the system recalculates the value for the number of jobs to use the specified class. The possible values are:
-3 | *CALC: The system calculates how many prestart jobs use this class. If only one class is specified and -3 is specified, all of the jobs use that class. If two classes are specified and -3 is specified for both, the first class is the value of the maximum number of jobs divided by two, and the second class is the value of the maximum number of jobs minus the value calculated for the first class. If a specific number of jobs is specified for either class and -3 is specified for the other class, the system calculates the difference between maximum number of jobs and the specific number of jobs for the -3 designation. |
-4 | *MAXJOBS: All prestart jobs use the specified class. |
number of jobs | The number of jobs that use this class. The sum of the values specified for class 1 and class 2 number of jobs must equal the value of the maximum number of jobs. If you specify one of the class number of job keys, you may also need to specify the maximum number of jobs keys. |
Class 2 name. The name of a class under which the prestart jobs run. Two classes can be specified for a prestart job entry, class 1 name and class 2 name. Each class defines the number of jobs that run under that class. See class 1 number of jobs and class 2 number of jobs.
Jobs start under the first class specified until the number of jobs specified for the first class is reached. After the allowed number of jobs specified for the first class is reached, jobs are started under the second class.
The possible values are:
*NONE | This value indicates that only one class is used. | ||||
*SBSD | The class that has the same name as the subsystem description specified in the qualified subsystem name is used for prestart jobs. | ||||
Qualified class name | The name of the class being used for prestart
jobs. The first 10 characters contain the class name, and the second 10
characters contain the library name. You can use these special values for the
library name:
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. |
Class 2 number of jobs. The maximum number of jobs that use the second class. The possible values are:
-3 | *CALC: The system calculates how many prestart jobs use this class. If only one class is specified and -3 is specified, all of the jobs use that class. If two classes are specified and -3 is specified for both, the first class is the value of the maximum number of jobs divided by two, and the second class is the value of the maximum number of jobs minus the value calculated for the first class. If a specific number of jobs is specified for either class and -3 is specified for the other class, the system calculates the difference between the maximum number of jobs and the specific number of jobs for the -3 designation. |
-4 | *MAXJOBS: All prestart jobs use the specified class. |
number of jobs | The number of jobs that use this class. The sum of the values specified for class 1 and class 2 number of jobs must equal the value of the maximum number of jobs. If you specify one of the class number of job keys, you may also need to specify the maximum number of jobs keys. |
Initial number of jobs. The initial number of prestart jobs that are started when the subsystem specified in the qualfified subsystem name is started. The value of this key must be less than or equal to the value of the maximum number of jobs. The value of this key must be greater than or equal to the value of the threshold. Valid values range from 1-9999.
Job description name. The name of the job description being used for the prestart job. If the job description does not exist when the entry is changed, 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 prestart job entry is used. | ||||
*SBSD | The job description that has the same name as the subsystem description for this prestart job entry is used. | ||||
Qualified job description name | The name of the job description being used for
this prestart job. The first 10 characters contain the job description name,
and the second 10 characters contain the library name. You can use these
special values for the library name:
|
Job name. The name of the prestart job that is started.
*PGM | The job name is the same name as the qualified program name specified in the subsystem entry identifier. |
job-name | The name of the prestart job. |
Maximum number of jobs. The maximum number of prestart jobs that can be active at the same time for this prestart job entry. The value of this key must be greater than or equal to the value of the initial number of jobs. The value of this key must be greater than the value of the additional number of jobs. If the value specified for this key is changed, the value specified for one or both of the class number of job keys might also need to be changed. The possible values follow:
-1 | *NOMAX: There is no maximum number of jobs that can be active at the same time. |
maximum-jobs | The maximum number of prestart jobs that can be active at the same time. Valid values range from 1-9999. |
Maximum number of uses. The maximum number of that can be handled by each prestart job before the subsystem ends the job in a controlled manner. Jobs are ended in a controlled manner by issuing an ENDJOB command with a value of *CNTRLD on the OPTION parameter.
-1 | *NOMAX: There is no maximum number of that a prestart job can handle before it is ended. If -1 is specified, the prestart jobs may end abnormally because the job has exceeded the allowed maximum job log size, the maximum number of spooled files, the maximum processor unit time, or the maximum temporary storage space required. |
maximum-uses | The maximum number of that a prestart job can handle before it is ended. Valid values range from 1 through 1000. |
Pool identifier. The subsystem pool identifier under which the prestart jobs are run. Valid values range from 1 through 10.
Resources affinity group. Specifies whether or not the prestart jobs started by this entry are grouped together having affinity to the same set of processors and memory. The values allowed are:
*NO | Prestart jobs will not be grouped together. They will be spread across all the available system resources. |
*YES | Prestart jobs will be grouped together such that they will have affinity to the same system resources. |
Start jobs. Whether prestart jobs are started when the subsystem is started. The possible values are:
0 | The prestart jobs are not started at the time the subsystem is started. The Start Prestart Jobs (STRPJ) command must be used to start these prestart jobs. |
1 | The prestart jobs are started when the subsystem is started. |
Thread resources affinity. Specifies whether or not secondary threads running in the prestart jobs are grouped together with the initial thread, or spread across the system resources. The values allowed for the first 10 characters are:
*SYSVAL | The thread resources affinity group and level will be retrieved from the QTHDRSCAFN system value when the job starts. |
*NOGROUP | Secondary threads running in the prestart job will not necessarily have affinity to the same set of processors and memory as the initial thread. They will be spread across all the available system resources. |
*GROUP | Secondary threads running in the prestart job will all have affinity to the same set of processors and memory as the initial thread. |
The last 10 characters of this field specifies the degree to which the system tries to maintain the affinity between threads and system resources. If *SYSVAL is specified in the first 10 characters, the last 10 characters must contain blanks. If *SYSVAL is not specified, the values allowed are:
*NORMAL | A thread will use any processor or memory in the system if the resources it has affinity to are not readily available. |
*HIGH | A thread will only use the resources it has affinity to, and will wait until they become available if necessary. |
Threshold. The number at which additional prestart jobs are started. When the pool of available prestart jobs (jobs available to service is reduced below this number, more jobs (specified by the additional number of jobs value) are started and added to the available pool. The value of this key must be less than or equal to the value of the initial number of jobs. Valid values range from 1-9999.
User profile name. 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 topic for information on how this profile is determined. 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.
Wait for job. Whether program start requests 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. Refer to the manual for the communications type being used to determine the timing considerations for program start requests. The possible values follow:
0 | Program start requests are rejected if a prestart job is not immediately available when the program start request is received. |
1 | Program start requests wait until a prestart job is available, or a prestart job is started to service the request. |
Message ID | Error Message Text |
---|---|
CPF1619 E | Subsystem description &1 in library &2 damaged. |
CPF1697 E | Subsystem description &1 not changed. |
CPF3C21 E | Format name &1 is not valid. |
CPF3C36 E | Number of parameters, &1, entered for this API was not valid. |
CPF3C4D E | Length &1 for key &2 not valid. |
CPF3C81 E | Value for key &1 not valid. |
CPF3C82 E | Key &1 not valid for API &2. |
CPF3C90 E | Literal value cannot be changed. |
CPF3CF1 E | Error code parameter not valid. |
CPF3CF2 E | Error(s) occurred during running of &1 API. |
CPF8100 E | All CPF81xx messages could be returned. xx is from 01 to FF. |
CPF9810 E | Library &1 not found. |
CPF9811 E | Program &1 in library &2 not found. |
CPF9872 E | Program or service program &1 in library &2 ended. Reason code &3. |
Top | Work Management APIs | APIs by category |