Rational Developer for System z

IRZQSETS

The IRZQSETS API creates a SOAP structure from the information in a language structure passed as input. Also, when specified, IRZQSETS copies the current SOAP structure and all previously supplied SOAP structures into the IMS™ Message Queue.

The structures and variables referred to in this topic are defined in IRZPWSH (see Include file IRZPWSH).

Usage:
Limitations:

Parameters:

Table 1. Parameters for IRZQSETS
Parameter: Type: Usage: Description:
@irz_async_msg_header_ptr POINTER BYVALUE Output A pointer-by-value to the instance of @irz_async_msg_header that the Message Processing Program (MPP) retrieves from the IMS Message Queue prior by issuing a Get Unique (GU) call using the CEETDLI interface.
Important: This instance must be passed on all calls to IRZQGETS and IRZQSETS.
@irz_iopcb_ptr POINTER BYVALUE Input A pointer-by-value to the I/O PCB that was passed to the Message Processing Program (MPP) on entry by IMS. IRZQSETS uses this I/O PCB when invoking CEETDLI to interact with the IMS Message Queue.
Note: If the return code from IRZQSETS is 999 then inspect the I/O PCB to determine the cause of the error.
@irz_struct_type SIGNED FIXED BIN(31) BYVALUE Input An integer-by-value specifying the type of the language structure to set in the IMS message. The following constants defined in include file IRZPWSH can be used: @irz_soap_body_struct.
@irz_struct_name WCHAR(100) VARYING BYADDR Input A string-by-reference containing the name of the language structure to set in the IMS message. The value of this parameter must correspond to the value of the parameter @irz_struct_type.
@irz_struct_ptr POINTER BYVALUE Input A pointer-by-reference to the language structure to set in the IMS message.
Note: This value must correspond to the values specified for the parameters @irz_struct_type and @irz_struct_name.
@irz_struct_size SIGNED FIXED BIN(31) BYVALUE Input An integer-by-value specifying the size in bytes of the language structure pointed to by @irz_struct_ptr.
@irz_commit_structs BIT(1) BYVALUE Input A bit-by-value that indicating whether IRZQSETS should insert the current language structure and all previously supplied language structures into the IMS Message Queue.
@irz_cee_feedback_ptr POINTER BYVALUE Input A pointer-by-value to an instance of @irz_cee_feedback defining a Language Environment® Condition Token. This instance is updated each time IRZQSETS invokes Language Environment Callable Services.
Note: If the return code from IRZQSETS is 998 then use the publication Language Environment Run-Time Messages (SA22-7566-10) to inspect the contents of the condition token and determine the cause of the error.
@irz_debug BIT(1) OPTIONAL Input An optional bit indicating whether IRZQSETS should display trace information (see Trace output for WSDL2PLI).

Return codes:

The return codes for IRZQSETS are constants defined in the IRZPWSH include file:

Table 2. Return codes for IRZQSETS
Type: Name: Value:
SIGNED FIXED BIN(31) @irz_success 000
@irz_omitted_parameter 100
@irz_invalid_pointer 101
@irz_invalid_struct_type 102
@irz_struct_not_found 103
@irz_struct_name_mismatch 104
@irz_invalid_struct_order 105
@irz_invalid_segment_size 109
@irz_cee_call_failure 998
@irz_dli_call_failure 999

Example invocation:

Figure 1. Example invocation of IRZQSETS
01: /* Invoke API IRZQSETS to set the SOAP body language
02: * structure and commit it to the IMS Message Queue.
03: */
04: @irz_struct_name      = 'ResponseBodyStruct';
05: @irz_struct_ptr       = ResponseBodyStruct_ptr;
06: @irz_struct_size      = storage(ResponseBodyStruct);
07: @irz_commit_structs   = '1'b;
08: @irz_cee_feedback_ptr = addr(@irz_cee_feedback);
09: @irz_debug            = '0'b;
10:
11: @return_code =
12:    IRZQSETS(@irz_async_msg_header_ptr,
13:    @irz_iopcb_mask_ptr, @irz_soap_body_struct,
14:    @irz_struct_name, @irz_struct_ptr,
15:    @irz_struct_size, @irz_commit_structs,
16:    @irz_cee_feedback_ptr, @irz_debug);
17:
18: if (@return_code != @irz_success) then do;
19:    display('MYMPP#handle_myOperation(): '
20:       || 'ERROR, IRZQSETS @irz_soap_body_struct, '
21:       || '@return_code: '|| trim(@return_code) || '.');
22:    return;
23: end;

Feedback