La API IRZQSETS crea una estructura SOAP a partir de la información de una estructura de lenguaje pasada como entrada. Además, si se especifica, IRZQSETS copia la estructura SOAP actual y todas las estructuras SOAP suministradas anteriormente en la cola de mensajes de IMS.
Las estructuras y variables a las que se hace referencia en este tema se definen en IRZPWSH (consulte la sección Archivo de inclusión IRZPWSH).
Parámetros:
| Parámetro: | Tipo: | Uso: | Descripción: |
|---|---|---|---|
| @irz_async_msg_header_ptr | POINTER BYVALUE | Salida | Puntero por valor a la instancia de @irz_async_msg_header que el
programa de proceso de mensajes (MPP) recupera de la cola de mensajes de
IMS antes de emitir una llamada Get Unique
(GU) mediante la interfaz CEETDLI. Importante: Esta instancia debe
pasarse en todas las llamadas a IRZQGETS e IRZQSETS.
|
| @irz_iopcb_ptr | POINTER BYVALUE | Entrada | Puntero por valor al PCB de E/S que se ha
pasado al programa de proceso de mensajes (MPP) en la entrada mediante IMS. IRZQSETS
utiliza este PCB de E/S al invocar a CEETDLI para interactuar con
la cola de mensajes de IMS. Nota: Si
el código de retorno de IRZQSETS es 999, examine el PCB de E/S para determinar la causa del error.
|
| @irz_struct_type | SIGNED FIXED BIN(31) BYVALUE | Entrada | Entero por valor que especifica el tipo de estructura de lenguaje que debe establecerse en el mensaje de IMS. Pueden utilizarse las constantes siguientes definidas en el archivo de inclusión IRZPWSH: @irz_soap_body_struct. |
| @irz_struct_name | WCHAR(100) VARYING BYADDR | Entrada | Serie por referencia que contiene el nombre de la estructura de lenguaje que debe establecerse en el mensaje de IMS. El valor de este parámetro debe corresponder al valor del parámetro @irz_struct_type. |
| @irz_struct_ptr | POINTER BYVALUE | Entrada | Puntero por referencia a la estructura
de
lenguaje que debe establecerse en el mensaje de IMS. Nota: Este
valor debe corresponder a los valores especificados en los parámetros @irz_struct_type e @irz_struct_name.
|
| @irz_struct_size | SIGNED FIXED BIN(31) BYVALUE | Entrada | Entero por valor que especifica el tamaño en bytes de la estructura de lenguaje a la que apunta @irz_struct_ptr. |
| @irz_commit_structs | BIT(1) BYVALUE | Entrada | Bit por valor que indica si IRZQSETS debe insertar la estructura de lenguaje actual y todas las estructuras de lenguaje suministradas anteriormente en la cola de mensajes de IMS. |
| @irz_cee_feedback_ptr | POINTER BYVALUE | Entrada | Puntero por valor a una instancia de @irz_cee_feedback que define
una señal de condición de Language
Environment. Esta instancia se actualiza cada vez que IRZQSETS invoca a
Language Environment Callable
Services. Nota: Si el código de retorno de IRZQSETS es 998,
utilice la publicación Language
Environment Run-Time Messages (SA22-7566-10) para examinar el contenido de la
señal de condición y determinar la causa del error.
|
| @irz_debug | BIT(1) OPTIONAL | Entrada | Bit opcional que indica si IRZQSETS debe visualizar información de rastreo (consulte la sección Salida de rastreo de WSDL2PLI). |
Códigos de retorno:
Los códigos de retorno de IRZQSETS son constantes definidas en el archivo de inclusión IRZPWSH:
| Tipo: | Nombre: | Valor: |
|---|---|---|
| SIGNED FIXED BIN (31) | @irz_success | 000 |
| @irz_omitted_parameter | 100 | |
| @irz_invalid_pointer | 101 | |
| @irz_invalid_struct_type | 102 | |
| @irz_invalid_struct_order | 105 | |
| @irz_invalid_struct_size | 106 | |
| @irz_invalid_struct_name | 107 | |
| @irz_struct_already_set | 108 | |
| @irz_cee_call_failure | 998 | |
| @irz_dli_call_failure | 999 |
Ejemplo de invocación:
01: /* Invocar la API IRZQSETS para establecer la estructura de lenguaje
02: * de cuerpo SOAP y enviarla a la cola de mensajes de IMS.
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;