z/OS MVS Programming: Sysplex Services Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Return and Reason Codes

z/OS MVS Programming: Sysplex Services Reference
SA38-0658-00

When the IXCMSGIX macro returns control to your program:
  • GPR 15 (and retcode, if you coded RETCODE) contains a return code.
  • GPR 0 (and rsncode, if you coded RSNCODE) contains a reason code, if applicable.
Macro IXCYCON provides equate symbols for the return and reason codes. The equate symbols associated with each hexadecimal return code are as follows:
0
IXCRETCODEOK
4
IXCRETCODEWARNING
8
IXCRETCODEPARMERROR
C
IXCRETCODEENVERROR
10
IXCRETCODECOMPERROR

The following table identifies the hexadecimal return and reason codes and the equate symbol associated with each reason code.

Table 1. Return and Reason Codes for the IXCMSGIX Macro

Hexadecimal
Return Code

Hexadecimal
Reason Code

Equate Symbol
Meaning and Action

00 None. Meaning: IXCMSGIX completed successfully; the message data has been received as specified.

Action: None.

04 224 Equate Symbol: IXCMSGIRSNSTILLMOREDATA

Meaning: The total amount of buffer storage was insufficient. The buffers contain as much of the message as could fit. There is more message data to receive.

This return code and reason code are only returned if you specified MULTIPART=YES.

Action: Continue to reissue the IXCMSGIX macro to receive the remainder of the message. Alternately, you could save or discard the remainder of the message.

08 04 Equate Symbol: IXCMSGIRSNMSGBUFBADSTG

Meaning: Program error. XCF could not access the buffer specified by MSGBUF.

Action: Check for errors such as the following;
  • The buffer address is incorrect.
  • The buffer was previously freed.
  • If your program is running in AR mode, check for the following types of errors:
    • The message buffer ALET is incorrect.
    • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
08 08 Equate Symbol: IXCMSGIRSNMSGALREADYDELIVERED

Meaning: Program error. XCF already delivered the message, and it is no longer available.

Action: If this result was acceptable, no action might be necessary. Otherwise, check for errors such as the following:
  • You specified an incorrect message token.
  • You tried to receive the same message more than once.
  • Your user routine is not reentrant.
08 09 Equate Symbol: IXCMSGIRSNMEMBERNOTACTIVE

Meaning: Program error. The message is no longer available because the member is no longer active.

Action: If this result was acceptable, no action might be necessary. Otherwise:
  • Check to see if you specified an incorrect message token.
  • Have your user routine give up control.
08 0C Equate Symbol: IXCMSGIRSNMSGBUFBADALET

Meaning: Program error. The ALET that qualifies the address of the buffer specified by MSGBUF must be zero, a public entry on your DU-AL, or an entry for a common area data space.

Action: Check for errors such as the following:
  • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
  • You specified an incorrect buffer area ALET.
08 40 Equate Symbol: IXCMSGIRSNPLISTRSVDNOTVALID

Meaning: Program error. A reserved field in the control parameter list was not zero.

Action: Check for errors such as the following:
  • Your program overlaid the control parameter list storage.
  • Your program was assembled with the wrong macro library for the release of z/OS on which your program is running.
08 44 Equate Symbol: IXCMSGIRSNMSGTOKENNOTVALID

Meaning: Program error. The message token was not valid.

Action: Check for errors such as the following:
  • The message token you specified was not the one contained in the MEPLMTOK field of the MEPL, the MEPLMSGITOKEN field of the MEPL, or the MNPLTRMSGITOKEN field of the MNPL.
  • Your program overlaid the control parameter list storage.
  • Your program is not reentrant.
08 45 Equate Symbol: IXCMSGIRSNUSETOKENKEYWORD

Meaning: Program error. MSGTOKEN is not valid. Use the TOKEN keyword.

Action: Correct your program to use the TOKEN keyword, which is required when invoking a message user routine through a message notify user routine.

08 100 Equate Symbol: IXCMSGIRSNPLISTBADALET

Meaning: Program error. The ALET that qualified the address of the control parameter list was not zero.

Action: Check for errors such as the following:
  • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
  • The ALET for the parameter list storage was not zero (primary address space ALET).
    Note: The ALET for the control parameter list must be zero.
