Retrieve XML Service Information (QSCRXMLI) API


  Required Parameter Group:

1 Destination information Input Char(*)
2 Destination format name Input Char(8)
3 Receiver variable Output Char(*)
4 Receiver format name Input Char(8)
5 Service selection information Input Char(*)
6 Service selection information format Input Char(8)
7 Error Code I/O Char(*)

  Default Public Authority: *USE

  Threadsafe: No

The Retrieve XML Service Information (QSCRXMLI) API lists service information, such as messages from a nonprogram message queue, messages sent to the program message queue of a job, or messages sent to the history log, in XML format, and optionally stores the output in a stream file.

New messages are prevented from being added to or removed from the message queue listed during the use of the QSCRXMLI API.

See the Open List of Messages (QGYOLMSG) API, Open List of Job Log Messages (QGYOLJBL) API, or Open List of History Log Messages (QMHOLHST) API for the description of the message fields returned.


Authorities and Locks

Output File Authority (if output stored in a stream file)
Authority to the path and file are determined by the open() API. For details, see the Authorities section of the open()--Open File API for files opened with an access mode of O_WRONLY and O_TRUNC.
Output File Lock
*SHRNUP
Message Queue
*USE
Message Queue Library
*EXECUTE
User Space Lock
*EXCLRD
Job Authority

For additional information on job authorities, see Plan and set up system security.


Required Parameter Group

Destination information
INPUT; CHAR(*)

Provides information about the destination for the generated XML output.


Destination format name
INPUT; CHAR(8)

The destination format to determine where the generated XML output will be stored. Possible values are:

DEST0100 Return the XML output in the receiver variable.
DEST0200 Return the XML output in a stream file using the path name coded in the destination information parameter.

Receiver variable
OUTPUT; CHAR(*)

The variable that is to receive the generated XML output. The variable is used only when the destination format name is DEST0100. If the receiver variable is not large enough to hold all of the generated XML output, no XML output is returned.

Receiver format name
INPUT; CHAR(8)

The format of the generated XML output to be returned. You must use one of the following format names:

SIRV0100 The information returned to the caller of this API. For more information, see SIRV0100 Format.

Service selection information
INPUT; CHAR(*)

The information that identifies the source of the service information to be returned. The format of this information depends on the specified Service selection format name.


Service selection format name
INPUT; CHAR(8)

Indicates where the service information will be retrieved from. The possible values are:

SSIF0100 The list of messages will be retrieved from a nonprogram message queue as specified in SSIF0100 Service Selection Information from a Nonprogram Message Queue Format.
SSIF0200 The list of messages will be retrieved from a program message queue of a job as specified in SSIF0200 Service Selection Information from a Porgram Message of a Job Format.
SSIF0300 The list of messages will be retrieved from the History Log as specified in SSIF0300 Service Selection Information from the History Log.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter.


DEST0100 Format

The following information needs to be supplied in the destination information parameter (parameter 1) for the DEST0100 format.
Offset Type Field
Dec Hex
0 0 BINARY(4) Length of receiver variable


Field Descriptions

Length of receiver variable. The length of the receiver variable. If the length is larger than the size of the receiver variable, the results may not be predictable. The minimum length is 8 bytes.


DEST0200 Format

The destination information parameter (parameter 1) specifies the file path name where the generated XML output is to be returned for the DEST0200 format. See Path name format for information on specifying the output stream file path name.


SIRV0100 Format

The following information is returned in the receiver variable for the DEST0100 format.

Offset Type Field
Dec Hex
0 0 BINARY(4) Bytes returned
4 4 BINARY(4) Bytes available
8 8 BINARY(4) XML data length
12 C CHAR(*) XML data


Field Descriptions

Bytes available. The number of bytes of data available to be returned. All available data is returned if enough space is provided.

Bytes returned. The number of bytes of data returned.

XML data. The XML output of the service information returned. If the receiver variable is not large enough to hold the entire XML output or if an unexpected error occurs while writing to the receiver variable, no data will be returned.

XML data length. The length of the XML data being returned.


SSIF0100 Service Selection Information from a Nonprogram Message Queue Format

Offset Type Field
Dec Hex
0 0 CHAR(10) Message queue name
10 0A CHAR(10) Message queue library


