Work Management API Attribute Descriptions

The purpose of this document is to provide one place that describes all the Job and Thread attributes that are used in all the Work Management APIs. The list of attributes encompasses the following APIs:


Attributes

The following are the list of attributes that have keys associated with them.

Key Type Description
101 CHAR(4) Active job status
102 CHAR(1) Allow multiple threads
103 CHAR(4) Active job status for jobs ending
104 See APIs for details ASP group information
201 CHAR(10) Break message handling
301 CHAR(1) Cancel key
302 BINARY(4) Coded character set ID
303 CHAR(2) Country or region ID
304 BINARY(4) Processing unit time used, if less than 2,147,483,647 milliseconds
305 CHAR(10) Current user profile
306 CHAR(1) Completion status
307 BINARY(4) Current system pool identifier
310 See APIs for details Current library
311 CHAR(10) Character identifier control
312 BINARY(8), UNSIGNED Processing unit time used - total for the job
313 BINARY(8), UNSIGNED Processing unit time used for database - total for the job (Deprecated)
314 BINARY(4) Processing unit used - percent during the elapsed time (job)
315 BINARY(8), UNSIGNED Processing unit used - time during the elapsed time (job)
316 BINARY(4) Processing unit used for database - percent during the elapsed time (job) (Deprecated)
317 BINARY(8), UNSIGNED Processing unit used for database - time during the elapsed time (job) (Deprecated)
318 CHAR(15) Client IP address - IPv4
319 BINARY(8), UNSIGNED Processing unit time used - total for the thread
320 BINARY(8), UNSIGNED Processing unit time used for database - total for the thread (Deprecated)
321 BINARY(4) Processing unit used - percent during the elapsed time (thread)
322 BINARY(8), UNSIGNED Processing unit used - time during the elapsed time (thread)
323 BINARY(4) Processing unit used for database - percent during the elapsed time (thread) (Deprecated)
324 BINARY(8), UNSIGNED Processing unit used for database - time during the elapsed time (thread) (Deprecated)
326 CHAR(45) Client IP address - IPv4 or IPv6
401 CHAR(13) Date and time job became active
402 CHAR(13) Date and time job entered system
403 CHAR(8) Date and time job is scheduled to run
404 CHAR(8) Date and time job was put on this job queue
405 CHAR(4) Date format
406 CHAR(1) Date separator
407 CHAR(1) DBCS-capable
408 CHAR(10) DDM conversation handling
409 BINARY(4) Default wait
410 CHAR(13) Device recovery action
411 CHAR(10) Device name
412 BINARY(4) Default coded character set identifier
413 CHAR(1) Decimal format
414 BINARY(8), UNSIGNED Disk I/O count during the elapsed time (job)
415 BINARY(8), UNSIGNED Disk I/O count - total for the job
416 BINARY(8), UNSIGNED Disk I/O count during the elapsed time - asynchronous I/O (job)
417 BINARY(8), UNSIGNED Disk I/O count during the elapsed time - synchronous I/O (job)
418 CHAR(13) Date and time job ended
419 BINARY(8), UNSIGNED Disk I/O count during the elapsed time (thread)
420 BINARY(8), UNSIGNED Disk I/O count - total for the thread
421 BINARY(8), UNSIGNED Disk I/O count during the elapsed time - asynchronous I/O (thread)
422 BINARY(8), UNSIGNED Disk I/O count during the elapsed time - synchronous I/O (thread)
423 CHAR(4) Day of week
501 BINARY(4) End severity
502 CHAR(1) End status
503 CHAR(1) Exit key
504 CHAR(10) Extended object attribute of entity thread is waiting on
601 CHAR(10) Function name
602 CHAR(1) Function type
701 CHAR(1) Signed-on job
702 CHAR(10) Group profile name
703 CHAR(150) Group profile name - supplemental
901 CHAR(10) Inquiry message reply
902 CHAR(16) Internal job identifier
903 CHAR(1) Initial thread
904 BINARY(4) Interactive response time - total during the elapsed time
905 BINARY(4) Interactive transactions - count during the elapsed time
1001 CHAR(15) Job accounting code
1002 CHAR(7) Job date
1003 CHAR(20) Job description name - qualified
1004 CHAR(20) Job queue name - qualified
1005 CHAR(2) Job queue priority
1006 CHAR(8) Job switches
1007 CHAR(10) Job message queue full action
1008 BINARY(4) Job message queue maximum size
1009 CHAR(26) Job name
1010 CHAR(1) Job type
1011 CHAR(1) Job subtype
1012 CHAR(10) Job user identity
1013 CHAR(1) Job user identity setting
1014 BINARY(4) Job end reason
1015 CHAR(1) Job log pending
1016 BINARY(4) Job type - enhanced
1017 CHAR(8) Job local time
1018 CHAR(10) Job log output
1019 CHAR(10) Job description library ASP device name
1020 CHAR(10) Job queue library ASP device name
1201 CHAR(3) Language ID
1202 CHAR(1) Logging level
1203 CHAR(10) Logging of CL programs
1204 BINARY(4) Logging severity
1205 CHAR(10) Logging text
1206 CHAR(10) Library of entity thread is waiting on
1301 CHAR(8) Mode name
1302 BINARY(4) Maximum processing unit time
1303 BINARY(4) Maximum temporary storage in kilobytes
1304 BINARY(4) Maximum threads
1305 BINARY(4) Maximum temporary storage in megabytes
1306 CHAR(10) Memory pool name
1307 CHAR(1) Message reply
1308 CHAR(4) Message key, when active job waiting for a message
1309 CHAR(20) Message queue name - qualified, when active job waiting for a message
1310 CHAR(10) Message queue library ASP device name, when active job waiting for a message
1401 BINARY(4) Number of auxiliary I/O requests, if less than 2,147,483,647
1402 BINARY(4) Number of interactive transactions
1403 BINARY(4) Number of database lock waits
1404 BINARY(4) Number of internal machine lock waits
1405 BINARY(4) Number of nondatabase lock waits
1406 BINARY(8), UNSIGNED Number of auxiliary I/O requests
1407 CHAR(30) Name of entity thread is waiting on
1501 CHAR(20) Output queue name - qualified
1502 CHAR(2) Output queue priority
1503 CHAR(10) Object type of entity thread is waiting on
1601 CHAR(10) Print key format
1602 CHAR(30) Print text
1603 CHAR(10) Printer device name
1604 CHAR(10) Purge
1605 BINARY(4) Product return code
1606 BINARY(4) Program return code
1607 CHAR(8) Pending signal set
1608 BINARY(4) Process ID number
1609 BINARY(8), UNSIGNED Page fault count during the elapsed time (job)
1610 BINARY(8), UNSIGNED Page fault count during the elapsed time (thread)
1660 See APIs for details Product libraries
1801 BINARY(4) Response time total
1802 BINARY(4) Run priority (job)
1803 CHAR(80) Routing data
1804 BINARY(4) Run priority (thread)
1805 CHAR(10) Resources affinity group
1901 CHAR(20) Sort sequence table - qualified
1902 CHAR(10) Status message handling
1903 CHAR(10) Status of job on the job queue
1904 CHAR(26) Submitter's job name - qualified
1905 CHAR(20) Submitter's message queue name - qualified
1906 CHAR(20) Subsystem description name - qualified
1907 BINARY(4) System pool identifier
1908 CHAR(10) Special environment
1909 CHAR(8) Signal blocking mask
1910 BINARY(4) Signal status
1911 CHAR(30) Server type
1980 See APIs for details System library list
1982 CHAR(10) Spooled file action
2001 CHAR(1) Time separator
2002 BINARY(4) Time slice
2003 CHAR(10) Time-slice end pool
2004 BINARY(4) Temporary storage used in kilobytes
2005 BINARY(4) Time spent on database lock waits
2006 BINARY(4) Time spent on internal machine lock waits
2007 BINARY(4) Time spent on nondatabase lock waits
2008 BINARY(4) Thread count
2009 BINARY(4) Temporary storage used in megabytes
2010 CHAR(4) Thread status
2011 CHAR(1) Thread type
2012 BINARY(4) Thread hold count
2013 CHAR(20) Thread resources affinity
2015 BINARY(4) Type of entity thread is waiting on
2020 CHAR(10) Time zone current abbreviated name
2021 CHAR(50) Time zone current full name
2022 CHAR(7) Time zone current message identifier
2023 BINARY(4) Time zone current offset
2024 CHAR(10) Time zone description name
2025 CHAR(20) Time zone message file name - qualified
2026 CHAR(1) Time zone Daylight Saving Time indicator
2027 BINARY(4) Time zone year offset
2101 CHAR(24) Unit of work ID
2102 BINARY(4) User return code
2110 See APIs for details User library list
Start of change 2301 CHAR(10) Workload groupEnd of change
2702 See APIs for details All portions of the library list for format RTVC0200
2703 See APIs for details All portions of the library list for format RTVT0200


Field Descriptions

The following section describes the fields returned in further detail. For details on the thread safety of a particular attribute see the thread safety section in the API being used. The fields are listed in alphabetical order.

