The structures and variables referred to in this topic are defined in the include file IRZPWSH (see Include file IRZPWSH).
Parameters:
| Parameter: | Type: | Usage: | Description: |
|---|---|---|---|
| @irz_async_msg_header_ptr | POINTER BYVALUE | Input | 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. IRZQGETS uses this I/O PCB when invoking CEETDLI to interact with
the IMS Message Queue. Note: If the return code from IRZQGETS 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 retrieve from the IMS Message Queue. The following constants defined in the 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 retrieve from the IMS Message Queue. The value of this parameter must correspond to the value of the parameter @irz_struct_type. |
| @irz_struct_ptr | POINTER BYADDR | Output | A pointer-by-reference to a newly allocated
storage block containing the returned language structure. Important: This storage block resides in the same address space
as the caller. Therefore it is highly recommended that the caller
free this storage block when it is no longer needed.
|
| @irz_struct_size | SIGNED FIXED BIN(31) BYADDR | Output | An integer-by-reference containing the size in bytes of the returned language structure. |
| @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
IRZQGETS invokes Language
Environment Callable Services. Note: If the
return code from IRZQGETS 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 IRZQGETS should display trace information (see Trace output for WSDL2PLI). |
Return codes:
The return codes for IRZQGETS are constants defined in the IRZPWSH include file:
| 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_cee_call_failure | 998 | |
| @irz_dli_call_failure | 999 |
Example invocation:
01: /* Invoke API IRZQGETS to retrieve the SOAP body
02: * language structure from the IMS Message Queue.
03: */
04: @irz_struct_name = 'RequestBodyStruct';
05: @irz_cee_feedback_ptr = addr(@irz_cee_feedback);
06: @irz_debug = '0'b;
07:
08: @return_code =
09: IRZQGETS(@irz_async_msg_header_ptr,
10: @irz_iopcb_mask_ptr, @irz_soap_body_struct,
11: @irz_struct_name, @irz_struct_ptr,
12: @irz_struct_size, @irz_cee_feedback_ptr,
13: @irz_debug);
14:
15: if (@return_code != @irz_success) then do;
16: display('MYMPP#handle_myOperation(): '
17: || 'ERROR, IRZQGETS @irz_soap_body_struct, '
18: || '@return_code: '|| trim(@return_code) || '.');
19: return;
20: end; else do;
21: RequestBodyStruct_ptr = @irz_struct_ptr;
22: end;