08 104 Equate Symbol: IXCMSGIRSNPLISTVERSIONNOTVALID

Meaning: Program error. The version number in the control parameter list was not valid.

Action: Check for errors such as the following:
  • Your program overlaid the control parameter list storage.
  • Your program was assembled with the wrong macro library for the release of z/OS on which your program is running.
08 10C Equate Symbol: IXCMSGIRSNPLISTBADSTG

Meaning: Program error. The control parameter list could not be accessed.

Action: Check for errors such as the following:
  • You specified an incorrect address for the control parameter list.
  • The control parameter list storage area had been previously freed.
08 20C Equate Symbol: IXCMSGIRSNMSGBUFSTGKEYMISMATCH

Meaning: Program error. The service could not store the message data into the buffer area specified by MSGBUF using the storage key specified by MSGSTGKEY or the default storage key (if MSGSTGKEY was not specified, or if MSGSTGKEY=JOINKEY was specified).

Action: Check for errors such as the following:
  • The buffer area was allocated in a storage key that did not match the key specified using the MSGSTGKEY parameter.
  • MSGSTGKEY was not specified, or MSGSTGKEY=JOINKEY was specified, and the buffer area was allocated in a storage key that did not match the key of the caller of IXCJOIN.
08 20D Equate Symbol: IXCMSGIRSNMSGBUFPAGEPROTECT

Meaning: Program error. The buffer specified by MSGBUF was page-protected (read-only) so the message data could not be placed in the buffer area.

Action: Provide IXCMSGIX with buffer storage that is not page-protected.

08 210 Equate Symbol: IXCMSGIRSNPARTPTROFFBADSTG
Meaning: Program error. The element is not accessible. The address within an element at the offset specified by PARTPTROFF is not accessible. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the invalid address. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the invalid address.
Action: Check for errors such as the following:
  • You specified an incorrect element address.
  • Your program overlaid the element address.
  • The element had been previously freed.
  • You specified an incorrect number of buffers to receive the message.
  • The message data element is damaged or has not maintained the integrity of its data.
  • You specified an incorrect end-of-queue value.
  • If your program is running in AR mode, check for the following:
    • You specified the wrong ALET for the buffer.
    • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
08 212 Equate Symbol: IXCMSGIRSNELEMENTBADALET

Meaning: Program error. The ALET that qualifies the address of an ELEMENT must be zero, a public entry on your DU-AL or an entry for a common area data space.

Action: Check for errors such as the following:
  • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
  • You specified the wrong ALET for the element.
08 213 Equate Symbol: IXCMSGIRSNNEXTPTROFFBADSTG
Meaning: Program error. The next element pointer at offset NEXTPTROFF within an ELEMENT is not accessible. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the ELEMENT containing the incorrect NEXTPTROFF field. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the incorrect address.
Action: Check for errors such as the following:
  • You specified an incorrect element address.
  • Your program overlaid the element address.
  • You specified an incorrect number of buffers to receive the message.
  • The message data element is damaged or has not maintained the integrity of its data.
  • You specified an incorrect end-of-queue value.
08 214 Equate Symbol: IXCMSGIRSN#MSGPARTSZERO

Meaning: Program error. The value specified by the #MSGPARTS parameter was zero but must be greater than zero.

Action: Specify a value greater than zero for #MSGPARTS or omit the #MSGPARTS parameter.

08 215 Equate Symbol: IXCMSGIRSNTOOMANYZEROLENPARTS

Meaning: Program error. The message data element table or queue is assumed to be damaged. You omitted the #MSGPARTS parameter, and XCF processed more than 65,536 consecutive elements with buffers of length zero.

Action: Check for errors such as the following:
  • You specified PARTLEN with a value of zero.
  • You specified PARTLENTBL but the address of the table was not correct.
  • You specified PARTLENOFF with an incorrect value.
  • You specified an incorrect end-of-queue value.

Ensure that the elements have not been corrupted.

Specify the #MSGPARTS parameter when invoking IXCMSGIX.

08 218 Equate Symbol: IXCMSGIRSNPARTPTROFF@BADSTG
Meaning: Program error. A buffer whose address was at the offset specified by PARTPTROFF could not be accessed. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the incorrect address. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the incorrect address.
Action: Check for errors such as the following:
  • The buffer address is incorrect.
  • The buffer was previously freed.
  • You specified PARTPTROFF with an incorrect value.
  • If your program is running in AR mode, check for the following types or errors:
    • You specified the wrong ALET for the buffer.
    • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