Field Descriptions

Message queue library. The name of the library where the message queue is located.

Message queue name. The name of the message queue whose messages are to be listed.


SSIF0200 Service Selection Information from a Program Message Queue of a Job Format

Offset Type Field
Dec Hex
0 0 CHAR(26) Qualified job name


Field Descriptions

Qualified job name. The name of the job whose messages are to be listed. The qualified job name has three parts:

Job name CHAR(10)A specific job name or one of the following special value:
* The job that this program is running in. The rest of the qualified job name parameter must be blank.
User name CHAR(10) A specific user profile name, or blanks when the job name is the special value of *.
Job number CHAR(6) A specific job number, or blanks when the job name is the special value of *.

SSIF0300 Service Selection Information from the History Log

Offset Type Field
Dec Hex
0 0 BINARY(4) Length of the fixed portion of the information
4 4 CHAR(10) Start date
14 E CHAR(10) Start time
24 18 CHAR(6) Start after time microseconds
30 1E CHAR(10) End by date
40 28 CHAR(10) End by time
50 32 CHAR(6) End by time microseconds
56 38 BINARY(4) Message ids list contents indicator
60 3C BINARY(4) Offset to list of message ids
64 40 BINARY(4) Number of messages ids in list
68 44 BINARY(4) Offset to jobs to list
72 48 BINARY(4) Number of jobs to list
76 4C BINARY(4) Message severity
80 50 BINARY(4) Message types list contents indicator
84 54 BINARY(4) Offset to list of message types
88 58 BINARY(4) Number of message types in list
92 5C CHAR(*) Reserved
* * CHAR(*) Message ids list
* * CHAR(*) Jobs to list
* * CHAR(*) Message types list


Field Descriptions

End by date. Specifies the ending date for messages and jobs to be listed. If blank, *END will be used.

One of the following is used to specify the ending date before which or on which the data must have been logged.

*CURRENT
The current day is the last day for which logged data is listed.
*END
The last day on which data was logged is the last day for which the logged data is listed. If *END is specified, an ending time value other than *AVAIL is ignored.
end-date
The format of this field is in CYYMMDD as follows, with the last 3 bytes of the field ignored:
C Century, where 0 indicates years 19xx and 1 indicates years 20xx.
YY Year
MM Month
DD Day

End by time. Specifies the ending time for messages and jobs to be listed. If blank, *AVAIL will be used.

One of the following is used to specify the ending time before which the data must have been logged.

*AVAIL
Any logged data that is available for the specified ending date is listed.
end-time
Specify the ending time for the specified ending date that indicates the logged data to be listed. The time is specified in 24-hour format and the format of this field is in the HHMMSS as follows, with the last 4 bytes of the field ignored:
HH Hour
MM Minute
SS Second

End by time microseconds. Specifies the ending times microseconds. Messages will be listed up to and including this time if available. If blank, 0 will be used.

Jobs to list. Specifies the specific jobs (if any) for which messages in the log are listed. The messages for the specified jobs are retrieved only if they were logged in the period of time, message severity, message types and messages specified on the call. If the offset and number of jobs to list are 0 all available jobs will be listed.

A job name can be qualified with up to three elements.

Any other qualifications would result in all jobs being listed. For example, if a user-name was listed with blanks for the job-name and job-number then the job data would be ignored and all jobs would be returned.

Format of the Jobs to list:
These fields repeat for each job specified. CHAR(10) Job name
CHAR(10) User name
CHAR(6) Job number

If a job name is not qualified with a user name and number, all jobs by that name in the log, within the selection will have their messages returned. Use blanks for the job-number or user-name if the job-name is to be listed for all job-number/user-names. Up to 5 jobs are supported.

Length of the fixed portion of the information. Specifies the length of the fixed portion of the selection information. It must be set to 92.

Message IDs list. Specifies the specific message IDs to be retrieved or omitted. Up to 100 message IDs are supported. If not specified, all of the messages will be listed for the jobs, message severity, message types and times specified. If the offset list contents indicator and number message IDs are 0 all available messages will be listed. To select specific generic types of messages, specify the 3-character code that identifies the message file followed by all zeros. For example, CPF0000 specifies that all CPF messages that meet the specifications of the previous parameters are selected or omitted. If an identifier is specified as pppnn00, any message beginning with the specified five characters (pppnn) can be selected or omitted.