Active job status. The active status of the initial thread of the job. Only one status is returned. The possible values are:

no status A blank status field represents a job that is in transition or is not active.
BSCA Waiting in a pool activity level for the completion of an I/O operation to a binary synchronous device.
BSCW Waiting for the completion of an I/O operation to a binary synchronous device.
CMNA Waiting in a pool activity level for the completion of an I/O operation to a communications device.
CMNW Waiting for the completion of an I/O operation to a communications device.
CMTW Waiting for the completion of save-while-active checkpoint processing in another job.
CNDW Waiting on handle-based condition.
CPCW Jobs waiting for the completion of a CPI Communications call.
DEQA Waiting in the pool activity level for completion of a dequeue operation.
DEQW Waiting for completion of a dequeue operation. For example, QSYSARB and subsystem monitors generally wait for work by waiting for a dequeue operation.
DKTA Waiting in a pool activity level for the completion of an I/O operation to a diskette unit.
DKTW Waiting for the completion of an I/O operation to a diskette unit.
DLYW The Delay Job (DLYJOB) command delays the job for a time interval to end, or for a specific delay end time. The function field shows either the number of seconds the job is to delay (999999), or the specific time when the job is to resume running.
DSC Disconnected from a work station display.
DSPA Waiting in a pool activity level for input from a work station display.
DSPW Waiting for input from a work station display.
END The job has been ended with the *IMMED option, or its delay time has ended with the *CNTRLD option.
EOFA Waiting in the activity level to try a read operation again on a database file after the end-of-file has been reached.
EOFW Waiting to try a read operation again on a database file after the end-of-file has been reached.
EOJ Ending for a reason other than running the End Job (ENDJOB) or End Subsystem (ENDSBS) command, such as SIGNOFF, End Group Job (ENDGRPJOB), or an exception that is not handled.
EVTW Waiting for an event. For example, QLUS and SCPF generally wait for work by waiting for an event.
GRP Suspended by a Transfer Group Job (TFRGRPJOB) command.
HLD Held.
HLDT Held due to suspended thread.
ICFA Waiting in a pool activity level for the completion of an I/O operation to an intersystem communications function file.
ICFW Waiting for the completion of an I/O operation to an intersystem communications function file.
INEL Ineligible and not currently in the pool activity level.
JVAA Waiting in a pool activity level for a Java™ program operation to complete.
JVAW Waiting for a Java program operation to complete.
LCKW Waiting for a lock.
LSPA Waiting in a pool activity level for a lock space to be attached.
LSPW Waiting for a lock space to be attached.
MLTA Waiting in a pool activity level for the completion of an I/O operation to multiple files.
MLTW Waiting for the completion of an I/O operation to multiple files.
MSGW Waiting for a message from a message queue.
MTXW Waiting for a mutex. A mutex is a synchronization function that is used to allow multiple jobs or threads to serialize their access to shared data.
MXDW Waiting for the completion of an I/O operation to a mixed device file.
OPTA Waiting in a pool activity level for the completion of an I/O operation to an optical device.
OPTW Waiting for the completion of an I/O operation to an optical device.
OSIW Jobs waiting for the completion of an OSI Communications Subsystem for IBM® i operation.
PRTA Waiting in a pool activity level for output to a printer to complete.
PRTW Waiting for output to a printer to be completed.
PSRW A prestart job waiting for a program start request.
RUN Currently running in the pool activity level.
SELW Waiting for a selection to complete.
SEMW Waiting for a semaphore. A semaphore is a synchronization function that is used to allow multiple jobs or threads to serialize their access to shared data.
SIGS Stopped as the result of a signal
SIGW Waiting for a signal
SRQ The suspended half of a system request job pair.
SVFA Waiting in a pool activity level for completion of a save file operation.
SVFW Waiting for completion of a save file operation.
TAPA The job is waiting in a pool activity level for completion of an I/O operation to a tape device.
TAPW Waiting for completion of an I/O operation to a tape device.
THDW Waiting for another thread to complete an operation.
TIMA Waiting in a pool activity level for a time interval to end.
TIMW Waiting for a time interval to end.

Active job status for jobs ending. When the active job status field is END or EOJ, this field contains the status of what the initial thread is doing currently. This field is blank if the job is not ending currently. See the active job status field for the list of possible values. For example, the active job status would be EOJ, but the job could be waiting on a lock that could keep the job from ending. The active job status for jobs ending field would then be LCKW.

Allow multiple threads. Whether this job allows multiple user threads. This attribute does not prevent the operating system from creating system threads in the job. Possible values are:

0 This job does not allow multiple user threads.
1 This job allows multiple user threads.

All portions of the library list for format RTVT0200. All portions of the library list will be returned.

ASP group information. The list of ASP group information for the current thread. This information does not include the system ASP or the basic user ASPs.

Break message handling. How this job handles break messages. The possible values are:

*NORMAL The message queue status determines break message handling.
*HOLD The message queue holds break messages until a user or program requests them. The work station user uses the Display Message (DSPMSG) command to display the messages; a program must issue a Receive Message (RCVMSG) command to receive a message and handle it.
*NOTIFY The system notifies the job's message queue when a message arrives. For interactive jobs, the audible alarm sounds if there is one, and the message-waiting light comes on.

Cancel key. Whether the user pressed the cancel key.

0 The user did not press the cancel key.
1 The user did press the cancel key.

Note: The application or command that was called before this API determines how the key is set.

CCSID of current SQL statement. The CCSID of the current SQL statement string that is returned.

Character identifier control. The character identifier control for the job. This attribute controls the type of CCSID conversion that occurs for display files, printer files, and panel groups. The *CHRIDCTL special value must be specified on the CHRID command parameter on the create, change, or override command for display files, printer files, and panel groups before this attribute will be used.

*DEVD The *DEVD special value performs the same function as on the CHRID command parameter for display files, printer files, and panel groups.
*JOBCCSID The *JOBCCSID special value performs the same function as on the CHRID command parameter for display files, printer files, and panel groups.

Client IP address - IPv4. The IPv4 address of the client for which this server is doing work. An address is expressed in standard IPv4 dotted-decimal form www.xxx.yyy.zzz (for example, 130.99.128.1). This field is not guaranteed to be an IP address. This field will be blank if the address is not explicitly set to a value by the Change Job (QWTCHGJB) API. For additional usage information of the Client IP address, see Retrieve Thread Attribute (QWTRTVTA) API.

Client IP address - IPv4 or IPv6. The IPv4 or IPv6 address of the client for which the specified thread of this server most recently communicated with over sockets. If this field is requested for a job, the value from the initial thread of the job will be returned. If a sockets connection has not been established in the initial thread, Start of changeor a sockets close() operation has been done End of changethis field will be blank. An IPv4 address is expressed in standard dotted-decimal form www.xxx.yyy.zzz (for example, 130.99.128.1). An IPv6 address always has at least one occurrence of a colon (':') in the format. Some possible IPv6 address formats would be: ::x (for example, ::1) or ::w.xxx.y.zzz (for example, ::9.130.4.169). For further IPv6 examples and explanation, refer to the Usage Notes section in inet_pton()--Convert IPv4 and IPv6 Addresses Between Text and Binary Form. This field is implicitly set by the operating system.

Coded character set ID. The coded character set identifier used for this job.

Completion status. The completion status of the job.

blank The job has not completed.
0 The job completed normally.
1 The job completed abnormally.

Country or region ID. The country or region identifier associated with this job.

Current library. The name of the current library for the thread. If no current library exists, the current library existence field is zero and this field has no entry in the list. If this field is requested for a job, the value for the initial thread of the job will be returned.

Current library existence. The current library existence field:

0 No current library exists.
1 A current library exists.

Current number of pending signals. The number of signals that have been received for a signal monitor but whose signal action has not been taken.

Current SQL statement. The SQL statement that is running currently or was last run in the job.

Current system pool identifier. The identifier of the system-related pool from which main storage is currently being allocated for the job's initial thread. These identifiers are not the same as those specified in the subsystem description, but are the same as the system pool identifiers shown on the system status display. If a thread reaches its time-slice end, the pool the thread is running in can be switched based on the job's time-slice end pool value. The current system pool identifier returned will be the actual pool in which the initial thread of the job is running.

Current user profile. The user profile that the thread for which information is being retrieved is currently running under. This name may differ from the user portion of the job name. If this field is requested for a job, the value for the initial thread of the job will be returned.

Date and time job became active. When the job began to run on the system. This is blank if the job did not become active. It is in the format CYYMMDDHHMMSS, where:

C Century, where 0 indicates years 19xx and 1 indicates years 20xx.
YY Year
MM Month
DD Day
HH Hour
MM Minute
SS Second

Date and time job ended. When the job completed running on the system, in the CYYMMDDHHMMSS format described for the date and time job became active field.

Date and time job entered system. When the job was placed on the system, in the CYYMMDDHHMMSS format described for the date and time job became active field.

Date and time job is scheduled to run. Date and time the job is scheduled to become active. This field is returned as hexadecimal zeros if the job is not a scheduled job. The format for this field is the system time-stamp format.