08 219 Equate Symbol: IXCMSGIRSNPARTOFFBADSTG
Meaning: Program error. A buffer located at the offset specified by PARTOFF could not be accessed. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the buffer that could not be accessed. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the buffer that could not be accessed.
Action: Check for errors such as the following:
  • The storage containing the element has been freed.
  • The PARTOFF value is incorrect.
  • The storage containing the element has been overlaid.
08 21A Equate Symbol: IXCMSGIRSNPARTPTROFF@PAGEPROTECT
Meaning: Program error. A buffer whose address was at the offset specified by PARTPTROFF could not be used because it was page-protected (read-only). In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the address of the page-protected buffer. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the address of the page-protected buffer.

Action: Provide IXCMSGIX with buffer storage that is not page-protected.

08 21B Equate Symbol: IXCMSGIRSNPARTOFFPAGEPROTECT
Meaning: Program error. A buffer located at the offset specified by PARTOFF could not be used because it was page-protected (read-only). In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the page-protected buffer. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the page-protected buffer.

Action: Provide IXCMSGIX with buffer storage that is not page-protected.

08 21C Equate Symbol: IXCMSGIRSNPARTPTROFF@KEYMISMATCH
Meaning: Program error. XCF could not store the message data into a buffer whose address was at the offset specified by PARTPTROFF using the storage key specified by MSGSTGKEY or the default storage key (if MSGSTGKEY was not specified, or if MSGSTGKEY=JOINKEY was specified). In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the address of the buffer that could not be accessed. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the address of the buffer that could not be accessed.
Action: Check for errors such as the following:
  • The buffer was allocated in a storage key that did not match the key specified using the MSGSTGKEY parameter.
  • MSGSTGKEY was not specified or if MSGSTGKEY=JOINKEY was specified, and the buffer area was allocated in a storage key that did not match the key of the caller of IXCJOIN.
08 21D Equate Symbol: IXCMSGIRSNPARTOFFKEYMISMATCH
Meaning: Program error. XCF could not store the message data into a buffer area located at the offset specified by PARTOFF using the storage key specified by MSGSTGKEY or the default storage key (if MSGSTGKEY was not specified or if MSGSTGKEY=JOINKEY was specified). In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the buffer that could not be accessed. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the buffer that could not be accessed.
Action: Check for errors such as the following:
  • The buffer area was allocated in a storage key that did not match the key specified using the MSGSTGKEY parameter.
  • MSGSTGKEY was not specified, or if MSGSTGKEY=JOINKEY was specified, and the buffer area was allocated in a storage key that did not match the key of the caller of IXCJOIN.
08 220 Equate Symbol: IXCMSGIRSNPARTLENTBLBADSTG

Meaning: Program error. The table specified by PARTLENTBL could not be accessed.

Action: Check for errors such as the following:
  • PARTLENTBL was inadvertently freed.
  • The element was overlaid.
  • You specified an incorrect address for the table specified by PARTLENTBL.
08 221 Equate Symbol: IXCMSGIRSNPARTLENTBLNOTWORDBDY

Meaning: Program error. The table specified by PARTLENTBL does not begin on a fullword boundary.

Action: Ensure that the table specified by PARTLENTBL begins on a fullword boundary.

08 222 Equate Symbol: IXCMSGIRSNPARTLENTBLBADALET

Meaning: Program error. The ALET that qualifies the address of PARTLENTBL must be zero, a public entry on your DU-AL, or an entry for a common area data space.

Action: Check for errors such as the following:
  • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
  • You specified the wrong ALET for PARTLENTBL.
08 223 Equate Symbol: IXCMSGIRSNPARTLENOFFBADSTG
Meaning: Program error. The buffer length located at the offset specified by PARTLENOFF could not be accessed within an ELEMENT. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the buffer length that could not be accessed. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the buffer length that could not be accessed.
Action: Check for following types of errors:
  • The storage containing the element has been freed.
  • The PARTLENOFF value is incorrect.
  • The storage containing the element has been overlaid.
  • You specified an incorrect number of buffers to receive the message.
  • The message data element is damaged or has not maintained the integrity of its data.
  • You specified an incorrect end-of-queue value.
