IBM i e-Book
A Developer’s Guide to Mastering IBM i Concepts
IBM i Index
Jobs & Logs
Job Description
All the attributes of the job description are saved in an object of type *JOBD.
Limitation
Once a job has started you cannot change the job description.
How Job picks the Job description?
Every user profile will have a job description (*JOBD) assigned to it. You can view the job description of a user profile using the command DSPUSRPRF. Most users will have default Job description QDFTJOBD.
Batch Job
When a user submits a job, that uses the job description (*JOBD) of the user. You always have the option to change it while submitting the job using SBMJOB command.
Interactive Job
When a user signs on, the system looks at the workstation entry in the subsystem description to determine what job description to use for the interactive job. If the workstation entry specifies *USRPRF for the job description, the job description in the user profile is used.
What all attributes a Job description contains?
You can see all attributes of a job description using command DSPJOBD.
E.g: DSPJOBD JOBD(QGPL/QDFTJOBD)
Attributes:
User profile: It is the name of the user profile associated with this job description.
CL Syntax Check: you can use *NOCHK to specify not to check for syntax as CL commands. Also, you can specify value between 0-99 to specify the lowest message severity that can cause running of a job to end.
Hold on job queue: Specifies whether jobs using this job description are put on the job queue in the hold condition.
End severity: Specifies the message severity level of escape messages that can cause a batch job to end.
Job date: Specifies the date that is assigned to the job that uses this job description when the job is started.
Job switches: Specifies the initial switch settings for a group of eight job switches used for jobs that use this job description. These switches are also called external indicators from U1 through U8.
Inquiry message reply: Specifies the way that inquiry messages are answered for jobs that use this job description.
Job priority: if is a job priority, you can specify a value from 1 to 9 where 1 is highest and 9 is lowest priority.
Job queue: The name and library of the job queue into which jobs using this job description are placed.
Output priority: The output priority for spooled output files that are produced by jobs using this job description. you can specify a value from 1 to 9 where 1 is highest and 9 is lowest priority.
Printer device: The name or reference of the printer device associated with the job description.
Output queue: The name of the output queue that is used as the default output queue for jobs that use this job description.
Message logging: it is a setting for what messages to log from the jobs use this job description.
Log CL program commands: Specifies whether the commands in a control language program are logged to the job log.
Job log output: Specifies how the job log will be produced when the job is completed.
Accounting code: Specifies an accounting code for jobs that use this job description. Account code can be 15 chars in length.
Print text: Specifies the line of text to be printed at the bottom of each page.
Routing data: Specifies the routing data used with this job description to start jobs.
Request data: It is placed as the last entry in the job’s message queue for jobs that use this job description. If you need a batch job to call a specific program every time at the end of its execution, you can specify the call command to that program in Request Data parameter.
DDM conversation: Specifies whether the connections using distributed data management (DDM) protocols remain active when they are not being used. DDMF files are examples that use the DDM protocols.
Device recovery action: Specifies the action to take when an I/O error occurs for the interactive jobs. It is ignored for batch jobs. We can specify actions like to end the job or message to application program etc.
Time slice end pool: Specifies whether interactive jobs should be moved to another main storage pool when they reach time slice end for system better performance.
Job message queue maximum size: Specifies the maximum capacity of the job message queue. It can be in the range of 2 to 64 megabytes.
Job message queue full action: Specifies what action the system takes when the job message queue is full. You can specify options like to end job or print the messages etc.
Allow multiple threads: Specifies whether the job is allowed to run with multiple user threads, but not system threads.
Initial ASP group: Specifies the initial setting for the auxiliary storage pool (ASP) group name for the initial thread of jobs using this job description.
Spooled file action: Specifies whether spooled files are accessed through job interfaces after the job ends. Keeping the spool files with jobs allows job commands such as Work with Submitted Jobs (WRKSBMJOB) to work with the spooled files even after the job has ended. Removing them will clear the memory for better system performance.
Workload group: It is the name of the workload group that is used by jobs that use this job description.
Text: It is the description of the JOBD object user can specify.
Initial Library List: It is a list of libraries that are used when a job starts using this job description. If interactive job, you can edit libraries from the library list. If it is batch job you can change the library list using the CL commands inside the program. So, it is just the initial library list only.
How to work with JOB descriptions?
Use WRKJOBD to work with job descriptions.
E.g.: WRKJOBD JOBD(QGPL/*ALL)
By using the options on this screen, we can create, change, copy, delete and display the job descriptions. Alternatively, we can use the commands below.
CRTJOBD – To create a job description.
CHGJOBD – To change a job description.
DLTJOBD – To delete a job description.
DSPJOBD – To display a job description.
How to assign job description to Jobs?
Interactive Job: For an interactive job, a user has to login. So, we can assign the Job description to a user profile. So, whenever the user logs into the system, that interactive session will use the assigned job description.
We can assign a job description to user profile while creating the user profile using CRTUSRPRF command or changing the user profile use CHGUSRPRF command.
Batch Job:
The SBMJOB command has option to assign the job description.