Date and time job was put on this job queue. This is the date and time this job was put on this job queue. It is in system timestamp format. This field will contain blanks if the job was not on a job queue.

Date format. The format that the date is presented in. The following values are possible:

*YMD Year, month, and day format
*MDY Month, day, and year format
*DMY Day, month, and year format
*JUL Julian format (year and day)

Date separator. The value used to separate days, months, and years when presenting a date. The following values are possible:

'/' A slash (/) is used for the date separator.
'-' A dash (-) is used for the date separator.
'.' A period (.) is used for the date separator.
' ' A blank is used for the date separator.
',' A comma (,) is used for the date separator.

Day of week. The day of the week. The following values are possible:

*SUN Sunday.
*MON Monday.
*TUE Tuesday.
*WED Wednesday.
*THU Thursday.
*FRI Friday.
*SAT Saturday.

DBCS-capable. Whether the job is DBCS-capable.

0 The job is not DBCS-capable.
1 The job is DBCS-capable.

DDM conversation handling. Specifies whether connections using distributed data management (DDM) protocols remain active when they are not being used. The connections include APPC conversations, active TCP/IP connections or Opti-Connect connections. The DDM protocols are used in Distributed Relational Database Architecture™ (DRDA®) applications, DDM applications, or DB2® Multisystem applications. The following values are possible:

*KEEP The system keeps DDM connections active when there are no users, except for the following:
  • The routing step ends on the source system. The routing step ends when the job ends or when the job is rerouted to another routing step.
  • The Reclaim Distributed Data Management Conversation (RCLDDMCNV) command or the Reclaim Resources (RCLRSC) command runs.
  • A communications failure or an internal failure occurs.
  • A DRDA connection to an application server not running on the system ends.
*DROP The system ends a DDM connection when there are no users. Examples include when an application closes a DDM file, or when a DRDA application runs a SQL DISCONNECT statement.

Decimal format. The decimal format used for this job. The following values are possible:

blank Uses a period for a decimal point, a comma for a 3-digit grouping character, and zero-suppress to the left of the decimal point.
J Uses a comma for a decimal point and a period for a 3-digit grouping character. The zero-suppression character is in the second position (rather than the first) to the left of the decimal notation. Balances with zero values to the left of the comma are written with one leading zero (0,04). The J entry also overrides any edit codes that might suppress the leading zero.
I Uses a comma for a decimal point, a period for a 3-digit grouping character, and zero-suppress to the left of the decimal point.

Default coded character set identifier. The default coded character set identifier used for this job. This field contains zeros if the job is not an active job.

Default signal action. The action to be taken by a signal when the signal action specifies that the signal should be handled using the default signal action. Possible values are as follows:

0 End the job
1 Cancel the request
2 Ignore the signal (discard)
3 Stop the job
4 Continue the job if stopped
5 Signal exception

Default wait. The default maximum time (in seconds) that a thread in the job waits for a system instruction, such as a LOCK machine interface (MI) instruction, to acquire a resource. A value of -1 is returned if the value is *NOMAX.

Device name. The name of the device as identified to the system. For an interactive job, the device where the job started; for all other jobs types it will be blanks.

Device recovery action. The action taken for interactive jobs when an I/O error occurs for the job's requesting program device. The possible values are:

*MSG Signals the I/O error message to the application and lets the application program perform error recovery.
*DSCMSG Disconnects the job when an I/O error occurs. When the job reconnects, the system sends an error message to the application program, indicating the job has reconnected and that the work station device has recovered.
*DSCENDRQS Disconnects the job when an I/O error occurs. When the job reconnects, the system sends the End Request (ENDRQS) command to return control to the previous request level.
*ENDJOB Ends the job when an I/O error occurs. A message is sent to the job's log and to the history log (QHST) indicating the job ended because of a device error.
*ENDJOBNOLIST Ends the job when an I/O error occurs. There is no job log produced for the job. The system sends a message to the QHST log indicating the job ended because of a device error.

Disk I/O count during the elapsed time (job). The number of disk I/O operations performed by the job during the elapsed time. This is the sum of the asynchronous and synchronous disk I/O.

Disk I/O count during the elapsed time (thread). The number of disk I/O operations performed by the specified thread during the elapsed time. This is the sum of the asynchronous and synchronous disk I/O.

Disk I/O count during the elapsed time - asynchronous I/O (job). The number of asynchronous (physical) disk I/O operations performed by the job during the elapsed time. This value is the sum of the asynchronous database and nondatabase reads and writes.

Disk I/O count during the elapsed time - asynchronous I/O (thread). The number of asynchronous (physical) disk I/O operations performed by the specified thread during the elapsed time. This value is the sum of the asynchronous database and nondatabase reads and writes.

Disk I/O count during the elapsed time - synchronous I/O (job). The number of synchronous (physical) disk I/O operations performed by the job during the elapsed time. This value is the sum of the synchronous database and nondatabase reads and writes.

Disk I/O count during the elapsed time - synchronous I/O (thread). The number of synchronous (physical) disk I/O operations performed by the specified thread during the elapsed time. This value is the sum of the synchronous database and nondatabase reads and writes.

Disk I/O count - total for the job. The total number of disk I/O operations performed by the job across all routing steps. This is the sum of the asynchronous and synchronous disk I/O.

Disk I/O count - total for the thread. The total number of disk I/O operations performed by the specified thread. This is the sum of the asynchronous and synchronous disk I/O.

Elapsed time. The time, in milliseconds, that has elapsed between the measurement start time and the current system time. This value is 0 the first time this API is called by this job. The measurement start is set the first time this API is called and when the reset status statistics is set to reset the elapsed time.

End severity. The message severity level of escape messages that can cause a batch job to end. The batch job ends when a request in the batch input stream sends an escape message, whose severity is equal to or greater than this value, to the request processing program.

End status. Whether the system issued a controlled cancelation. The possible values are:

1 The system, the subsystem in which the job is running, or the job itself is canceled.
0 The system, subsystem, or job is not cancelled.
blank The job is not running.

Exit key. Whether the user pressed the exit key.

0 The user did not press the exit key.
1 The user did press the exit key.

Note: The application or command that was called before this API determines how the key is set.

Extended object attribute of entity thread is waiting on. The extended attribute of the object, such as a program or file type, that the thread is waiting on. Extended attributes further describe the object. For example, an object type of *PGM may have a value of RPG(RPG program) or CLP(CL program), and an object type of *FILE may have a value of PF(physical file), LF(logical file), DSPF(display file), SAVF(save file), and so on. This field may blank if there is no extended attribute associated with the object type, or the type of entity the thread is waiting on is not an IBM i external object or an IBM i external object space location. If this field is requested for a job, the value for the initial thread of the job will be returned.

Function name. Additional information (as described in the function type field) about the last high-level function initiated by the initial thread.

Function type. This is the last high-level function initiated by the initial thread. This field may not be cleared when a function is completed. The possible values are:

blank The system is not doing a logged function.
C A command is running interactively, or it is in a batch input stream, or it was requested from a system menu. Commands in CL programs or REXX procedures are not logged. The function name field contains the name of the command and is only updated when a command is processed.
D The initial thread of the job is processing a Delay Job (DLYJOB) command. The function name contains the number of seconds the job is delayed (up to 999999 seconds), or the time when the job is to resume processing (HH:MM:SS), depending on how you specified the command.
G The Transfer Group Job (TFRGRPJOB) command suspended the job. The function name field contains the group job name for that job.
I The initial thread of the job is rebuilding an index (access path). The function name field contains the name of the logical file whose index is rebuilt.
J The initial thread of the job is running a Java Virtual Machine (JVM). The function name field contains the name of the java class.
L The system logs history information in a database file. The function name field contains the name of the log (QHST is the only log currently supported).
M The job is a multiple requester terminal (MRT) job if the job type is BATCH and the subtype is MRT, or it is an interactive job attached to an MRT job if the job type is interactive. See job type, subtype, or field for how to determine what type of job this is.

For MRT jobs, the function name field contains information in the following format:

  • CHAR(2): The number of requesters currently attached to the MRT job.
  • CHAR(1): The field is reserved for a / (slash).
  • CHAR(2): The maximum number (MRTMAX) of requesters.
  • CHAR(1): Reserved.
  • CHAR(3): The never-ending program (NEP) indicator. If an MRT is also an NEP, the MRT stays active even if there are no requesters of the MRT. A value of NEP indicates a never-ending program. A value of blanks indicates that it is not a never-ending program.
  • CHAR(1): Reserved.

For interactive jobs attached to an MRT, the function name field contains the name of the MRT procedure.