08 230 Equate Symbol: IXCMSGIRSNPARTALETTBLBADSTG

Meaning: Program error. The table specified by PARTALETTBL could not be accessed.

Action: Check for errors such as the following:
  • PARTALETTBL was inadvertently freed.
  • PARTALETTBL was overlaid or incorrect.
  • You specified an incorrect address for the table specified by PARTALETTBL.
08 231 Equate Symbol: IXCMSGIRSNPARTALETTBLNOTWORDBDY

Meaning: Program error. The table specified by PARTALETTBL does not begin on a fullword boundary.

Action: Ensure that the table specified by PARTALETTBL begins on a fullword boundary.

08 232 Equate Symbol: IXCMSGIRSNPARTALETTBLBADALET

Meaning: Program error. The ALET that qualifies the address of PARTALETTBL must be zero, a public entry on your DU-AL, or an entry for a common area data space.

Action: Check for errors such as the following:
  • You did not specify SYSSTATE ASCENV=AR before issuing the IXCMSGIX macro.
  • You specified the wrong ALET for PARTALETTBL.
08 233 Equate Symbol: IXCMSGIRSNPARTALETOFFBADSTG
Meaning: Program error. The ALET located at the offset specified by PARTALETOFF could not be accessed. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the ALET that could not be accessed. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the ALET that could not be accessed.
Action: Check for errors such as the following:
  • The storage containing the element has been freed.
  • The PARTALETOFF value is incorrect.
  • The storage containing the element has been overlaid.
  • You specified an incorrect number of buffers to receive the message.
  • The message data element is damaged or has not maintained the integrity of its data.
  • You specified an incorrect end-of-queue value.
08 234 Equate Symbol: IXCMSGIRSNPARTALET@BADALET

Meaning: Program error. The ALET specified by PARTALET was not valid. The ALET must be zero, a valid public entry on your DU-AL, or an entry for a common area data space.

Action: Specify an ALET that is zero, a public entry on your DU-AL, or an entry for a common area data space.

08 235 Equate Symbol: IXCMSGIRSNPARTALETTBL@BADALET
Meaning: Program error. An ALET specified in a PARTALETTBL entry was not valid. Each ALET must be zero, a public entry on your DU-AL, or an entry for a common area data space. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the ALET that was not valid. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the ALET that was not valid.

Action: Correct the ALET.

08 236 Equate Symbol: IXCMSGIRSNPARTALETOFF@BADALET
Meaning: Program error. An ALET specified at the offset designated by PARTALETOFF was not valid. Each ALET must be zero, a public entry on your DU-AL, or an entry for a common area data space. In the parameter list generated by IXCMSGIX:
  • The field, PART#, indicates the index of the element containing the ALET that was not valid. PART# values start with 1.
  • The field, ELEMENTPTR, contains the address of the element containing the ALET that was not valid.

Action: Correct the ALET.

Check for errors such as the following:
  • You specified an incorrect number of buffers to receive the message.
  • The message data element is damaged or has not maintained the integrity of its data.
  • You specified an incorrect end-of-queue value.
08 237 Equate Symbol: IXCMSGIXRSNSTARTOFFSETBADVALUE

Meaning: Program error. The specified STARTOFFSET value places the starting read position beyond the range of available user message data.

Action: Ensure that STARTOFFSET indicates a value that is less than or equal to the available user message data to be returned. Note that if partial data was returned on a prior IXCMSGIX call, the amount of available user message data is MEPLMLEN less the amount of data already returned.

08 010Cxxxx Equate Symbol: IXCMSGIRSNPLISTNOPARTINFOBADSTG

Meaning: Program error. A parameter specifying information on a request with MULTIPART=YES was not valid. The system was unable to store the erroneous information in the PART# and ELEMENTPTR fields in the parameter list generated by IXCMSGIX because it could not access the parameter list. The low-order half word of the reason code (xxxx) indicates the reason code for the error that would have been returned if the parameter list had been accessible.

Action: The control parameters must be in the primary address space. Make sure that the storage for the parameter list was not inadvertently freed.

10 None. Meaning: System error. XCF processing failed.

Action: Retry the request one or more times. If the problem persists, record the return and reason code and supply it to the appropriate IBM® support personnel.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014