Format of Message IDs list:

This field repeats for each message ID specified. Char(7) Message ID

Message IDs list contents indicator. Specifies if the messages IDs in the list are to be omitted or selected. To omit the message ids in the list set this field to 1. To select the message ids in the list set this field to 0. If not specified, 0 will be used.

Message severity. The minimum severity of the messages to be listed. Possible values are 0 through 99. Specify 0 to list all messages for the jobs, times, message types and message ids specified. If not specified, 0 will be used.

Message types list. Specifies the specific message types to be retrieved or omitted. Up to 10 message types are supported. If not specified all of the messages will be listed for the jobs, message severity and times specified. If the offset and number of message types are 0, all available message types will be listed.

Format of Message types list:

This field repeats for each message type specified. Char(10) Message type

Valid message type values and their meanings follow:

Value Message type
*COMP Completion
*COPY Copy
*DIAG Diagnostic
*ESCAPE Escape
*INFO Informational
*INQ Inquiry
*NOTIFY Notify
*RPY Reply
*RQS Request

Message types list contents indicator. Specifies if the message types in the list are to be omitted or selected. To omit the message types in the list set this field to 1. To select the message types in the list set this field to 0. If not specified, 0 will be used.

Number of jobs to list. Specifies the number of jobs to list. Specifying 0 for this field will list all jobs available for the time, message severity, message types and message ids specified. A maximum of 5 jobs can be specified. If the number of jobs to list does not match the number of jobs specified unpredictable results may occur. If not specified, 0 will be used.

Number of message IDs in list. Specifies the number of message ids in the list. Specifying 0 for this field will list all messages available for the time, jobs, message types and severity level specified. A maximum of 100 message ids can be specified. If the number of message ids in list does not match the message ids in the list unpredictable results may occur. If not specified, 0 will be used.

Number of message types in list. Specifies the number of message types in the list. Specifying 0 for this field will list all message types available for the time, jobs, message ids and severity level specified. A maximum of 9 message types can be specified. If the number of message types in list does not match the message types in the list unpredictable results may occur. If not specified, 0 will be used.

Offset to jobs to list. The offset, in bytes, from the beginning of the message selection information format to the beginning of the jobs to list entry. Specifying 0 for this field and number of jobs to list will list all jobs available for the time, message severity, message types and message ids specified. If this is set to 0, the number of jobs to list must also be set to 0. If not specified, 0 will be used.

Offset to list of message IDs. The offset, in bytes, from the beginning of the message selection information format to the beginning of the message ids list entry. Specifying 0 for this field, message IDs list contents indicator and number of message IDs in list will list all messages available for the time, message severity, message types and jobs to list specified. If this is set to 0, the number of message ids in list must also be set to 0. If not specified, 0 will be used.

Offset to list of message types. The offset, in bytes, from the beginning of the message selection information format to the beginning of the message types list entry. Specifying 0 for this field, message types list contents indicator and number of message types in list will list all message types available for the time, message IDs, message severity and jobs to list specified. If this is set to 0 the number of message types in list must also be set to 0. If not specified, 0 will be used.

Reserved. An ignored field.

Start date. Specifies the starting date for messages and jobs to be listed. If not specified, *CURRENT will be used.

One of the following is used to specify the starting date on which or after which the data must have been logged. Any entries logged before the specified date are not listed.

*CURRENT
The logged data for the current day and between the specified starting and ending times (if specified) is listed.
*BEGIN
The logged data from the beginning of the log is listed.
start-date
The format of this field is in the CYYMMDD as follows, with the last 3 bytes of the field ignored:
C Century, where 0 indicates years 19xx and 1 indicates years 20xx.
YY Year
MM Month
DD Day

Start time. Specifies the starting time for messages and jobs to be listed. If not specified, *AVAIL will be used.

One of the following is used to specify the starting time at which or after which the data must have been logged. Any entries logged before the specified time and date are not listed.