N The initial thread of the job is currently at a system menu. The function name field contains the name of the menu.
O The job is a subsystem monitor that is performing input/output (I/O) operations to a work station. The function name field contains the name of the work station device to which the subsystem is performing an input/output operation.
P The initial thread of the job is running a program. The function name field contains the name of the program.
R The initial thread of the job is running a procedure. The function name field contains the name of the procedure.
U The last high-level function initiated by the initial thread is user-specified. The function name field has been set with the Change Current Job (QWCCCJOB) API.
* This does a special function. For this value, the function name field contains one of the following values:

  • ADLACTJOB: Auxiliary storage is being allocated for the number of active jobs specified in the QADLACTJ system value. This may indicate that the system value for the initial number of active jobs is too low.
  • ADLTOTJOB: Auxiliary storage is being allocated for the number of jobs specified in the QADLTOTJ system value.
  • CMDENT: The Command Entry display is being used.
  • COMMIT: A commit operation is being performed.
  • DIRSHD: Directory shadowing.
  • DLTSPLF: The system is deleting a spooled file.
  • DUMP: A dump is in process.
  • JOBIDXRCY: A damaged job index is being recovered.
  • JOBLOG: The system is producing a job log.
  • JOBLOGQRCY: The job log server queue is being recovered or rebuilt.
  • PASSTHRU: The job is a pass-through job.
  • RCLSPLSTG: Empty spooled database members are being deleted.
  • ROLLBACK: A rollback operation is being performed.
  • SPLCLNUP: Spool cleanup is in process.

Group profile name. The name of the group profile that is associated with the initial thread. The user's group authority is used if no specific authority is granted for the user. The value *NONE is returned if no group profile name is found.

Group profile name - supplemental. The name of the group profile associated with the initial thread. The user's group authority is used if no specific authority is granted for the user. Up to 15 supplemental group profile names may be specified. Blanks are returned if no supplemental group profile names are found.

Initial thread. Whether this thread is the initial thread of this job.

0 This thread is not the initial thread.
1 This thread is the initial thread.

Inquiry message reply. How the job answers inquiry messages:

*RQD The job requires an answer for any inquiry messages that occur while this job is running.
*DFT The system uses the default message reply to answer any inquiry messages issued while this job is running. The default reply is either defined in the message description or is the default system reply.
*SYSRPYL The system reply list is checked to see if there is an entry for an inquiry message issued while this job is running. If a match occurs, the system uses the reply value for that entry. If no entry exists for that message, the system uses an inquiry message.

Interactive response time - total during the elapsed time. The total interactive response time for the initial thread for the job during the elapsed time. This value does not include the time used by the machine, by the attached input/output (I/O) hardware, and by the transmission lines for sending and receiving data. This field is 0 for noninteractive jobs. Start of change When this field is returned by the QGYOLJOB API, the value is in hundredth of seconds. When this field is returned by the QUSRJOBI API, the value is in seconds. End of change

Interactive transactions - count during the elapsed time. The number of user interactions, such as pressing the Enter key or a function key, for the job during the elapsed time for the initial thread. This value is returned for interactive jobs only.

Internal job identifier. A value input to other APIs to increase the speed of locating the job on the system. Only APIs described in this manual use this identifier. The identifier is not valid following an initial program load (IPL). If you attempt to use it after an IPL, an exception occurs.

Job accounting code. An identifier assigned to the job by the system to collect resource use information for the job when job accounting is active.

Job date. This is the date to be used for the job. It is in the format CYYMMDD where C is the century, YY is the year, MM is the month, and DD is the day. A 0 for the century flag indicates years 19xx and a 1 indicates years 20xx. This value is for jobs whose status is *JOBQ or *ACTIVE. For jobs with a status of *OUTQ, the value for this field is blank.

*SYSVAL This job will use the system date.

Job description library ASP device name. The name of the auxiliary storage pool (ASP) device description for the ASP containing the library for the job description. This field will contain a name or one of the following special values:

blank The job description library ASP device name will be blank when the job description name is *SYS.
*SYSBAS The library is located in the system ASP or in a basic user ASP.
*N The name of the ASP device cannot be determined.

Job description library name. The library containing the job description. The job description library name will be blank when the job description name is *SYS.

Job description name. A CHAR(10) representation of the set of job-related attributes used for one or more jobs on the system. These attributes determine how the job is run on the system. Multiple jobs can also use the same job description. The special value of *SYS indicates that the job attributes are defined by the system and do not come from a job description.

Job description name - qualified. A CHAR(20) representation of the set of job-related attributes used for one or more jobs on the system. These attributes determine how the job is run on the system. Multiple jobs can also use the same job description. The format of the qualified name is a 10-character simple object name followed by a 10-character library name. The data is left-justified and padded with blanks on the right. The special value of *SYS indicates that the job attributes are defined by the system and do not come from a job description.

Job end reason. The most recent action that caused the job to end. The possible values are:

0 Job not ending.
1 Job ending in normal manner.
2 Job ended while it was still on a job queue.
3 System ended abnormally.
4 Job ending normally after a controlled end was requested.
5 Job ending immediately.
6 Job ending abnormally.
7 Job ended due to the CPU limit being exceeded.
8 Job ended due to the storage limit being exceeded.
9 Job ended due to the message severity level being exceeded.
10 Job ended due to the disconnect time interval being exceeded.
11 Job ended due to the inactivity time interval being exceeded.
12 Job ended due to a device error.
13 Job ended due to a signal.
14 Job ended due to an unhandled error.

Job local time. The current local time of the job expressed as an 8 byte time-of-day timestamp. The time zone current offset for this job has been applied to this time value.

Job log output. How the job log will be produced when the job completes. This does not affect job logs produced when the message queue is full and the job message queue full action specifies *PRTWRAP. Messages in the job message queue are written to a spooled file, from which the job log can be printed, unless the Control Job Log Output (QMHCTLJL) API was used in the job to specify that the messages in the job log are to be written to a database file.

The job log output value can be changed at any time until the job log has been produced or removed. To change the job log output value for a job, use the Change Job (QWTCHGJB) API or the Change Job (CHGJOB) command.

The job log can be displayed at any time until the job log has been produced or removed. To display the job log, use the Display Job Log (DSPJOBLOG) command.

The job log can be removed when the job has completed and the job log has not yet been produced or removed. To remove the job log, use the Remove Pending Job Log (QWTRMVJL) API or the End Job (ENDJOB) command.

The possible values are:

*JOBLOGSVR The job log will be produced by a job log server. For more information about job log servers, refer to the Start Job Log Server (STRLOGSVR) command.
*JOBEND The job log will be produced by the job itself. If the job cannot produce its own job log, the job log will be produced by a job log server. For example, a job does not produce its own job log when the system is processing a Power Down System (PWRDWNSYS) command.
*PND The job log will not be produced. The job log remains pending until removed.

Job log pending. Whether there is a job log that has not yet been written. The writing of the job log may become pending based on the value of the job log output job attribute when the job completes its activity. The job log may also become pending if the job is ended due to a Power Down System (PWRDWNSYS) command, if the system fails while the job is active, or if errors prevent the job from writing its own job log. The possible values are:

0 Job log is not pending.
1 Job log is pending.

Job message queue full action. The action to take when the message queue is full. The values are:

*NOWRAP When the job message queue is full, do not wrap. This action causes the job to end.
*WRAP When the job message queue is full, wrap to the beginning and start filling again.
*PRTWRAP When the job message queue is full, wrap the message queue and print the messages that are being overlaid because of the wrapping.

Job message queue maximum size. The maximum size (in megabytes) that the job message queue can become. The range is 2 to 64.

Job name. The name of the job as identified to the system. For an interactive job, the system assigns the job the name of the work station where the job started; for a batch job, you specify the name in the command when you submit the job.

Job number. The system-generated job number.

Job queue library ASP device name. The name of the auxiliary storage pool (ASP) device description for the ASP containing the library for the job queue. This field will contain a name or one of the following special values:

blank The job queue library ASP device name will be blank when the job queue name is blank.
*SYSBAS The library is located in the system ASP or in a basic user ASP.
*N The name of the ASP device cannot be determined.

Job queue library name. The name of the library where the job queue is located. The value for this field is blank if the value for the job queue name is blank.

Job queue name. The CHAR(10) representation of the name of the job queue that the job is currently on, or that the job was on if it is currently active. If the job is not on a job queue and the job is not a batch job that was started from a job queue, the value for this field is blank. This value is for jobs whose status is *JOBQ or *ACTIVE. For jobs with a status of *OUTQ, the value for this field is blank.

Job queue name - qualified. The CHAR(20) representation of the name of the job queue that the job is currently on, or that the job was on if it is currently active. If the job is not on a job queue and the job is not a batch job that was started from a job queue, the value for this field is blank. This value is for jobs whose status is *JOBQ or *ACTIVE. For jobs with a status of *OUTQ, the value for this field is blank. The format of the qualified name is a 10-character simple object name followed by a 10-character library name. The data is left-justified and padded with blanks on the right.

Job queue priority. The scheduling priority of the job compared to other jobs on the same job queue. The highest priority is 0 and the lowest is 9. This value is for jobs whose status is *JOBQ or *ACTIVE. For jobs with a status of *OUTQ, the value for this field is blank.

Job status. The status of the jobs. The special values are:

*ACTIVE Active jobs. This includes group jobs, system request jobs, and disconnected jobs.
*JOBQ Jobs that are currently on job queues.
*OUTQ Jobs that have completed running but still have output on an output queue or the job's job log has not yet been written.

