z/OS MVS Programming: JES Common Coupling Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


IXZXIXAC - acknowledge receipt of a message

z/OS MVS Programming: JES Common Coupling Services
SA23-1387-00

Use the IXZXIXAC macro to acknowledge that a message has been received and processed. You must issue IXZXIXAC to acknowledge the message after you issue the IXZXIXRM macro to receive it. Optionally, you can return to the sender a return code and one data segment along with the acknowledgement.

Refer to Acknowledging Receipt of a Message (IXZXIXAC Macro) for a description of using IXZXIXAC to acknowledge messages.

Environment

The requirements for the caller are:

Table 1. Environment
Variable Value
JES environments:
  • JES2 or JES3 main task
  • JES2 or JES3 subtask
  • JES3 FSS
Minimum authorization: Supervisor state with PSW key 0 or 1
Dispatchable unit mode: Task
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 31
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks held
Control parameters: None

Programming Requirements

JES2 programs must include the $MODULE macro so it is invoked before IXZXIXAC is invoked.

JES3 programs must include the ENVIRON= keyword on the IATYMOD macro so it is invoked before IXZXIXAC is invoked.

Restrictions

Do not issue IXZXIXAC until JES initialization processing has established an attachment to the JES XCF group; that is, after IXZXIT03 processing has completed.

Input Register Information

Before issuing the IXZXIXAC macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.

Output Register Information

When IXZXIXAC returns control, the general purpose registers (GPRs) contain:
Register
Content
0
Reason code
1
Used as work registers by the system
2-13
Unchanged
14
Used as work registers by the system
15
Return code
When IXZXIXAC returns control, the access registers (ARs) contain:
Register
Content
0,1
Used as a work register by the system
2-13
Unchanged
14,15
Used as a work register by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance Implications

None

Syntax

Read syntax diagramSkip visual syntax diagram
>>-+-------+--IXZXIXAC----MSGTOKEN--=--msgtoken----------------->
   '-label-'                                        

   .-,--USERRC--=--NONE---.   
>--+----------------------+------------------------------------->
   '-,--USERRC--=--userrc-'   

>--+----------------------------------------------+------------->
   '-,--DATA--=--data----,--DATALEN--=--datalen---'   

>----,--GROUPTOKEN--=--grouptoken------------------------------->

>--+------------------------+--+------------------------+------->
   '-,--RTNCODE--=--rtncode-'  '-,--RSNCODE--=--rsncode-'   

   .-,--MF--=--S---------------------------------------.   
>--+---------------------------------------------------+-------><
   |                              .-,--0D-----.        |   
   '-,--MF--=--+-(--L--,--mfctrl--+-----------+--)---+-'   
               |                  '-,--mfattr-'      |     
               |                  .-,--COMPLETE-.    |     
               '-(--E--,--mfctrl--+-------------+--)-'     

Parameters

label
Specifies an optional symbol, starting in column 1, to be used as the name on the IXZXIXAC macro invocation.

Default: no name

MSGTOKEN=msgtoken
Specifies the name (RS-type) or address (in GPR2-GPR12) of a required 64-bit input field that contains the message token returned from the message receive macro (IXZXIXRM).

Default: none

USERRC=userrc | NONE
Specifies the name (RS-type) or address (in GPR2-GPR12) of an optional fullword input field that contains a user-specified return code that is passed back to the sender of the original message.

Default: NONE. If you do not specify a value for USERRC=, JES XCF returns an indication (in field RC_PROVIDED of the IXZYIXAC mapping macro) that a return code is not set.

DATA=data
Specifies the name (RS-type) or address (in GPR2-GPR12) of an optional fullword input field that contains the address of the message data that is to be returned with the acknowledgement. If you specify DATA=, you must also specify DATALEN=.

Default: none

DATALEN=datalen
Specifies the name (RS-type) or address (in GPR2-GPR12) of a fullword input field that contains the length of the message data to be sent. The message length must be a positive decimal integer with a value of 0 to 60 (kilobytes). If you specify DATALEN=, you must also specify DATA=.

Default: none

GROUPTOKEN=grouptoken
Specifies the name (RS-type) or address (in GPR2-GPR12) of a required fullword input field that contains the group token. If you are using the JES XCF group token to communicate, refer to Retrieving the JES XCF Group Token for the procedure for retrieving the JES group token. If you are using an installation-defined group token to communicate, use the group token returned in the field specified by GROUPTOKEN= on the IXZXIXAT macro following attach processing.