*AVAIL
Any logged data that is available for the specified starting date is listed.
start-time
Specify the starting time for the specified starting date that indicates the logged data to be listed. The time is specified in 24-hour format and the format of this field is in the HHMMSS as follows, with the last 4 bytes of the field ignored:
HH Hour
MM Minute
SS Second

Start after time microseconds. Specifies the starting times microseconds to be used. The messages listed will be listed after this time. If blank, 0 will be used.


Usage Notes

The output file path name is represented by the 'Path name' field in the 'Path Name Format' structure when using the DEST0200 destination format. The output file path name is used to store the generated XML output. The output stream file is opened for writing only, in text-only mode, in CCSID 1208, and allows sharing with readers only. If the output stream file exists, the file is truncated to zero length before writing any data. If the output stream file already exists, it should have been created with a CCSID of 1208; otherwise, the resulting XML output may not be usable. If the output file does not exist, it will be created with a CCSID of 1208 before attempting to write the XML output to it. The output file is created so that the file owner has read and write permission to it. The output file can be replaced if the user has the authority to do so. For more information on authority requirements for stream files, see the open()--Open File API in the Integrated File System section of the APIs in the Information Center.


Error Messages

The following messages may be sent from this function:

Message ID Error Message Text
CPE3006 E Input/output error.
CPE3014 E The object name is not correct.
CPE3021 E The value specified for the argument is not correct.
CPE3025 E No such path or directory.
CPE3027 E Operation not permitted.
CPE3029 E Resource busy.
CPE3401 E Permission denied.
CPE3403 E Not a directory.
CPE3404 E No space available.
CPE3406 E Operation would have caused the process to be suspended.
CPE3407 E Interrupted function call.
CPE3408 E The address used for an argument was not correct.
CPE3436 E There is not enough buffer space for the requested operation.
CPE3440 E Operation not supported.
CPE3450 E Descriptor not valid.
CPE3452 E Too many open files for this process.
CPE3453 E Too many open files in the system.
CPE3460 E Storage allocation request failed.
CPE3470 E Function not implemented.
CPE3471 E Specified target is a directory.
CPE3474 E Unknown system state.
CPE3484 E A damaged object was encountered.
CPE3485 E A loop exists in the symbolic links.
CPE3486 E A path name is too long.
CPE3489 E System resources not available to complete request.
CPE3490 E Conversion error.
CPE3499 E Object is suspended.
CPE3500 E Object is a read only object.
CPE3507 E Object too large.
CPE3511 E File ID conversion of a directory failed.
CPE3512 E A File ID could not be assigned when linking an object to directory.
CPE3513 E File handle rejected by server.
CPE3524 E Function not allowed.
CPFA09E E Object in use. Object is &1.
CPF2207 E Not authorized to use object &1 in library &3 type *&2.
CPF24B4 E Severe error while addressing parameter list.
CPF2401 E Not authorized to library &1.
CPF2403 E Message queue &1 in &2 not found.
CPF2408 E Not authorized to message queue &1.
CPF2433 E Function not allowed for system log message queue &1.
CPF2441 E Not authorized to display job log.
CPF2443 E Job log not displayed or listed because job has ended.
CPF2447 E No entries exist in current version of log.
CPF2480 E Requested version of log damaged.
CPF2499 E Message identifier &1 not allowed.
CPF2519 E Error occurred while processing message ID list.
CPF3CF1 E Error code parameter not valid.
CPF3C19 E Error occurred with receiver variable specified.
CPF3C21 E Format name &1 is not valid.
CPF3C53 E Job &3/&2/&1 not found.
CPF3C55 E Job &3/&2/&1 does not exist.
CPF3C58 E Job name specified is not valid.
CPF3C90 E Literal value cannot be changed.
CPF6565 E User profile storage limit exceeded.
CPF8100 E All CPF81xx messages could be returned. xx is from 01 to FF.
CPF9801 E Object &2 in library &3 not found.
CPF9803 E Cannot allocate object &2 in library &3.
CPF9821 E Not authorized to program &1 in library &2.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.
CPF2403 E Message queue &1 in &2 not found.
CPF2408 E Not authorized to message queue &1.
CPF2433 E Function not allowed for system log message queue &1.



API introduced: V5R4

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