Job subtype. Additional information about the job type (if any exists). The possible values are:

blank The job has no special subtype or is not a valid job.
D The job is an immediate job.
E The job started with a procedure start request.
F The job is a System i® Advanced 36® machine server job.
J The job is a prestart job.
P The job is a print driver job.
T The job is a System/36™ multiple requester terminal (MRT) job.
U Alternate spool user.

Job switches. The current setting of the job switches used by this job. This value is returned for all job types.

Job type. The type of job. The possible values for this field are:

blank The job is not a valid job.
A The job is an autostart job.
B The job is a batch job.
I The job is an interactive job.
M The job is a subsystem monitor job.
R The job is a spooled reader job.
S The job is a system job.
W The job is a spooled writer job.
X The job is the SCPF system job.

Refer to Comparing Job Type and Subtype with the Work with Active Job Command for information about how the job type field and the job subtype field equate to the type field in the Work with Active Job (WRKACTJOB) command.

Job type - enhanced. The type of job. This field combines the job type and job subtype fields. The possible values are:

110 Autostart job
210 Batch job
220 Batch immediate job
230 Batch - System/36 multiple requester terminal (MRT) job
240 Batch - alternate spool user
310 Communications job - procedure start request job
910 Interactive job
920 Interactive job - Part of group
930 Interactive job - Part of system request pair
940 Interactive job - Part of system request pair and part of a group
1610 Prestart job
1620 Prestart batch job
1630 Prestart communications job
1810 Reader job
1910 Subsystem job
1920 System job (all system jobs including SCPF)
2310 Writer job (including both spool writers and print drivers)

Job user identity. The user profile name by which the job is known to other jobs on the system. The job user identity is used for authorization checks when other jobs on the system attempt to operate against the job. For more detail on how the job user identity is set and used, refer to the Set Job User Identity (QWTSJUID) API in the Security part. For jobs that are on a job queue or have completed running, the job user identity is same as the user name from the qualified job name. This field will return blanks for these jobs. A value of *N is returned if the job user identity is set, but the user profile to which it is set no longer exists.

Job user identity setting. An indicator of the method by which the job user identity was set. Possible values are as follows:

o The job is currently running single threaded and the job user identity is the name of the user profile under which the job is currently running. This value is also returned for jobs that are on a job queue or have completed running. This has the same meaning as a value of *DEFAULT on the Display Job Status Attributes display.
1 The job user identity was explicitly set by an application using one of the Set Job User Identity APIs, QWTSJUID or QwtSetJuid(). The job may be running either single threaded or multithreaded. This has the same meaning as a value of *APPLICATION on the Display Job Status Attributes display.
2 The job is currently running multithreaded and the job user identity was implicitly set by the system when the job became multithreaded. It was set to the name of the user profile that the job was running under when it became multithreaded. This has the same meaning as a value of *SYSTEM on the Display Job Status Attributes display.

Language ID. The language identifier associated with this job.

Library name. The name of the library object.

Library of entity thread is waiting on. The library name of the entity that the thread is waiting on. This field may be blank if the type of entity the thread is waiting on is not an IBM i external object, a member object, an IBM i external object space location, a lock space, or if there is no library associated with the particular type of entity. If the type of entity the thread is waiting on is a member object, this field will return the library name of the file that contains the member. If this field is requested for a job, the value for the initial thread of the job will be returned.

Library text description. The text description of the library object. This field is blank if no text description is specified.

Lock wait time - time during the elapsed time. The amount of time (in milliseconds) that the initial thread has to wait to obtain database, nondatabase, and internal machine locks during the elapsed time.

Logging level. What type of information is logged. The possible values are:

0 No messages are logged.
1 All messages sent to the job's external message queue with a severity greater than or equal to the message logging severity are logged. This includes the indication of job start, job end and job completion status.
2 The following information is logged:
  • Level 1 information
  • Request messages that result in a high-level message with a severity code greater than or equal to the logging severity cause the request message and all associated messages to be logged.

    Note: A high-level message is one that is sent to the program message queue of the program that receives the request message. For example, QCMD is an IBM-supplied request processing program that receives request messages.

3 The following information is logged:
  • Level 1 and 2 information
  • All request messages
  • Commands run by a CL program are logged if it is allowed by the logging of CL programs job attribute and the log attribute of the CL program.
4 The following information is logged:
  • All request messages and all messages with a severity greater than or equal to the message logging severity, including trace messages.
  • Commands run by a CL program are logged if it is allowed by the logging of CL programs job attribute and the log attribute of the CL program.

Logging of CL programs. Whether or not commands are logged for CL programs that are run. The possible values are *YES and *NO.

Logging severity. The severity level that is used in conjunction with the logging level to determine which error messages are logged in the job log. The values range from 00 through 99.

Logging text. The level of message text that is written in the job log when a message is logged according to the logging level and logging severity. The possible values are:

*MSG Only the message text is written to the job log.
*SECLVL Both the message text and the message help (cause and recovery) of the error message are written to the job log.
*NOLIST If the job ends normally, no job log is produced. If the job ends abnormally (the job end code is 20 or higher), a job log is produced. The messages that appear in the job log contain both the message text and the message help.

Maximum number of signals retained. The number of signals that are kept for a signal monitor when the signal action is blocked.

Maximum processing unit time. The maximum processing unit time (in milliseconds) that the job can use. If the job consists of multiple routing steps, this is the maximum processing unit time that the current routing step can use. If the maximum time is exceeded, the job is ended. A value of -1 is returned for *NOMAX. A zero is returned if the job is not active.

Maximum temporary storage in kilobytes. The maximum amount of auxiliary storage (in kilobytes) that the job can use. If the job consists of multiple routing steps, this is the maximum temporary storage that the routing step can use. This temporary storage is used for storage required by the program itself and by implicitly created internal system objects used to support the routing step. (It does not include storage in the QTEMP library.) If the maximum temporary storage is exceeded, the job is ended. This does not apply to the use of permanent storage, which is controlled through the user profile. A value of -1 is returned for *NOMAX.

Maximum temporary storage in megabytes. The maximum amount of auxiliary storage (in megabytes) that the job can use. If the job consists of multiple routing steps, this is the maximum temporary storage that the routing step can use. This temporary storage is used for storage required by the program itself and by implicitly created internal system objects used to support the routing step. (It does not include storage in the QTEMP library.) If the maximum temporary storage is exceeded, the job is ended. This does not apply to the use of permanent storage, which is controlled through the user profile. A value of -1 is returned for *NOMAX.

Maximum threads. The maximum number of threads that a job can run with at any time. If multiple threads are initiated simultaneously, this value may be exceeded. If this maximum value is exceeded, the excess threads will be allowed to run to their normal completion. Initiation of additional threads will be inhibited until the maximum number of threads in the job drops below this maximum value. A value of -1 is returned for *NOMAX. Note:  Depending on the resources used by the threads and the resources available on the system, the initiation of additional threads may be inhibited before this maximum value is reached.

Memory pool name. The name of the memory pool in which the job started running. The name may be a number, in which case it is a private pool associated with a subsystem. The following special values may be returned.

*MACHINE This job is running in the machine pool.
*BASE This job is running in the base system pool, which can be shared with other subsystems.
*INTERACT This job is running in the shared pool used for interactive work.
*SPOOL This job is running in the shared pool for spooled writers.
*SHRPOOL1 - *SHRPOOL60 This job is running in the identified shared pool.
01 - 99 This job is running in the identified private pool. This value is right-adjusted and padded with blanks.

Message key, when active job waiting for a message. The key of the message that the initial thread of an active job is waiting for a reply to. If the initial thread is waiting for a message to arrive on a message queue, but it is not waiting for a reply to a specific message, this field contains hex zeroes. Also, if the job is not active or the initial thread is not waiting for any message, this field contains hex zeroes.

Message queue library ASP device name, when active job waiting for a message. The name of the auxiliary storage pool (ASP) device description for the ASP containing the library of the message queue that the initial thread of an active job is waiting to receive a message from. This field will contain a name or one of the following special values:

blank The job is not active, the initial thread is not waiting for a message, or the initial thread is waiting to receive a message from its job message queue.
*SYSBAS The library is located in the system ASP or in a basic user ASP.
*N The name of the ASP device cannot be determined.

Message queue library name, when active job waiting for a message. The name of the library containing the message queue that the initial thread of an active job is waiting to receive a message from. If the job is not active, the initial thread is not waiting for a message, the initial thread is waiting to receive a message from its job message queue, or the name of the message queue cannot be determined, this field contains blanks.

Message queue name, when active job waiting for a message. The name of the message queue that the initial thread of an active job is waiting to receive a message from. This field will contain a name or one of the following special values:

blank The job is not active or the initial thread is not waiting for a message.
*JOBMSGQ The initial thread is waiting to receive a message from its job message queue.
*N The name of the message queue cannot be determined.