Default: none

RTNCODE=rtncode
Specifies the name (RS-type) of an optional fullword output field or register (GPR2-GPR12) into which the return code is copied from GPR 15.

Default: none

RSNCODE=rsncode
Specifies the name (RS-type) of an optional fullword output field or register (GPR2-GPR12) into which the reason code is copied from GPR 0.

Default: none

MF=S | L | E
Specifies the form of the macro as standard (S), list (L), or execute (E). This keyword is optional.
MF=S
Specifies the standard form of the macro; that is, to build the in-line parameter list and invoke the desired service. Processing also includes checking for all required keywords and supplying defaults, if any, for omitted optional parameters.
MF=(L,mfctrl{,mfattr | 0D})
Specifies the list form of the macro; that is, defining an area to be used for the parameter list. If you code MF=L, do not code anything else except a label, the macro name, and the following values:
mfctrl
Specifies the name of a storage area to contain the parameters.
mfattr ³ 0D
Specifies an optional 1- to 60-character input string, which can contain any value that is valid on an assembler DS pseudo-op. You can use this parameter to force boundary alignment of the parameter list. If you do not code mfattr, the system provides a value of 0D, which forces the parameter list to a doubleword boundary.

Default: 0D

MF=(E,mfctrl,COMPLETE)
Specifies the execute form of the macro; that is, builds the parameter list specified by mfctrl. Processing also includes checking for all required keywords and supplying defaults, if any, for omitted optional parameters.
mfctrl
Specifies the name (RS-type) or address (in GPR1-GPR12) of a storage area for the parameter list.
COMPLETE
Specifies the desired degree of macro parameter syntax checking. Syntax checking includes checking for all required keywords and supplying default values, if any, for all omitted optional parameters.

Default: COMPLETE

Default: S

ABEND Codes

When control returns to your program, if you receive a return code of X'C', it indicates that processing failed because the IXZXIXAC service ended abnormally, and you will also receive an associated ABEND code. Refer to z/OS MVS System Codes for a description of the following possible ABEND codes:
DC5
JES XCF detected an unrecoverable error during attach or detach processing.
EC5
JES XCF detected an unrecoverable error while attempting recovery from a previous abend.

Return and reason codes

When the IXZXIXAC macro returns control to your program, GPR 15 (and rtncode if you coded RTNCODE) contains the return code and GPR 0 (and rsncode if you coded RSNCODE) contains the reason code.

Return Code (hex) Reason Code (hex) Meaning and Action
0 0 Meaning: Processing was successful. The message was acknowledged.

Action: None

4 4 Meaning: Processing failed because the parameter list passed to the IXZXIXAC service contained an eyecatcher that was not valid.

Action: Check the parameter list to be certain it was not overlaid with other data.

4 8 Meaning: Processing failed because the parameter list passed to the IXZXIXAC service had a version indicator that was not valid.

Action: The module that called IXZXIXAC might need to be recompiled. Check the parameter list to be certain it was not overlaid with other data.

4 C Meaning: Processing failed because the group token passed to the IXZXIXAC service was not valid.

Action: Verify that the correct group token is being passed to IXZXIXAC.

4 10 Meaning: Processing failed because the IXZXIXAC macro was issued on a member that is detaching.

Action: Check to be certain this is not a symptom of a serialization problem within your JES XCF group.

4 14 Meaning: Processing failed because the message token passed to the IXZXIXAC service is not valid.

Action: Verify that the correct message token is being passed to IXZXIXAC.

4 18 Meaning: Processing failed because the parameter list passed to the IXZXIXAC service did not contain a DATALEN= specification.

Action: Be certain that DATALEN= is specified when the DATA= parameter is used.

4 1C Meaning: Processing failed because the parameter list passed to the IXZXIXAC service contains a DATALEN= value that is not valid.

Action: Be certain that the DATALEN= value was not negative or too large. DATALEN= must be a positive decimal integer up to 60 kilobytes.

8 0 Meaning: Exit IXZXIT01 failed. The acknowledgement being processed at the time IXZXIT01 failed is lost.

Action: Review your IXZXIT01 code for coding errors, correct the error, and rerun the program that issues IXZXIXAC.

C 0 Meaning: Processing failed because the IXZXIXAC service ended abnormally.

Action: Refer to z/OS MVS System Codes for a description of the abend code and its associated reason codes.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014