Message queue name - qualified, when active job waiting for a message. The CHAR(20) representation of the name of the message queue that the initial thread of an active job is waiting to receive a message from. The format of the qualified name is a 10-character simple object name followed by a 10-character library name. Each name is left-justified and padded with blanks on the right. This field will contain a qualified name or one of the following special values:

blank The job is not active or the initial thread is not waiting for a message.
*JOBMSGQ The initial thread is waiting to receive a message from its job message queue.
*N The name of the message queue cannot be determined.

Message reply. Whether the job is waiting for a reply to a specific message. The field applies only when the active job status or active job status for job ending is MSGW. Possible values are:

0 The job currently is not in message wait status.
1 The job is waiting for a reply to a message.
2 The job is not waiting for a reply to a message.

Mode name. The mode name of the advanced program-to-program communications device that started the job. Possible values are:

*BLANK The mode name is *BLANK.
blank The mode name is blanks.
Mode name The name of the mode.

Name of entity thread is waiting on. The name of the entity that the thread is waiting on. The format of the name will vary based on the type of entity the thread is waiting on.

For an IBM i external object, an internal system object, an IBM i external object space location, or an internal system object space location, the format of the name will be as follows(however, an IBM i external object and an IBM i external object space location will only return up to a ten character name):

Offset Type Field
Dec Hex
0 0 CHAR(30) Extended name

For a member object, the format of the name will be as follows:

Offset Type Field
Dec Hex
0 0 CHAR(10) File
10 A CHAR(10) Member
20 14 CHAR(10) Reserved

For a lock space object, the format of the name will be as follows:

Offset Type Field
Dec Hex
0 0 CHAR(20) Lock space ID
20 14 CHAR(10) Reserved

This field will be blank if the type of entity the thread is waiting on is unknown or the thread is not waiting. This field will also be blank if the name is for an internal system object or an internal system object space location and the user does not have *JOBCTL special authority. If this field is requested for a job, the value for the initial thread of the job will be returned.

Number of auxiliary I/O requests. The number of auxiliary I/O requests performed by the job across all routing steps. This includes both database and nondatabase paging. This is an unsigned BINARY(8) value.

Number of auxiliary I/O requests, if less than 2,147,483,647. The number of auxiliary I/O requests performed by the job across all routing steps. This includes both database and nondatabase paging. If the number of auxiliary I/O requests is greater than or equal to 2,147,483,647, a value of -1 is returned. Use the Number of auxiliary I/O requests field to retrieve values that are greater than or equal to 2,147,483,647.

Number of bytes available. All of the available bytes for use in your application. Note: When you request format JOBI0700 for the Retrieve Job Information (QUSRJOBI) API, the actual length depends on how many libraries are in the library list.

Number of bytes returned. The number of bytes returned to the user. This may be some but not all of the bytes available.

Number of database lock waits. The number of times that the initial thread had to wait to obtain a database lock. (These performance attributes may be a cumulative job total in a future release.)

Number of interactive transactions. The count of operator interactions, such as pressing the Enter key or a function key. This field is zero for jobs that have no interactions.

Number of internal machine lock waits. The number of times that the initial thread had to wait to obtain an internal machine lock. (These performance attributes may be a cumulative job total in a future release.)

Number of libraries in SYSLIBL. The number of libraries in the system part of the library list of the initial thread.

Number of libraries in USRLIBL. The number of libraries in the user library list of the initial thread.

Number of nondatabase lock waits. The number of times that the initial thread had to wait to obtain a nondatabase lock. (These performance attributes may be a cumulative job total in a future release.)

Number of product libraries. The number of product libraries found in the library list of the initial thread.

Object library for SQL cursor. The name of the library the object is in that contains the associated SQL open cursor.

Object name for SQL cursor. The name of the object that contains the associated SQL open cursor.

Object type for SQL cursor. The type of object with which the SQL cursor is associated.

Object type of entity thread is waiting on. The object type of the entity the thread is waiting on. This field may be blank if the type of entity that the thread is waiting on is not a defined IBM i external object, a member object, an internal system object, an IBM i external object space location, or an internal system object space location. For a list of all the available external IBM i object types, see External object types. For a list of all internal system object types, see Internal object types. If this field is requested for a job, the value for the initial thread of the job will be returned.

Output queue library name. The name of the library containing the output queue.

Output queue name. The name of the default output queue that is used for spooled output produced by this job. The default output queue is only for spooled printer files that specify *JOB for the output queue.

Output queue name - qualified. The qualified name of the default output queue that is used for spooled output produced by this job and the name of the library that contains the output queue. The default output queue is only for spooled printer files that specify *JOB for the output queue. The format of the qualified name is a 10-character simple object name followed by a 10-character library name. The data is left-justified and padded with blanks on the right.

Output queue priority. The output priority for spooled output files that this job produces. The highest priority is 0, and the lowest is 9.

Page fault count during the elapsed time (job). The number of times an active program referenced an address that is not in main storage for the specified job during the elapsed time.

Page fault count during the elapsed time (thread). The number of times an active program referenced an address that is not in main storage for the specified thread during the elapsed time.

Page faults. The number of times an active program referenced an address that is not in main storage during the current routing step of the specified job.

Pending signal set. A bit field that is used to determine the set of signals that have been received but not acted upon by a signal monitor. The nth bit in the pending signal set represents the nth signal monitor defined for the job. If a bit within the pending signal set has a value of 1, then a signal is present but has not been acted upon yet.

Print key format. Whether border and header information is provided when the Print key is pressed.

*NONE The border and header information is not included with output from the Print key.
*PRTBDR The border information is included with output from the Print key.
*PRTHDR The header information is included with output from the Print key.
*PRTALL The border and header information is included with output from the Print key.

Print text. The line of text (if any) that is printed at the bottom of each page of printed output for the job.

Printer device name. The printer device used for printing output from this job.

Process ID number. A unique UNIX®-style process ID number (PID) that is associated with the current routing step of the job. A value of 1 indicates that the PID has not been set.

Processing unit time used for database - total for the job. The amount of processing unit time (in milliseconds) that the job used for processing data base requests across all routing steps. This is an unsigned BINARY(8) value. (Note: This field is deprecated.)

Processing unit time used for database - total for the thread.The amount of processing unit time (in milliseconds) that the specified thread used for processing database requests. This is an unsigned BINARY(8) value. (Note: This field is deprecated.)

Processing unit time used, if less than 2,147,483,647 milliseconds. The amount of processing unit time (in milliseconds) that the job used. If the processing unit time used is greater than or equal to 2,147,483,647 milliseconds, a value of -1 is returned. Use the Processing unit time used - total for the job field to retrieve values that are greater than or equal to 2,147,483,647.

Processing unit time used - total for the job. The amount of processing unit time (in milliseconds) that the job used across all routing steps. This is an unsigned BINARY(8) value.

Processing unit time used - total for the thread.The amount of processing unit time (in milliseconds) used by the specified thread. This is an unsigned BINARY(8) value.

Processing unit used for database - percent during the elapsed time (job). The percentage (in tenths) of processing unit used for database processing during the elapsed time by the specified job. For example, a value of 411 in binary would be 41.1 percent. For multiple-processor systems, this is the average across processors. For an uncapped partition, this is the percentage (in tenths) of the configured uncapped shared processing capacity for the partition that was used for database processing during the elapsed time. This percentage could be greater than 100% for an uncapped partition. (Note: This field is deprecated.)

Processing unit used for database - percent during the elapsed time (thread). The percentage (in tenths) of processing unit used for database processing during the elapsed time by the specified thread. For example, a value of 411 in binary would be 41.1 percent. For multiple-processor systems, this is the average across processors. For an uncapped partition, this is the percentage (in tenths) of the configured uncapped shared processing capacity for the partition that was used for database processing during the elapsed time. This percentage could be greater than 100% for an uncapped partition. (Note: This field is deprecated.)

Processing unit used for database - time during the elapsed time (job). The amount of processing unit time (in milliseconds) used for database processing during the elapsed time by the specified job. (Note: This field is deprecated.)

Processing unit used for database - time during the elapsed time (thread). The amount of processing unit time (in milliseconds) used for database processing during the elapsed time by the specified thread. (Note: This field is deprecated.)

Processing unit used - percent during the elapsed time (job). The percentage (in tenths) of processing time used during the elapsed time. For example, a value of 411 in binary would be 41.1 percent. For multiple-processor systems, this is the average across processors. For an uncapped partition, this is the percentage (in tenths) of the configured uncapped shared processing capacity for the partition that was used during the elapsed time. This percentage could be greater than 100% for an uncapped partition.

Processing unit used - percent during the elapsed time (thread). The percentage (in tenths) of processing time used during the elapsed time by the specified thread. For example, a value of 411 in binary would be 41.1 percent. For multiple-processor systems, this is the average across processors. For an uncapped partition, this is the percentage (in tenths) of the configured uncapped shared processing capacity for the partition that was used during the elapsed time. This percentage could be greater than 100% for an uncapped partition.

Processing unit used - time during the elapsed time (job). The amount of processing unit time (in milliseconds) used during the elapsed time by the specified job.

Processing unit used - time during the elapsed time (thread). The amount of processing unit time (in milliseconds) used during the elapsed time by the specified thread.

Product libraries. The libraries that contain product information for the thread. If requesting this field for a job, the information for the initial thread of the job will be returned. If this field is defined as a CHAR(11), a blank will be in the last position of the name.

Product return code. The return code set by the compiler for Integrated Language Environment® (ILE) languages. Refer to the appropriate ILE-conforming language manual for possible values. This field is scoped to the job and represents the most recent return code set by any thread within the job.

Program return code. If the job contains any RPG, COBOL, data file utility (DFU), or sort utility programs, the completion status of the last program that has finished running is shown; otherwise, a value of zero is shown.

Purge. Whether or not the job is eligible to be moved out of main storage and put into auxiliary storage at the end of a time slice or when it is beginning a long wait (such as waiting for a work station user's response). This attribute is ignored when more than one thread is active within the job. The possible values are:

*YES The job is eligible to be moved out of main storage and put into auxiliary storage. A job with multiple threads, however, is never purged from main storage.
*NO The job is not eligible to be moved out of main storage and put into auxiliary storage. When main storage is needed, however, pages belonging to a thread in the job may be moved to auxiliary storage. Then, when a thread in the job runs again, its pages are returned to main storage as they are needed.
blank Not used for job types *JOBQ or *OUTQ, or for invalid jobs.

Relational Database name. The name used to uniquely identify a data source or relational database.

Reserved. An ignored field.

Resources affinity group. Specifies whether or not the job is grouped together with other jobs on the same set of processors and memory. The Resources affinity group (RSCAFNGRP) parameter on the Add Routing Entry (ADDRTGE) or Add Prestart Job Entry (ADDPJE) commands determines how jobs are grouped. The possible values are:

*NO The job is not grouped with other jobs. They are spread across all the available system resources.
*YES The job is in the same affinity group as other jobs.

Response time total. The total amount of response time for the initial thread, in milliseconds. This value does not include the time used by the machine, by the attached input/output (I/O) hardware, and by the transmission lines for sending and receiving data. This field is zero for jobs that have no interactions. A value of -1 is returned if the field is not large enough to hold the actual result.

Routing data. The routing data that is used to determine the routing entry that identifies the program to start for the routing step.

Run priority (job). The priority at which the job is currently running, relative to other jobs on the system. The run priority ranges from 0 (highest priority) to 99 (lowest priority).

Run priority (thread). The run priority for the thread relative to the priority of the other threads that are running in the system. This is displayed as a number ranging from 0 (highest priority) to 99 (lowest priority). The value may never be higher than the run priority for the job in which the thread is running.

Server mode for Structured Query Language. Whether or not Structured Query Language (SQL) statements should run in a separate server job. The possible values are:

0 The SQL statements will not run in a separate server job.
1 The SQL statements will run in a separate server job. Each SQL connection will be allowed to run with a different user profile and separate transaction scoping.

Server type. The type of server represented by the job. A value of blanks or hex zeros indicates that the job is not part of a server.

Signal action. The action to be taken when a signal is received for a signal monitor. Possible values are as follows:

-1 The signal associated with this signal monitor is not supported.
0 Handle the signal using the signal default action.
1 Ignore the signal (discard).
2 Handle the signal by running the signal catching function.

Signal blocking mask. A bit field that is used to represent the set of signals whose signal actions are to be held for the initial thread of the job. The nth bit in the signal blocking mask represents the nth signal monitor defined for the initial thread. If a bit within the signal blocking mask has a value of 1, then the signal action is blocked and the signal is held.

Signal monitor data. The signal information for a given signal monitor for the job. This information consists of the signal number, signal action, default signal action, maximum number of signals to be retained, and the current number of signals pending.

Signal number. A numeric value assigned to the signal monitor. This value is used to locate the signal monitor for the job when a signal is sent to the job.

Signal status. A numerical value used to determine if the job is enables to receive signals from another job or the system.

0 The job is not enabled for signals. This job cannot receive signals from another job or system.
1 The job is enabled for signals. This job can receive signals from another job or system.

Signed-on job. Whether the job is a to be treated like a signed-on user on the system.

0 The job should be treated like a signed-on user.
1 The job should not be treated like a signed-on user.

Sort sequence library. The sort sequence library associated with this job.

Sort sequence table name. The sort sequence table associated with this job. Possible values are:

*HEX No sort sequence table is used. The hexadecimal values of the characters are used to determine the sort sequence.
*LANGIDSHR The sort sequence table used can contain the same weight for multiple characters, and it is the shared weight sort table associated with the language specified in the LANGID parameter.
*LANGIDUNQ The sort sequence table used must contain a unique weight for each character in the code page, and it is the unique weight sort table associated with the language specified in the LANGID parameter.

Sort sequence table - qualified. The qualified name of the sort sequence table associated with this job. The format of the qualified name is a 10-character sort sequence table name followed by a 10-character library name. The data is left-justified and padded with blanks on the right. If the sort sequence table name is a special value, the library name is blank.

Special environment. Whether the job is running in a particular environment. Possible values are:

*NONE The job is not running in any special environment.
*S36 The job is running in the System/36 environment.
blank This job is not currently active.

Spooled file action. Whether spooled files are accessed through job interfaces after the job has completed is normal activity. The possible values are:

*KEEP When the job completes its activity, as long as at least one spooled file for the job exists in the system auxiliary storage pool (ASP 1) or in a basic user ASP (ASPs 2-32), the spooled files are kept with the job and the status of the job is updated to indicate that the job has completed. If all remaining spooled files for the job are in independent ASPs (ASPs 33-255), the spooled files will be detached from the job and the job will be removed from the system.
*DETACH The spooled files are detached from the job when the job completes its activity.

SQL cursor name. The name of the SQL cursor.

SQL open cursor data. The SQL cursor information for a given SQL cursor for the job. This information consists of the object name, object library, object type, SQL cursor name, and SQL statement name.

SQL statement name. The name of the SQL statement that is associated with the SQL cursor.

Status message handling. Whether you want status messages displayed for this job. The possible values are:

*NONE This job does not display status messages.
*NORMAL This job displays status messages.

Status of current SQL statement. The status of the current SQL statement. The possible values are:

1 The SQL statement returned is running currently.
2 The SQL statement returned has completed.

Status of job on the job queue. The status of this job on the job queue.

blank This job was not on a job queue.
SCD This job will run as scheduled.
HLD This job is being held on the job queue.
RLS This job is ready to be selected.

Submitter's job name. The job name of the submitter's job. If the job has no submitter, this field is blank.

Submitter's job name - qualified. The qualified job name of the submitter's job. The format of the qualified job name is a 10-character simple job name, a 10-character user name, and a 6-character job number. If the job has no submitter, this field is blank.

Submitter's job number. The job number of the submitter's job. If the job has no submitter, this field is blank.

Submitter's message queue library name. The name of the library that contains the message queue. If the job has no submitter, this field is blank.

Submitter's message queue name. The name of the message queue where the system sends a completion message when a batch job ends. If the job has no submitter, this field is blank.

Submitter's message queue name - qualified. The qualified name of the message queue where the system sends a completion message when a batch job ends and the name of the library that contains the message queue. If the job has no submitter, this field is blank. The format of the qualified name is a 10-character simple object name followed by a 10-character library name. The data is left-justified and padded with blanks on the right.

Submitter's user name. The user name of the submitter. If the job has no submitter, this field is blank.

Subsystem description library name. The library that contains the subsystem description. This value is only for jobs whose status is *ACTIVE. For jobs with a status of *OUTQ or *JOBQ, the value for this field is blank.

Subsystem description name. The name of the subsystem in which an active job is running. This value is only for jobs whose status is *ACTIVE. For jobs with status of *OUTQ or *JOBQ, the value for this field is blank.

Subsystem description name - qualified. The qualified name of the subsystem in which an active job is running. The format of the qualified name is a 10-character simple object name followed by a 10-character library name. This value is only for jobs whose status is *ACTIVE. For jobs with status of *OUTQ or *JOBQ, the value for this field is blank.

System library list. The system portion of the library list of the thread. If requesting this field for a job, the information for the initial thread of the job will be returned. If this field is defined as a CHAR(11), a blank will be in the last position of the name.

System pool identifier. The identifier of the system-related pool from which the job's main storage is allocated. These identifiers are not the same as those specified in the subsystem description, but are the same as the system pool identifiers shown on the system status display. This is the pool that the threads in the job start in. Also see the Current system pool identifier field for more information.

Temporary storage used in kilobytes. The amount of auxiliary storage (in kilobytes) that is currently allocated to this job. Note:  This value will reach a maximum of 2 147 483 647 kilobytes. If the actual temporary storage used is larger than that value, this field will return 2 147 483 647 kilobytes. It is recommended that the temporary storage used in megabytes field be used to get over this limit.

Temporary storage used in megabytes. The amount of auxiliary storage (in megabytes) that is currently allocated to this job. This is an unsigned BINARY(4) value.

Thread count. The count of the current number of active threads in the process at the time of the materialization. An active thread may be either actively running, suspended, or waiting for a resource.

Thread hold count. The count of the number of times that the specified thread has been held using the hold thread interface. If this field is requested for a job, the value for the initial thread of the job will be returned.

Thread resources affinity. Specifies whether or not secondary threads are grouped together with the initial thread when they are started. If they are grouped together, they will have affinity to, or a preference for, the same set of processors and memory, which may affect performance. The first 10 characters contain a special value indicating how the threads will be grouped. The possible values are:

*NOGROUP Secondary threads are not grouped with the initial thread. They are spread across all the available system resources.
*GROUP Secondary threads are grouped with the initial thread.

The last 10 characters contain a special value that indicates to what degree the system tries to maintain the affinity of threads to the system resources that they are internally assigned to. The possible values 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.

Thread status. The current status of the thread. If this field is requested for a job, the value for the initial thread of the job will be returned. The status of a thread may be one of the following values:

Blank The status of the thread is unknown.
CMTW The thread is waiting for the completion of save-while-active checkpoint processing in another job. This wait is necessary to prevent a partial commitment control transaction from being saved to the media.
CNDW The thread is waiting for a condition.
DEQA The thread is waiting for completion of a dequeue operation in the pool activity level.
DEQW The thread is waiting for completion of a dequeue operation. For example, a server may wait for work by waiting for a dequeue operation
EVTW The thread is waiting for an event.
HLD The thread is in a job that is being held.
HLDT The thread is being held.
INEL The thread is ineligible and not currently in the pool activity level.
JVAA The thread is waiting for completion of a Java program operation in the pool activity level.
JVAW The thread is waiting for completion of a Java program operation.
LCKW The thread is waiting for a lock.
LSPA The thread is waiting for a lock space to be attached while in a pool activity level.
LSPW The thread is waiting for a lock space to be attached.
MTXW The thread is in a mutex wait. A mutex is a synchronization function that is used to allow multiple threads to serialize their access to shared data.
RUN The thread is currently running in the activity level.
SELW The thread is in a select wait. More information on the select() function is in the Sockets APIs chapter in the System API Reference, SC41-5801.
SEMW The thread is waiting for a semaphore. A semaphore is a synchronization function that is used to allow multiple jobs or threads to serialize their access to shared data.
SIGS The thread has been held by a signal.
SIGW The thread is waiting for a signal.
THDW The thread is waiting for another thread to complete an operation.
TIMA The thread is waiting, in the activity level, for a time interval to end.
TIMW The thread is waiting for a time interval to end.

Thread type. The thread type indicates how the thread was created. If this field is requested for a job, the value for the initial thread of the job will be returned. The type of a thread may be one of the following values:

0 The thread was created either as the initial thread of the job or explicitly by the application.
1 The thread was created by an operating system function.

Time separator. The value used to separate hours, minutes, and seconds when presenting a time. The following values are possible:

':' A colon (:) is used for the time separator.
'.' A period (.) is used for the time separator.
' ' A blank is used for the time separator.
',' A comma (,) is used for the time separator.

Time slice. The maximum amount of processor time (in milliseconds) given to each thread in this job before other threads in this job and in other jobs are given the opportunity to run. The time slice establishes the amount of time needed by a thread in this job to accomplish a meaningful amount of processing. At the end of the time slice, the thread might be put in an inactive state so that other threads can become active in the storage pool. Values retrieved range from 8 through 9999999 (that is, 9 999 999 milliseconds or 9999.999 seconds). Although you can specify a value of less than 8, the system takes a minimum of 8 milliseconds to run a process.

Time-slice end pool. Whether you want a thread in an interactive job moved to another main storage pool at the end of its time slice. The possible values are:

*NONE A thread in the job does not move to another main storage pool when it reaches the end of its time slice.
*BASE A thread in the job moves to the base pool when it reaches the end of its time slice.

Time spent on database lock waits. The cumulative amount of time, in milliseconds, that the initial thread has had to wait to obtain database locks. (These performance attributes may be a cumulative job total in a future release.)

Time spent on internal machine lock waits. The cumulative amount of time, in milliseconds, that the initial thread has had to wait to obtain internal machine locks. (These performance attributes may be a cumulative job total in a future release.)

Time spent on nondatabase lock waits. The cumulative amount of time, in milliseconds, that the initial thread has had to wait to obtain nondatabase locks. (These performance attributes may be a cumulative job total in a future release.)

Time zone current abbreviated name. The abbreviated, or short, name for the time zone. This field will contain either the standard or Daylight Saving Time abbreviated name depending on whether or not Daylight Saving Time is in effect. If the time zone description uses a message to specify the current abbreviated name and the message cannot be retrieved, this field returns *N. This can occur when the caller of the API is not authorized to the message file or its library, the message file cannot be found or the message does not exist in the message file.

Time zone current full name. The full, or long, name for the time zone. This field will contain either the standard or Daylight Saving Time full name depending on whether or not Daylight Saving Time is in effect. If the time zone description uses a message to specify the current full name and the message cannot be retrieved, this field returns *N. This can occur when the caller of the API is not authorized to the message file or its library, the message file cannot be found or the message does not exist in the message file.

Time zone current message identifier. The identifier of the message that contains the current full and abbreviated names. The message identifier could be *NONE if a message was not specified when the time zone description was created.

Time zone current offset. The offset, in minutes, used to calculate local job time. This value has been adjusted for Daylight Saving Time, if necessary.

Time zone Daylight Saving Time indicator. The indicator that is used to specify whether or not Daylight Saving Time is being observed. Valid values that are returned are:

0 Daylight Saving Time is not being observed (Standard Time).
1 Daylight Saving Time is being observed.

Time zone description name. The name of the time zone description that is used to calculate local job time.

Time zone message file name - qualified. The qualified name of the message file used to retrieve the Standard Time message and the Daylight Saving Time message. The format of the qualified name is a 10-character simple object name followed by a 10-character library name. The library name may contain *LIBL which means that the library list is searched to locate the message file. The message file name and the library name are left-justified and padded with blanks on the right. If a message was not specified when the time zone description was created or last changed, this field returns *NONE.

Time zone year offset. The number of years that the current year in the calendar system used with this time zone differs from the current Gregorian year. The range is -140 to 140.

Type of entity thread is waiting on. The type of entity, such as an IBM i external object, that the thread is waiting on. If this field is requested for a job, the value for the initial thread of the job will be returned. The type of entity may be one of the following values:

-1 Thread is not waiting
1 IBM i external object
2 Member object
3 Internal system object
4 IBM i external object space location
5 Internal system object space location
6 Lock space object
999 Unknown type

Unit of work ID. The unit of work ID is used to track jobs across multiple systems. If a job is not associated with a source or target system using advanced program-to-program communications (APPC), this information is not used. Every job on the system is assigned a unit of work ID. The unit-of-work identifier is made up of:

Location name CHAR(8). The name of the source system that originated the APPC job.
Network ID CHAR(8). The network name associated with the unit of work.
Instance CHAR(6). The value that further identifies the source of the job. This is shown as hexadecimal data.
Sequence number CHAR(2). A value that identifies a checkpoint within the application program.

User library list. The user portion of the library list for the thread. If requesting this field for a job, the information for the initial thread of the job will be returned. If this field is defined as a CHAR(11), a blank will be in the last position of the name.

User name. The user name of the job, which is the same as the name of the user profile under which the job was started. It can come from several different sources depending on the type of job. This may be different than the user profile under which the job is currently running. See the Current user profile field for more information.

User return code. The user-defined return code set by ILE high-level language constructs. An example is the program return code in the C language. This field is scoped to the job and represents the most recent return code set by any thread within the job. Do not use this field. Many operating system functions run C code and change the value of the user return code. Changes to this field occur at times that cannot be predicted or controlled by user programming, even when the job is single-threaded. To receive a value returned by a called program, it is better to provide a parameter to receive that value rather than to rely on this job-scoped user return code field.

Start of changeWorkload group. The name of the workload group to which the job belongs. If the job is not part of a workload group, this field is blank.End of change


Comparing Job Type, Subtype, and Enhanced Job Type with the Work with Active Job Command

The following table compares the job type, job subtype, and enhanced job type fields returned by the QUSRJOBI API to the type field on the Work with Active Job (WRKACTJOB) command.

WRKACTJOB and QUSRJOBI API Comparison
Job Type Field Job Type Job Subtype Enhanced
Job Type
ASJ (Autostart) A blank 110
BCH (Batch) B blank 210
BCI (Batch immediate) B D 220
EVK (Started by a program start request) B E 310
INT (Interactive) I blank 910, 920, 930, or 940
M36 (System i Advanced 36 machine server) B F blank
MRT (Multiple requester terminal) B T 230
PJ (Prestart job) B J 1610, 1620, or 1630
PDJ (Print driver job) W P 2310
RDR (Reader) R blank 1810
SYS (System) S or X blank 1920
SBS (Subsystem monitor) M blank 1910
WTR (Writer) W blank 2310
blank (Alternative user subtype--not an active job) B U 240



[ Back to top | Work Management APIs | APIs by category ]