Академический Документы
Профессиональный Документы
Культура Документы
SC10-3412-00
SC10-3412-00
Nota Antes de utilizar esta informacin y el producto al que da soporte, lea sin falta la informacin general del Apndice G. Avisos en la pgina 509.
Primera edicin (marzo de 2000) Esta edicin es aplicable a MQSeries para AS/400 Versin 5 Release 1 y a todos los releases y modificaciones ulteriores hasta que se indique lo contrario en nuevas ediciones. Copyright International Business Machines Corporation 1994, 2000. Reservados todos los derechos.
Contenido
Tablas . . . . . . . . . . . . . . . ix Acerca de este manual . . . . . . . . xi
Destinatarios del manual . . . . . . . . Conocimientos necesarios para comprender este manual . . . . . . . . . . . . . . Cmo utilizar este manual . . . . . . . Presentacin del texto en este manual . . Trminos utilizados en este manual . . . . . . . . . xi . xi . xii . xii . xii Campos . . . . . . . . . Valores iniciales y declaracin RPG Declaracin RPG . . . . . . . . . . . . . . . . . . . . . 19 . 28 . 29
iii
209
iv
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
Captulo 37. Atributos de todas las colas . . . . . . . . . . . . . . . 305 Captulo 38. Atributos de colas locales y colas modelo. . . . . . . . . . . 311 Captulo 39. Atributos de definiciones locales de colas remotas . . . . . . 327 Captulo 40. Atributos de colas alias 329
Captulo 41. Atributos de las listas de nombres . . . . . . . . . . . . . 331 Captulo 42. Atributos de las definiciones de proceso . . . . . . . 333 Captulo 43. Atributos del gestor de colas . . . . . . . . . . . . . . . 337
261
. . . . 261 261 270 275
277
. . . . 277 277 282 286
355
356 357 357 357 358 358 358 359 359 360 360 361 363 364 364 365 366 366 367 367
Caractersticas explicadas en los programas de ejemplo . . . . . . . . . . . . . . . Preparacin y ejecucin de los programas de ejemplo . . . . . . . . . . . . . . . Ejecucin de los programas de ejemplo . . . . El programa de ejemplo de poner . . . . . . Diseo del programa de ejemplo de poner . . El programa de ejemplo de examinar . . . . . Diseo del programa de ejemplo de examinar El programa de ejemplo de obtener . . . . . . Diseo del programa de ejemplo de obtener . . El programa de ejemplo de peticin . . . . . . Utilizacin del desencadenamiento con el ejemplo de peticin . . . . . . . . . . Diseo del programa de ejemplo de peticin El programa de ejemplo de eco . . . . . . . Diseo del programa de ejemplo de eco . . . El programa de ejemplo de consultar . . . . . Diseo del programa de ejemplo de consultar El programa de ejemplo de establecer . . . . . Diseo del programa de ejemplo de establecer Los programas de ejemplo de desencadenamiento El supervisor de desencadenamiento de ejemplo AMQ3TRG4 . . . . . . . . . . . . .
Contenido
El servidor desencadenante de ejemplo AMQ3SRV4 . . . . . . . . . . . . . 368 Finalizacin de los programas de ejemplo de desencadenamiento . . . . . . . . . . 368 Ejecucin de los ejemplos utilizando colas remotas 369
443
443 443 444 444 445 445 445 446 446 446 447 447 447 447 447 447 448 448 448 448 448 448 448 449 449 449 449 449 449 450 450 450 450 450 451 451
Lista de constantes . . . . . . . . . . . LN* (Longitudes de campos de tipo serie de caracteres y de tipo byte) . . . . . . . . AC* (Smbolo de contabilidad) . . . . . . ATT* (Tipo de smbolo de contabilidad) . . . AT* (Tipo de aplicacin) . . . . . . . . . BND* (Enlace) . . . . . . . . . . . . BO* (Opciones de empezar) . . . . . . . BO* (Identificador de estructura de opciones de empezar) . . . . . . . . . . . . . . BO* (Versin de opciones de empezar) . . . . CA* (Selector de atributo de tipo carcter). . . AD* (Descriptor ADS de cabecera CICS) . . . CC* (Cdigo de terminacin) . . . . . . . CS* (Identificador de juego de caracteres codificado) . . . . . . . . . . . . . CT* (Tarea conversacional de cabecera CICS) FC* (Recurso de cabecera CICS) . . . . . . CF* (Nombre de funcin de cabecera CICS) . . WI* (Intervalo de espera de obtener de cabecera CICS) . . . . . . . . . . . . . . . CI* (Identificador de correlacin) . . . . . . MQ* (Identificador de llamada) . . . . . . CIF* (Distintivos de cabecera CICS) . . . . . CI* (Longitud de cabecera CICS) . . . . . . CI* (Identificador de estructura de cabecera CICS) . . . . . . . . . . . . . . . CI* (Versin de cabecera CICS) . . . . . . LT* (Tipo de enlace de cabecera CICS) . . . . CMLV* (Nivel de mandato) . . . . . . . CN* (Opciones de conectar) . . . . . . . CN* (Identificador de estructura de opciones de conectar) . . . . . . . . . . . . . . CN* (Versin de opciones de conectar) . . . . CO* (Opciones de cerrar) . . . . . . . . OL* (Longitud de datos de salida de cabecera CICS) . . . . . . . . . . . . . . . CRC* (Cdigo de retorno de cabecera CICS) . . SC* (Cdigo de inicio de transaccin de cabecera CICS) . . . . . . . . . . . . TE* (Estado de final de tarea de cabecera CICS) CU* (Control de unidad de trabajo de cabecera CICS) . . . . . . . . . . . . . . . DCC* (Mscaras y factores de convertir caracteres) . . . . . . . . . . . . . DCC* (Opciones de convertir caracteres) . . .
DH* (Identificador de estructura de cabecera de distribucin). . . . . . . . . . . . . DH* (Versin de cabecera de distribucin) . . . DHF* (Distintivos de cabecera de distribucin) DL* (Soporte de lista de distribucin) . . . . DL* (Identificador de estructura de cabecera de mensaje no entregado) . . . . . . . . . DL* (Versin de cabecera de mensaje no entregado) . . . . . . . . . . . . . DX* (Identificador de estructura de parmetro de rutina de salida de conversin de datos) . . DX* (Versin de estructura de parmetro de rutina de salida de conversin de datos) . . . EI* (Intervalo de caducidad) . . . . . . . EN* (Codificacin). . . . . . . . . . . EN* (Mscaras de codificacin) . . . . . . EN* (Codificacin para enteros decimales empaquetados) . . . . . . . . . . . . EN* (Codificacin para nmeros de coma flotante) . . . . . . . . . . . . . . EN* (Codificacin para enteros binarios) . . . EV* (Notificacin de sucesos) . . . . . . . FB* (Informacin de retorno) . . . . . . . FM* (Formato) . . . . . . . . . . . . GI* (Identificador de grupo) . . . . . . . GM* (Opciones de obtener mensaje) . . . . . GM* (Identificador de estructura de opciones de obtener mensaje) . . . . . . . . . . . GM* (Versin de opciones de obtener mensaje) GS* (Estado de grupo) . . . . . . . . . HC* (Asa de conexin) . . . . . . . . . HO* (Asa de objeto) . . . . . . . . . . IA* (Selector de atributo de tipo entero) . . . IAU* (Autenticador IMS) . . . . . . . . IAV* (Valor de atributo de tipo entero) . . . . ICM* (Modalidad de compromiso IMS). . . . II* (Distintivos de cabecera IMS) . . . . . . II* (Longitud de cabecera IMS) . . . . . . II* (Identificador de estructura de cabecera IMS) II* (Versin de cabecera IMS) . . . . . . . ISS* (mbito de seguridad IMS) . . . . . . ITI* (Identificador de instancia de transaccin IMS) . . . . . . . . . . . . . . . ITS* (Estado de transaccin IMS) . . . . . . MD* (Identificador de estructura de descriptor de mensaje) . . . . . . . . . . . . . MD* (Versin de descriptor de mensaje) . . . ME* (Longitud de extensin de descriptor de mensaje) . . . . . . . . . . . . . . ME* (Identificador de estructura de extensin de descriptor de mensaje) . . . . . . . . . ME* (Versin de extensin de descriptor de mensaje) . . . . . . . . . . . . . . MEF* (Distintivos de extensin de descriptor de mensaje) . . . . . . . . . . . . . . MS* (Secuencia de entrega de mensajes) . . . MF* (Distintivos de mensaje) . . . . . . . MF* (Mscaras de distintivos de mensaje) . . . MI* (Identificador de mensaje). . . . . . . MO* (Opciones de emparejar) . . . . . . . MT* (Tipo de mensaje) . . . . . . . . .
451 451 451 451 452 452 452 452 452 452 452 453 453 453 453 453 454 454 455 455 455 455 456 456 456 457 457 457 457 458 458 458 458 458 458 458 458 459 459 459 459 459 459 460 460 460 460
vi
| |
| |
| | | | | |
MTK* (Smbolo de mensaje) . . . . . . . NC* (Cuenta de nombres) . . . . . . . . OD* (Longitud de descriptor de objeto) . . . OD* (Identificador de estructura de descriptor de objeto) . . . . . . . . . . . . . OD* (Versin de descriptor de objeto) . . . . OII* (Identificador de instancia de objeto) . . . OL* (Longitud original) . . . . . . . . . OO* (Opciones de abrir). . . . . . . . . OT* (Tipo de objeto) . . . . . . . . . . PE* (Permanencia). . . . . . . . . . . PL* (Plataforma) . . . . . . . . . . . PM* (Opciones de poner mensaje) . . . . . PM* (Longitud de estructura de opciones de poner mensaje) . . . . . . . . . . . . PM* (Identificador de estructura de opciones de poner mensaje) . . . . . . . . . . . . PM* (Versin de opciones de poner mensaje) PF* (Distintivos de campo de registro de poner mensaje) . . . . . . . . . . . . . . PR* (Prioridad) . . . . . . . . . . . . QA* (Inhibir obtener). . . . . . . . . . QA* (Inhibir poner) . . . . . . . . . . QA* (Memorizacin de restitucin) . . . . . QA* (Compartibilidad de cola) . . . . . . QD* (Tipo de definicin de cola) . . . . . . QSIE* (Sucesos de intervalo de servicio) . . . QT* (Tipo de cola). . . . . . . . . . . RC* (Cdigo de razn) . . . . . . . . . RL* (Longitud devuelta) . . . . . . . . . RM* (Identificador de estructura de cabecera de mensaje de referencia) . . . . . . . . . RM* (Versin de cabecera de mensaje de referencia) . . . . . . . . . . . . . RM* (Distintivos de cabecera de mensaje de referencia) . . . . . . . . . . . . . RO* (Opciones de informe) . . . . . . . . RO* (Mscaras de opciones de informe) . . . SCO* (mbito de cola) . . . . . . . . . SEG* (Segmentacin) . . . . . . . . . . SI* (Identificador de seguridad) . . . . . . SIT* (Tipo de identificador de seguridad) . . . SP* (Punto de sincronismo). . . . . . . . SS* (Estado de segmento) . . . . . . . . TC* (Control de desencadenamiento) . . . . TM* (Identificador de estructura de mensaje desencadenante) . . . . . . . . . . . TM* (Versin de mensaje desencadenante). . . TC* (Identificador de estructura de formato de tipo carcter de mensaje desencadenante) . . . TC* (Versin de formato de tipo carcter de mensaje desencadenante) . . . . . . . . TT* (Tipo de desencadenante) . . . . . . . US* (Utilizacin) . . . . . . . . . . . WI* (Intervalo de espera) . . . . . . . . WI* (Distintivos de cabecera de informacin de carga de trabajo) . . . . . . . . . . . WI* (Longitud de estructura de cabecera de informacin de carga de trabajo) . . . . . . WI* (Identificador de estructura de cabecera de informacin de carga de trabajo) . . . . . .
460 460 461 461 461 461 461 461 462 462 462 462 463 463 463 463 463 463 463 464 464 464 464 464 464 468 469 469 469 469 469 470 470 470 470 470 470 470 471 471 471 471 471 471 471 472 472 472
| |
WI* (Versin de cabecera de informacin de carga de trabajo) . . . . . . . . . XR* (Respuesta de rutina de salida de conversin de datos) . . . . . . . . XQ* (Identificador de estructura de cabecera cola de transmisin) . . . . . . . . XQ* (Versin de cabecera de cola de transmisin) . . . . . . . . . . .
. 472
. 480
. . 481
. 481 . 482 . 483 483
. . . . . . . . . . . . . . . de mensaje
513 vii
Contenido
Bibliografa . . . . . . . . . . . . 527
Publicaciones de las distintas plataformas de MQSeries. . . . . . . . . . . . . Publicaciones especficas de cada plataforma MQSeries. . . . . . . . . . . . . Manuales en copia software . . . . . . Formato BookManager . . . . . . . Formato HTML . . . . . . . . . Portable Document Format (PDF) . . . . . . . . . . 527 . . . . . 529 530 530 530 530
Formato PostScript . . . . . . . . . Formato de ayuda Windows . . . . . . Informacin de MQSeries disponible en Internet Publicaciones relacionadas . . . . . . . .
viii
Tablas
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Tipos de datos elementales . . . . . . . . 5 Archivos COPY de RPG. . . . . . . . . 8 Llamadas de servicio ILE RPG soportadas por cada programa de servicio . . . . . . . 12 Campos de MQBO . . . . . . . . . . 15 Valores iniciales de campos de MQBO . . . 16 Campos de MQCIH . . . . . . . . . . 17 Contenido de los campos de informacin de error de la estructura MQCIH . . . . . . 18 Valores iniciales de los campos de MQCIH 28 Campos de MQCNO . . . . . . . . . 31 Valores iniciales de campos de MQCNO 35 Campos de MQDH . . . . . . . . . . 37 Valores iniciales de los campos de MQDH 41 Campos de MQDLH . . . . . . . . . 43 Valores iniciales de campos de MQDLH 49 Campos de MQGMO . . . . . . . . . 51 Opciones MQGET relacionadas con los mensajes de grupos y de segmentos de mensajes lgicos . . . . . . . . . . . 64 Salida cuando la llamada MQGET o MQCLOSE no es coherente con la informacin de grupo y de segmento . . . . . . . . 66 Valores iniciales de campos de MQGMO 76 Campos de MQIIH . . . . . . . . . . 79 Valores iniciales de los campos de MQIIH 83 Campos de MQMD . . . . . . . . . . 85 Valores iniciales de campos de MQMD 134 Campos de MQMDE . . . . . . . . . 137 Accin del gestor de colas cuando se especifica MQMDE en MQPUT o MQPUT1 . 138 Valores iniciales de los campos de MQMDE 141 Campos de MQOD . . . . . . . . . 143 Valores iniciales de campos de MQOD 151 Campos de MQOR. . . . . . . . . . 153 Valores iniciales de campos de MQOR 153 Campos de MQPMO . . . . . . . . . 155 Opciones de MQPUT relacionadas con los mensajes de los grupos y los segmentos de mensajes lgicos . . . . . . . . . . 160 32. Resultado cuando no existe coherencia entre la llamada MQPUT o MQCLOSE y la informacin de grupos y segmentos . . . . Valores iniciales de campos de MQPMO Campos de MQPMR . . . . . . . . . Campos de MQRMH . . . . . . . . . Valores iniciales de campos de MQRMH Campos de MQRR . . . . . . . . . . Valores iniciales de campos de MQRR Campos de MQTM . . . . . . . . . Valores iniciales de campos de MQTM Campos de MQTMC2. . . . . . . . . Valores iniciales de campos de MQTMC2 Campos de MQWIH . . . . . . . . . Valores iniciales de campos de MQWIH Campos de MQXQH . . . . . . . . . Valores iniciales de campos de MQXQH Efectos de las opciones MQCLOSE en distintos tipos de objetos y colas . . . . . Opciones MQOPEN vlidas para cada tipo de cola . . . . . . . . . . . . . . . Atributos de todas las colas . . . . . . . Atributos de colas locales y modelo . . . . Atributos de definiciones locales de colas remotas . . . . . . . . . . . . . Atributos de las listas de nombres . . . . Atributos de las definiciones de proceso Atributos del gestor de colas . . . . . . Nombres de los programas de ejemplo Programas de ejemplo que explican la utilizacin de la MQI . . . . . . . . . Detalles del programa de ejemplo de cliente/servidor . . . . . . . . . . . Resumen de codificaciones de arquitecturas de mquina . . . . . . . . . . . . Campos de MQDXP . . . . . . . . . 162 170 173 177 184 187 188 189 193 195 197 199 201 203 207 222 267 305 311 327 331 333 337 355 356 362 480 493
33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
17.
18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
ix
| | | | | | | | | | | | |
Notas para los usuarios 1. En este manual se describe la interfaz de programacin MQSeries para AS/400 nicamente en el lenguaje de programacin RPGILE. Si necesita informacin detallada acerca del lenguaje de programacin RPGOPM, debera consultar el manual MQSeries Consulta de programacin de aplicaciones (RPG) V4R2. 2. Existen dos formas de utilizar la MQI desde dentro de un programa RPG: v Llamadas dinmicas a la interfaz de programa QMQM. v Llamadas de enlace esttico a los procedimientos de MQI. Utilizar llamadas de enlace suele ser el mtodo preferido, especialmente cuando el programa efecta llamadas repetidas a la MQI, pues requiere menos recursos. La nueva funcionalidad solo est disponible mediante la interfaz de Llamada de enlace esttico. Para obtener informacin acerca de cmo disear y escribir aplicaciones que utilizan los servicios que proporciona MQSeries, consulte la publicacin MQSeries Application Programming Guide.
xi
xii
Captulo 8. MQGMO - Opciones de obtener mensaje . . . . . . . . . . . . . . . 51 Visin general . . . . . . . . . . . . . 51 Campos . . . . . . . . . . . . . . . 52 Valores iniciales y declaracin RPG . . . . . . 76 Declaracin RPG . . . . . . . . . . . 76 Captulo 9. MQIIH - Cabecera de puente Visin general . . . . . . . . . Campos . . . . . . . . . . . Valores iniciales y declaracin RPG . . Declaracin RPG . . . . . . . IMS . . 79 . . . . 79 . . . . 80 . . . . 83 . . . . 84
. . 7 tipos . . 7 . . 8 . . 8 . . 9 . . 10 . . 10 . . 10 . . 11 . . 11 . . 11 . . 11 . . 12 . . 13
Captulo 10. MQMD - Descriptor de mensaje . . 85 Visin general . . . . . . . . . . . . . 86 Campos . . . . . . . . . . . . . . . 87 Valores iniciales y declaracin RPG . . . . . . 134 Declaracin RPG . . . . . . . . . . . 135 Captulo 11. MQMDE - Extensin de descriptor de mensaje . . . . . . . . . . . . Visin general . . . . . . . . . . . . Campos . . . . . . . . . . . . . . Valores iniciales y declaracin de RPG . . . . Declaracin de RPG . . . . . . . . .
. . . 15 . . . 15 . . . 15 . . . 16 . . . 16 17 18 19 28 29
. . . . .
Captulo 4. MQCIH - Cabecera de puente CICS Visin general . . . . . . . . . . . . Campos . . . . . . . . . . . . . . Valores iniciales y declaracin RPG . . . . . Declaracin RPG . . . . . . . . . . Captulo 5. MQCNO - Opciones de Visin general . . . . . . . Campos . . . . . . . . . Valores iniciales y declaracin RPG Declaracin RPG . . . . .
. . . .
Captulo 12. MQOD - Descriptor de objeto . . . 143 Visin general . . . . . . . . . . . . . 143 Campos . . . . . . . . . . . . . . . 144 Valores iniciales y declaracin de RPG . . . . . 151 Declaracin de RPG . . . . . . . . . . 152 Captulo 13. MQOR - Registro de objeto . . . 153 Visin general . . . . . . . . . . . . . 153 Campos . . . . . . . . . . . . . . . 153 Valores iniciales y declaracin de RPG . . . . . 153 Declaracin de RPG . . . . . . . . . . 154 Captulo 14. MQPMO - Opciones de poner mensaje . . . . . . . . . . . . . . . 155 Visin general . . . . . . . . . . . . . 155 Campos . . . . . . . . . . . . . . . 156 Valores iniciales y declaracin de RPG . . . . . 170 Declaracin de RPG . . . . . . . . . . 171 Captulo 15. MQPMR - Registro de poner mensaje . . . . . . . . . . . . . . . 173 Visin general . . . . . . . . . . . . . 173
conectar . . 31 . . . . . . 31 . . . . . . 31 . . . . . . 35 . . . . . . 35 . . 37 . . 37 . . 38 . . 41 . . 41
Captulo 6. MQDH - Cabecera de distribucin Visin general . . . . . . . . . . . Campos . . . . . . . . . . . . . Valores iniciales y declaracin RPG . . . . Declaracin RPG . . . . . . . . .
Tipos de datos
Campos . . . . . . . . . . . Valores iniciales y declaracin de RPG . Declaracin de RPG . . . . . . . . . . . . . . . . 173 . 175 . 175
Captulo 16. MQRMH - Cabecera de mensaje de referencia . . . . . . . . . . . . . . Visin general . . . . . . . . . . . . . Campos . . . . . . . . . . . . . . . Valores iniciales y declaracin de RPG . . . . . Declaracin de RPG . . . . . . . . . .
Captulo 17. MQRR - Registro de respuesta . . 187 Visin general . . . . . . . . . . . . . 187 Campos . . . . . . . . . . . . . . . 187 Valores iniciales y declaracin de RPG . . . . . 188 Declaracin de RPG . . . . . . . . . . 188 Captulo 18. MQTM - Mensaje desencadenante Visin general . . . . . . . . . . . . Campos . . . . . . . . . . . . . . Valores iniciales y declaracin de RPG . . . . Declaracin de RPG . . . . . . . . . 189 189 190 193 193
. . . .
Captulo 19. MQTMC2 - Mensaje desencadenante (formato de caracteres) . . . 195 Visin general . . . . . . . . . . . . . 195 Campos . . . . . . . . . . . . . . . 196 Valores iniciales y declaracin de RPG . . . . . 197 Declaracin de RPG . . . . . . . . . . 197 Captulo 20. MQWIH - Cabecera de informacin de trabajo . . . . . . . . . . . . . . Visin general . . . . . . . . . . . . . Campos . . . . . . . . . . . . . . . Valores iniciales y declaracin de RPG . . . . . Declaracin de RPG . . . . . . . . . .
Captulo 21. MQXQH - Cabecera de cola de transmisin . . . . . . . . . . . . . 203 Visin general . . . . . . . . . . . . . 203 Campos . . . . . . . . . . . . . . . 206 Valores iniciales y declaracin de RPG . . . . . 207 Declaracin de RPG . . . . . . . . . . 207
MQBYTE - Byte
El tipo de datos MQBYTE representa un solo byte de datos. El byte no tiene ninguna interpretacin determinada; se trata como una serie de bits, y no como un carcter o nmero binario. No se requiere ninguna alineacin especial. A veces se utiliza una matriz de MQBYTE para representar un rea de almacenamiento principal cuya naturaleza desconoce el gestor de colas. Por ejemplo, el rea puede contener datos de mensajes de aplicacin o una estructura. La alineacin del lmite de este rea debe ser compatible con la naturaleza de los datos que contiene.
Copyright IBM Corp. 1994, 2000
MQCHAR Carcter
El tipo de datos MQCHAR representa un nico carcter. El identificador de juego de caracteres del carcter es el mismo que el del gestor de colas (vase el atributo CodedCharSetId en la pgina 340). No se requiere ninguna alineacin especial. Nota: Los datos de mensajes de aplicacin especificados en las llamadas MQGET, MQPUT, y MQPUT1 se describen mediante el tipo de datos MQBYTE, no mediante el tipo de datos MQCHAR.
Archivos COPY
Se proporcionan varios archivos COPY como parte de la definicin de la interfaz de cola de mensajes (MQI), que sirven de ayuda para escribir programas de aplicacin RPG que utilizan la gestin de colas de mensajes. Existen dos conjuntos de archivos COPY: v Los archivos COPY cuyos nombres terminan por la letra G se utilizan con programas que emplean el enlace esttico. v Los archivos COPY cuyos nombres terminan por la letra R se utilizan con programas que emplean el enlace dinmico. Los archivos COPY residen en QRPGLESRC en la biblioteca QMQM. Para cada conjunto de archivos COPY, existen dos archivos que contienen constantes con nombre, y un archivo para cada una de las estructuras. Los archivos COPY se resumen en la Tabla 2.
Tabla 2. Archivos COPY de RPG
Nombre archivo Nombre archivo Contenido (enlace esttico) (enlace dinmico) CMQBOG CMQCIHG CMQCNOG CMQDHG CMQDLHG CMQDXPG CMQGMOG CMQIIHG CMQMDG CMQCIHR CMQDHR CMQDLHR CMQDXPR CMQGMOR CMQIIHR CMQMDR Estructura de opciones de empezar Estructura de cabecera de informacin de CICS Estructura de opciones de conectar Estructura de cabecera de distribucin Estructura de cabecera de mensajes no entregados (mensajes en espera) Estructura de parmetro de rutina de salida de conversin de datos Estructura de opciones de obtener mensaje Estructura de cabecera de informacin de IMS Estructura de descriptor de mensaje
Llamadas
En el Captulo 22. Descripciones de las llamadas en la pgina 211, las llamadas se describen utilizando sus nombres individuales. En RPG que utiliza el enlace dinmico, todas las llamadas se realizan al nombre nico QMQM, y la funcin concreta que es necesaria se especifica codificando un parmetro adicional que precede a los parmetros normales de la llamada. Las siguientes constantes con nombre se pueden utilizar para este parmetro adicional, a fin de identificar la funcin necesaria: Constante con nombre Funcin necesaria MQCLOS Cerrar objeto. MQCONN Conectar gestor de colas. MQDISC Desconectar gestor de colas. MQGET Obtener mensaje. MQINQ Consultar los atributos de objeto. MQOPEN Abrir objeto. MQPUT Poner mensaje. MQPUT1 Poner un solo mensaje. MQSET Establecer atributos de objeto.
Estructuras
A excepcin de la estructura MQTMC, todas las estructuras MQ se definen con valores iniciales para los campos. Estos valores iniciales se definen en la tabla que corresponde a cada estructura. Las declaraciones de estructuras no contienen sentencias DS. Esto permite a la aplicacin declarar una nica estructura de datos o una estructura de datos que aparezca varias veces, codificando la sentencia DS y, a continuacin, utilizando la sentencia /COPY para copiar en el resto de la declaracin:
D*..1....:....2....:....3....:....4....:....5....:....6....:....7 D* Declarar una estructura de datos MQMD con 5 apariciones DMYMD DS 5 D/COPY CMQMDR
Convenios de notacin
En las siguientes secciones se explica lo siguiente: v Cmo se deben invocar las llamadas v Cmo se deben declarar los parmetros v Cmo se deben declarar los diversos tipos de datos En algunos casos, los parmetros son series de caracteres o matrices cuyo tamao no es fijo. En tales casos se utiliza una letra n minscula para representar una constante numrica. Cuando la declaracin para estos parmetros se codifica, la n debe sustituirse por el valor numrico necesario.
Procedimientos MQI
Cuando se utilizan las llamadas de enlace ILE, es preciso enlazar con los procedimientos MQI al crear el programa. Estos procedimientos se exportan desde los siguientes programas de servicio, segn convenga: QMQM/AMQZSTUB Este programa de servicio proporciona enlaces de compatibilidad para aplicaciones escritas antes de la versin 5.1 que no necesitan acceso a ninguna de las nuevas posibilidades que ofrece la versin 5.1. La signatura de este programa de servicio coincide con la que contiene la versin 4.2.1. QMQM/LIBMQM Este programa de servicio contiene los enlaces monohebra para la versin 5.1. Consulte ms adelante las consideraciones especiales sobre cmo escribir aplicaciones con hebras. QMQM/LIBMQM_R Este programa de servicio contiene los enlaces multihebra para la versin 5.1. Consulte ms adelante las consideraciones especiales sobre cmo escribir aplicaciones con hebras. Utilice el mandato CRTPGM para crear sus programas. Por ejemplo, el siguiente mandato creara un programa monohebra que utiliza las llamadas de enlace ILE:
CRTPGM PGM(MYPROGRAM) BNDSRVPGM(QMQM/LIBMQM)
10
Control de compromiso
Las funciones de punto de sincronizacin MQCMIT y MQBACK de MQI estn disponibles para los programas ILE RPG que se ejecutan en la modalidad normal; estas llamadas permiten al programa comprometer y restituir los cambios realizados en los recursos de MQ. Las llamadas MQCMIT y MQBACK no estn disponibles para los programas ILE RPG que se ejecutan en la modalidad de compatibilidad. En esos programas se deben utilizar los cdigos de operacin COMMIT y ROLBK.
11
Para utilizar estos procedimientos es necesario hacer lo siguiente: 1. Definir los procedimientos externos en las especificaciones D. Estn todos disponibles dentro del miembro de archivo COPY CMQG que contiene las constantes con nombre. 2. Utilizar el cdigo de operacin CALLP para llamar al procedimiento junto con sus parmetros. Por ejemplo, la llamada MQOPEN requiere la inclusin del siguiente cdigo:
D****************************************************************** D** Llamada MQOPEN -- Abrir objeto (Desde archivo COPY CMQG) ** D****************************************************************** D* D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. DMQOPEN PR EXTPROC('MQOPEN') D* Asa de conexin D HCONN 10I 0 VALUE D* Descriptor de objeto D OBJDSC 224A D* Opciones que controlan la accin de MQOPEN D OPTS 10I 0 VALUE D* Asa de objeto D HOBJ 10I 0 D* Cdigo de terminacin D CMPCOD 10I 0 D* Cdigo de razn que califica a CMPCOD D REASON 10I 0 D*
Para llamar al procedimiento, despus de inicializar los distintos parmetros es necesario el siguiente cdigo:
...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+....8 C CALLP MQOPEN(HCONN : MQOD : OPTS : HOBJ : C CMPCOD : REASON)
12
Aqu, la estructura MQOD se define utilizando el miembro de COPY CMQODR, que la divide en sus componentes. Nota: Las llamadas que utilizan el enlace dinmico no pueden acceder a las nuevas funciones de la versin 5 release 1. Por ejemplo, las llamadas MQBACK, MQBEGIN, MQCMIT y MQCONNX se pueden utilizar solamente con el enlace esttico.
13
14
Visin general
La estructura MQBO es un parmetro de entrada/salida para la llamada MQBEGIN. Esta estructura est soportada en los siguientes entornos: AIX, HP-UX, OS/2, OS/400, Sun Solaris, Windows NT.
Campos
BOSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: BOSIDV Identificador de la estructura de opciones de empezar. Siempre es un campo de entrada. El valor inicial de este campo es BOSIDV. BOVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: BOVER1 Nmero de versin de la estructura de opciones de empezar. La siguiente constante especifica el nmero de la versin actual: BOVERC Versin actual de la estructura de opciones de empezar. Siempre es un campo de entrada. El valor inicial de este campo es BOVER1. BOOPT (entero con signo de 10 dgitos) Opciones que controlan la accin de MQBEGIN. El valor debe ser: BONONE No se especifican opciones. Siempre es un campo de entrada. El valor inicial de este campo es BONONE.
Copyright IBM Corp. 1994, 2000
15
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQBO D* D* Identificador de estructura D BOSID 1 4 D* Nmero de versin de la estructura D BOVER 5 8I 0 D* Opciones que controlan la accin de MQBEGIN D BOOPT 9 12I 0
16
Descripcin Identificador de estructura Nmero de versin de estructura Longitud de estructura MQCIH Reservado Reservado Nombre del formato MQ siguen a MQCIH Distintivos Cdigo de retorno del puente Cdigo de terminacin de MQ o CICS EIBRESP Cdigo de razn o de informacin de retorno de MQ, o CICS EIBRESP2 Control de unidad de trabajo
Intervalo de espera para llamada MQGET emitida 22 por tarea de puente Tipo de enlace Longitud de datos de COMMAREA de salida Tiempo de liberacin de recurso de puente Descriptor ADS de envo/recepcin Indica si la tarea puede ser conversacional Estado al final de la tarea Valor de smbolo BVT Nombre de llamada MQ o funcin CICS EIBFN Cdigo abend (finalizacin anmala) Contrasea o certificado de acceso 22 22 23 23 23 24 24 24 25 25
Nombre del formato MQ del mensaje de respuesta 25 ID de sistema remoto que se ha de utilizar ID de transaccin remota que se ha de conectar Transaccin que se ha de conectar Atributos emulados de terminal Clave AID Cdigo de inicio de transaccin Cdigo abend de transaccin Siguiente transaccin que se ha de conectar 26 26 26 26 26 26 27 27
Nota: Los campos restantes no estn presentes si CIVER es menor que CIVER2. Posicin del cursor 28
17
Visin general
La estructura MQCIH describe la informacin que puede estar presente al principio de un mensaje enviado al puente CICS a travs de MQSeries para OS/390. La estructura se puede omitir si los valores que necesita la aplicacin son los mismos que los valores iniciales mostrados en la Tabla 8 en la pgina 28 y el puente se ejecuta con AUTH=LOCAL o IDENTIFY. El nombre del formato de esta estructura es FMCICS. La versin actual de MQCIH es CIVER2. Los campos que existen solamente en la estructura de la versin 2 se identifican como tales en las descripciones que siguen. La declaracin de MQCIH proporcionada en el archivo COPY contiene los nuevos campos, con el valor inicial del campo CIVER establecido en GMVER2. Son aplicables condiciones especiales para el juego de caracteres y la codificacin que se utilizan para la estructura MQCIH y los datos de mensajes de aplicacin: v Las aplicaciones que se conectan al gestor de colas que es propietario de la cola del puente CICS deben proporcionar una estructura MQCIH que tenga el juego de caracteres y la codificacin del gestor de colas. Esto se debe a que la conversin de datos de la estructura MQCIH no se lleva a cabo en este caso. v Las aplicaciones que se conectan a otros gestores de colas pueden proporcionar una estructura MQCIH que tenga cualquiera de los juegos de caracteres y codificaciones soportados; la conversin de los datos de mensajes de aplicacin y de MQCIH la lleva a cabo el gestor de colas, segn convenga. Nota: Existe una excepcin a esta regla. Si el gestor de colas que es propietario de la cola del puente CICS utiliza CICS para la gestin de colas distribuidas, la MQCIH debe tener el juego de caracteres y la codificacin de ese gestor de colas. v Los datos de mensajes de aplicacin que siguen a la estructura MQCIH deben tener el mismo juego de caracteres y la misma codificacin que la estructura MQCIH. Los campos CICSI y CIENC de la estructura MQCIH no se pueden utilizar para especificar el juego de caracteres y la codificacin de los datos de mensajes de aplicacin. La aplicacin debe asegurar que los campos documentados como campos de peticin tienen valores adecuados en el mensaje que la aplicacin enva al puente CICS; estos campos se entran en el puente. Los campos documentados como campos de respuesta los establece el puente CICS en el mensaje de respuesta que enva a la aplicacin. La informacin de error se devuelve en los campos CIRET, CIFNC, CICC, CIREA y CIAC. El que se establezca uno u otro depende del valor del campo CIRET; consulte la Tabla 7.
Tabla 7. Contenido de los campos de informacin de error de la estructura MQCIH
CIRET CRC000 CIFNC CICC CIREA CIAC
18
Campos
CISID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: CISIDV Identificador de la estructura de cabecera de informacin de CICS. Es un campo de peticin. El valor inicial de este campo es CISIDV. CIVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser uno de los siguientes: CIVER1 Estructura de cabecera de informacin de CICS de la versin 1. CIVER2 Estructura de cabecera de informacin de CICS de la versin 2. Los campos que existen solamente en la estructura de la versin 2 se identifican como tales en las descripciones que siguen. La siguiente constante especifica el nmero de la versin actual: CIVERC Estructura de cabecera de informacin de CICS de la versin actual. Es un campo de peticin. El valor inicial de este campo es CIVER2. CILEN (entero con signo de 10 dgitos) Longitud de la estructura MQCIH. El valor debe ser uno de los siguientes: CILEN1 Longitud de la estructura de cabecera de informacin de CICS de la versin 1. CILEN2 Longitud de la estructura de cabecera de informacin de CICS de la versin 2. La siguiente constante especifica la longitud de la versin actual: CILENC Longitud de la estructura de cabecera de informacin de CICS de la versin actual.
Captulo 4. MQCIH - Cabecera de puente CICS
19
20
21
22
23
24
25
26
27
| |
28
declaracin RPG
Tabla 8. Valores iniciales de los campos de MQCIH (continuacin)
Nombre de campo CIODL CIFKT CIADS CICT CITES CIFAC CIFNC CIAC CIAUT CIRS1 CIRFM CIRSI CIRTI CITI CIFL CIAI CISC CICNC CINTI CIRS2 CIRS3 CICP CIEO CIII CIRS4 Notas: 1. El smbolo b representa un carcter en blanco. Nombre de constante OLINPT Ninguno ADNONE CTNO TENOSY FCNONE CFNONE Ninguno Ninguno Ninguno FMNONE Ninguno Ninguno Ninguno Ninguno Ninguno SCNONE Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Valor de constante -1 0 0 0 0 Nulos 'bbbb' 'bbbb' 'bbbbbbbb' 'bbbbbbbb' 'bbbbbbbb' 'bbbb' 'bbbb' 'bbbb' 'bbbb' 'bbbb' 'bbbb' 'bbbb' 'bbbb' 'bbbbbbbb' 'bbbbbbbb' 0 0 0 0
| | | |
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQCIH D* D* Identificador de estructura D CISID 1 4 D* Nmero de versin de estructura D CIVER 5 8I 0 D* Longitud de estructura MQCIH D CILEN 9 12I 0 D* Reservado D CIENC 13 16I 0 D* Reservado D CICSI 17 20I 0 D* Nombre del formato MQ de los datos que siguen a MQCIH D CIFMT 21 28 D* Distintivos D CIFLG 29 32I 0
Captulo 4. MQCIH - Cabecera de puente CICS
29
declaracin RPG
D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D Cdigo de retorno del puente CIRET 33 36I 0 Cdigo de terminacin MQ o CICS EIBRESP CICC 37 40I 0 Cdigo de razn o de informacin de retorno MQ, o CICS EIBRESP2 CIREA 41 44I 0 Control de unidad de trabajo CIUOW 45 48I 0 Intervalo de espera para llamada MQGET emitida por tarea de puente CIGWI 49 52I 0 Tipo de enlace CILT 53 56I 0 Longitud de datos de la COMMAREA de salida CIODL 57 60I 0 Tiempo de liberacin de recurso de puente CIFKT 61 64I 0 Descriptor ADS de envo/recepcin CIADS 65 68I 0 Indica si la tarea puede ser conversacional CICT 69 72I 0 Estado al final de la tarea CITES 73 76I 0 Valor de smbolo BVT CIFAC 77 84 Nombre de llamada MQ o funcin CICS EIBFN CIFNC 85 88 Cdigo abend (finalizacin anmala) CIAC 89 92 Contrasea o certificado de acceso CIAUT 93 100 Reservado CIRS1 101 108 Nombre del formato MQ del mensaje de respuesta CIRFM 109 116 ID de sistema remoto que se ha de utilizar CIRSI 117 120 ID de transaccin remota que se ha de conectar CIRTI 121 124 Transaccin que se ha de conectar CITI 125 128 Atributos emulados de terminal CIFL 129 132 Clave AID CIAI 133 136 Cdigo de inicio de transaccin CISC 137 140 Cdigo abend de transaccin CICNC 141 144 Siguiente transaccin que se ha de conectar CINTI 145 148 Reservado CIRS2 149 156 Reservado CIRS3 157 164 Posicin del cursor CICP 165 168I 0 Desplazamiento de error en mensaje CIEO 169 172I 0 Nmero de elemento del ltimo mensaje ledo CIII 173 176I 0 Reservado CIRS4 177 180I 0
30
Nota: Los campos restantes no estn presentes si CNVER es menor que CNVER2. Desplazamiento de estructura MQCD para conexin de cliente Direccin de estructura MQCD para conexin de cliente 33 33
Visin general
La estructura MQCNO es un parmetro de entrada/salida de la llamada MQCONNX.
Campos
CNSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: CNSIDV Identificador de la estructura de opciones de conectar. Siempre es un campo de entrada. El valor inicial del campo es CNSIDV. CNVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser uno de los siguientes: CNVER1 Estructura de opciones de conectar de la versin 1. CNVER2 Estructura de opciones de conectar de la versin 2. Los campos que existen solamente en la estructura de la versin 2 se identifican como tales en las descripciones que siguen. La siguiente constante especifica el nmero de la versin actual: CNVERC Versin actual de la estructura de opciones de conectar. Siempre es un campo de entrada. El valor inicial del campo es CNVER1.
31
32
33
CDXDL
CDSXD
CDRXD
La estructura de definicin de canal se puede proporcionar de una de las dos formas siguientes: v Utilizando el campo de desplazamiento CNCCO En este caso, la aplicacin debe declarar su propia estructura que contiene una MQCNO seguida de la estructura de definicin de canal MQCD, y debe
34
| | |
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQCNO D* D* Identificador de estructura D CNSID 1 4 D* Nmero de versin de estructura D CNVER 5 8I 0 D* Opciones que controlan la accin de MQCONNX D CNOPT 9 12I 0 D* Desplazamiento de estructura MQCD para conexin de cliente D CNCCO 13 16I 0 D* Direccin de estructura MQCD para conexin de cliente D CNCCP 17 32*
35
36
Visin general
La estructura MQDH describe los datos que estn presentes en un mensaje de una cola de transmisin cuando se trata de un mensaje de lista de distribucin (es decir, el mensaje se enva a varias colas destino). Esta estructura la utilizan las aplicaciones especializadas que transfieren mensajes directamente a colas de transmisin, o que eliminan mensajes de colas de transmisin (por ejemplo: agentes del canal de mensajes). Esta estructura no deben utilizarla las aplicaciones normales que simplemente desean transferir mensajes a listas de distribucin. Esas aplicaciones deben utilizar la estructura MQOD para definir los destinos de la lista de distribucin, y la estructura MQPMO para especificar las propiedades de los mensajes o recibir informacin acerca de los mensajes enviados a cada destino en particular. Esta estructura est soportada en los siguientes entornos: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Cuando una aplicacin transfiere un mensaje a una lista de distribucin, y algunos o todos los destinos son remotos, el gestor de colas pone como prefijo de los datos del mensaje de aplicacin las estructuras MQXQH y MQDH, y transfiere el mensaje a la cola de transmisin pertinente. Por consiguiente, los datos aparecen en la siguiente secuencia cuando el mensaje est en una cola de transmisin: v Estructura MQXQH
Copyright IBM Corp. 1994, 2000
37
Campos
DHSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: DHSIDV Identificador de la estructura de cabecera de distribucin. El valor inicial de este campo es DHSIDV. DHVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: DHVER1 Nmero de versin de la estructura de cabecera de distribucin. La siguiente constante especifica el nmero de la versin actual: DHVERC Versin actual de la estructura de cabecera de distribucin. El valor inicial de este campo es DHVER1. DHLEN (entero con signo de 10 dgitos) Longitud de la estructura MQDH ms los registros siguientes. Es el nmero de bytes desde el principio de la estructura MQDH hasta el principio de los datos de mensaje que siguen a las matrices de los registros MQOR y MQPMR. Los datos aparecen en la siguiente secuencia: v Estructura MQDH v Matriz de registros MQOR v Matriz de registros MQPMR
38
39
40
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQDH D* D* Identificador de estructura D DHSID 1 4 D* Nmero de versin de estructura D DHVER 5 8I 0 D* Longitud de la estructura MQDH ms los registros siguientes D DHLEN 9 12I 0 D* Codificacin numrica de los datos que siguen a la matriz de D* registros MQPMR D DHENC 13 16I 0 D* Identificador de juego de caracteres de los datos que siguen D* a la matriz de registros MQPMR D DHCSI 17 20I 0 D* Nombre del formato de los datos que siguen a la matriz de
Captulo 6. MQDH - Cabecera de distribucin
41
42
Visin general
La estructura MQDLH describe la informacin que se pone como prefijo en los datos de mensaje de aplicacin de los mensajes de la cola de mensajes no entregados (mensajes en espera). Un mensaje puede llegar a la cola de mensajes no entregados porque el gestor de colas o el agente de canal de mensajes lo ha redirigido a la cola o porque una aplicacin lo ha transferido directamente a la misma. Se lleva a cabo un proceso especial cuando un mensaje que es un segmento se transfiere con una estructura MQDLH al principio; consulte la descripcin de la estructura MQMDE para obtener informacin ms detallada. Esta estructura no est soportada en los siguientes entornos: Windows de 16 bits, Windows de 32 bits. Las aplicaciones que transfieren mensajes directamente a la cola de mensajes no entregados deben poner como prefijo de los datos de mensaje una estructura MQDLH, y deben inicializar los campos con valores adecuados. Sin embargo, el gestor de colas no comprueba si la estructura MQDLH est presente, ni tampoco si se han especificado valores vlidos para los campos.
Copyright IBM Corp. 1994, 2000
43
44
Campos
DLSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: DLSIDV Identificador de la estructura de cabecera de mensaje no entregado. El valor inicial de este campo es DLSIDV. DLVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: DLVER1 Nmero de versin de la estructura de cabecera de mensaje no entregado. La siguiente constante especifica el nmero de la versin actual: DLVERC Versin actual de la estructura de cabecera de mensaje no entregado. El valor inicial de este campo es DLVER1. DLREA (entero con signo de 10 dgitos) Mensaje de razn llegado a la cola de mensajes no entregados. Indica la razn por la que el mensaje se coloc en la cola mensajes no entregados en vez de en la cola destino original. Debe ser uno de los valores FB* o RC* (por ejemplo, RC2053). Consulte la descripcin del campo MDFB en el
Captulo 7. MQDLH - Cabecera de mensaje no entregado
45
46
47
48
Nota: Si el reloj del sistema est sincronizado para una hora estndar muy exacta, es posible que en algunas ocasiones, poco frecuentes, se devuelva 60 61 para los segundos en DLPT. Esto sucede cuando se insertan segundos de ao bisiesto en la hora global estndar. En los campos DLPD y DLPT se utiliza la Hora del Meridiano de Greenwich (GMT), suponiendo que el reloj del sistema se haya ajustado correctamente segn la GMT. La longitud de este campo la proporciona LNPTIM. El valor inicial del campo son 8 caracteres en blanco.
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQDLH D* D* Identificador de estructura D DLSID 1 4 D* Nmero de versin de estructura
Captulo 7. MQDLH - Cabecera de mensaje no entregado
49
50
Nota: Los campos restantes no estn presentes si GMVER es menor que GMVER2. Opciones que controlan los criterios de seleccin utilizados para MQGET Distintivo que indica si el mensaje recuperado est en un grupo Distintivo que indica si el mensaje recuperado es un segmento de un mensaje lgico Distintivo que indica si se permite ms segmentacin para el mensaje recuperado 72 74 75 75
| | | |
Nota: Los campos restantes no estn presentes si GMVER es menor que GMVER3. GMTOK GMRL Smbolo del mensaje Longitud de los datos de mensaje devueltos (bytes) 75 75
Visin general
La versin actual de MQGMO la proporciona GMVERC. Los campos que existen solamente en las versiones ms recientes de la estructura se identifican como tales en las descripciones que siguen. La declaracin de MQGMO proporcionada en el archivo COPY contiene los campos adicionales, pero el valor inicial proporcionado para el campo GMVER es GMVER1. Para utilizar los campos adicionales, la aplicacin debe establecer el nmero de versin en GMVERC. Las aplicaciones que se pretende que sean transportables entre varios entornos deben utilizar una versin ms reciente de MQGMO solamente si todos esos entornos aceptan dicha versin. La estructura MQGMO es un parmetro de entrada/salida para la llamada MQGET.
51
Campos
GMSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: GMSIDV Identificador de la estructura de opciones de obtener mensaje. Siempre es un campo de entrada. El valor inicial de este campo es GMSIDV. GMVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser uno de los siguientes: GMVER1 Estructura de opciones de obtener mensaje de la versin 1. GMVER2 Estructura de opciones de obtener mensaje de la versin 2. Los campos que existen solamente en la estructura de la versin 2 se identifican como tales en las descripciones que siguen. | | | | GMVER3 Estructura de opciones de obtener mensaje de la versin 3. Los campos que existen solamente en la estructura de la versin 3 se identifican como tales en las descripciones que siguen. La siguiente constante especifica el nmero de la versin actual: GMVERC Estructura de opciones de obtener mensaje de la versin actual. Siempre es un campo de entrada. El valor inicial de este campo es GMVER1. GMOPT (entero con signo de 10 dgitos) Opciones que controlan la accin de MQGET. Se pueden especificar cero o ms de las opciones descritas a continuacin. Si es necesario ms de uno, los valores se aaden juntos (no aada la misma constante ms de una vez). Se indican las combinaciones de opciones que no son vlidas; todas las dems combinaciones son vlidas. GMWT Esperar a que llegue el mensaje. La aplicacin debe esperar a que llegue un mensaje apropiado. El tiempo mximo de espera de la aplicacin se especifica en GMWI. Si las peticiones MQGET estn inhabilitadas, o las peticiones MQGET pasan a estarlo mientras esperan, la espera se cancela y la llamada se completa con CCFAIL y el cdigo de razn RC2016, independientemente de si hay o no hay mensajes apropiados en la cola. Esta opcin se puede utilizar con las opciones GMBRWF o GMBRWN.
52
53
54
55
56
57
58
59
60
61
62
63
MDCID
MDGID
MDSEQ
MDOFF
1 1
64
(U)
(U)
Cuando hay varios grupos de mensajes presentes en la cola que son elegibles para la devolucin, los grupos se devuelven en el orden que determina la posicin en la cola del primer segmento del primer mensaje lgico de cada grupo (es decir, los mensajes fsicos que tienen nmeros de secuencia de mensaje 1 y desplazamientos 0 determinan el orden en que se devuelven los grupos elegibles). La opcin GMLOGO afecta a las unidades de trabajo de la siguiente manera: v Si el primer mensaje lgico o segmento de un grupo se recupera dentro de una unidad de trabajo, todos los dems mensajes lgicos y segmentos del grupo deben recuperarse dentro de una unidad de trabajo, en caso de que se utilice la misma asa de cola. Sin embargo, no es necesario recuperarlos dentro de la misma unidad de trabajo. Esto permite que un grupo que consta de muchos mensajes fsicos se divida entre dos o ms unidades de trabajo consecutivas para el asa de cola. v Si el primer mensaje lgico o segmento de un grupo no se recupera dentro de una unidad de trabajo, ninguno de los dems mensajes lgicos y segmentos del grupo se puede recuperar dentro de una unidad de trabajo, en caso de que se utilice la misma asa de cola. Si no se satisfacen estas condiciones, la llamada MQGET falla con el cdigo de razn RC2245. Cuando se especifica GMLOGO, la MQGMO suministrada en la llamada MQGET no debe ser menor que GMVER2, y la MQMD no debe ser menor que MDVER2. Si no se satisface esta condicin, la llamada falla con el cdigo de razn RC2256 RC2257, segn corresponda. Si GMLOGO no se especifica para las sucesivas llamadas MQGET para el asa de cola, los mensajes se devuelven si tener en cuenta si pertenecen a grupos de mensajes o si son segmentos de mensajes lgicos. Esto significa que los mensajes o segmentos de un mensaje lgico o grupo determinado se pueden devolver desordenadamente, o pueden entremezclarse con mensajes o segmentos de otros grupos o mensajes lgicos, o con mensajes que no estn en grupos y que no son segmentos. En esta situacin, los mensajes determinados que las llamadas sucesivas MQGET devuelven los controlan las opciones MO* especificadas en esas llamadas (vea el campo GMMO que se describe en el
65
66
Se recomienda que en las aplicaciones que simplemente desean recuperar mensajes y segmentos en orden lgico se especifique GMLOGO, ya que esta es la opcin ms fcil de utilizar. Esta opcin hace que la aplicacin no tenga que gestionar la informacin de grupo y segmento, porque el gestor de colas lo hace en su lugar. Sin embargo, las aplicaciones especializadas pueden necesitar ms control que el que proporciona la opcin GMLOGO, y esto se puede lograr no especificando dicha opcin. En este caso, la aplicacin debe asegurar que los campos MDMID, MDCID, MDGID, MDSEQ y MDOFF de MQMD, y las opciones MO* de GMMO de MQGMO se establecen correctamente antes de cada llamada MQGET. Por ejemplo, una aplicacin que quiera reenviar los mensajes fsicos que recibe, sin tener en cuenta si esos mensajes estn en grupos o segmentos de mensajes lgicos, no debe especificar GMLOGO. Esto se debe a que, en una red compleja con varias vas de acceso entre los gestores de colas emisor y receptor, los mensajes fsicos pueden llegar desordenadamente. Al no especificar GMLOGO ni el PMLOGO correspondiente de la llamada MQPUT, la aplicacin del reenvo puede recuperar y reenviar cada mensaje fsico tan pronto como llegue, sin tener que esperar a que llegue el siguiente en orden lgico. GMLOGO se puede especificar con cualquiera de las dems opciones GM* y con varias de las opciones MO*, en circunstancias adecuadas (vase la explicacin ms arriba). GMCMPM Solo son recuperables los mensajes lgicos completos. Esta opcin especifica que la llamada MQGET solo puede devolver un mensaje lgico completo. Si el mensaje lgico est segmentado, el gestor de colas reensambla los segmentos y devuelve el mensaje lgico completo a la aplicacin; el hecho de que el mensaje lgico estuviera segmentado no es evidente para la aplicacin que lo recupera. Nota: Esta es la nica opcin que hace que el gestor de colas reensamble segmentos de mensajes. Si no se especifica, los segmentos se devuelven individualmente a la aplicacin en caso de estar presentes en la cola (y si satisfacen los otros criterios de seleccin especificados en la llamada MQGET). Por tanto, las aplicaciones que no quieren recibir segmentos individuales siempre deben especificar GMCMPM. Para utilizar esta opcin la aplicacin debe proporcionar un almacenamiento intermedio que sea lo bastante grande para dar cabida al mensaje completo, o especificar la opcin GMATM.
67
68
69
70
71
72
73
74
| | |
75
| |
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQGMO D* D* Identificador de estructura D GMSID 1 4 D* Nmero de versin de estructura D GMVER 5 8I 0 D* Opciones que controlan la accin de MQGET D GMOPT 9 12I 0 D* Intervalo de espera D GMWI 13 16I 0 D* Seal D GMSG1 17 20I 0 D* Identificador de seal D GMSG2 21 24I 0 D* Nombre resuelto de la cola destino D GMRQN 25 72 D* Opciones que controlan los criterios de seleccin usados para MQGET D GMMO 73 76I 0
76
declaracin RPG
D* D D* D* D D* D* D D* D D* D D* D Distintivo que indica GMGST Distintivo que indica de un mensaje lgico GMSST Distintivo que indica mensaje recuperado GMSEG Reservado GMRE1 Smbolo de mensaje GMTOK Longitud de los datos GMRL si el mensaje recuperado est en un grupo 77 77 si el mensaje recuperado es un segmento 78 78 si se permite ms segmentacin para el 79 80 79 80
| | | |
77
declaracin RPG
78
Nombre de correlacin de servicios de formato de 81 mensajes Nombre del formato MQ del mensaje de respuesta 81 Contrasea o ticket de paso RACF Identificador de instancia de transaccin Estado de transaccin Modalidad de compromiso mbito de la seguridad 81 82 82 82 82
Visin general
La estructura MQIIH describe la informacin que debe estar presente al principio de un mensaje enviado al puente IMS a travs de MQSeries para OS/390. El nombre del formato de esta estructura es FMIMS. Son aplicables condiciones especiales para el juego de caracteres y la codificacin que se utilizan para la estructura MQIIH y los datos de mensajes de aplicacin: v Las aplicaciones que se conectan con el gestor de colas que posee la cola del puente IMS deben proporcionar una estructura MQIIH que tenga el juego de caracteres y la codificacin del gestor de colas. Esto se debe a que la conversin de datos de la estructura MQIIH no se lleva a cabo en este caso. v Las aplicaciones que se conectan a otros gestores de colas pueden proporcionar una estructura MQIIH que tenga cualquiera de los juegos de caracteres y codificaciones que se aceptan; la conversin de los datos de mensajes de aplicacin y la MQIIH la lleva a cabo el gestor de colas, segn convenga. Nota: Existe una excepcin a esta regla. Si el gestor de colas que posee la cola del puente IMS utiliza CICS para la gestin de colas distribuidas, la MQIIH debe tener el juego de caracteres y la codificacin de ese gestor de colas. v Los datos de mensajes de aplicacin que siguen a la estructura MQIIH deben tener el mismo juego de caracteres y la misma codificacin que la estructura
79
Campos
IISID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: IISIDV Identificador para la estructura de cabecera de informacin IMS. El valor inicial de este campo es IISIDV. IIVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: IIVER1 Nmero de versin para la estructura de cabecera de informacin IMS. La siguiente constante especifica el nmero de la versin actual: IIVERC Versin actual de la estructura de cabecera de informacin IMS. El valor inicial de este campo es IIVER1. IILEN (entero con signo de 10 dgitos) Longitud de la estructura MQIIH. El valor debe ser: IILEN1 Longitud de la estructura de cabecera de informacin IMS. El valor inicial de este campo es IILEN1. IIENC (entero con signo de 10 dgitos) Reservado. Es un campo reservado; su valor no es significativo. El valor inicial de este campo es 0. IICSI (entero con signo de 10 dgitos) Reservado. Es un campo reservado; su valor no es significativo. El valor inicial de este campo es 0. IIFMT (serie de caracteres de 8 bytes) Nombre del formato MQ de los datos que siguen a MQIIH. Es el nombre del formato MQ de los datos de mensaje de aplicacin que siguen a la estructura MQIIH. Las reglas para codificarlo son las mismas que las del campo MDFMT de MQMD.
80
81
82
83
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQIIH D* D* Identificador de estructura D IISID 1 4 D* Nmero de versin de estructura D IIVER 5 8I 0 D* Longitud de la estructura MQIIH D IILEN 9 12I 0 D* Reservado D IIENC 13 16I 0 D* Reservado D IICSI 17 20I 0 D* Nombre del formato MQ de los datos que siguen a MQIIH D IIFMT 21 28 D* Distintivos D IIFLG 29 32I 0 D* Alteracin temporal de terminal lgico D IILTO 33 40 D* Nombre de correlacin de servicios de formato de mensajes D IIMMN 41 48 D* Nombre del formato MQ del mensaje de respuesta D IIRFM 49 56 D* Contrasea o ticket de paso RACF D IIAUT 57 64 D* Identificador de instancia de transaccin D IITID 65 80 D* Estado de transaccin D IITST 81 81 D* Modalidad de compromiso D IICMT 82 82 D* mbito de seguridad D IISEC 83 83 D* Reservado D IIRSV 84 84
84
Nota: Los campos restantes no estn presentes si MDVER es menor que MDVER2. Identificador de grupo Nmero de secuencia que el mensaje lgico tiene dentro del grupo Desplazamiento de datos del mensaje fsico desde el principio del mensaje lgico Distintivos de mensaje Longitud del mensaje original 126 127 127 128 133
85
Visin general
La estructura MQMD contiene la informacin de control que acompaa a los datos de la aplicacin cuando un mensaje viaja entre las aplicaciones emisora y receptora. Los datos de tipo carcter del descriptor de mensaje tienen el juego de caracteres del gestor de colas al que est conectada la aplicacin; esto lo establece el atributo de gestor de colas CodedCharSetId. Los datos numricos del descriptor de mensaje tienen la codificacin nativa de la mquina (indicada por ENNAT). Si los gestores de colas emisor y receptor utilizan distintos juegos de caracteres o codificaciones, los datos del descriptor de mensaje se convierten automticamente (no es necesario que la aplicacin receptora realice esas conversiones). Si los datos del mensaje de la aplicacin necesitan convertirse, esta operacin puede llevarla a cabo una rutina de salida escrita por usuario invocada al recuperar el mensaje mediante la llamada MQGET. Para obtener ms informacin, consulte lo siguiente: v La opcin GMCONV que se describe en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51 v La nota de utilizacin que describe GMCONV en el Captulo 30. MQGET Obtener mensaje en la pgina 241 v La publicacin MQSeries Application Programming Guide Cuando un mensaje se encuentra en una cola de transmisin, algunos de los campos de MQMD se establecen en valores determinados; consulte el Captulo 21. MQXQH - Cabecera de cola de transmisin en la pgina 203 para obtener informacin detallada. La versin actual de MQMD es MDVER2. Los campos que existen solamente en la estructura de la versin 2 se identifican como tales en las descripciones que siguen. La declaracin de MQMD proporcionada en el archivo COPY contiene los campos nuevos, pero el valor inicial proporcionado para el campo MDVER es MDVER1; esto garantiza la compatibilidad con las versiones existentes. Para utilizar los campos nuevos, la aplicacin debe establecer el nmero de versin en MDVER2. Existe una declaracin disponible para la estructura de la versin 1 con el nombre MQMD1. Las aplicaciones que se pretende que sean portables entre varios entornos deben utilizar la versin 2 de MQGM solamente si todos esos entornos soportan dicha versin. Utilizar la versin 2 de MQMD suele ser equivalente a utilizar la versin 1, poniendo como prefijo a los datos del mensaje de la aplicacin una estructura MQMDE. Sin embargo, si todos los campos de la estructura MQMDE tienen sus valores por omisin, la MQMDE se puede pasar por alto. La versin 1 de MQMD junto con MQMDE se utilizan de la siguiente forma: v En las llamadas MQPUT y MQPUT1, si la aplicacin proporciona la versin 1 de la MQMD, tiene la opcin de poner como prefijo a los datos del mensaje una MQMDE, estableciendo el campo MDFMT de MQMD en FMMDE para indicar que hay presente una MQMDE. Si la aplicacin no proporciona una MQMDE, el gestor de colas presupone valores por omisin para los campos de la MQMDE. Nota: Varios de los campos que existen en la versin 2 de MQMD, pero no en la versin 1, son campos de entrada/salida en MQPUT y MQPUT1. Sin embargo, el gestor de colas no devuelve ningn valor en los campos
86
Campos
MDSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: MDSIDV Identificador de la estructura del descriptor de mensaje. Siempre es un campo de entrada. El valor inicial de este campo es MDSIDV. MDVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser uno de los siguientes: MDVER1 Estructura de descriptor de mensaje de la versin 1. MDVER2 Estructura de descriptor de mensaje de la versin 2. Los campos que existen solamente en la estructura de la versin 2 se identifican como tales en las descripciones que siguen. Nota: Cuando se utiliza la versin 2 de MQMD, el gestor de colas lleva a cabo comprobaciones adicionales en cualquier estructura de cabecera de MQ que pueda haber presente al principio de los datos del mensaje de la aplicacin; para obtener informacin ms detallada consulte la nota de utilizacin 4 en la pgina 285 para la llamada MQPUT. La siguiente constante especifica el nmero de la versin actual: MDVERC Versin actual de la estructura de descriptor de mensaje. Siempre es un campo de entrada. El valor inicial de este campo es MDVER1. MDREP (entero con signo de 10 dgitos) Opciones para mensajes de informe.
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
zz
ccc
Los mensajes con este formato se pueden convertir si la opcin GMCONV se especifica en la llamada MQGET. FMMDE Extensin de descriptor de mensaje. Los datos de mensaje empiezan por la extensin MQMDE del descriptor de mensaje y van seguidos, de forma opcional, por otros datos (normalmente los datos de mensajes de aplicacin). El nombre del formato, el juego de caracteres y la codificacin de los datos que siguen a MQMDE los proporcionan los campos MEFMT, MECSI y MEENC de MQMDE. En el Captulo 11. MQMDE - Extensin de descriptor de mensaje en la pgina 137 encontrar informacin detallada sobre esta estructura. Los mensajes con este formato se pueden convertir si la opcin GMCONV se especifica en la llamada MQGET. FMPCF Mensaje definido por el usuario en formato de mandato programable (PCF). Este es un mensaje definido por el usuario que se ajusta a la estructura de un mensaje en formato de mandato programable (PCF). Los
Captulo 10. MQMD - Descriptor de mensaje
109
110
111
112
1. Un MDMID generado por el gestor de colas consta de un identificador de producto de 4 bytes (AMQb o CSQb en ASCII o EBCDIC, donde b representa un espacio en blanco), seguido de una implementacin de una serie exclusiva especfica de producto. En MQSeries contiene los primeros 12 caracteres del nombre del gestor de colas, y un valor derivado del reloj del sistema. As pues, los gestores de colas que puedan comunicarse entre s debern tener nombres cuyos 12 primeros caracteres sean distintos, a fin de que los identificadores de mensajes sean exclusivos. La posibilidad de generar un nmero exclusivo depende tambin de que el reloj del sistema no se retrase. Para eliminar la posibilidad de que un identificador de mensaje generado por el gestor de colas coincida con uno generado por la aplicacin, esta ltima debe procurar no generar identificadores cuyos caracteres iniciales estn comprendidos entre la A y la I en ASCII o EBCDIC (entre X'41' y X'49' y entre X'C1' y X'C9'). Sin embargo, la aplicacin no tiene prohibido generar identificadores con caracteres iniciales que pertenezcan a estos rangos. Captulo 10. MQMD - Descriptor de mensaje
113
114
115
116
117
118
| | | | | | | | | |
119
120
121
122
123
Nota: Si el reloj del sistema est sincronizado para una hora estndar muy exacta, es posible que en algunas ocasiones, poco frecuentes, se devuelva 60 61 para los segundos en MDPT. Esto sucede cuando se insertan
124
125
126
127
128
129
130
131
132
133
134
Declaracin RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQMD D* D* Identificador de estructura D MDSID 1 4 D* Nmero de versin de estructura D MDVER 5 8I 0 D* Opciones para mensajes de informe D MDREP 9 12I 0 D* Tipo de mensaje D MDMT 13 16I 0 D* Duracin de mensaje D MDEXP 17 20I 0 D* Cdigo de informacin de retorno o de razn D MDFB 21 24I 0 D* Codificacin numrica de datos de mensaje D MDENC 25 28I 0 D* Identificador de juego de caracteres de los datos de mensaje D MDCSI 29 32I 0 D* Nombre de formato de los datos de mensaje D MDFMT 33 40 D* Prioridad de mensaje D MDPRI 41 44I 0 D* Permanencia de mensaje D MDPER 45 48I 0 D* Identificador de mensaje D MDMID 49 72 D* Identificador de correlacin D MDCID 73 96 D* Contador de restitucin D MDBOC 97 100I 0 D* Nombre de cola de respuestas D MDRQ 101 148 D* Nombre de gestor de colas de respuestas D MDRM 149 196 D* Identificador de usuario D MDUID 197 208 D* Smbolo de contabilidad D MDACC 209 240 D* Datos de aplicacin relativos a identidad D MDAID 241 272 D* Tipo de aplicacin que pone el mensaje D MDPAT 273 276I 0 D* Nombre de aplicacin que pone el mensaje D MDPAN 277 304 D* Fecha en que se puso el mensaje D MDPD 305 312 D* Hora en que se puso el mensaje D MDPT 313 320 D* Datos de aplicacin relativos al origen D MDAOD 321 324 D* Identificador de grupo D MDGID 325 348 D* Nmero de secuencia de mensaje lgico en grupo D MDSEQ 349 352I 0 D* Desplazamiento de datos en mensaje fsico desde principio D* de mensaje lgico D MDOFF 353 356I 0 D* Distintivos de mensaje D MDMFL 357 360I 0 D* Longitud de mensaje original D MDOLN 361 364I 0
135
136
Visin general
La estructura MQMDE describe los datos que aparecen a veces antes de los datos del mensaje de aplicacin. Las aplicaciones normales debern utilizar un MQMD de la versin 2, en cuyo caso no se encontrarn una estructura MQMDE. Sin embargo, las aplicaciones especializadas y las aplicaciones que continen utilizando un MQMD de la versin 1, podran encontrar una MQMDE en algunas situaciones. La estructura MQMDE contiene aquellos campos de MQMD que existen en el MQMD de la versin 2, pero no en el MQMD de la versin 1. Puede aparecer bajo las siguientes circunstancias: v Especificado en las llamadas MQPUT y MQPUT1 v Devuelto por la llamada MQGET v En los mensajes de las colas de transmisin Estos se describen ms adelante. MQMDE especificada en llamadas MQPUT y MQPUT1: En las llamadas MQPUT y MQPUT1, si la aplicacin proporciona un MQMD de la versin 1, la aplicacin puede poner una MQMDE opcionalmente como prefijo de los datos del mensaje, estableciendo el campo MDFMT de MQMD en FMMDE para indicar que hay una MQMDE presente. Si la aplicacin no proporciona una MQMDE, el gestor de colas toma los valores por omisin para los campos de la MQMDE. Los valores por
137
2 2 2
MQMDE se respeta Anomala de la llamada con un cdigo de razn adecuado Se trata a MQMDE como datos de mensaje
2 2 2 2
No por omisin Vlidos e iguales que MQMD No por omisin Vlidos, pero distintos de MQMD No por omisin No vlido No por omisin MQMDE tiene un juego de caracteres o una codificacin errneos, o una versin no soportada
MQMDE se respeta Se trata a MQMDE como datos de mensaje Anomala de la llamada con un cdigo de razn adecuado Se trata a MQMDE como datos de mensaje
Los datos de la estructura MQMDE deben tener el mismo juego de caracteres y la misma codificacin que el gestor de colas. El juego de caracteres viene dado por el atributo de gestor de colasCodedCharSetId (vea el Captulo 43. Atributos del gestor de colas en la pgina 337), mientras que, en la mayora de los casos, la codificacin viene dada por el valor de ENNAT. Si no se satisface esta condicin, se acepta MQMDE, pero no se cumple, es decir, se trata a MQMDE como datos de mensaje. Nota: En las aplicaciones OS/2 y Windows NT, compiladas con Micro Focus COBOL, utilice un valor de ENNAT distinto de la codificacin del gestor de colas. Aunque los campos numricos de la estructura MQMD en las
138
139
Campos
MESID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: MESIDV Identificador de la estructura de extensin de descriptor de mensaje. El valor inicial de este campo es MESIDV. MEVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: MEVER2 Estructura de extensin de descriptor de mensaje de la versin 2. La siguiente constante especifica el nmero de la versin actual: MEVERC Versin actual de la estructura de extensin de descriptor de mensaje. El valor inicial de este campo es MEVER2. MELEN (entero con signo de 10 dgitos) Longitud de la estructura MQMDE. Se ha definido el siguiente valor: MELEN2 Longitud de la estructura de extensin de descriptor de mensaje de la versin 2. El valor inicial de este campo es MELEN2. MEENC (entero con signo de 10 dgitos) Codificacin numrica de los datos que siguen a MQMDE. El gestor de colas no comprueba el valor de este campo. Vea el campo MDENC descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para obtener ms informacin sobre las codificaciones de datos. El valor inicial de este campo es ENNAT. MECSI (entero con signo de 10 dgitos) Identificador de juego de caracteres de los datos que siguen a MQMDE. El gestor de colas no comprueba el valor de este campo. El valor inicial de este campo es 0. MEFMT (serie de caracteres de 8 bytes) Nombre de formato de los datos que siguen a MQMDE. El gestor de colas no comprueba el valor de este campo. Vea el campo MDFMT descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para obtener ms informacin sobre los nombres de formato.
140
141
Declaracin de RPG
Tabla 25. Valores iniciales de los campos de MQMDE (continuacin)
Nombre de campo MEOFF MEMFL MEOLN Notas: 1. El smbolo b representa un carcter en blanco. 2. El valor de esta constante es especfico del entorno. Nombre de constante Ninguno MFNONE OLUNDF Valor de constante 0 0 -1
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQMDE D* D* Identificador de estructura D MESID 1 4 D* Nmero de versin de estructura D MEVER 5 8I 0 D* Longitud de la estructura MQMDE D MELEN 9 12I 0 D* Codificacin numrica de los datos que siguen a MQMDE D MEENC 13 16I 0 D* Identificador de juego de caracteres de los datos que siguen a MQMDE D MECSI 17 20I 0 D* Nombre de formato de los datos que siguen a MQMDE D MEFMT 21 28 D* Distintivos generales D MEFLG 29 32I 0 D* Identificador de grupo D MEGID 33 56 D* Nmero de secuencia de mensaje lgico dentro del grupo D MESEQ 57 60I 0 D* Desplazamiento de datos del mensaje fsico desde el principio del mensaje lgico D MEOFF 61 64I 0 D* Distintivos de mensaje D MEMFL 65 68I 0 D* Longitud del mensaje original D MEOLN 69 72I 0
142
Nota: Los campos restantes no estarn presentes si ODVER es inferior a ODVER2. Nmero de registros de objeto presentes Nmero de colas locales abiertas satisfactoriamente Nmero de colas remotas abiertas satisfactoriamente Nmero de colas que no han logrado abrirse Desplazamiento del primer registro de objeto desde el principio de MQOD Desplazamiento del primer registro de respuesta desde el principio de MQOD Direccin del primer registro de objeto Direccin del primer registro de respuesta 147 147 147 148 148 148 149 149
| | | |
Nota: Los campos restantes no estarn presentes si ODVER es inferior a ODVER3. ODASI ODRQN ODRMN Identificador de seguridad alternativo Nombre de cola resuelto Nombre de gestor de colas resuelto 150 150 151
Visin general
Para especificar un objeto por su nombre se utiliza la estructura MQOD. Son vlidos los siguientes tipos de objetos: v Cola o lista de distribucin v Definicin de proceso v Gestor de colas La versin actual de MQOD viene dada por ODVERC. Los campos que existen solamente en las versiones ms recientes de la estructura estn identificados como tales en las descripciones que se ofrecen a continuacin. La declaracin de MQOD proporcionada en el archivo COPY contiene los campos adicionales, pero el valor inicial proporcionado para el campo ODVER es ODVER1. Para utilizar los campos adicionales, la aplicacin debe establecer el nmero de versin en ODVERC. Las
143
Campos
ODSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: ODSIDV Identificador de la estructura del descriptor de objeto. Siempre es un campo de entrada. El valor inicial de este campo es ODSIDV. ODVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser uno de los siguientes: ODVER1 Estructura del descriptor de objeto de la versin 1. ODVER2 Estructura del descriptor de objeto de la versin 2. Los campos que existen solamente en la estructura de la versin 2 estn identificados como tales en las descripciones que se ofrecen a continuacin. | | | | | ODVER3 Estructura del descriptor de objeto de la versin 3. Los campos que existen solamente en la estructura de la versin 3 estn identificados como tales en las descripciones que se ofrecen a continuacin. La siguiente constante especifica el nmero de la versin actual: ODVERC Versin actual de la estructura del descriptor de objeto. Siempre es un campo de entrada. El valor inicial de este campo es ODVER1. ODOT (entero con signo de 10 dgitos) Tipo de objeto. Tipo de objeto al que se da nombre en ODON. Los valores posibles son: OTQ Cola.
144
145
146
147
148
149
| | | | | |
150
151
| | |
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQOD D* D* Identificador de estructura D ODSID 1 4 D* Nmero de versin de estructura D ODVER 5 8I 0 D* Tipo de objeto D ODOT 9 12I 0 D* Nombre de objeto D ODON 13 60 D* Nombre del gestor de colas del objeto D ODMN 61 108 D* Nombre de cola dinmica D ODDN 109 156 D* Identificador de usuario alternativo D ODAU 157 168 D* Nmero de registros de objeto presentes D ODREC 169 172I 0 D* Nmero de colas locales abiertas satisfactoriamente D ODKDC 173 176I 0 D* Nmero de colas remotas abiertas satisfactoriamente D ODUDC 177 180I 0 D* Nmero de colas que no han logrado abrirse D ODIDC 181 184I 0 D* Desplazamiento del primer registro de objeto desde el principio de MQOD D ODORO 185 188I 0 D* Desplazamiento del primer registro de respuesta desde el principio de MQOD D ODRRO 189 192I 0 D* Direccin del primer registro de objeto D ODORP 193 208* D* Direccin del primer registro de respuesta D ODRRP 209 224* D* Identificador de seguridad alternativo D ODASI 225 264 D* Nombre de cola resuelto D ODRQN 265 312 D* Nombre de gestor de colas resuelto D ODRMN 313 360
| | | | | |
152
Visin general
La estructura MQOR se utiliza para especificar el nombre de cola y el nombre del gestor de colas de una sola cola destino. Al proporcionarse un conjunto de estas estructuras en la llamada MQOPEN, es posible abrir una lista de colas; esta lista se denomina lista de distribucin. Cada mensaje transferido utilizando el asa de cola devuelta por esa llamada MQOPEN se coloca en cada una de las colas de la lista, siempre que esa cola se haya abierto satisfactoriamente. Los datos de tipo carcter de la estructura MQOR deben ser del mismo juego de caracteres que el gestor de colas. MQOR es una estructura de entrada para las llamadas MQOPEN y MQPUT1.
Campos
ORON (serie de caracteres de 48 bytes) Nombre de objeto. Es igual que el campo ODON de la estructura MQOD (vea MQOD para conocer ms detalles), excepto en lo siguiente: v Debe ser el nombre de una cola. v No debe ser el nombre de una cola modelo. Siempre es un campo de entrada. El valor inicial de este campo es de 48 caracteres en blanco. ORMN (serie de caracteres de 48 bytes) Nombre del gestor de colas del objeto. Es igual que el campo ODMN de la estructura MQOD (vea MQOD para conocer ms detalles). Siempre es un campo de entrada. El valor inicial de este campo es de 48 caracteres en blanco.
153
Declaracin de RPG
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQOR D* D* Nombre de objeto D ORON 1 48 D* Nombre del gestor de colas del objeto D ORMN 49 96
154
Nota: Los campos restantes no estarn presentes si PMVER es inferior a PMVER2. Nmero de registros de poner mensaje o de registros de respuesta presentes Distintivos que indican qu campos de MQPMR estn presentes Desplazamiento del primer registro de poner mensaje desde el principio de MQPMO Desplazamiento del primer registro de respuesta desde el principio de MQPMO Direccin del primer registro de poner mensaje Direccin del primer registro de respuesta 166 167 167 168 169 170
Visin general
La versin actual de MQPMO viene dada por PMVERC. Los campos que existen solamente en las versiones ms recientes de la estructura estn identificados como tales en las descripciones que se ofrecen a continuacin. La declaracin de MQPMO proporcionada en el archivo COPY contiene los campos adicionales, pero el valor inicial proporcionado para el campo PMVER es PMVER1. Para utilizar los campos adicionales, la aplicacin debe establecer el nmero de versin en PMVERC. Las aplicaciones pensadas para su uso entre varios entornos debern utilizar una versin de MQPMO ms reciente solo si todos los entornos soportan dicha versin. La estructura MQPMO es un parmetro de entrada/salida para las llamadas MQPUT y MQPUT1.
155
Campos
PMSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: PMSIDV Identificador de la estructura de opciones de poner mensaje. Siempre es un campo de entrada. El valor inicial de este campo es PMSIDV. PMVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser uno de los siguientes: PMVER1 Estructura de opciones de poner mensaje de la versin 1. PMVER2 Estructura de opciones de poner mensaje de la versin 2. Los campos que existen solamente en la estructura de la versin 2 estn identificados como tales en las descripciones que se ofrecen a continuacin. La siguiente constante especifica el nmero de la versin actual: PMVERC Versin actual de la estructura de opciones de poner mensaje. Siempre es un campo de entrada. El valor inicial de este campo es PMVER1. PMOPT (entero con signo de 10 dgitos) Opciones que controlan la accin de MQPUT y MQPUT1. Puede especificarse cualquiera o ninguno de los siguientes valores. Si es necesario ms de uno, los valores se aaden juntos (no aada la misma constante ms de una vez). Se indican las combinaciones no vlidas; las dems combinaciones son vlidas. PMSYP Poner mensaje con control de punto de sincronismo. La peticin debe operar con los protocolos normales de la unidad de trabajo. El mensaje no es visible fuera de la unidad de trabajo hasta que dicha unidad de trabajo se comprometa. Si la unidad de trabajo se restituye, el mensaje se suprime. Si no se especifica esta opcin ni PMNSYP, la peticin de transferencia no est en una unidad de trabajo. PMNSYP no debe especificarse con PMSYP. PMNSYP Poner mensaje sin control de punto de sincronismo. La peticin debe operar fuera de los protocolos normales de la unidad de trabajo. El mensaje queda disponible inmediatamente y no puede suprimirse restituyendo una unidad de trabajo.
156
157
158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
159
ORD LOG U U U U
MIG
SEG
SEG OK
MDSEQ 1 1 1 1
MDOFF 0 0 0 Desplazamiento anterior + longitud de segmento anterior 0 0 Desplazamiento anterior + longitud de segmento anterior 0 0
U U U
U U U
(U) (U) U
(U) U (U)
(U) (U)
GINONE ID de grupo nuevo si GINONE, si no valor en campo ID de grupo nuevo si GINONE, si no valor en campo ID de grupo nuevo si GINONE, si no valor en campo ID de grupo nuevo si GINONE, si no valor en campo
(U)
(U)
(U)
Valor en campo
(U)
(U)
(U)
Valor en campo
(U)
(U)
(U)
Valor en campo
Valor en campo
Notas: v PMLOGO no es vlido en la llamada MQPUT1. v Para el campo MDMID, el gestor de colas genera un nuevo identificador de mensaje si se especifica PMNMID o MINONE, de lo contrario utiliza el valor del campo. v Para el campo MDCID, el gestor de colas genera un nuevo identificador de correlacin si se especifica PMNCID, de lo contrario utiliza el valor del campo.
Cuando se especifica PMLOGO, el gestor de colas requiere que todos los mensajes de un grupo y los segmentos de un mensaje lgico se transfieran con el mismo valor del campo MDPER de MQMD, es decir, todos deben ser persistentes o bien todos deben ser no persistentes. Si no se cumple esta condicin, la llamada MQPUT resulta anmala con el cdigo de razn RC2185. La opcin PMLOGO afecta a las unidades de trabajo de las siguientes maneras: v Si el primer mensaje fsico de un grupo o de un mensaje lgico se pone dentro de una unidad de trabajo, todos los dems mensajes fsicos del grupo o del mensaje lgico deben ponerse dentro de una unidad de trabajo, si se utiliza la misma asa de cola. No obstante, no es necesario que se pongan dentro de la misma unidad de trabajo. Esto permite que un grupo de mensajes o un mensaje lgico que conste de muchos mensajes fsicos pueda dividirse entre dos o ms unidades de trabajo consecutivas para el asa de cola. v Si el primer mensaje fsico de un grupo o de un mensaje lgico no se pone dentro de una unidad de trabajo, ninguno de los dems mensajes fsicos del grupo o del mensaje lgico podr ponerse dentro de una unidad de trabajo, si se utiliza la misma asa de cola.
160
161
Se recomienda que las aplicaciones que simplemente deseen transferir mensajes y segmentos en orden lgico especifiquen PMLOGO, ya que es la opcin ms sencilla que se puede utilizar. Esta opcin libra a la aplicacin de la necesidad de gestionar la informacin de grupos y segmentos, ya que el gestor de colas se encarga de gestionar esa informacin. Sin embargo, las aplicaciones especializadas pueden necesitar ms control que el que proporciona la opcin PMLOGO, lo que puede conseguirse no especificando esa opcin. Si es as, la aplicacin debe asegurarse de que los campos MDGID, MDSEQ, MDOFF y MDMFL de MQMD se establecen correctamente antes de cada llamada MQPUT o MQPUT1. Por ejemplo, una aplicacin que desee reenviar los mensajes fsicos que reciba, sin tener en cuenta si esos mensajes estn en grupos o son segmentos de mensajes lgicos, no deber especificar PMLOGO. Hay dos motivos para ello: v Si los mensajes se recuperan y transfieren por orden, especificar PMLOGO provocar que se asigne un identificador de grupo nuevo a los mensajes, lo que puede hacer ms difcil o incluso imposible que el originador de los mensajes pueda correlacionar los mensajes de respuesta o de informe que se obtengan como resultado del grupo de mensajes. v En una red compleja con mltiples vas de acceso entre el gestor de colas emisor y el receptor, los mensajes fsicos pueden llegar desordenados. Si no se especifica PMLOGO ni el GMLOGO correspondiente en la llamada MQGET, la aplicacin emisora puede recuperar y reenviar cada mensaje fsico en cuanto llega, sin tener que esperar al siguiente que llegue en orden lgico. Las aplicaciones que generan mensajes de informe para los mensajes de grupos o los segmentos de mensajes lgicos tampoco deberan especificar PMLOGO al poner el mensaje de informe. PMLOGO puede especificarse con cualquiera de las dems opciones PM*. PMNOC No debe asociarse contexto al mensaje. Tanto el contexto de identidad como el de origen se establecen para indicar que no hay contexto. Esto significa los campos de contexto de MQMD se establecen en: v Blancos para los campos de caracteres v Nulos para los campos de bytes v Ceros para los campos numricos
162
163
164
165
166
167
168
169
170
Declaracin de RPG
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQPMO D* D* Identificador de estructura D PMSID 1 4 D* Nmero de versin de estructura D PMVER 5 8I 0 D* Opciones que controlan la accin de MQPUT y MQPUT1 D PMOPT 9 12I 0 D* Reservado D PMTO 13 16I 0 D* Asa de objeto de la cola de entrada D PMCT 17 20I 0 D* Nmero de mensajes enviados satisfactoriamente a colas locales D PMKDC 21 24I 0 D* Nmero de mensajes enviados satisfactoriamente a colas remotas D PMUDC 25 28I 0 D* Nmero de mensajes que no han podido enviarse D PMIDC 29 32I 0 D* Nombre resuelto de la cola destino D PMRQN 33 80 D* Nombre resuelto del gestor de la cola destino D PMRMN 81 128 D* Nmero de registros de poner mensaje o de respuesta presentes D PMREC 129 132I 0 D* Distintivos que indican qu campos de MQPMR estn presentes D PMPRF 133 136I 0 D* Desplazamiento del primer registro de poner mensaje desde el principio de MQPMO D PMPRO 137 140I 0 D* Desplazamiento del primer registro de respuesta desde el principio de MQPMO D PMRRO 141 144I 0 D* Direccin del primer registro de poner mensaje D PMPRP 145 160* D* Direccin del primer registro de respuesta D PMRRP 161 176*
171
Declaracin de RPG
172
Visin general
La estructura MQPMR se utiliza para especificar diversas propiedades de mensaje para un nico destino. Al proporcionarse un conjunto de estas estructuras en la llamada MQPUT o MQPUT1, es posible especificar distintos valores para cada cola destino de una lista de distribucin. Algunos de los campos son solo de entrada, otros son de entrada/salida. Nota: Esta estructura es inusual ya que no tiene un diseo fijo. Los campos de esta estructura son opcionales y la presencia o ausencia de cada campo viene indicada por los distintivos del campo PMPRF de MQPMO. Los campos presentes deben aparecen en el orden mostrado ms abajo. Los campos ausentes no ocupan espacio en el registro. Dado que MQPMR no tiene un diseo fijo, no se le proporciona una declaracin en un archivo COPY. El programador de la aplicacin debe crear una declaracin que contenga los campos que la aplicacin necesita y establecer los distintivos de PMPRF para indicar los campos que estn presentes. MQPMR es una estructura de entrada/salida para las llamadas MQPUT y MQPUT1.
Campos
PRMID (serie de bits de 24 bytes) Identificador de mensaje. Este es el identificador de mensaje que debe utilizarse para el mensaje enviado a la cola, cuyo nombre especific el elemento correspondiente del conjunto de estructuras MQOR suministradas en la llamada MQOPEN o MQPUT1. Se procesa de la misma forma que el campo MDMID de MQMD para la transferencia a una sola cola. Si este campo no est presente en el registro MQPMR, o hay menos registros de MQPMR que destinos, se utiliza el valor de MQMD para esos destinos que no tienen un registro MQPMR que contenga un campo PRMID. Si ese valor es
173
174
| | |
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQPMR D* D* Identificador de mensaje D PRMID 1 24 D* Identificador de correlacin D PRCID 25 48 D* Identificador de grupo D PRGID 49 72 D* Cdigo de informacin de retorno o de razn D PRFB 73 76I 0 D* Smbolo de contabilidad D PRACC 77 108
175
Declaracin de RPG
176
RMENC RMCSI RMFMT RMFLG RMOT RMOII RMSEL RMSEO RMSNL RMSNO RMDEL RMDEO RMDNL RMDNO RMDL RMDO RMDO2
179 179 179 179 180 180 180 180 181 181 181 181 182 182 182 183 183
Visin general
La estructura MQRMH define el formato de una cabecera de mensaje de referencia. Una aplicacin puede transferir un mensaje en este formato, omitiendo los datos generales. Cuando un agente de canal de mensajes (MCA) lee el mensaje en la cola de transmisin, se llama a una rutina de salida de mensaje suministrada por usuario para que procese la cabecera del mensaje de referencia. La rutina de salida puede aadir al mensaje de referencia los datos generales identificados por la estructura MQRMH, antes de que el MCA enve el mensaje a travs del canal al siguiente gestor de colas. En el extremo receptor debe existir una rutina de salida de mensaje que espere mensajes de referencia. Al recibirse un mensaje de referencia, la rutina de salida debe crear el objeto a partir de los datos generales que siguen a la MQRMH en el mensaje y, a continuacin, pasar el mensaje de referencia sin los datos generales.
Copyright IBM Corp. 1994, 2000
177
Campos
RMSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: RMSIDV Identificador para la estructura de cabecera de mensaje de referencia. El valor inicial de este campo es RMSIDV. RMVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: RMVER1 Estructura de cabecera de mensaje de referencia de la versin 1.
178
179
180
181
182
183
Declaracin de RPG
184
Declaracin de RPG
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQRMH D* D* Identificador de estructura D RMSID 1 4 D* Nmero de versin de estructura D RMVER 5 8I 0 D* Longitud total de MQRMH, incluidas las series al final de los campos de longitud fija, D* pero no los datos generales D RMLEN 9 12I 0 D* Codificacin numrica de los datos generales D RMENC 13 16I 0 D* Identificador del juego de caracteres de los datos generales D RMCSI 17 20I 0 D* Nombre de formato de los datos generales D RMFMT 21 28 D* Distintivos de mensajes de referencia D RMFLG 29 32I 0 D* Tipo de objeto D RMOT 33 40 D* Identificador de la instancia de objeto D RMOII 41 64 D* Longitud de los datos del entorno origen D RMSEL 65 68I 0 D* Desplazamiento de los datos del entorno origen D RMSEO 69 72I 0 D* Longitud del nombre de objeto origen D RMSNL 73 76I 0 D* Desplazamiento del nombre de objeto origen D RMSNO 77 80I 0 D* Longitud de los datos del entorno destino D RMDEL 81 84I 0 D* Desplazamiento de los datos del entorno destino D RMDEO 85 88I 0 D* Longitud del nombre de objeto destino D RMDNL 89 92I 0 D* Desplazamiento del nombre de objeto destino D RMDNO 93 96I 0 D* Longitud de los datos generales D RMDL 97 100I 0 D* Desplazamiento bajo de los datos generales D RMDO 101 104I 0 D* Desplazamiento alto de los datos generales D RMDO2 105 108I 0
185
Declaracin de RPG
186
Visin general
La estructura MQRR se utiliza para recibir el cdigo de terminacin y el cdigo de razn resultantes de la operacin de abrir o poner para una sola cola destino. Proporcionando un conjunto de estas estructuras en las llamadas MQOPEN y MQPUT, o en la llamada MQPUT1, es posible determinar los cdigos de terminacin y los cdigos de razn para todas las colas de una lista de distribucin, cuando el resultado de la llamada es mixto, es decir, cuando la llamada es satisfactoria para algunas colas de la lista pero resulta anmala para otras. El cdigo de razn RC2136 de la llamada indica que el gestor de colas ha establecido los registros de respuesta (si la aplicacin los suministra). MQRR es una estructura de salida para las llamadas MQOPEN, MQPUT y MQPUT1.
Campos
RRCC (entero con signo de 10 dgitos) Cdigo de terminacin para la cola. Este es el cdigo de terminacin resultante de la operacin de apertura o transferencia para la cola cuyo nombre especific el elemento correspondiente del conjunto de estructuras MQOR suministradas en la llamada MQOPEN o MQPUT1. Es siempre un campo de salida. El valor inicial de este campo es CCOK. RRREA (entero con signo de 10 dgitos) Cdigo de razn para la cola. Este es el cdigo de razn resultante de la operacin de apertura o transferencia para la cola cuyo nombre especific el elemento correspondiente del conjunto de estructuras MQOR suministradas en la llamada MQOPEN o MQPUT1. Es siempre un campo de salida. El valor inicial de este campo es RCNONE.
187
Declaracin de RPG
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQRR D* D* Cdigo de terminacin para la cola D RRCC 1 4I 0 D* Cdigo de razn para la cola D RRREA 5 8I 0
188
Visin general
La estructura MQTM describe los datos del mensaje desencadenante que el gestor de colas enva a una aplicacin supervisora de desencadenamiento cuando se produce un suceso desencadenante para una cola. Esta estructura forma parte de la interfaz de supervisor de desencadenamiento (TMI) de MQSeries, que es una de las interfaces de la Infraestructura MQSeries. La aplicacin supervisora de desencadenamiento tal vez tenga que pasar parte o toda la informacin del mensaje desencadenante a la aplicacin arrancada por la aplicacin supervisora de desencadenamiento. La informacin que la aplicacin arrancada puede necesitar incluye TMQN, TMTD y TMUD. La aplicacin supervisora de desencadenamiento puede pasar la estructura MQTM directamente a la aplicacin arrancada o bien pasar una estructura MQTMC2, segn lo que sea ms prctico para la aplicacin arrancada. Para obtener informacin sobre MQTMC2, vea el Captulo 19. MQTMC2 - Mensaje desencadenante (formato de caracteres) en la pgina 195. Encontrar informacin sobre mensajes desencadenantes en MQSeries Application Programming Guide. Los campos del descriptor del mensaje desencadenante se establecen del modo siguiente: Campo de MQMD Valor utilizado MDSID MDSIDV MDVER MDVER1 MDREP RONONE MDMT MTDGRM MDEXP EIULIM MDFB FBNONE MDENC ENNAT
Copyright IBM Corp. 1994, 2000
189
Se recomienda utilizar valores similares en las aplicaciones que generen un mensaje desencadenante, salvo en los casos siguientes: v El campo MDPRI se puede establecer en PRQDEF (el gestor de colas cambiar este valor por la prioridad por omisin para la cola de inicio cuando se ponga el mensaje). v El campo MDRM se puede establecer en blancos (el gestor de colas cambiar este valor por el nombre del gestor de colas local cuando se ponga el mensaje). v Los campos de contexto deben establecerse segn corresponda a la aplicacin.
Campos
TMSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: TMSIDV Identificador de una estructura de mensaje desencadenante. El valor inicial de este campo es TMSIDV. TMVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: TMVER1 Nmero de versin de la estructura del mensaje desencadenante. La siguiente constante especifica el nmero de la versin actual: TMVERC Versin actual de la estructura de mensaje desencadenante. El valor inicial de este campo es TMVER1. TMQN (serie de caracteres de 48 bytes) Nombre de la cola desencadenada.
190
191
| |
192
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura de MQTM D* D* Identificador de estructura D TMSID 1 4 D* Nmero de versin de estructura D TMVER 5 8I 0 D* Nombre de cola desencadenada D TMQN 9 56 D* Nombre del objeto proceso D TMPN 57 104 D* Datos desencadenantes D TMTD 105 168 D* Tipo de aplicacin D TMAT 169 172I 0 D* Identificador de aplicacin D TMAI 173 428 D* Datos de entorno D TMED 429 556 D* Datos de usuario D TMUD 557 684
193
194
Visin general
Cuando una aplicacin supervisora de desencadenamiento recupera un mensaje desencadenante (MQTM) de una cola de inicio, el supervisor de desencadenamiento puede tener que pasar parte o toda la informacin del mensaje desencadenante a la aplicacin arrancada por el supervisor de desencadenamiento. La informacin que la aplicacin arrancada puede necesitar incluye TC2QN, TC2TD y TC2UD. La aplicacin supervisora de desencadenamiento puede pasar la estructura MQTM directamente a la aplicacin arrancada o bien pasar una estructura MQTMC2, segn lo que sea ms prctico para la aplicacin arrancada. Esta estructura forma parte de la interfaz de supervisor de desencadenamiento (TMI) de MQSeries, que es una de las interfaces de la Infraestructura MQSeries. v En OS/390, para una aplicacin ATIMS que se arranque utilizando la aplicacin CSQQTRMN, se pone una estructura MQTMC2 a disposicin de la aplicacin arrancada. v En VSE/ESA, esta estructura no est soportada. v En Windows de 16 bits y Windows de 32 bits, no hay ninguna aplicacin supervisora de desencadenamiento, por lo que esta estructura no est soportada. La estructura MQTMC2 es muy parecida al formato del mensaje desencadenante (estructura MQTM). La diferencia estriba en que los campos de MQTM que no son de caracteres, en MQTMC2 se convierten en campos de caracteres de la misma longitud y se aade el nombre del gestor de colas al final de la estructura. Vea el Captulo 18. MQTM - Mensaje desencadenante en la pgina 189 para obtener ms detalles sobre los campos que son los mismos en esta estructura.
195
Campos
TC2SID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: TCSIDV Identificador de una estructura de mensaje desencadenante (formato de caracteres). TC2VER (serie de caracteres de 4 bytes) Nmero de versin de la estructura. El valor debe ser: TCVER2 Estructura de mensaje desencadenante (formato de caracteres) de la versin 2. La siguiente constante especifica el nmero de la versin actual: TCVERC Versin actual de la estructura de mensaje desencadenante (formato de caracteres). TC2QN (serie de caracteres de 48 bytes) Nombre de la cola desencadenada. Vea el campo TMQN de la estructura MQTM. TC2PN (serie de caracteres de 48 bytes) Nombre del objeto proceso. Vea el campo TMPN de la estructura MQTM. TC2TD (serie de caracteres de 64 bytes) Datos desencadenantes. Vea el campo TMTD de la estructura MQTM. TC2AT (serie de caracteres de 4 bytes) Tipo de aplicacin. Este campo siempre contiene blancos, sea cual sea el valor del campo TMAT de la estructura MQTM del mensaje desencadenante original. TC2AI (serie de caracteres de 256 bytes) Identificador de aplicacin. Vea el campo TMAI de la estructura MQTM. TC2ED (serie de caracteres de 128 bytes) Datos de entorno. Vea el campo TMED de la estructura MQTM. TC2UD (serie de caracteres de 128 bytes) Datos de usuario. Vea el campo TMUD de la estructura MQTM.
196
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQTMC2 D* D* Identificador de estructura D TC2SID 1 4 D* Nmero de versin de estructura D TC2VER 5 8 D* Nombre de cola desencadenada D TC2QN 9 56 D* Nombre del objeto proceso D TC2PN 57 104 D* Datos desencadenantes D TC2TD 105 168 D* Tipo de aplicacin D TC2AT 169 172 D* Identificador de aplicacin D TC2AI 173 428 D* Datos de entorno D TC2ED 429 556 D* Datos de usuario D TC2UD 557 684 D* Nombre del gestor de colas D TC2QMN 685 732
197
Declaracin de RPG
198
Visin general
La estructura MQWIH describe la informacin que debe estar presente al principio de un mensaje que el gestor de carga de trabajo de OS/390 tiene que manejar. El nombre del formato de esta estructura es FMWIH.
Campos
WISID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: WISIDV Identificador de la estructura de cabecera de informacin de trabajo. El valor inicial de este campo es WISIDV. WIVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: WIVER1 Estructura de cabecera de informacin de trabajo de la versin 1. La siguiente constante especifica el nmero de la versin actual: WIVERC Versin actual de la estructura de cabecera de informacin de trabajo.
199
200
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQWIH D* D* Identificador de estructura D WISID 1 4 D* Nmero de versin de estructura D WIVER 5 8I 0 D* Longitud de la estructura MQWIH D WILEN 9 12I 0 D* Codificacin numrica de los datos que siguen a MQWIH D WIENC 13 16I 0 D* Identificador de juego de caracteres de los datos que siguen a MQWIH D WICSI 17 20I 0 D* Nombre de formato de los datos que siguen a MQWIH D WIFMT 21 28 D* Distintivos
Captulo 20. MQWIH - Cabecera de informacin de trabajo
201
Declaracin de RPG
D D* D D* D D* D D* D WIFLG 29 32I 0 Nombre de servicio WISNM 33 64 Nombre de paso de servicio WISST 65 72 Smbolo de mensaje WITOK 73 88 Reservado WIRSV 89 120
202
Visin general
La estructura MQXQH describe la informacin que se prefija en los datos de los mensajes de aplicacin cuando estn en colas de transmisin. Una cola de transmisin es un tipo especial de cola local que contiene temporalmente los mensajes destinados a colas remotas (es decir, los destinados a colas que no pertenecen al gestor de colas local). Una cola de transmisin se indica mediante el valor USTRAN aplicado al atributo de cola Usage. Un mensaje que est en una cola de transmisin tiene dos descriptores de mensaje: v Un descriptor de mensaje se almacena aparte de los datos del mensaje, lo que se conoce con el nombre de descriptor de mensaje aparte, y se trata de una versin modificada del descriptor de mensaje que facilita la aplicacin en el parmetro MSGDSC de la llamada MQPUT o MQPUT1 (vea ms detalles a continuacin). El mensaje transferido por la aplicacin puede ser un mensaje de un grupo o un segmento de un mensaje lgico, o bien puede tener habilitada la segmentacin, pero estas propiedades no se propagan al descriptor de mensaje aparte: los campos de la versin 2 en el descriptor de mensaje aparte siempre tienen los valores por omisin. El descriptor de mensaje aparte es el que se devuelve a la aplicacin en el parmetro MSGDSC de la llamada MQGET cuando el mensaje se elimina de la cola de transmisin. v Un segundo descriptor de mensaje se almacena en la estructura MQXQH como parte de los datos del mensaje, lo que se conoce con el nombre de descriptor de mensaje incorporado y es una copia bastante aproximada del descriptor de mensaje que facilita la aplicacin en el parmetro MSGDSC de la llamada MQPUT o MQPUT1 (vea ms detalles a continuacin). El descriptor de mensaje incorporado es siempre un MQMD de la versin 1. Si el mensaje transferido por la aplicacin tiene valores no por omisin para uno o varios de los campos de la versin 2 en el MQMD, habr una estructura MQMDE a continuacin de MQXQH que, a su vez, ir seguido de los datos del mensaje de la aplicacin (si los hay). El MQMDE puede ser: Generado por el gestor de colas (si la aplicacin utiliza un MQMD de la versin 2 para transferir el mensaje), o bien Ya presente al principio de los datos del mensaje de la aplicacin (si la aplicacin utiliza un MQMD de la versin 1 para transferir el mensaje).
Copyright IBM Corp. 1994, 2000
203
204
MDCID MDBOC MDRQ MDRM MDUID MDACC MDAID MDPAT MDPAN MDPD MDPT MDAOD MDGID MDSEQ MDOFF MDMFL MDOLN
Poner mensajes directamente en colas de transmisin: Tambin es posible que una aplicacin ponga un mensaje directamente en una cola de transmisin. En ese caso, la aplicacin debe prefijar los datos del mensaje de la aplicacin con una estructura MQXQH e inicializar los campos con los valores adecuados. Adems, el campo MDFMT del parmetro MSGDSC de la llamada MQPUT o MQPUT1 debe tener el valor FMXQH. Los datos de tipo carcter de la estructura MQXQH creada por la aplicacin deben tener el juego de caracteres del gestor de colas local (definido por el atributo de gestor de colas CodedCharSetId); los datos de tipo entero deben tener la codificacin de mquina nativa. Adems, los datos de tipo carcter de la estructura MQXQH deben rellenarse con blancos hasta alcanzar la longitud definida para el campo; los datos no deben terminar prematuramente utilizando un carcter nulo, ya que el gestor de colas no convierte en blancos el nulo ni los caracteres siguientes de esta estructura MQXQH. Recuerde que el gestor de colas no comprueba si existe una estructura MQXQH, ni si se han especificado valores vlidos en los campos. Obtener mensajes de las colas de transmisin: Las aplicaciones que obtienen mensajes de una cola de transmisin deben procesar de forma adecuada la informacin de la estructura MQXQH. La presencia de la estructura MQXQH al principio de los datos del mensaje de aplicacin est indicada mediante la devolucin del valor FMXQH en el campo MDFMT del parmetro MSGDSC de la llamada MQGET. Los valores devueltos en los campos MDCSI y MDENC del
Captulo 21. MQXQH - Cabecera de cola de transmisin
205
Campos
XQSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: XQSIDV Identificador de la estructura de cabecera de cola de transmisin. El valor inicial de este campo es XQSIDV. XQVER (entero con signo de 10 dgitos) Nmero de versin de la estructura. El valor debe ser: XQVER1 Nmero de versin de la estructura de cabecera de cola de transmisin. La siguiente constante especifica el nmero de la versin actual: XQVERC Versin actual de la estructura de cabecera de cola de transmisin. El valor inicial de este campo es XQVER1. XQRQ (serie de caracteres de 48 bytes) Nombre de la cola destino. Es el nombre de la cola de mensajes que constituye el destino eventual y aparente del mensaje (puede que no sea el posible destino real si, por ejemplo, la cola se define en XQRQM como la definicin local de otra cola remota). Si el mensaje es un mensaje de lista de distribucin (es decir, el campo MDFMT del descriptor de mensaje incorporado es FMDH), XQRQ estar en blanco. La longitud de este campo la indica LNQN. El valor inicial de este campo es de 48 caracteres en blanco. XQRQM (serie de caracteres de 48 bytes) Nombre del gestor de colas destino. Es el nombre del gestor de colas propietario de la cola que constituye el destino eventual y aparente del mensaje. Si el mensaje es un mensaje de lista de distribucin, XQRQM estar en blanco. La longitud de este campo la indica LNQMN. El valor inicial de este campo es de 48 caracteres en blanco. XQMD (MQMD1) Descriptor de mensaje original.
206
Declaracin de RPG
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* Estructura MQXQH D* D* Identificador de estructura D XQSID 1 4 D* Nmero de versin de estructura D XQVER 5 8I 0 D* Nombre de la cola destino D XQRQ 9 56 D* Nombre del gestor de colas destino D XQRQM 57 104 D* Descriptor de mensaje original D* D* Identificador de estructura D XQ1SID 105 108 D* Nmero de versin de estructura D XQ1VER 109 112I 0 D* Opciones de informe D XQ1REP 113 116I 0 D* Tipo de mensaje D XQ1MT 117 120I 0 D* Hora de caducidad D XQ1EXP 121 124I 0 D* Cdigo de informacin de retorno o de razn D XQ1FB 125 128I 0 D* Codificacin numrica de los datos del mensaje D XQ1ENC 129 132I 0 D* Identificador de juego de caracteres de los datos del mensaje D XQ1CSI 133 136I 0 D* Nombre de formato de los datos del mensaje D XQ1FMT 137 144 D* Prioridad del mensaje D XQ1PRI 145 148I 0
Captulo 21. MQXQH - Cabecera de cola de transmisin
207
Declaracin de RPG
D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D D* D Permanencia del mensaje XQ1PER 149 152I 0 Identificador de mensaje XQ1MID 153 176 Identificador de correlacin XQ1CID 177 200 Contador de restitucin XQ1BOC 201 204I 0 Nombre de la cola de respuestas XQ1RQ 205 252 Nombre del gestor de la cola de respuestas XQ1RM 253 300 Identificador de usuario XQ1UID 301 312 Smbolo de contabilidad XQ1ACC 313 344 Datos de aplicacin relacionados con la identidad XQ1AID 345 376 Tipo de aplicacin que pone el mensaje XQ1PAT 377 380I 0 Nombre de aplicacin que pone el mensaje XQ1PAN 381 408 Fecha en que se puso el mensaje XQ1PD 409 416 Hora en que se puso el mensaje XQ1PT 417 424 Datos de aplicacin relacionados con el origen XQ1AOD 425 428
208
Captulo 24. MQBEGIN trabajo . . . . . . Sintaxis . . . . . . Parmetros . . . . . Notas de utilizacin . . Invocacin RPG (ILE) . Captulo 25. MQCLOSE Sintaxis . . . . . . Parmetros . . . . . Notas de utilizacin . . Invocacin RPG . . .
. . . . 221 . . . . 221 . . . . 221 . . . . 224 . . . . 226 227 227 227 228 229
Captulo 26. MQCMIT - Comprometer cambios Sintaxis . . . . . . . . . . . . . . Parmetros . . . . . . . . . . . . . Notas de utilizacin . . . . . . . . . . Invocacin RPG . . . . . . . . . . . Captulo 27. MQCONN - Conectar gestor de colas . . . . . . . . . . . . . . Sintaxis . . . . . . . . . . . . . Parmetros . . . . . . . . . . . . Notas de utilizacin . . . . . . . . . Invocacin RPG . . . . . . . . . .
- Poner un mensaje . . . 287 . . . . . . . . . . 287 . . . . . . . . . . 287 . . . . . . . . . . 292 . . . . . . . . . . 293 Establecer . . . . . . . . . . . . . . . . . . . . atributos de . . . . . . 295 . . . . . . 295 . . . . . . 295 . . . . . . 298 . . . . . . 299
. . . .
Captulo 28. MQCONNX - Conectar gestor de colas (ampliado) . . . . . . . . . . . . 237 Sintaxis . . . . . . . . . . . . . . . 237 Parmetros . . . . . . . . . . . . . . 237 Invocacin RPG . . . . . . . . . . . . 238 Captulo 29. MQDISC - Desconectar colas . . . . . . . . . . . Sintaxis . . . . . . . . . . Parmetros . . . . . . . . . Notas de utilizacin . . . . . . Invocacin RPG . . . . . . . Captulo 30. MQGET Sintaxis . . . . . Parmetros . . . . Notas de utilizacin . Invocacin RPG . . Obtener . . . . . . . . . . . . gestor de . . . . . 239 . . . . . 239 . . . . . 239 . . . . . 240 . . . . . 240
209
Llamadas de funciones
210
211
212
Sintaxis
MQBACK (HCONN, COMCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. COMCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a COMCOD. Si COMCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si COMCOD es CCFAIL: RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2101 (2101, X'835') Objeto daado. RC2123 (2123, X'84B') El resultado de la operacin de comprometer o restituir es mixto.
Copyright IBM Corp. 1994, 2000
213
RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. Vea el Apndice A. Cdigos de retorno en la pgina 373 para obtener ms detalles.
Notas de utilizacin
1. Esta llamada puede utilizarse solamente cuando el propio gestor de colas coordina la unidad de trabajo. Esta es una unidad de trabajo local, donde los cambios afectan solamente a los recursos MQ. En los entornos en los que el gestor de colas no coordina la unidad de trabajo, debe utilizarse la llamada de restituir adecuada en lugar de MQBACK. El entorno tambin puede soportar una restitucin implcita causada por una terminacin anmala de la aplicacin. v En OS/400, esta llamada puede utilizarse para las unidades de trabajo locales coordinadas por el gestor de colas. Esto significa que no debe existir una definicin de compromiso a nivel de trabajo, es decir, no debe haberse emitido el mandato STRCMTCTL con el parmetro CMTSCOPE(*JOB) para el trabajo. 2. Cuando una aplicacin pone u obtiene mensajes de grupos o segmentos de mensajes lgicos, el gestor de colas retiene informacin relacionada con el grupo de mensajes o con el mensaje lgico para las ltimas llamadas MQPUT y MQGET satisfactorias. Esta informacin est asociada al asa de cola e incluye elementos tales como: v Los valores de los campos MDGID, MDSEQ, MDOFF y MDMFL de MQMD. v Indicacin de si el mensaje forma parte de una unidad de trabajo. v Para la llamada MQPUT: indicacin de si el mensaje es permanente o no permanente. El gestor de colas conserva tres juegos de informacin de grupo y de segmento, un juego para cada una de las siguientes llamadas: v La ltima llamada MQPUT satisfactoria (puede formar parte de una unidad de trabajo). v La ltima llamada MQGET satisfactoria que elimin un mensaje de la cola (puede formar parte de una unidad de trabajo). v La ltima llamada MQGET satisfactoria que examin un mensaje de la cola (esta no puede formar parte de una unidad de trabajo). Si la aplicacin pone u obtiene los mensajes como parte de una unidad de trabajo, y la aplicacin decide entonces restituir la unidad de trabajo, la informacin de grupo y de segmento se restaura al valor que tena anteriormente: v La informacin asociada a la llamada MQPUT se restaura al valor que tena antes de la primera llamada MQPUT satisfactoria para esa asa de cola en la unidad de trabajo actual.
214
v La informacin asociada a la llamada MQGET se restaura al valor que tena antes de la primera llamada MQGET satisfactoria para esa asa de cola en la unidad de trabajo actual. Las colas que la aplicacin actualiz una vez iniciada la unidad de trabajo, pero fuera del mbito de la unidad de trabajo, no conseguirn la restauracin de su informacin de grupo y de segmento si se restituye la unidad de trabajo. Restaurar la informacin de grupo y de segmento a su valor anterior cuando se restituye una unidad de trabajo, permite a la aplicacin repartir un grupo de mensajes o un mensaje lgico de gran tamao que conste de muchos segmentos entre varias unidades de trabajo, as como reiniciar en el punto correcto del grupo de mensajes o del mensaje lgico si falla una de las unidades de trabajo. Utilizar varias unidades de trabajo tiene sus ventajas si el gestor de colas local tiene un almacenamiento de cola limitado. Sin embargo, la aplicacin debe conservar suficiente informacin para poder reiniciar las operaciones de poner u obtener mensajes en el punto correcto, en el caso de que se produzca una anomala del sistema. Para obtener detalles sobre cmo reiniciar en el punto correcto tras una anomala del sistema, vea la opcin PMLOGO descrita en el Captulo 14. MQPMO - Opciones de poner mensaje en la pgina 155 y la opcin GMLOGO descrita en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51. Las dems notas de utilizacin solamente son aplicables cuando el gestor de colas coordina las unidades de trabajo: 3. Una unidad de trabajo tiene el mismo mbito que un asa de conexin. Esto significa que todas las llamadas MQ que afectan a una unidad de trabajo concreta deben realizarse utilizando la misma asa de conexin. Las llamadas emitidas utilizando otra asa de conexin (por ejemplo, las llamadas emitidas por otra aplicacin) afectan a otra unidad de trabajo. Vea el parmetro HCONN descrito en el Captulo 27. MQCONN - Conectar gestor de colas en la pgina 231 para obtener informacin sobre el mbito de las asas de conexin. 4. Esta llamada solamente afecta a los mensajes que se han transferido o recuperado como parte de la unidad de trabajo actual. 5. Una aplicacin de ejecucin prolongada que emita llamadas MQGET, MQPUT o MQPUT1 dentro de una unidad de trabajo, pero que nunca emita una llamada de comprometer o restituir, provocar que las colas se llenen de mensajes que no estn disponibles para otras aplicaciones.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQBACK(HCONN : COMCOD : REASON)
215
Invocacin RPG
216
Sintaxis
MQBEGIN (HCONN, BEGOP, CMPCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. BEGOP (MQBO) entrada/salida Opciones que controlan la accin de MQBEGIN. Consulte el Captulo 3. MQBO - Opciones de empezar en la pgina 15 para obtener detalles. BEGOP es un parmetro reservado. Los programas escritos en C o S/390 assembler pueden especificar una direccin de parmetro nula, en lugar de especificar la direccin de una estructura MQBO. CMPCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN: RC2121 (2121, X'849') No se han registrado gestores de recursos participantes.
217
RC2122 (2122, X'84A') El gestor de recursos participante no est disponible. Si CMPCOD es CCFAIL: RC2134 (2134, X'856') La estructura de opciones de empezar no es vlida. RC2219 (2219, X'8AB') La llamada MQI ha reentrado antes de que se completara la llamada anterior. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2012 (2012, X'7DC') Llamada no vlida en el entorno. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. RC2128 (2128, X'850') La unidad de trabajo ya est iniciada. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. La llamada MQBEGIN puede utilizarse para iniciar una unidad de trabajo que est coordinada por el gestor de colas y que puede implicar cambios en los recursos que son propiedad de otros gestores de recursos. El gestor de colas soporta tres tipos de unidades de trabajo: Unidad de trabajo local coordinada por el gestor de colas Es una unidad de trabajo en la que el gestor de colas es el nico gestor de recursos participante, por lo que el gestor de colas hace de coordinador de la unidad de trabajo. v Para iniciar este tipo de unidad de trabajo, deber especificarse la opcin PMSYP o GMSYP en la primera llamada MQPUT, MQPUT1 o MQGET de la unidad de trabajo. No es necesario que la aplicacin emita la llamada MQBEGIN para iniciar la unidad de trabajo. Sin embargo, si se utiliza MQBEGIN, se inicia la unidad de trabajo pero la llamada se completa con CCWARN y el cdigo de razn RC2121. v Para comprometer o restituir este tipo de unidad de trabajo, deben utilizarse las llamadas MQCMIT y MQBACK. Si la aplicacin no emite ninguna de estas dos llamadas, se comprometer la unidad de trabajo si la aplicacin emite la llamada MQDISC, pero se restituir si la aplicacin finaliza sin emitir la llamada MQDISC.
218
Unidad de trabajo global coordinada por el gestor de colas Es una unidad de trabajo en la que el gestor de colas hace de coordinador de la unidad de trabajo, para los recursos MQ y para los recursos que pertenecen a otros gestores de recursos. Dichos gestores de recursos cooperan con el gestor de colas para asegurar que todos los cambios realizados en los recursos de la unidad de trabajo se comprometen o se restituyen juntos. v Para iniciar este tipo de unidad de trabajo, debe utilizarse la llamada MQBEGIN. v Para comprometer o restituir este tipo de unidad de trabajo, deben utilizarse las llamadas MQCMIT y MQBACK. Si la aplicacin no emite ninguna de estas dos llamadas, se comprometer la unidad de trabajo si la aplicacin emite la llamada MQDISC, pero se restituir si la aplicacin finaliza sin emitir la llamada MQDISC. Unidad de trabajo global coordinada externamente Es una unidad de trabajo en la que el gestor de colas es un participante, pero no hace de coordinador de la unidad de trabajo. En vez de ello, existe un coordinador de unidad de trabajo externo con el que coopera el gestor de colas. v Para iniciar este tipo de unidad de trabajo, debe utilizarse la llamada pertinente suministrada por el coordinador externo de la unidad de trabajo. Si se utiliza la llamada MQBEGIN para intentar iniciar la unidad de trabajo, la llamada fallar con el cdigo de razn RC2012. v Para comprometer o restituir este tipo de unidad de trabajo, deben utilizarse las llamadas de comprometer y restituir suministradas por el coordinador externo de la unidad de trabajo; no pueden utilizarse las llamadas MQCMIT y MQBACK. 2. Una aplicacin puede participar solamente en una unidad de trabajo a la vez. La llamada MQBEGIN resulta anmala, con el cdigo de razn RC2128, si ya existe una unidad de trabajo para la aplicacin, sea cual sea el tipo de unidad de trabajo. 3. La llamada MQBEGIN no es vlida en un entorno de cliente MQ. El intento de utilizar la llamada resulta anmalo, con el cdigo de razn RC2012. 4. Cuando el gestor de colas hace de coordinador de la unidad de trabajo para unidades de trabajo globales, los gestores de recursos que pueden participar en la unidad de trabajo se definen en el archivo de configuracin del gestor de colas. | | | | | | | | | | | | | | 5. En OS/400, estn soportados los tres tipos de unidad de trabajo, de la siguiente manera: v Las unidades de trabajo locales coordinadas por el gestor de colas pueden utilizarse solamente cuando no existe una definicin de compromiso a nivel de trabajo, es decir, no debe haberse emitido el mandato STRCMTCTL con el parmetro CMTSCOPE(*JOB) para el trabajo. v Las unidades de trabajo globales coordinadas por el gestor de colas no estn soportadas. v Las unidades de trabajo globales coordinadas externamente pueden utilizarse solamente cuando existe una definicin de compromiso a nivel de trabajo, es decir, debe haberse emitido el mandato STRCMTCTL con el parmetro CMTSCOPE(*JOB) para el trabajo. Si se ha hecho as, las operaciones de OS/400 COMMIT y ROLLBACK son aplicables a los recursos MQ, as como a los recursos que pertenecen a otros gestores de recursos participantes.
Captulo 24. MQBEGIN - Empezar unidad de trabajo
219
220
Sintaxis
MQCLOSE (HCONN, HOBJ, OPTS, CMPCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para las aplicaciones que se ejecutan en modalidad de compatibilidad, puede omitirse la llamada MQCONN y especificarse el siguiente valor HCONN: HCDEFH Asa de conexin por omisin. HOBJ (entero con signo de 10 dgitos) entrada/salida Asa de objeto. Esta asa representa el objeto que se est cerrando. El objeto puede ser de cualquier tipo. El valor de HOBJ lo devolvi una llamada MQOPEN anterior. Cuando la llamada se completa satisfactoramente, el gestor de colas establece este parmetro en un valor que no es un asa vlida para el entorno. El valor es: HOUNUH Asa de objeto no utilizable. OPTS (entero con signo de 10 dgitos) entrada Opciones que controlan la accin de MQCLOSE. El parmetro OPTS controla el modo en que se cierra el objeto. Las colas dinmicas permanentes son las nicas que pueden cerrarse de varias formas, ya sea retenindolas o suprimindolas; estas colas tienen el atributo DefinitionType definido con el valor QDPERM (vea el atributo DefinitionType descrito en el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311). Las opciones de cerrar aparecen resumidas en la Tabla 47 en la pgina 222. Debe especificarse uno (y solamente uno) de los siguientes valores: CONONE No es necesario el proceso de cierre opcional. Esto debe especificarse para:
Copyright IBM Corp. 1994, 2000
221
v Objetos que no sean colas v Colas predefinidas v Colas dinmicas temporales (pero solo en aquellos casos en los que HOBJ no sea el asa devuelta por la llamada MQOPEN que ha creado la cola). v Listas de distribucin En los dems casos, el objeto se retiene y no se suprime. Si se especifica esta opcin para una cola dinmica temporal: v Se suprime la cola, si la cre la llamada MQOPEN que haba devuelto HOBJ; los mensajes de la cola se depurarn. v En todos los dems casos se retiene la cola (y los mensajes que contenga). Si se especifica esta opcin para una cola dinmica permanente, la cola se retiene y no se suprime. CODEL Suprimir la cola. La cola se suprime si se cumple alguna de las condiciones siguientes: v Se trata de una cola dinmica permanente y no hay mensajes en la cola ni peticiones de transferencia u obtencin no comprometidas pendientes para la cola (ya sea para la tarea actual o para cualquier otra). v Se trata de la cola dinamica temporal que ha creado la llamada MQOPEN que ha devuelto HOBJ. En ese caso, se eliminarn todos los mensajes de la cola. En todos los dems casos la llamada resulta anmala, con el cdigo de razn RC2045, y no se suprime el objeto. COPURG Suprimir la cola, eliminando todos sus mensajes. La cola se suprime si se cumple alguna de las condiciones siguientes: v Se trata de una cola dinmica permanente y no hay peticiones de transferencia u obtencin no comprometidas pendientes (ya sea para la tarea actual o para cualquier otra). v Se trata de la cola dinamica temporal que ha creado la llamada MQOPEN que ha devuelto HOBJ. En todos los dems casos la llamada resulta anmala, con el cdigo de razn RC2045, y no se suprime el objeto.
Tabla 47. Efectos de las opciones MQCLOSE en distintos tipos de objetos y colas. Esta tabla muestra las opciones de cerrar vlidas y si el objeto se retiene o se suprime.
Tipo de objeto o cola Objeto que no sea una cola Cola predefinida Cola dinmica permanente CONONE retenido retenida retenida CODEL no vlido no vlido suprimida, si est vaca y sin actualizaciones pendientes COPURG no vlido no vlido mensajes suprimidos; la cola se suprime si no tiene actualizaciones pendientes
222
Tabla 47. Efectos de las opciones MQCLOSE en distintos tipos de objetos y colas (continuacin). Esta tabla muestra las opciones de cerrar vlidas y si el objeto se retiene o se suprime.
Tipo de objeto o cola Cola dinmica temporal (llamada emitida por el creador de la cola) Cola dinmica temporal (llamada no emitida por el creador de la cola) Lista de distribucin CONONE suprimida retenida retenida CODEL suprimida no vlido no vlido COPURG suprimida no vlido no vlido
CMPCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN: RC2241 (2241, X'8C1') El grupo de mensajes no est completo. RC2242 (2242, X'8C2') El mensaje lgico no est completo. Si CMPCOD es CCFAIL: RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2019 (2019, X'7E3') El asa de objeto no es vlida. RC2035 (2035, X'7F3') No posee autorizacin para acceder. RC2101 (2101, X'835') Objeto daado. RC2045 (2045, X'7FD') La opcin no es vlida para este tipo de objeto. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2162 (2162, X'872') Se est cerrando el gestor de colas.
Captulo 25. MQCLOSE - Cerrar objeto
223
RC2055 (2055, X'807') La cola contiene uno o ms mensajes o peticiones de poner o de obtener no comprometidas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2063 (2063, X'80F') Se ha producido un error de seguridad. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. Vea el Apndice A. Cdigos de retorno en la pgina 373 para obtener ms detalles.
Notas de utilizacin
1. Cuando una aplicacin emite la llamada MQDISC o termina normal o anmalamente, todos los objetos abiertos por la aplicacin que permanezcan abiertos, se cerrarn automticamente con la opcin CONONE. 2. Los siguientes puntos se aplican si el objeto que va a cerrarse es una cola: v Si las operaciones de la cola se realizaron como parte de una unidad de trabajo, la cola podr cerrarse antes o despus de que se produzca el punto de sincronismo, sin que ello afecte al resultado del mismo. v Si la cola se abri con la opcin OOBRW, el cursor para examinar se destruir. Si la cola vuelve a abrirse posteriormente con la opcin OOBRW, se crea un nuevo cursor para examinar (vea la opcin OOBRW descrita en MQOPEN). v Si actualmente hay un mensaje bloqueado para esta asa en el momento de la llamada MQCLOSE, el bloqueo se liberar (vea la opcin GMLK descrita en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51). 3. Los siguientes puntos se aplican si el objeto que va a cerrarse es una cola dinmica (permanente o temporal): v Si la cola es dinmica, pueden especificarse las opciones CODEL o COPURG, independientemente de las opciones que se hayan especificado la llamada MQOPEN correspondiente. v Cuando se suprime una cola dinmica, todas las llamadas MQGET con la opcin GMWT que estn pendientes en la cola se cancelan y se devuelve el cdigo de razn RC2052. Vea la opcin GMWT descrita en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51. Despus de suprimir una cola dinmica, cualquier llamada (distinta de MQCLOSE) que intente hacer referencia a la cola utilizando otra asa HOBJ adquirida previamente falla con el cdigo de razn RC2052. Tenga en cuenta que, aunque las aplicaciones no pueden acceder a una cola suprimida, la cola no se elimina del sistema y no se liberan los recursos asociados hasta el momento en que se hayan cerrado todas las asas que hacen referencia a la cola y se hayan comprometido o restituido todas las unidades de trabajo que afectan a la cola. v Cuando se suprime una cola dinmica permanente, si el asa HOBJ especificada en la llamada MQCLOSE no es la devuelta por la llamada MQOPEN que cre la cola, se comprueba que el identificador de usuario que se utiliz para validar la llamada MQOPEN tiene autorizacin para suprimir la cola. Si se especific la opcin OOALTU en la llamada MQOPEN, el identificador de usuario comprobado es ODAU.
224
Esta comprobacin no se lleva a cabo si: El asa especificada es la devuelta por la llamada MQOPEN que cre la cola. La cola que se va a suprimir es una cola dinmica temporal. v Cuando se cierra una cola dinmica temporal, si el asa HOBJ especificada en la llamada MQCLOSE es la devuelta por la llamada MQOPEN que cre la cola, se suprime la cola. Esto ocurre sin tener en cuenta las opciones de cerrar especificadas en la llamada MQCLOSE. Si hay mensajes en la cola, se descartan; no se generan mensajes de informe. Si hay unidades de trabajo no comprometidas que afectan a la cola, se suprime la cola y sus mensajes igualmente, pero ello no provoca anomalas en las unidades de trabajo. No obstante, como se describe ms arriba, los recursos asociados con las unidades de trabajo no se liberan hasta que cada una de las unidades de trabajo est comprometida o restituida. 4. Los siguientes puntos se aplican si el objeto que va a cerrarse es una lista de distribucin: v La nica opcin de cierre vlida para una lista de distribucin es CONONE; la llamada resulta anmala, con el cdigo de razn RC2046 o RC2045 si hay otras opciones especificadas. v Cuando se cierra una lista de distribucin, no se devuelven cdigos de terminacin ni cdigos de razn individuales para las colas de la lista; solamente estn disponibles los parmetros CMPCOD y REASON de la llamada para diagnstico. Si se produce una anomala al cerrar una de las colas, el gestor de colas contina el proceso e intenta cerrar las colas restantes de la lista de distribucin. Los parmetros CMPCOD y REASON de la llamada se definen entonces con la informacin de retorno que describe la anomala. As es posible que el cdigo de terminacin sea CCFAIL, aunque la mayora de colas se cerraron satisfactoriamente. La cola que ha encontrado el error no est identificada. Si hay una anomala en ms de una cola, no se define de qu anomala se informa en los parmetros CMPCOD y REASON. 5. En OS/400, si la aplicacin se ha conectado implcitamente cuando se ha emitido la primera llamada MQOPEN, se producir una MQDISC implcita al emitirse la ltima MQCLOSE. Solamente las aplicaciones que se ejecutan en modalidad de compatibilidad pueden conectarse de forma implcita; las dems aplicaciones deben emitir la llamada MQCONN o MQCONNX para conectar con el gestor de colas de forma explcita.
225
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQCLOSE(HCONN : HOBJ : OPTS : C CMPCOD : REASON)
226
Sintaxis
MQCMIT (HCONN, COMCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. COMCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a COMCOD. Si COMCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si COMCOD es CCWARN: RC2003 (2003, X'7D3') La unidad de trabajo ha encontrado un error muy grave o se ha restituido. RC2124 (2124, X'84C') El resultado de la operacin de compromiso est pendiente. Si COMCOD es CCFAIL:
227
RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2101 (2101, X'835') Objeto daado. RC2123 (2123, X'84B') El resultado de la operacin de comprometer o restituir es mixto. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. Vea el Apndice A. Cdigos de retorno en la pgina 373 para obtener ms detalles.
Notas de utilizacin
1. Esta llamada puede utilizarse solamente cuando el propio gestor de colas coordina la unidad de trabajo. Esta es una unidad de trabajo local, donde los cambios afectan solamente a los recursos MQ. En los entornos en los que el gestor de colas no coordina la unidad de trabajo, debe utilizarse la llamada de comprometer adecuada en lugar de MQCMIT. El entorno tambin puede soportar una operacin de comprometer implcita causada por una terminacin anmala de la aplicacin. v En OS/400, esta llamada puede utilizarse para las unidades de trabajo locales coordinadas por el gestor de colas. Esto significa que no debe existir una definicin de compromiso a nivel de trabajo, es decir, no debe haberse emitido el mandato STRCMTCTL con el parmetro CMTSCOPE(*JOB) para el trabajo. 2. Cuando una aplicacin transfiere u obtiene mensajes en grupos o segmentos de mensajes lgicos, el gestor de colas retiene informacin relacionada con el grupo de mensajes y el mensaje lgico para las ltimas llamadas MQPUT y MQGET satisfactorias. Esta informacin est asociada al asa de cola e incluye elementos tales como: v Los valores de los campos MDGID, MDSEQ, MDOFF y MDMFL de MQMD. v Indicacin de si el mensaje forma parte de una unidad de trabajo. v Para la llamada MQPUT: indicacin de si el mensaje es permanente o no permanente. Cuando se compromete una unidad de trabajo, el gestor de colas retiene la informacin de grupos y segmentos, y la aplicacin puede continuar transfiriendo u obteniendo mensajes del grupo de mensajes o mensaje lgico actuales. Retener la informacin de grupos y segmentos cuando se compromete una unidad de trabajo, permite a la aplicacin repartir un grupo de mensajes o un
228
mensaje lgico de gran tamao que conste de muchos segmentos entre varias unidades de trabajo. Utilizar varias unidades de trabajo tiene sus ventajas si el gestor de colas local tiene un almacenamiento de cola limitado. Sin embargo, la aplicacin debe conservar suficiente informacin para poder reiniciar las operaciones de poner u obtener mensajes en el punto correcto, en el caso de que se produzca una anomala del sistema. Para obtener detalles sobre cmo reiniciar en el punto correcto tras una anomala del sistema, vea la opcin PMLOGO descrita en el Captulo 14. MQPMO - Opciones de poner mensaje en la pgina 155 y la opcin GMLOGO descrita en el Captulo 8. MQGMO Opciones de obtener mensaje en la pgina 51. Las dems notas de utilizacin solamente son aplicables cuando el gestor de colas coordina las unidades de trabajo: 3. Una unidad de trabajo tiene el mismo mbito que un asa de conexin. Esto significa que todas las llamadas MQ que afectan a una unidad de trabajo concreta deben realizarse utilizando la misma asa de conexin. Las llamadas emitidas utilizando otra asa de conexin (por ejemplo, las llamadas emitidas por otra aplicacin) afectan a otra unidad de trabajo. Vea el parmetro HCONN descrito en MQCONN para obtener informacin sobre el mbito de las asas de conexin. 4. Esta llamada solamente afecta a los mensajes que han transferido o recuperado como parte de la unidad de trabajo actual. 5. Si una aplicacin finaliza sin emitir la llamada MQCMIT o MQBACK cuando hay cambios no comprometidos dentro de una unidad de trabajo, la disposicin de esos cambios depender de cmo finalice la aplicacin: v Si la aplicacin emite la llamada MQDISC antes de finalizar, esa llamada provocar que se comprometa la unidad de trabajo. v Si la aplicacin no emite la llamada MQDISC pero finaliza normalmente de todos modos, se restituye la unidad de trabajo. v Si la aplicacin finaliza de forma anmala, se restituye la unidad de trabajo, lo que tiene el mismo efecto que el que la aplicacin emita la llamada MQBACK. 6. Una aplicacin de ejecucin prolongada que emita llamadas MQGET, MQPUT o MQPUT1 dentro de una unidad de trabajo, pero que nunca emita una llamada de comprometer o restituir, provocar que las colas se llenen de mensajes que no estn disponibles para otras aplicaciones.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQCMIT(HCONN : COMCOD : REASON)
229
Invocacin RPG
230
Sintaxis
MQCONN (QMNAME, HCONN, CMPCOD, REASON)
Parmetros
QMNAME (serie de caracteres de 48 bytes) entrada Nombre del gestor de colas. Es el nombre del gestor de colas al que la aplicacin desea conectarse. El nombre puede contener los siguientes caracteres: v Caracteres alfabticos en maysculas (de A a Z) v Caracteres alfabticos en minsculas (de a a z) v Dgitos numricos (de 0 a 9) v Punto (.), barra inclinada (/), subrayado (_), signo de porcentaje (%) El nombre no debe contener blancos iniciales ni intercalados, pero puede contener blancos finales. Puede utilizarse un carcter nulo para indicar el final de los datos significativos del nombre; el carcter nulo y los caracteres que le sigan se tratarn como blancos. Se aplican las siguientes restricciones en los entornos indicados: v En OS/400, los nombres que contienen caracteres en minsculas, barras inclinadas o signos de porcentaje, deben ir entre comillas cuando se especifican en mandatos. No deben especificarse dichas comillas en el parmetro QMNAME. Si el nombre consta solo de blancos, se utilizar el nombre del gestor de colas por omisin. El nombre especificado para QMNAME debe ser el nombre de un gestor de colas al que se pueda conectar. Aplicaciones de cliente MQ: Para las aplicaciones de cliente MQ, se intenta una conexin para cada definicin de canal de conexin de cliente con el nombre de gestor de colas especificado, hasta que una se realiza
Copyright IBM Corp. 1994, 2000
231
satisfactoriamente. El gestor de colas, no obstante, debe tener el mismo nombre que el nombre especificado. Si se especifica un nombre que sea todo en blanco, se intentar cada canal de conexin de cliente con un nombre de gestor de colas que sea todo en blanco hasta que uno resulte satisfactorio. En este caso no se realiza la comprobacin del nombre del gestor de colas. Grupos de gestores de colas: Si el nombre especificado empieza por un asterisco (*), el gestor de colas real con el que se establece la conexin podra tener un nombre distinto del especificado por la aplicacin. El nombre especificado (sin el asterisco) define un grupo de gestores de colas que son elegibles para conexin. La implementacin selecciona uno del grupo probndolos de uno en uno (sin orden definido) hasta que se encuentra uno con el que puede establecerse la conexin. Si ninguno de los gestores de colas del grupo est disponible para conexin, la llamada falla. Solo se realiza un intento con cada gestor de colas. Si se especifica un asterisco solo para el nombre, se utiliza un grupo de gestores de colas por omisin definidos por la implementacin. Los grupos de gestores de colas solamente estn soportados para las aplicaciones que se ejecutan en un entorno de cliente; la llamada resulta anmala si una aplicacin no de cliente especifica un nombre de gestor de colas que empiece por un asterisco. Un grupo se define suministrando varias definiciones de canal de conexin de cliente con el mismo nombre de gestor de colas (el nombre especificado sin el asterisco), para comunicarse con cada uno de los gestores de colas del grupo. El grupo por omisin se define suministrando una o varias definiciones de canal de conexin de cliente, cada una con un nombre de gestor de colas en blanco (especificar un nombre con todo blancos tiene, por consiguiente, el mismo efecto que especificar un solo asterisco para el nombre para una aplicacin de cliente). Tras conectarse a un gestor de colas de un grupo, una aplicacin puede especificar blancos de la forma habitual en los campos de nombre de gestor de colas que hay en los descriptores de mensaje y de objeto, para indicar el nombre del gestor de colas al que la aplicacin se ha conectado realmente (el gestor de colas local). Si la aplicacin necesita conocer este nombre, puede emitirse la llamada MQINQ para consultar el atributo de gestor de colas QMgrName. Poner un asterisco como prefijo del nombre de conexin de esta forma implica que la aplicacin no es sensible a qu gestor de colas del grupo est conectada la aplicacin. Esto no ser adecuado para determinados tipos de aplicacin, por ejemplo las que necesiten obtener mensajes de una cola concreta de un gestor de colas concreto; tales aplicaciones no deben poner un asterisco como prefijo del nombre. El uso de grupos de gestores de colas es apropiado para las aplicaciones que transfieren mensajes y/u obtienen mensajes de colas dinmicas temporales que ellas mismas han creado. Observe que si se especifica un asterisco, la longitud mxima del resto del nombre es de 47 caracteres. La longitud de este parmetro la indica LNQMN. HCONN (entero con signo de 10 dgitos) salida Asa de conexin.
232
Esta asa representa la conexin con el gestor de colas. Debe especificarse en todas las llamadas de gestin de colas de mensajes ulteriores emitidas por la aplicacin. Esto deja de ser vlido cuando se emite la llamada MQDISC o cuando termina la unidad de proceso que define el mbito del asa. El mbito del asa est restringido a la unidad de proceso en paralelo ms pequea soportada por la plataforma en la que se ejecuta la aplicacin; el asa deja de ser vlida fuera de la unidad del proceso en paralelo desde la que se ha emitido la llamada MQCONN. v En OS/400, el mbito del asa es el trabajo que emite la llamada. En OS/400 para las aplicaciones que se ejecutan en modalidad de compatibilidad, el valor devuelto es: HCDEFH Asa de conexin por omisin. CMPCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN: RC2002 (2002, X'7D2') Aplicacin ya conectada. Si CMPCOD es CCFAIL: RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2267 (2267, X'8DB') No se ha podido cargar la rutina de salida de carga de trabajo de clster. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2273 (2273, X'8E1') Error al procesar la llamada MQCONN. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2035 (2035, X'7F3') No posee autorizacin para acceder. RC2137 (2137, X'859') El objeto no se ha abierto satisfactoriamente.
| | |
| |
| |
233
RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2161 (2161, X'871') El gestor de colas est en reposo. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2063 (2063, X'80F') Se ha producido un error de seguridad. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. El gestor de colas con el que se establece la conexin mediante la llamada MQCONN recibe el nombre de gestor de colas local. 2. Las colas que pertenecen al gestor de colas local aparecen ante la aplicacin como colas locales. Es posible transferir y obtener mensajes de colas locales. Las colas que pertenecen a gestores de colas remotos aparecen como colas remotas. Es posible transferir mensajes a colas remotas, pero no obtenerlos. 3. Si el gestor de colas falla mientras se est ejecutando una aplicacin, esta debe volver a emitir la llamada MQCONN para poder obtener una nueva asa de conexin para utilizarla en las llamadas MQ subsiguientes. La aplicacin puede emitir la llamada MQCONN peridicamente hasta que resulte satisfactoria. Si una aplicacin no est segura de si est conectada al gestor de colas, la aplicacin puede emitir sin exponerse a ningn riesgo una llamada MQCONN para obtener un asa de conexin. Si la aplicacin ya est conectada, el asa devuelta es la misma que la que devolvi la llamada MQCONN anterior, pero con el cdigo de terminacin CCWARN y el cdigo de razn RC2002. 4. La aplicacin, cuando haya terminado de utilizar las llamadas MQ, debe utilizar la llamada MQDISC para desconectarse del gestor de colas. 5. En OS/400, las aplicaciones escritas para releases anteriores del gestor de colas pueden ejecutarse sin necesidad de recompilarse. Esto se denomina modalidad de compatibilidad. Esta modalidad de operacin proporciona un entorno de ejecucin compatible para las aplicaciones. Comprende lo siguiente: v El programa de servicio AMQZSTUB que reside en la biblioteca QMQM. AMQZSTUB proporciona la misma interfaz pblica que los releases anteriores y tiene la misma signatura. Este programa de servicio puede utilizarse para acceder a MQI a travs de llamadas de procedimiento enlazadas. v El programa QMQM que reside en la biblioteca QMQM. QMQM proporciona un medio para acceder a MQI a travs de llamadas de programa dinmicas.
234
v Los programas MQCLOSE, MQCONN, MQDISC, MQGET, MQINQ, MQOPEN, MQPUT, MQPUT1 y MQSET que residen en la biblioteca QMQM. Estos programas tambin proporcionan un medio de acceder a MQI a travs de llamadas de programa dinmicas, pero con una lista de parmetros que corresponde con las descripciones estndar de las llamadas MQ. Estas tres interfaces no incluyen las posibilidades que se introdujeron en la versin 5.1. Por ejemplo, las llamadas MQBACK, MQCMIT y MQCONNX no estn soportadas. Estas interfaces solo soportan aplicaciones monohebra. El programa de servicio LIBMQM proporciona soporte para las nuevas llamadas MQ en aplicaciones monohebra y el programa de servicio LIBMQM_R proporciona soporte para todas las llamadas MQ en aplicaciones multihebra.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQCONN(QMNAME : HCONN : CMPCOD : C REASON)
235
236
Sintaxis
MQCONNX (QMNAME, CNOPT, HCONN, CMPCOD, REASON)
Parmetros
QMNAME (serie de caracteres de 48 bytes) entrada Nombre del gestor de colas. Vea el parmetro QMNAME descrito en el Captulo 27. MQCONN - Conectar gestor de colas en la pgina 231 para obtener detalles. CNOPT (MQCNO) entrada/salida Opciones que controlan la accin de MQCONNX. Vea el Captulo 5. MQCNO - Opciones de conectar en la pgina 31 para obtener detalles. HCONN (entero con signo de 10 dgitos) salida Asa de conexin. Vea el parmetro HCONN descrito en el Captulo 27. MQCONN - Conectar gestor de colas en la pgina 231 para obtener detalles. CMPCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Vea el parmetro CMPCOD descrito en el Captulo 27. MQCONN - Conectar gestor de colas en la pgina 231 para obtener detalles. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a CMPCOD. Vea el parmetro REASON descrito en el Captulo 27. MQCONN - Conectar gestor de colas en la pgina 231 para obtener detalles sobre los posibles cdigos de razn. Los siguientes cdigos de razn adicionales pueden ser devueltos por la llamada MQCONNX: Si CMPCOD es CCFAIL:
Copyright IBM Corp. 1994, 2000
237
RC2278 (2278, X'8E6') Los campos de conexin de cliente no son vlidos. RC2139 (2139, X'85B') La estructura de opciones de conectar no es vlida. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQCONNX(QMNAME : CNOPT : HCONN : C CMPCOD : REASON)
238
Sintaxis
MQDISC (HCONN, CMPCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada/salida Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para las aplicaciones que se ejecutan en modalidad de compatibilidad, puede omitirse la llamada MQCONN y especificarse el siguiente valor HCONN: HCDEFH Asa de conexin por omisin. Cuando la llamada se completa satisfactoriamente, el gestor de colas establece HCONN en un valor que no es un asa vlida para el entorno. El valor es: HCUNUH Asa de conexin no utilizable. CMPCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCFAIL:
Copyright IBM Corp. 1994, 2000
239
RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. Si se emite una llamada MQDISC mientras la aplicacin sigue teniendo objetos abiertos, dichos objetos se cerrarn implcitamente y las opciones de cerrar se establecen en CONONE. 2. En OS/400 para las aplicaciones que se ejecutan en modalidad de compatibilidad, no es necesario utilizar esta llamada; vea la llamada MQCONN para conocer ms detalles.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQDISC(HCONN : CMPCOD : REASON)
240
Sintaxis
MQGET (HCONN, HOBJ, MSGDSC, GMO, BUFLEN, BUFFER, DATLEN, CMPCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para las aplicaciones que se ejecutan en modalidad de compatibilidad, puede omitirse la llamada MQCONN y especificarse el siguiente valor HCONN: HCDEFH Asa de conexin por omisin. HOBJ (entero con signo de 10 dgitos) entrada Asa de objeto. Esta asa representa la cola de la que debe recuperarse el mensaje. El valor de HOBJ lo devolvi una llamada MQOPEN anterior. La cola debe haberse abierto con una o ms de las opciones siguientes (vea el Captulo 32. MQOPEN Abrir objeto en la pgina 261 para ms detalles): OOINPS OOINPX OOINPQ OOBRW MSGDSC (MQMD) entrada/salida Descriptor de mensaje. Esta estructura describe los atributos del mensaje necesario y los del mensaje recuperado. Vea el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para obtener detalles. Si BUFLEN es inferior a la longitud del mensaje, el gestor de colas rellena MSGDSC igualmente, independientemente de si se ha especificado GMATM en el parmetro GMO (vea el campo GMOPT descrito en el Captulo 8. MQGMO Opciones de obtener mensaje en la pgina 51). Si la aplicacin proporciona un MQMD de la versin 1, el mensaje devuelto tiene un MQMDE como prefijo de los datos del mensaje de aplicacin, pero solamente si uno o varios de los campos del MQMDE tiene un valor no por
241
omisin. Si todos los campos del MQMDE tienen valores por omisin, se omite el MQMDE. El nombre de formato FMMDE en el campo MDFMT de MQMD indica que ha un MQMDE presente. GMO (MQGMO) entrada/salida Opciones que controlan la accin de MQGET. Vea el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51 para obtener detalles. BUFLEN (entero con signo de 10 dgitos) entrada Longitud en bytes del rea BUFFER. Puede especificarse cero para los mensajes que no tienen datos, o si tiene que eliminarse el mensaje de la cola y descartarse los datos (en este caso debe especificarse GMATM). Nota: La longitud del mensaje ms largo que puede leerse desde la cola se indica en el atributo de cola local MaxMsgLength; vea el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311. BUFFER (serie de bits de 1 byteBUFLEN) salida rea que contendr los datos del mensaje. Si BUFLEN es inferior a la longitud del mensaje, se trasladar a BUFFER todo el trozo del mensaje que pueda contener; esto sucede independientemente de si se ha especificado GMATM en el parmetro GMO (vea el campo GMOPT descrito en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51 para obtener ms informacin). El juego de caracteres y la codificacin de datos en el BUFFER se indican, respectivamente, en los campos MDCSI y MDENC devueltos en el parmetro MSGDSC. Si tienen valores distintos de los que necesita el receptor, este deber convertir los datos del mensaje de la aplicacin para que tengan el juego de caracteres y la codificacin necesarios. Puede utilizarse la opcin GMCONV con una rutina de salida escrita por usuario para realizar la conversin de los datos del mensaje (vea el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51 para obtener detalles sobre esta opcin). Nota: Los dems parmetros de la llamada MQGET deben tener el juego de caracteres y la codificacin del gestor de colas local (facilitados, respectivamente, por el atributo CodedCharSetId del gestor de colas y ENNAT). Si la llamada falla, el contenido del almacenamiento intermedio an puede haber cambiado. DATLEN (entero con signo de 10 dgitos) salida Longitud del mensaje. Indica la longitud en bytes de los datos de la aplicacin en el mensaje. Si es mayor que BUFLEN, solo se devolvern los bytes de BUFLEN en el parmetro BUFFER (es decir, que el mensaje se truncar). Si el valor es cero, significa que el mensaje no contiene datos de la aplicacin. Si BUFLEN es inferior a la longitud del mensaje, el gestor de colas rellena DATLEN igualmente, independientemente de si se ha especificado GMATM en el parmetro GMO (vea el campo GMOPT descrito en el Captulo 8. MQGMO -
242
Opciones de obtener mensaje en la pgina 51 para obtener ms informacin). Esto permite a la aplicacin determinar el tamao del almacenamiento intermedio necesario para introducir los datos del mensaje y despus reemitir la llamada con un almacenamiento intermedio que tenga el tamao adecuado. No obstante, si se especifica la opcin GMCONV y los datos del mensaje convertidos no caben en el BUFFER, el valor que se devuelve para DATLEN es: v La longitud de los datos no convertidos, para formatos definidos por el gestor de colas. En este caso, si la naturaleza de los datos hace que aumenten durante la conversin, la aplicacin debe asignar un almacenamiento intermedio algo mayor que el valor devuelto por el gestor de colas para DATLEN. v El valor devuelto por la rutina de salida de conversin de datos, para formatos definidos por la aplicacin. CMPCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a CMPCOD. Los cdigos de razn listados ms abajo son los que el gestor de colas puede devolver para el parmetro REASON. Si la aplicacin especifica la opcin GMCONV y se llama a una rutina de salida escrita por usuario para convertir parte de los datos del mensaje o todos ellos, ser la rutina de salida la que decida qu valor se devuelve para el parmetro REASON. Como resultado, son posibles valores distintos a los indicados a continuacin. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN: RC2120 (2120, X'848') Los datos convertidos son demasiado grandes para el almacenamiento intermedio. RC2190 (2190, X'88E') La serie convertida es demasiado grande para el campo. RC2150 (2150, X'866') La serie DBCS no es vlida. RC2110 (2110, X'83E') Formato de mensaje no vlido. RC2243 (2243, X'8C3') Los segmentos del mensaje tienen CCSID distintos. RC2244 (2244, X'8C4') Los segmentos del mensaje tienen codificaciones distintas.
| | | |
243
RC2209 (2209, X'8A1') No hay ningn mensaje bloqueado. RC2119 (2119, X'847') Los datos del mensaje no se han convertido. | | RC2145 (2145, X'861') Parmetro almacenamiento intermedio origen no vlido. RC2111 (2111, X'83F') El identificador de juego de caracteres codificado origen no es vlido. RC2113 (2113, X'841') Codificacin de decimal empaquetado del mensaje no reconocida. RC2114 (2114, X'842') Codificacin de coma flotante del mensaje no reconocida. RC2112 (2112, X'840') Codificacin de entero origen no reconocida. | | | | RC2143 (2143, X'85F') Parmetro longitud origen no vlido. RC2146 (2146, X'862') Parmetro almacenamiento intermedio destino no vlido. RC2115 (2115, X'843') El identificador de juego de caracteres codificado destino no es vlido. RC2117 (2117, X'845') Codificacin de decimal empaquetado especificada por receptor no reconocida. RC2118 (2118, X'846') Codificacin de coma flotante especificada por receptor no reconocida. RC2116 (2116, X'844') Codificacin de entero destino no reconocida. RC2079 (2079, X'81F') Se ha devuelto un mensaje truncado (el proceso se ha completado). RC2080 (2080, X'820') Se ha devuelto un mensaje truncado (el proceso no se ha completado). Si CMPCOD es CCFAIL: RC2004 (2004, X'7D4') El parmetro almacenamiento intermedio no es vlido. RC2005 (2005, X'7D5') El parmetro longitud de almacenamiento intermedio no es vlido. RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2010 (2010, X'7DA') El parmetro longitud de datos no es vlido. RC2016 (2016, X'7E0') Se han inhibido las obtenciones para la cola. RC2186 (2186, X'88A') Estructura no vlida de las opciones de obtener mensaje.
244
RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2019 (2019, X'7E3') El asa de objeto no es vlida. RC2241 (2241, X'8C1') El grupo de mensajes no est completo. RC2242 (2242, X'8C2') El mensaje lgico no est completo. RC2259 (2259, X'8D3') Especificacin de examinar incoherente. RC2245 (2245, X'8C5') Especificacin de unidad de trabajo incoherente. RC2246 (2246, X'8C6') El mensaje bajo el cursor no es vlido para recuperacin. RC2247 (2247, X'8C7') Las opciones de emparejar no son vlidas. RC2026 (2026, X'7EA') El descriptor de mensaje no es vlido. RC2250 (2250, X'8CA') El nmero de secuencia del mensaje no es vlido. RC2033 (2033, X'7F1') No hay ningn mensaje disponible. RC2034 (2034, X'7F2') El cursor para examinar no est colocado en el mensaje. RC2036 (2036, X'7F4') La cola no se ha abierto para examinar. RC2037 (2037, X'7F5') La cola no se ha abierto para entrada. RC2041 (2041, X'7F9') La definicin de un objeto ha cambiado desde su apertura. RC2101 (2101, X'835') Objeto daado. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. RC2052 (2052, X'804') La cola se ha suprimido. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2161 (2161, X'871') El gestor de colas est en reposo. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2024 (2024, X'7E8') No pueden manejarse ms mensajes dentro de la unidad de trabajo actual. RC2072 (2072, X'818') El soporte de punto de sincronismo no est disponible.
245
RC2195 (2195, X'893') Se ha producido un error inesperado. RC2255 (2255, X'8CF') La unidad de trabajo no est disponible para que la utilice el gestor de colas. RC2090 (2090, X'82A') El intervalo de espera de MQGMO no es vlido. RC2256 (2256, X'8D0') Se ha suministrado una versin errnea de MQGMO. RC2257 (2257, X'8D1') Se ha suministrado una versin ernea de MQMD. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. Normalmente, el mensaje recuperado se suprime de la cola. Esta supresin puede producirse como parte de la llamada MQGET propiamente dicha o como parte de un punto de sincronismo. La supresin del mensaje no se produce si se especifica una opcin GMBRWF o GMBRWN en el parmetro GMO (vea el campo GMOPT descrito en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51). Si se especifica la opcin GMLK con una de las opciones para examinar, se bloquear el mensaje examinado para que solo pueda verlo esta asa. Si se especifica la opcin GMUNLK, se desbloquear el mensaje bloqueado previamente. En este caso no se recupera ningn mensaje, ni se comprueban ni alteran los parmetros MSGDSC, BUFLEN, BUFFER y DATLEN. 2. Si la aplicacin que emite la llamada MQGET est ejecutndose como un cliente de MQ, es posible que el mensaje recuperado se pierda si, durante el proceso de la llamada MQGET, el cliente de MQ se termina de forma anormal o se interrumple la conexin del cliente. Esto puede darse debido a que el sustituto que se ejecuta en la plataforma del gestor de colas y que emite la llamada MQGET en nombre del cliente, no puede detectar la prdida del cliente hasta que el sustituto est a punto de devolver el mensaje al cliente; esto sucede despus de haber eliminado el mensaje de la cola. Esto puede producirse en los mensajes persistentes y en los no persistentes. El riesgo de perder mensajes de esta forma puede eliminarse recuperando siempre los mensajes dentro de unidades de trabajo (es decir, especificando la opcin GMSYP en la llamada MQGET y utilizando las llamadas MQCMIT o MQBACK para comprometer o restituir la unidad de trabajo al completarse el proceso del mensaje). Si se especifica GMSYP y el cliente termina de forma anmala o se interrumpe la conexin, el sustituto restituye la unidad de trabajo en el gestor de colas y el mensaje se reincorpora a la cola. En principio, puede darse la misma situacin con las aplicaciones que se ejecutan en la plataforma del gestor de colas, pero en este caso el perodo de tiempo durante el que puede perderse un mensaje es muy reducido. Sin embargo, al igual que en los clientes MQ, el riesgo puede eliminarse recuperando el mensaje dentro de una unidad de trabajo. 3. Si una aplicacin coloca una secuencia de mensajes en la misma cola sin utilizar grupos de mensajes, el orden de esos mensajes se conserva siempre que se cumplan ciertas condiciones. Consulte las notas de utilizacin en la descripcin de la llamada MQPUT para obtener detalles. Si se satisfacen estas condiciones, los mensajes se presentarn en la aplicacin receptora en el orden en el que se enviaron, siempre y cuando:
246
v Solo un receptor obtiene mensajes de la cola. Si dos o ms aplicaciones obtienen mensajes de la cola, deben estar de acuerdo con el emisor en el mecanismo que va a utilizarse para identificar los mensajes que formen parte de una secuencia. Por ejemplo, el emisor puede dar un valor exclusivo (en la secuencia de mensajes) a todos los campos MDCID de los mensajes de una secuencia. v El emisor no haya cambiando deliberadamente el orden de recuperacin especificando, por ejemplo, un MDMID o MCCID especfico. Si la aplicacin emisora transfiere los mensajes como grupo de mensajes, los mensajes se presentarn en la aplicacin emisora en el orden correcto, siempre que la aplicacin emisora especifique la opcin GMLOGO en la llamada MQGET. Para obtener ms informacin sobre los grupos de mensajes, vea: v El campo MDMFL en MQMD v La opcin PMLOGO en MQPMO v La opcin GMLOGO en MQGMO 4. Las aplicaciones deben buscar el cdigo de informacin de retorno FBQUIT en el campo MDFB del parmetro MSGDSC. Si se encuentra dicho valor, la aplicacin debera finalizar. Vea el campo MDFB descrito en el Captulo 10. MQMD Descriptor de mensaje en la pgina 85 para obtener ms informacin. 5. Si la cola identificada por HOBJ se abri con la opcin OOSAVA y el cdigo de terminacin de la llamada MQGET es CCOK o CCWARN, el contexto asociado al asa de la cola HOBJ tomar el valor del contexto del mensaje que se haya recuperado (a menos que se haya establecido la opcin GMBRWF o GMBRWN, en cuyo caso se marcar como no disponible). Este contexto puede utilizarse en una llamada MQPUT o MQPUT1 posterior (por ejemplo, cuando se reenve un mensaje a otra cola). Para ms informacin sobre el contexto de mensaje, consulte el manual MQSeries Application Programming Guide. 6. Si se incluye la opcin GMCONV en el parmetro GMO, los datos del mensaje de aplicacin se convierten a la representacin solicitada por la aplicacin receptora, antes de que los datos se coloquen en el parmetro BUFFER: v El campo MDFMT de la informacin de control del mensaje identifica la estructura de los datos de la aplicacin, y los campos MDCSI y MDENC de la informacin de control del mensaje especifican su identificador de juego de caracteres y la codificacin. v La aplicacin que emite la llamada MQGET especifica en los campos MDCSI y MDENC del parmetro MSGDSC el identificador del juego de caracteres y la codificacin a los que los datos del mensaje de la aplicacin deberan convertirse. v Si los valores de MDCSI y MDENC de la informacin de control del mensaje coinciden con los del parmetro MSGDSC, no es preciso realizar conversin alguna. Cuando se necesita la conversin de los datos, esta la realiza el propio gestor de colas o una rutina de salida escrita por usuario, segn sea el valor del campo MDFMT de la informacin de control del mensaje: v Los siguientes nombres de formato son formatos que el gestor de colas convierte automticamente y que reciben el nombre de formatos incorporados: FMADMN FMCICS FMCMD1 FMCMD2 FMDLH
Captulo 30. MQGET - Obtener mensaje
247
FMDH FMEVNT FMIMS FMIMVS FMMDE FMPCF FMRMH FMSTR FMTM FMXQH v El nombre de formato FMNONE es un valor especial que indica que la naturaleza de los datos del mensaje es indefinida. Como consecuencia, el gestor de colas no intenta la conversin cuando se recupera el mensaje de la cola. Nota: Si se especifica GMCONV en la llamada MQGET para un mensaje que tiene el nombre de formato FMNONE, y el juego de caracteres o la codificacin del mensaje difieren de los especificados en el parmetro MSGDSC, el mensaje se devuelve igualmente en el parmetro BUFFER (suponiendo que no haya otros errores), pero la llamada se completa con el cdigo de terminacin CCWARN y el cdigo de razn RC2110. FMNONE puede utilizarse cuando la naturaleza de los datos del mensaje indique que no se precisa conversin alguna, o bien cuando la aplicacin emisora y la receptora hayan llegado a un acuerdo respecto a la forma en que deben enviarse los datos del mensaje. v Todos los dems nombres de formatos hacen que el mensaje pase a una rutina de salida escrita por usuario para la conversin. La rutina de salida tiene el mismo nombre que el formato, adems de otros datos especficos del entorno. Los nombres de formato especificados por el usuario no deben empezar por las letras MQ, ya que dichos nombres pueden entrar en conflicto con los nombres de formato a los que se d soporte en un futuro. Vea el Apndice F. Conversin de datos en la pgina 485 para obtener detalles sobre la rutina de salida de conversin de datos. | | | | | | | | Los datos de usuario del mensaje pueden convertirse a cualquier juego de caracteres y codificacin soportados. Sin embargo, tenga en cuenta que si el mensaje contiene una o varias estructuras de cabecera MQ, el mensaje no podr convertirse de o a un juego de caracteres que tenga caracteres de doble byte o de mltiples bytes para ninguno de los caracteres vlidos en los nombres de cola. Si se intenta esto, se obtiene el cdigo de razn RC2111 o RC2115 y se devuelve el mensaje sin convertir. El juego de caracteres Unicode UCS-2 es un ejemplo de ese tipo de juegos de caracteres. Al devolverse de MQGET, el siguiente cdigo de razn indica que el mensaje se ha convertido satisfactoriamente: RCNONE El siguiente cdigo de razn indica que el mensaje puede haberse convertido satisfactoriamente; la aplicacin debe comprobar los campos MDCSI y MDENC del parmetro MSGDSC para descubrir: RC2079 Todos los dems cdigos de razn indican que el mensaje no se ha convertido.
248
Nota: La interpretacin del cdigo de razn descrito anteriormente se cumplir en el caso de las conversiones realizadas por rutinas de salida escritas por usuario solo si las rutinas se ajustan a las directrices de proceso descritos en el Apndice F. Conversin de datos en la pgina 485. 7. Para los formatos incorporados listados ms arriba, el gestor de colas puede llevar a cabo la conversin por omisin de series de caracteres del mensaje cuando se especifica la opcin GMCONV. La conversin por omisin permite al gestor de colas utilizar un juego de caracteres por omisin especificado por la instalacin que se aproxima al juego de caracteres real, al convertir datos de cadena de caracteres. Como resultado, la llamada MQGET puede ser satisfactoria, con el cdigo de terminacin CCOK, en vea de completarse con CCWARN y el cdigo de razn RC2111 o RC2115. Nota: El resultado de utilizar un juego de caracteres aproximado para convertir los datos de cadena de caracteres es que algunos caracteres pueden convertirse incorrectamente. Esto puede evitarse utilizando en la cadena solamente caracteres que sean comunes al juego de caracteres real y al juego de caracteres por omisin. La conversin por omisin es aplicable tanto a los datos del mensaje de aplicacin como a los campos de caracteres de las estructuras MQMD y MQMDE: v La conversin por omisin de los datos del mensaje de la aplicacin se produce solamente cuando se cumplen todas las condiciones siguientes: La aplicacin especifica GMCONV. El mensaje contiene datos que deben convertirse desde un juego de caracteres o a un juego de caracteres no soportado. Se ha habilitado la conversin por omisin al instalarse o reiniciarse el gestor de colas. v La conversin por omisin de los campos de caracteres en las estructuras MQMD y MQMDE se produce cuando es necesaria, siempre que est habilitada la conversin por omisin para el gestor de colas. La conversin se realiza incluso si la aplicacin no especifica la opcin GMCONV en la llamada MQGET. 8. El parmetro BUFFER mostrado en el ejemplo de programacin RPG se declara como una serie, lo cual limita la longitud mxima del parmetro a 256 bytes. Si se necesita un almacenamiento intermedio ms grande, debe declararse el parmetro en lugar de hacerlo como una estructura, o como un campo de un archivo fsico. Al declarar el parmetro como estructura, la longitud mxima posible aumenta hasta 9999 bytes, mientras que al declararlo como campo de un archivo fsico, esta aumenta hasta unos 32 Kbytes.
249
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQGET(HCONN : HOBJ : MSGDSC : GMO : C BUFLEN : BUFFER : DATLEN : C CMPCOD : REASON)
250
Sintaxis
MQINQ (HCONN, HOBJ, SELCNT, SELS, IACNT, INTATR, CALEN, CHRATR, CMPCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para las aplicaciones que se ejecutan en modalidad de compatibilidad, puede omitirse la llamada MQCONN y especificarse el siguiente valor HCONN: HCDEFH Asa de conexin por omisin. HOBJ (entero con signo de 10 dgitos) entrada Asa de objeto. Esta asa represenra el objeto (sea cual sea el tipo) cuyos atributos se requieren. El asa la debe haber devuelto una llamada MQOPEN anterior que especificaba la opcin OOINQ. SELCNT (entero con signo de 10 dgitos) entrada Cuenta de selectores. Esta es la cuenta de selectores suministrados en la matriz SELS. Es el nmero de atributos que deben devolverse. Cero es un valor vlido. El nmero mximo permitido es 256. SELS (entero con signo de 10 dgitosSELCNT) entrada Matriz de selectores de atributos. Es una matriz de selectores de atributos SELCNT; cada selector identifica un atributo (entero o carcter) cuyo valor se requiere. Cada selector debe ser vlido para el tipo de objeto que HOBJ representa, de lo contrario la llamada resulta anmala, con el cdigo de terminacin CCFAIL y el cdigo de razn RC2067.
251
En el caso especial de colas: v Si el selector no es vlido para colas de ningn tipo, la llamada dar error con el cdigo de terminacin CCFAIL y el cdigo de razn RC2067. v Si el selector solo es aplicable a colas de tipo o tipos distintos de los del objeto, la llamada finalizar con xito con el cdigo de terminacin CCWARN y el cdigo de razn RC2068. Los selectores pueden especificarse en cualquier orden. Los valores de atributos que correspondan a selectores de atributos de enteros (selectores IA*) se devuelven en INTATR en el mismo orden en que dichos selectores aparecen en SELS. Los valores de atributos que correspondan a selectores de atributos de caracteres (selectores CA*) se devuelven en CHRATR en el mismo orden en que dichos selectores se producen. Los selectores IA* pueden estar intercalados con selectores CA*; solo es importante el orden relativo dentro de cada tipo. Notas: 1. Los selectores de enteros y caracteres se asignan dentro de dos rangos distintos; los selectores IA* estn dentro del rango IAFRST a IALAST y los selectores CA* dentro del rango CAFRST a CALAST. De cada rango, las constantes IALSTU y CALSTU definen el valor ms alto que puede aceptar el gestor de colas. 2. Si todos los selectores IA* se producen primero, podrn utilizarse los mismos nmeros de elementos para direccionar los elementos correspondientes de las matrices SELS y INTATR. Para cada selector CA* de las siguientes descripciones, la constante que define la longitud en bytes de la serie resultante de CHRATR se da entre parntesis. | | | | Selectores para el gestor de colas CAALTD Fecha de la alteracin ms reciente (LNDATE). CAALTT Hora de la alteracin ms reciente (LNTIME). CACADX Nombre de la rutina de salida de definicin de canal automtica (LNEXN). CACLWD Datos pasados a la rutina de salida de carga de trabajo de clster (LNEXDA). CACLWX Nombre de la rutina de salida de carga de trabajo de clster (LNEXN). CACMDQ Nombre de la cola de entrada de mandatos del sistema (LNQN). CADLQ Nombre de la cola de mensajes no entregados (LNQN). CADXQN Nombre de la cola de transmisin por omisin (LNQN). CAQMD Descripcin del gestor de colas (LNQMD). CAQMID Identificador del gestor de colas (LNQMID). CAQMN Nombre del gestor de colas local (LNQMN).
| | | | | |
| |
252
| | | | | | |
| |
CARPN Nombre del clster para el que el gestor de colas proporciona servicios de depsito (LNQMN). CARPNL Nombre del objeto lista de nombres que contiene los nombres de los clsteres para los que el gestor de colas proporciona servicios de depsito (LNNLN). IAAUTE Atributo de control para sucesos de autorizacin. IACAD Atributo de control para la definicin de canal automtica. IACADE Atributo de control para sucesos de definicin de canal automtica. IACLWL Longitud de carga de trabajo de clster. IACCSI Identificador de juego de caracteres codificado. IACMDL Nivel de mandatos soportado por el gestor de colas. IADIST Soporte de lista de distribucin. IAINHE Atributo de control para sucesos de inhibir. IALCLE Atributo de control para sucesos locales. IAMHND Nmero mximo de asas. IAMLEN Longitud mxima del mensaje. IAMPRI Prioridad mxima. IAMUNC Nmero mximo de mensajes no comprometidos dentro de una unidad de trabajo. IAPFME Atributo de control para sucesos de rendimiento. IAPLAT Plataforma en la que reside el gestor de colas. IARMTE Atributo de control para sucesos remotos. IASSE Atributo de control para sucesos de inicio y de detencin. IASYNC Disponibilidad del punto de sincronismo. IATRGI Intervalo desencadenante. Selectores para listas de nombres CAALTD Fecha de la alteracin ms reciente (LNDATE). CAALTT Hora de la alteracin ms reciente (LNTIME). CALSTD Descripcin de la lista de nombres (LNNLD). CALSTN Nombre del objeto de lista de nombres (LNNLN).
Captulo 31. MQINQ - Consultar los atributos de objeto
| | | |
253
CANAMS Nombre de la lista de nombres (LNQN Nmero de nombres en la lista). IANAMC Nmero de nombres en la lista de nombres. | | | | | | | Selectores para todos los tipos de cola Si la cola que se consulta es de un clster, los selectores vlidos dependern de cmo se resuelva la cola; vea la nota de utilizacin 4 para conocer ms detalles. CAALTD Fecha de la alteracin ms reciente (LNDATE). CAALTT Hora de la alteracin ms reciente (LNTIME). CAQD Descripcin de la cola (LNQD). CAQN Nombre de la cola (LNQN). IADPER Permanencia del mensaje por omisin. IADPRI Prioridad del mensaje por omisin. IAIPUT Indica si estn permitidas operaciones de poner. IAQTYP Tipo de cola. Selectores para colas locales Si la cola que se consulta es de un clster, los selectores vlidos dependern de cmo se resuelva la cola; vea la nota de utilizacin 4 para conocer ms detalles. CABRQN Nombre de recolocacin en cola de restitucin excesiva (LNQN). CACLN Nombre de clster (LNCLUN). CACLNL Lista de nombres de clster (LNNLN). CACRTD Fecha de creacin de la cola (LNCRTD). CACRTT Hora de creacin de la cola (LNCRTT). CAINIQ Nombre de la cola de inicio (LNQN). CAPRON Nombre de la definicin de proceso (LNPRON). CATRGD Datos desencadenantes (LNTRGD). IABTHR Umbral de restitucin. IACDEP Nmero de mensajes de la cola. IADBND Enlace por omisin. IADINP Opcin de abrir para entrada por omisin.
| | |
| | | |
| |
254
IADEFT Tipo de definicin de cola. IADIST Soporte de lista de distribucin. IAHGB Indica si se memoriza la cuenta de restitucin. IAIGET Indica si estn permitidas operaciones de obtener. IAMLEN Longitud mxima de mensaje. IAMDEP Nmero mximo de mensajes permitidos en la cola. IAMDS Importancia de la prioridad del mensaje. IAOIC Nmero de llamadas MQOPEN que tienen la cola abierta para entrada. IAOOC Nmero de llamadas MQOPEN que tienen la cola abierta para salida. IAQDHE Atributo de control para sucesos de lmite mximo de profundidad de cola. IAQDHL Lmite mximo de profundidad de cola. IAQDLE Atributo de control para sucesos de lmite mnimo de profundidad de cola. IAQDLL Lmite mnimo de profundidad de cola. IAQDME Atributo de control para el nmero mximo de sucesos de profundidad de cola. IAQSI Lmite del intervalo de servicio de la cola. IAQSIE Atributo de control para los sucesos de intervalo de servicio de la cola. IARINT Intervalo de retencin de la cola. IASCOP mbito de definicin de la cola. IASHAR Indica si la cola puede compartirse. IATRGC Control de desencadenamiento. IATRGD Profundidad desencadenante. IATRGP Prioridad de mensaje umbral para desencadenantes. IATRGT Tipo de desencadenante. IAUSAG Utilizacin. Selectores para definiciones locales de colas remotas
255
| | | |
| |
CACLN Nombre de clster (LNCLUN). CACLNL Lista de nombres de clster (LNNLN). CARQMN Nombre del gestor de colas remoto (LNQMN). CARQN Nombre de la cola remota tal como se la conoce en el gestor de colas remoto (LNQN). CAXQN Nombre de la cola de transmisin (LNQN). IADBND Enlace por omisin. IASCOP mbito de definicin de la cola. Selectores para colas alias CABASQ Nombre de cola en el que se resuelve el alias (LNQN). CACLN Nombre de clster (LNCLUN). CACLNL Lista de nombres de clster (LNNLN). IADBND Enlace por omisin. IAIGET Indica si estn permitidas operaciones de obtener. IASCOP mbito de definicin de la cola. Selectores para definiciones de proceso CAALTD Fecha de la alteracin ms reciente (LNDATE). CAALTT Hora de la alteracin ms reciente (LNTIME). CAAPPI Identificador de aplicacin (LNPROA). CAENVD Datos de entorno (LNPROE). CAPROD Descripcin de la definicin de proceso (LNPROD). CAPRON Nombre de la definicin de proceso (LNPRON). CAUSRD Datos de usuario (LNPROU). IAAPPT Tipo de aplicacin. IACNT (entero con signo de 10 dgitos) entrada Cuenta de atributos de tipo entero. Es el nmero de elementos de la matriz INTATR. Cero es un valor vlido. Si tiene como mnimo el nmero de selectores IA* del parmetro SELS, se devolvern todos los atributos de tipo entero solicitados. INTATR (entero con signo de 10 dgitosIACNT) salida Matriz de atributos de tipo entero.
| | | | | |
| | | |
256
Es una matriz de valores de atributos de tipo entero IACNT. Los valores de atributos de tipo entero se devuelven en el mismo orden que los selectores IA* del parmetro SELS. Si la matriz contiene ms elementos que el nmero de selectores de IA*, los elementos sobrantes no varan. Si HOBJ representa una cola, pero no puede aplicarse un atributo selector a ese tipo de cola, se devolver el valor especfico IAVNA para el elemento correspondiente de la matriz INTATR. CALEN (entero con signo de 10 dgitos) entrada Longitud del almacenamiento intermedio de atributos de tipo carcter. Es la longitud en bytes del parmetro CHRATR. Debe ser como mnimo la suma de las longitudes de los atributos de tipo carcter solicitados (vea SELS). Cero es un valor vlido. CHRATR (serie de caracteres de 1 byteCALEN) salida Atributos de tipo carcter. Es el almacenamiento intermedio al que se devuelven los atributos de tipo carcter concatenados juntos. La longitud del almacenamiento intermedio la indica el parmetro CALEN. Los atributos de tipo carcter se devuelven en el mismo orden que los selectores CA* del parmetro SELS. La longitud de cada serie de atributos se determina para cada atributo y (vea SELS), y su valor se rellena con blancos a la derecha si es necesario. Si el almacenamiento intermedio tiene ms espacio del necesario para contener todos los atributos de tipo carcter solicitados (incluyendo los caracteres de relleno), los bytes sobrantes despus del ltimo atributo devuelto no cambiarn. Si HOBJ representa una cola, pero no puede aplicarse un selector de atributo a ese tipo de cola, se devolver una serie de caracteres compuesta completamente por asteriscos (*) como valor de dicho atributo en CHRATR. CMPCOD (entero con signo de 10 dgitos) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero con signo de 10 dgitos) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN:
257
RC2008 (2008, X'7D8') No se ha dado suficiente espacio para los atributos de tipo carcter. RC2022 (2022, X'7E6') No se ha dado suficiente espacio para los atributos de tipo entero. RC2068 (2068, X'814') Selector no aplicable a este tipo de cola. Si CMPCOD es CCFAIL: RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2006 (2006, X'7D6') La longitud de los atributos de tipo carcter no es vlida. RC2007 (2007, X'7D7') La serie de atributos de tipo carcter no es vlida. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2019 (2019, X'7E3') El asa de objeto no es vlida. RC2021 (2021, X'7E5') La cuenta de atributos de tipo entero no es vlida. RC2023 (2023, X'7E7') La matriz de atributos de tipo entero no es vlida. RC2038 (2038, X'7F6') La cola no se ha abierto para consulta. RC2041 (2041, X'7F9') La definicin de un objeto ha cambiado desde su apertura. RC2101 (2101, X'835') Objeto daado. RC2052 (2052, X'804') La cola se ha suprimido. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2065 (2065, X'811') La cuenta de selectores no es vlida. RC2067 (2067, X'813') El selector de atributo no es vlido. RC2066 (2066, X'812') La cuenta de selectores es demasiado grande. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado.
258
Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. Los valores devueltos son una instantnea de los atributos seleccionados. No puede garantizarse que los atributos no vayan a cambiar antes de que la aplicacin pueda actuar sobre los valores devueltos. 2. Cuando se abre una cola modelo, incluso para consultar sus atributos, se crea una cola dinmica. Los atributos de la cola dinmica (salvo CreationDate, CreationTime y DefinitionType) son los mismos que los de la cola modelo en el momento en que se cra la cola dinmica. Si posteriormente utiliza la llamada MQINQ con la misma asa de objeto, el gestor de colas devolver los atributos de la cola dinmica y no los de la cola modelo. 3. Si el objeto que se consulta es una cola alias, los valores de atributo devueltos por la llamada MQINQ sern los atributos de la cola alias, no los atributos de la cola base en la que se resuelve el alias. | | | | | | | | | | | | | | | | | | | | | | | | | 4. Si el objeto que se consulta es una cola de clster, los atributos que puedan consultarse dependern de cmo se abra la cola: v Si la cola de clster se abre para consulta ms una o varias operaciones de entrada, de examinar o de establecer, debe haber una instancia local de la cola de clster para que la operacin de abrir resulte satisfactoria. En este caso, los atributos que pueden consultarse son los vlidos para las colas locales. v Si la cola de clster se abre solo para consulta o para consulta y salida, solamente pueden consultarse los atributos listados ms abajo; el atributo QType tiene el valor QTCLUS en este caso: CAQD CAQN IADBND IADPER IADPRI IAIPUT IAQTYP Si la cola de clster se abre sin un enlace fijo (es decir, se ha especificado OOBNDN en la llamada MQOPEN o se ha especificado OOBNDQ cuando el atributo DefBind tiene el valor BNDNOT), las llamadas MQINQ sucesivas para la cola podran consultar instancias distintas de la cola de clster, aunque normalmente todas las instancias tienen los mismos valores de atributo. Para obtene ms informacin sobre las colas de clster, consulte la publicacin MQSeries Queue Manager Clusters. 5. Si deben consultarse varios atributos y a continuacin algunos de ellos van a definirse utilizando la llamada MQSET, puede resultar conveniente situar al principio de las matrices de selectores los atributos que tienen que definirse, de forma que las mismas matrices (con cuentas reducidas) puedan utilizarse para MQSET. 6. Si se produce ms de una situacin de aviso (vea el parmetro CMPCOD), el cdigo de razn devuelto es el primero que se aplicable de los de la siguiente lista: a. RC2068 b. RC2022
Captulo 31. MQINQ - Consultar los atributos de objeto
259
c. RC2008 7. Para ms informacin sobre los atributos de objetos, consulte el Captulo 36. Atributos de los objetos de MQSeries.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQINQ(HCONN : HOBJ : SELCNT : C SELS(1) : IACNT : INTATR(1) : C CALEN : CHRATR : CMPCOD : C REASON)
260
Sintaxis
MQOPEN (HCONN, OBJDSC, OPTS, HOBJ, CMPCOD, REASON)
Parmetros
HCONN (entero de 10 dgitos con signo) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para aplicaciones que se ejecuten en modalidad de compatibilidad, la llamada MQCONN puede omitirse, as como el siguiente valor especificado para HCONN: HCDEFH Asa de conexin por omisin. OBJDSC (MQOD) entrada/salida Descriptor de objeto. Esta estructura identifica el objeto que se va a abrir; vea el Captulo 12. MQOD - Descriptor de objeto en la pgina 143 para obtener ms detalles. Si el campo ODON del parmetro OBJDSC es el nombre de una cola modelo, se crear una cola local dinmica con los atributos de la cola modelo, independientemente de las opciones de abrir especificadas por el parmetro OPTS. Las operaciones posteriores que utilicen el HOBJ devuelto por la llamada MQOPEN se realizarn en la nueva cola dinmica, no en la cola modelo. Esto ocurre siempre, incluso para las llamadas MQINQ y MQSET. El nombre de la cola modelo del parmetro OBJDSC se sustituye por el nombre de la cola dinmica creada. El tipo de cola dinmica viene determinado por el valor del atributo DefinitionType de la cola modelo (vea el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311). Para obtener informacin sobre las opciones de cerrar aplicables a colas dinmicas, vea la descripcin de la llamada MQCLOSE. OPTS (entero de 10 dgitos con signo) entrada Opciones que controlan la accin de MQOPEN. Debe especificarse como mnimo una de las opciones siguientes: OOBRW
Copyright IBM Corp. 1994, 2000
261
OOINP* (solo una de estas) OOINQ OOOUT OOSET A continuacin encontrar ms detalles sobre estas opciones; aunque tambin pueden especificarse otras si es preciso. Si se necesita ms de una opcin, los valores pueden aadirse al mismo tiempo (no aada la misma constante ms de una vez). Se indican las combinaciones no vlidas; las dems combinaciones son vlidas. Solo se permiten las opciones que son aplicables al tipo de objeto especificado por OBJDSC (vea la Tabla 48 en la pgina 267). Opciones de acceso: Las opciones siguientes controlan los tipos de operaciones que pueden realizarse con el objeto: OOINPQ Abrir la cola para obtener mensajes utilizando el valor por omisin definido por la cola. La cola se abre para utilizarse con las llamadas MQGET posteriores. El tipo de acceso puede ser compartido o exclusivo, segn sea el valor del atributo de cola DefInputOpenOption; encontrar ms informacin en el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311. Esta opcin solo es vlida para colas locales, modelos y alias; no es vlida para colas remotas, listas de distribucin u objetos que no sean colas. OOINPS Abrir la cola para obtener mensajes con acceso compartido. La cola se abre para poder utilizarla con llamadas MQGET posteriores. La llamada puede realizarse satisfactoriamente si la cola ya la ha abierto esta u otra aplicacin con OOINPS, pero falla con el cdigo de razn RC2042 si la cola se ha abierto actualmente con OOINPX. Esta opcin solo es vlida para colas locales, modelos y alias; no es vlida para colas remotas, listas de distribucin u objetos que no sean colas. OOINPX Abrir la cola para obtener mensajes con acceso exclusivo. La cola se abre para poder utilizarla con llamadas MQGET posteriores. La llamada falla con el cdigo de razn RC2042 si esta u otra aplicacin ya ha abierto actualmente la cola para entrada de cualquier tipo (OOINPS o OOINPX). Esta opcin solo es vlida para colas locales, modelos y alias; no es vlida para colas remotas, listas de distribucin u objetos que no sean colas. Las notas siguientes se aplican a estas opciones: v Solo puede especificarse una de estas opciones. v Una llamada MQOPEN con una de estas opciones puede realizarse satisfactoriamente incluso si el atributo de cola InhibitGet tiene el valor QAGETI (aunque las llamadas MQGET posteriores fallarn mientras el atributo est establecido en este valor).
262
v Si la cola se define para no ser compartida (es decir, el atributo Shareability de la cola local tiene el valor QANSHR), los intentos de abrir la cola para acceso compartido se considerarn intentos de abrir la cola con acceso exclusivo. v Si una cola alias se abre con una de estas opciones, la prueba de uso exclusivo (o la prueba de si otra aplicacin tiene el uso exclusivo) se realizar para la cola base en la que se resuelve el alias. v Estas opciones no son vlidas si ODMN es el nombre de un alias de gestor de colas, incluso si el valor del atributo RemoteQMgrName de la definicin local de una cola remota utilizado para el alias del gestor de colas coincide con el nombre del gestor de colas local. OOBRW Abrir la cola para examinar mensajes. La cola se abre para poder utilizarla con llamadas MQGET posteriores, con una de las siguientes opciones: GMBRWF GMBRWN GMBRWC Esto est permitido incluso si la cola est abierta actualmente para OOINPX. Una llamada MQOPEN con la opcin OOBRW establece un cursor para examinar, y lo coloca lgicamente antes del primer mensaje de la cola; vea lo referente al campo GMOPT que se describe en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51 para obtener ms informacin. Esta opcin solo es vlida para colas locales, modelos y alias; no es vlida para colas remotas, listas de distribucin u objetos que no sean colas. No es vlida tampoco si ODMN es el nombre de un alias de gestor de colas, incluso si el valor del atributo RemoteQMgrName de la definicin local de una cola remota utilizado para el alias del gestor de colas coincide con el nombre del gestor de colas local. OOOUT Abrir la cola para transferir mensajes. La cola se abre para poder utilizarla con llamadas MQPUT posteriores. Una llamada MQOPEN con esta opcin puede ser satisfactoria incluso si el atributo de cola InhibitPut tiene el valor QAPUTI (aunque las llamadas MQPUT posteriores fallarn mientras el atributo est establecido en este valor). Esta opcin es vlida para todos los tipos de colas, incluidas las listas de distribucin. OOINQ Abrir el objeto para consultar atributos. La cola, la lista de nombres, la definicin de proceso o el gestor de colas se abren para utilizarse con las llamadas MQINQ posteriores. Esta opcin es vlida para todos los tipos de objetos, excepto para las listas de distribucin. No es vlida si ODMN es el nombre de un alias de gestor de colas, incluso si el valor del atributo RemoteQMgrName de la definicin local de una cola remota utilizado para el alias del gestor de colas coincide con el nombre del gestor de colas local.
263
OOSET Abrir la cola para establecer atributos. La cola se abre para utilizarse con las llamadas MQSET posteriores. Esta opcin es vlida para todos los tipos de colas, excepto para las listas de distribucin. No es vlida si ODMN es el nombre de una definicin local de una cola remota, incluso si el valor del atributo RemoteQMgrName de la definicin local de una cola remota utilizado para el alias del gestor de colas coincide con el nombre del gestor de colas local. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Opciones de enlace: Las siguientes opciones se aplican cuando el objeto que se va a abrir es una cola de clster; estas opciones controlan el enlace del asa de cola con una instancia determinada de la cola de clster: OOBNDO Enlazar el asa con un destino cuando se abre la cola. Esta opcin permite al gestor de colas local enlazar el asa de cola con una instancia determinada de la cola destino cuando se abre la cola. Como resultado, todos los mensajes transferidos mediante esta asa se envan a la misma instancia de la cola destino y siguiendo la misma ruta. Esta opcin solo es vlida para colas y afecta solamente a colas de clster. Si se especifica para una cola que no sea de clster, la opcin se ignorar. OOBNDN No enlazar con un destino especfico. Esta opcin hace que el gestor de colas local deje de enlazar el asa de cola con una instancia determinada de la cola destino. Como resultado, las llamadas MQPUT posteriores que utilizan esta asa pueden hacer que los mensajes se enven a otras instancias de la cola destino o a la misma instancia pero siguiendo otras rutas. Esta opcin permite tambin que el gestor de colas local, el gestor de colas remotos o el agente de canal de mensajes (MCA) cambie posteriormente la instancia seleccionada, segn sean las condiciones de la red. Nota: Las aplicaciones de cliente y servidor que necesiten intercambiar una serie de mensajes para completar una transaccin no deben utilizar OOBNDN (o OOBNDQ cuando DefBind tenga el valor BNDNOT), ya que podra ocurrir que los mensajes posteriores de la serie se enviaran a otras instancias de la aplicacin del servidor. Si se especifica OOBRW o una de las opciones OOINP* para una cola de clster, el gestor de colas est obligado a seleccionar la instancia local de la cola de clster. Como resultado, se fija el enlace del asa de cola, incluso si se especifica la opcin OOBNDN. Si la opcin OOINQ est especificada con OOBNDN, las llamadas MQINQ posteriores con esta asa pueden consultar instancias distintas de la cola de clster, aunque normalmente todas las instancias tienen los mismos valores de atributo.
264
| | | | | | | | | | | | | |
La opcin OOBNDN solo es vlida para colas y afecta solamente a las colas de clster. Si se especifica para una cola que no sea de clster, la opcin se ignorar. OOBNDQ Utilizar el enlace por omisin para la cola. Esta opcin permite al gestor de colas local enlazar el asa de cola segn se define en el atributo de cola DefBind. El valor de este atributo es BNDOPN o BNDNOT. OOBNDQ es el valor por omisin si no se especifica OOBNDO ni OOBNDN. OOBNDQ se ha definido para ayudar en la documentacin del programa. No se pretende que esta opcin se utilice con ninguna de las otras dos opciones de enlace, pero ya que su valor es cero, esa utilizacin no se puede detectar. Opciones de contexto: Las opciones siguientes controlan el proceso del contexto del mensaje: OOSAVA Salvar el contexto al recuperar el mensaje. La informacin de contexto se asocia al asa de cola. Esta informacin se establece a partir del contexto de cualquier mensaje recuperado utilizando esta asa. Para ms informacin sobre el contexto de mensaje, vea MQSeries Application Programming Guide. Esta informacin de contexto puede pasarse a un mensaje que se ponga posteriormente en una cola mediante las llamadas MQPUT o MQPUT1. Vea las opciones PMPASI y PMPASA que se describen en el Captulo 14. MQPMO - Opciones de poner mensaje en la pgina 155. Hasta que un mensaje se ha recuperado correctamente, el contexto no puede pasarse a un mensaje que est transfirindose a una cola. La informacin de contexto de un mensaje recuperado utilizando una de las opciones de examinar GMBRW* no se salva (aunque los campos de contexto del parmetro MSGDSC se establecen despus de examinar). Esta opcin solo es vlida para colas locales, modelos y alias; no es vlida para colas remotas, listas de distribucin u objetos que no sean colas. Debe especificarse una de las opciones OOINP*. OOPASI Permite pasar contexto de identidad. Esta opcin permite especificar la opcin PMPASI en el parmetro PMO cuando se pone un mensaje en una cola, para que la informacin de contexto de identidad de una cola de entrada abierta con la opcin OOSAVA se asocie al mensaje. Para ms informacin sobre el contexto de mensajes, vea MQSeries Application Programming Guide. Debe especificarse la opcin OOOUT. Esta opcin es vlida para todos los tipos de colas, incluidas las listas de distribucin. OOPASA Permite pasar todo el contexto.
265
Permite especificar la opcin PMPASA en el parmetro PMO cuando se pone un mensaje en una cola, para que la informacin de contexto de identidad y de origen de una cola de entrada abierta con la opcin OSAVA se asocie al mensaje. Para ms informacin sobre el contexto de mensajes, vea MQSeries Application Programming Guide. Esta opcin implica OOPASI, por lo que no es preciso especificar esta ltima. Debe especificarse la opcin OOOUT. Esta opcin es vlida para todos los tipos de colas, incluidas las listas de distribucin. OOSETI Permite establecer contexto de identidad. Permite especificar la opcin PMSETI en el parmetro PMO cuando se pone un mensaje en una cola, para que la informacin de contexto de identidad que contiene el parmetro MSGDSC especificado en las llamadas MQPUT o MQPUT1 se asocie al mensaje. Para ms informacin sobre el contexto de mensaje, vea MQSeries Application Programming Guide. Esta opcin implica OOPASI, por lo que no es preciso especificar esta ltima. Debe especificarse la opcin OOOUT. Esta opcin es vlida para todos los tipos de colas, incluidas las listas de distribucin. OOSETA Permite establecer todo el contexto. Permite especificar la opcin PMSETI en el parmetro PMO cuando se pone un mensaje en una cola, para que la informacin de contexto de identidad y de origen que contiene el parmetro MSGDSC especificado en las llamadas MQPUT o MQPUT1 se asocie al mensaje. Para ms informacin sobre el contexto de mensaje, vea MQSeries Application Programming Guide. Esta opcin implica las opciones siguientes, por lo que no es preciso especificarlas: OOPASI OOPASA OOSETI Debe especificarse la opcin OOOUT. Esta opcin es vlida para todos los tipos de colas, incluidas las listas de distribucin. Otras opciones: Las opciones siguientes controlan la comprobacin de autorizacin y lo que ocurre cuando no hay actividad en el gestor de colas: OOALTU Validar con el identificador de usuario especificado. Indica que el campo ODAU del parmetro OBJDSC contiene un identificador de usuario que debe utilizarse para validar esta llamada MQOPEN. La llamada solo ser satisfactoria si este ODAU tiene autorizacin para abrir el objeto con las opciones especificadas, independientemente de si el identificador del usuario bajo el que est ejecutndose la aplicacin tiene autorizacin para ello. (Sin embargo, esto no se aplica a ninguna de las opciones de contexto especificadas,
266
ya que se comprueban siempre con el identificador de usuario bajo el que est ejecutndose la aplicacin). Esta opcin es vlida para todos los tipos de objetos. OOFIQ Falla si el gestor de colas est en reposo. Esta opcin fuerza que falle la llamada MQOPEN si el estado del gestor de colas es en reposo. Esta opcin es vlida para todos los tipos de objetos.
Tabla 48. Opciones MQOPEN vlidas para cada tipo de cola
Opcin Alias Local Remota Clster Lista de no y (vea la local distrinota Modelo bucin 1) U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U vea la nota 2 vea la nota 2 U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U
| | | | | | | | | | | | | | | | | |
OOINPQ OOINPS OOINPX OOBRW OOOUT OOINQ OOSET OOBNDO (vea la nota 3) OOBNDN (vea la nota 3) OOBNDQ (vea la nota 3) OOSAVA OOPASI OOPASA OOSETI OOSETA OOALTU OOFIQ Notas:
1. La validez de las opciones para los alias depende de la validez de la opcin para la cola a la que apunta el alias. 2. Esta opcin solo es vlida para la definicin local de una cola remota.
3. Esta opcin se puede especificar para cualquier tipo de cola, aunque si la cola no es de un clster, la opcin se ignorar.
HOBJ (entero de 10 dgitos con signo) salida Asa de objeto. Esta asa representa el acceso que se ha establecido para el objeto. Debe especificarse en todas las llamadas de gestin de colas ulteriores que operen en el objeto. Esto deja de ser vlido cuando se emite la llamada MQCLOSE o cuando termina la unidad de proceso que define el mbito del asa. El mbito del asa est restringido a la unidad de proceso en paralelo ms pequea soportada por la plataforma en la que se ejecuta la aplicacin; el asa no es vlida fuera de la unidad de proceso en paralelo desde la que se ha emitido la llamada MQOPEN: v En OS/400, el mbito del asa es el trabajo que emite la llamada.
Captulo 32. MQOPEN - Abrir objeto
267
CMPCOD (entero de 10 dgitos con signo) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero de 10 dgitos con signo) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN: RC2136 (2136, X'858') Se han devuelto varios cdigos de razn. Si CMPCOD es CCFAIL: RC2001 (2001, X'7D1') El tipo de cola alias base no es vlido. RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2266 (2266, X'8DA') La rutina de salida de carga de trabajo de clster ha fallado. RC2268 (2268, X'8DC') Las llamadas de poner estn inhibidas para todas las colas del clster. RC2189 (2189, X'88D') La resolucin de nombre de clster ha fallado. RC2269 (2269, X'8DD') Error de recurso de clster. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2198 (2198, X'896') La cola de transmisin por omisin no es local. RC2199 (2199, X'897') Error de utilizacin de la cola de transmisin por omisin. RC2011 (2011, X'7DB') El nombre de la cola dinmica no es vlido. RC2017 (2017, X'7E1') No hay ms asas disponibles. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2019 (2019, X'7E3') El asa de objeto no es vlida. RC2194 (2194, X'892') El nombre de objeto no es vlido para este tipo de objeto.
| | | | | | | |
268
RC2035 (2035, X'7F3') No posee autorizacin para acceder. RC2100 (2100, X'834') El objeto ya existe. RC2101 (2101, X'835') Objeto daado. RC2042 (2042, X'7FA') Objeto ya abierto con opciones en conflicto. RC2043 (2043, X'7FB') Tipo de objeto no vlido. RC2044 (2044, X'7FC') La estructura de descriptor de objeto no es vlida. RC2045 (2045, X'7FD') La opcin no es vlida para este tipo de objeto. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. RC2052 (2052, X'804') La cola se ha suprimido. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2161 (2161, X'871') El gestor de colas est en reposo. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2057 (2057, X'809') Tipo de cola no vlido. RC2184 (2184, X'888') El nombre de la cola remota no es vlido. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2063 (2063, X'80F') Se ha producido un error de seguridad. | | | RC2188 (2188, X'88C') La llamada ha sido rechazada por la rutina de salida de carga de trabajo de clster. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. RC2082 (2082, X'822') Cola alias base desconocida. RC2197 (2197, X'895') Cola de transmisin por omisin desconocida. RC2085 (2085, X'825') Nombre de objeto desconocido. RC2086 (2086, X'826') Gestor de colas de objeto desconocido. RC2087 (2087, X'827') Gestor de colas remoto desconocido. RC2196 (2196, X'894') Cola de transmisin desconocida. RC2091 (2091, X'82B') La cola de transmisin no es local.
Captulo 32. MQOPEN - Abrir objeto
269
RC2092 (2092, X'82C') Utilizacin incorrecta de la cola de transmisin. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. El objeto abierto es uno de los siguientes: v Una cola, para: Obtener o examinar mensajes (utilizando la llamada MQGET) Poner mensajes (utilizando la llamada MQPUT). Consultar los atributos de la cola (utilizando la llamada MQINQ) Establecer los atributos de la cola (utilizando la llamada MQSET) Si la cola indicada es una cola modelo, se crear una cola local dinmica. Vea el parmetro OBJDSC que se describe en el Captulo 32. MQOPEN Abrir objeto en la pgina 261. Una lista de distribucin es un tipo especial de objeto cola que contiene una lista de colas. Se puede abrir para poner mensajes, pero no para obtener o examinar mensajes, ni para consultar o establecer atributos. v Una lista de nombres, para: Consultar los nombres de las colas que hay en la lista (utilizando la llamada MQINQ). v Una definicin de proceso, para: Consultar los atributos de proceso (utilizando la llamada MQINQ). v El gestor de colas, para: Consultar los atributos del gestor de colas local (utilizando la llamada MQINQ). 2. Esto es vlido para que una aplicacin abra el mismo objeto ms de una vez. Se devuelve un asa de objeto distinta para cada apertura. Cada asa devuelta se puede utilizar para las funciones para las que se realiz la apertura correspondiente. 3. Si el objeto que se va a abrir es una cola, pero no una cola de clster, todas las resoluciones de nombre realizadas dentro del gestor de colas local se efectuarn en el momento de la llamada MQOPEN. Esto puede incluir una o ms de las siguientes operaciones para una determinada llamada MQOPEN: v Resolucin de alias en el nombre de una cola base v Resolucin del nombre de una definicin local de una cola remota en el nombre del gestor de colas remoto y en el nombre mediante el cual se conoce a la cola en el gestor de colas remoto v Resolucin del nombre del gestor de colas remoto en el nombre de una cola de transmisin. No obstante, tenga en cuenta que las llamadas MQINQ o MQSET ulteriores en relacin al asa solo se estn relacionadas con el nombre que se haya abierto y no con el objeto resultante tras la resolucin de nombre. Por ejemplo, si el objeto abierto es un alias, los atributos devueltos por la llamada MQINQ sern los atributos del alias, no los atributos de la cola base en la que se resuelve el alias. No obstante, la comprobacin de la resolucin de nombre sigue llevndose a cabo, independientemente de lo especificado en el parmetro OPTS de la MQOPEN correspondiente.
| | | |
270
| | | | | | | | |
Si el objeto que se va a abrir es una cola de clster, se puede efectuar una resolucin de nombre en el momento de la llamada MQOPEN, o se puede posponer hasta ms tarde. El momento en el que se efecta la resolucin est controlado por las opciones * especificadas en la llamada MQOPEN: OOBNDO OOBNDN OOBNDQ Vea el manual MQSeries Queue Manager Clusters si desea obtener ms informacin sobre la resolucin de nombre en el caso de las colas de clster. 4. Los atributos de un objeto pueden cambiar mientras una aplicacin tiene el objeto abierto. En muchos casos, la aplicacin no informa de esto, pero en determinados atributos el gestor de colas marca el asa como no vlida. Son los siguientes: v Cualquier atributo que afecte a la resolucin de nombre del objeto. Esto se aplica independientemente de las opciones de abrir que se utilicen e incluye: Un cambio en el atributo BaseQName de una cola alias que est abierta. Un cambio en los atributos de cola remota RemoteQName o RemoteQMgrName, para cualquier asa que est abierta para esta cola, o para una cola que efecte la resolucin mediante esta definicin como alias de gestor de colas. Cualquier cambio que haga que un asa abierta actualmente para una cola remota se resuelva en una cola de transmisin distinta, o no logre resolverse en ninguna. Por ejemplo, un cambio en el atributo XmitQName de la definicin local de una cola remota, si la definicin est utilizndose para una cola o para un alias de gestor de colas. Hay una excepcin a esta regla: la creacin de una nueva cola de transmisin. Un asa que se habra resuelto para esta cola si hubiera estado presente al abrir el asa, pero que en cambio se ha resuelto en la cola de transmisin por omisin, no ser incorrecto. Un cambio en el atributo DefXmitQName del gestor de colas. En este caso, todas las asas abiertas que se han resuelto en la cola indicada anteriormente (solo porque era la cola de transmisin por omisin) se marcan como incorrectos. Las asas que se hayan resuelto en esta cola por cualquier otra razn no se vern afectadas. v El atributo de cola local Shareability, si hay dos o ms asas que proporcionan actualmente acceso OOINPS para esta cola o para una cola que se resuelva en esta cola. Si es as, todas las asas que se abran para esta cola o para la cola que se resuelve en esta cola se marcarn como no vlidas independientemente de las opciones de abrir. v El atributo de cola local Usage, para todas las asas que se abran para esta cola o para una cola que se resuelva en esta cola, independientemente de las opciones de abrir. Cuando un asa se marca como no vlida, todas las llamadas siguientes (distintas de MQCLOSE) que utilicen esa asa fallarn con el cdigo de razn RC2041; la aplicacin deber emitir una llamada MQCLOSE (utilizando el asa original) y abrir de nuevo la cola. Las actualizaciones no comprometidas con respecto al asa antigua procedentes de las llamadas satisfactorias anteriores podrn seguir comprometindose o restituyndose, segn lo que requiera la lgica de la aplicacin.
271
Si debido al cambio de un atributo sucede lo anterior, deber utilizarse una versin especial de forzar del mandato. 5. El gestor de colas efecta comprobaciones de seguridad cuando se emite una llamada MQOPEN para verificar que el identificador de usuario con el que se est ejecutando la aplicacin tiene el nivel de autorizacin adecuado antes de permitir el acceso. La comprobacin de autorizacin se realiza en el nombre del objeto que est abrindose y no en el nombre o nombres resultantes de la resolucin de un nombre. 6. Si el objeto que se est abriendo es una cola modelo, el gestor de colas efecta una comprobacin de seguridad completa del nombre de la cola modelo y del nombre de la cola dinmica que se crea. Si la cola dinmica resultante se abre posteriormente de forma explcita, se efectuar una comprobacin de seguridad de recursos adicional del nombre de la cola dinmica. 7. Una cola remota puede especificarse de una de estas dos maneras en el parmetro OBJDSC de esta llamada (vea lo referente a los campos ODON y ODMN que se describen en el Captulo 12. MQOD - Descriptor de objeto en la pgina 143): v Especificando para ODON el nombre de una definicin local de una cola remota. En este caso, ODMN se refiere al gestor de colas local y puede especificarse como blancos. La validacin de seguridad realizada por el gestor de colas local comprueba si la aplicacin tiene autorizacin para abrir la definicin local de la cola remota. v Especificando para ODON el nombre de la cola remota tal como la conoce el gestor de colas remoto. En ese caso, ODMN sera el nombre del gestor de colas remoto. La validacin de seguridad realizada por el gestor de colas local comprueba si la aplicacin tiene autorizacin para enviar mensajes a la cola de transmisin resultante del proceso de resolucin de nombre. En ambos casos: v El gestor de colas local no enva mensajes al gestor de colas remoto para comprobar si la aplicacin est autorizada a colocar mensajes en la cola. v Cuando llega un mensaje al gestor de colas remoto, este puede rechazarlo si el usuario que lo ha originado no tiene autorizacin. 8. Las notas siguientes son para la utilizacin de listas de distribucin. a. Los campos de la estructura MQOD se deben establecer como se indica a continuacin cuando se abra una lista de distribucin: v ODVER debe tener el valor ODVER2 o superior. v ODOT debe tener el valor OTQ. v ODON debe estar en blanco o con la serie nula. v ODMN debe estar en blanco o con la serie nula. v ODREC debe ser mayor que cero. v Uno de los campos ODORO y ODORP debe ser cero y el otro distinto de cero. v No puede haber ms de un campo ODRRO y ODRRP distinto de cero. v Debe haber registros de objeto ODREC, direccionados por ODORO o ODORP. Los registros de objeto deben establecerse en los nombres de las colas destino que se van a abrir. v Si uno de los campos ODRRO y ODRRP es distinto de cero, debe haber presentes registros de respuesta ODREC. Si la llamada se completa con el cdigo de razn RC2136, el gestor de colas establece los registros.
272
Tambin se puede utilizar MQOD versin 2 para abrir una sola cola que no est en una lista de distribucin, si se asegura que ODREC sea igual a cero. b. Las siguientes opciones de abrir son las nicas vlidas en el parmetro OPTS: OOOUT OOPAS* OOSET* OOALTU OOFIQ c. Las colas destino de las listas de distribucin pueden ser locales, remotas o alias, pero no pueden ser colas modelo. Si se especifica una cola modelo, la cola no se podr abrir, con el cdigo de razn RC2057. No obstante, esto no impide que se puedan abrir satisfactoriamente otras colas de la lista. d. El cdigo de terminacin y el cdigo de razn se establecen como sigue: v Si las operaciones de abrir para las colas de la lista de distribucin terminan todas de la misma forma, con error o satisfactoriamente, los parmetros cdigo de terminacin y cdigo de razn se establecen para describir el resultado comn a todas. Los registros de respuesta MQRR (si son proporcionados por la aplicacin) no se establecen en este caso. Por ejemplo, si todas las aperturas se realizan satisfactoriamente, el cdigo de terminacin y el cdigo de razn se establecen en CCOK y RCNONE, respectivamente; si todas las aperturas fallan debido a que ninguna de las colas existe, los parmetros se establecen en CCFAIL y RC2085. v Si no todas las operaciones de abrir para las colas de la lista de distribucin fallan o son satisfactorias de la misma forma: El parmetro cdigo de terminacin se establece en CCWARN, si al menos una de las aperturas se realiza satisfactoriamente, y en CCFAIL si fallan todas. El parmetro cdigo de razn se establece en RC2136. Los registros de respuesta (si son proporcionados por la aplicacin) se establecen en los cdigos de terminacin y en los cdigos de razn individuales de las colas de la lista de distribucin. e. Cuando se ha abierto satisfactoriamente una lista de distribucin, el asa HOBJ devuelta por la llamada se puede utilizar en las siguientes llamadas MQPUT para poner mensajes en las colas de la lista de distribucin, y en una llamada MQCLOSE para restringir el acceso a la lista de distribucin. La nica opcin de cerrar vlida para una lista de distribucin es CONONE. La llamada MQPUT1 tambin se puede utilizar para poner un mensaje en una lista de distribucin; la estructura MQOD que define las colas de la lista se especifica como parmetro en esa llamada. f. Cada destino abierto satisfactoriamente de la lista de distribucin se cuenta como asa aparte cuando se comprueba si la aplicacin ha superado el nmero mximo de asas permitidas (vea el atributo de gestor de colas MaxHandles). Esto ocurre siempre, incluso si dos o ms de los destinos de la lista de distribucin se resuelven en la misma cola fsica. Si las llamadas MQOPEN o MQPUT1 para poner en una lista de distribucin hacen que el nmero de asas utilizadas por la aplicacin sobrepase el atributo MaxHandles, la llamada falla con el cdigo de razn RC2017. g. Cada destino que se abra satisfactoriamente tiene el valor de su atributo OpenOutputCount ms uno. Si dos o ms de los destinos de la lista de
Captulo 32. MQOPEN - Abrir objeto
| | | |
273
distribucin se resuelven realmente en una misma cola fsica, la cola tiene el valor de su atributo OpenOutputCount ms el nmero de destinos de la lista de distribucin que se resuelvan en esta cola. h. Cualquier cambio realizado en las definiciones de cola que hubiera hecho que un asa se volviera no vlida, en el caso de que las colas se hubieran abierto individualmente (por ejemplo, un cambio en la va de resolucin), no implica que el asa de la lista de distribucin se vuelva no vlida. No obstante, esto har que se produzca un error en la cola cuando se utilice el asa de la lista de distribucin en una llamada MQPUT posterior. i. Una lista de distribucin puede contener un solo destino. 9. Una llamada MQOPEN con la opcin OOBRW establece un cursor para examinar para utilizarlo con las llamadas MQGET que especifiquen el asa de objeto y una de las opciones de examinar. Esto permite explorar la cola sin alterar su contenido. A continuacin, un mensaje que se haya encontrado examinando podr eliminarse de la cola utilizando la opcin GMMUC. Puede haber varios cursores para examinar activos para una sola aplicacin; para ello se emiten varias peticiones MQOPEN para abrir una misma cola. 10. Las notas siguientes se aplican a la utilizacin de colas de clster. a. Cuando se abre una cola de clster por primera vez y el gestor de colas local no es un gestor de colas de depsito completo, el gestor de colas local obtiene la informacin acerca de la cola de clster de un gestor de colas de depsito completo. Si la red est ocupada, puede que el gestor de colas local tarde algunos segundos en recibir la informacin necesaria del gestor de colas de depsito. Como resultado, la aplicacin que emite la llamada MQOPEN deber esperar un mximo de 10 segundos hasta que vuelva el control de la llamada MQOPEN. Si el gestor de colas local no recibe la informacin necesaria acerca de la cola de clster en este tiempo, la llamada falla con el cdigo de razn RC2189. b. Si se abre una cola de clster y hay varias instancias de la cola en el clster, la instancia que realmente se abre depende de las opciones que se hayan especificado en la llamada MQOPEN: v Si las opciones especificadas son algunas de las siguientes: OOBRW OOINPQ OOINPX OOINPS OOSET la instancia de la cola de clster que se abre debe ser la instancia local. Si no hay ninguna instancia local de la cola, la llamada MQOPEN falla. v Si las opciones especificadas no son ninguna de las anteriores, pero incluyen alguna de las siguientes: OOINQ OOOUT la instancia que se abre es la instancia local, si es que existe, o una instancia remota, en caso contrario. No obstante, la instancia elegida por el gestor de colas la puede modificar una rutina de salida de carga de trabajo de clster (si existe). Si desea obtener ms informacin acerca de las colas de clster, vea el manual MQSeries Queue Manager Clusters. 11. Las aplicaciones iniciadas por un supervisor de desencadenamiento reciben el nombre de la cola asociado a la aplicacin cuando esta se inicia. Este nombre
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
274
de cola se puede especificar en el parmetro OBJDSC para abrir la cola. Vea la descripcin de la estructura MQTMC para obtener ms detalles. 12. En OS/400, las aplicaciones que se ejecuten en modalidad de compatibilidad se conectan automticamente al gestor de colas mediante la primera llamada MQOPEN emitida por la aplicacin (si la aplicacin no se ha conectado ya con el gestor de colas utilizando la llamada MQCONN). Las aplicaciones que no se ejecuten en moddalidad de compatibilidad deben emitir las llamadas MQCONN o MQCONNX para conectarse al gestor de colas de manera explcita, antes de utilizar la llamada MQOPEN para abrir un objeto.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQOPEN(HCONN : OBJDSC : OPTS : C HOBJ : CMPCOD : REASON)
275
276
Sintaxis
MQPUT (HCONN, HOBJ, MSGDSC, PMO, BUFLEN, BUFFER, CMPCOD, REASON)
Parmetros
HCONN (entero de 10 dgitos con signo) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para aplicaciones que se ejecutan en modalidad de compatibilidad, la llamada MQCONN puede omitirse, as como el siguiente valor especificado para HCONN: HCDEFH Asa de conexin por omisin. HOBJ (entero de 10 dgitos con signo) entrada Asa de objeto. Esta asa representa la cola a la que debe aadirse el mensaje. El valor de HOBJ lo devolvi una llamada MQOPEN anterior que especificaba la opcin OOOUT. MSGDSC (MQMD) entrada/salida Descriptor de mensaje. Esta estructura describe los atributos del mensaje enviado y recibe informacin sobre el mensaje un vez completada la peticin de poner. Vea el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para obtener ms detalles. Si la aplicacin proporciona un MQMD versin 1, los datos del mensaje se pueden prefijar con una estructura MQMDE para especificar los valores de los campos que existen en MQMD versin 2, pero no en la versin 1. El campo MDFMT en MQMD debe estar definido como FMMDE para indicar que hay presente un MQMDE. Vea el Captulo 11. MQMDE - Extensin de descriptor de mensaje en la pgina 137 para obtener ms detalles. PMO (MQPMO) entrada/salida Opciones que controlan la accin de MQPUT. Vea el Captulo 14. MQPMO - Opciones de poner mensaje en la pgina 155 para obtener ms detalles. BUFLEN (entero de 10 dgitos con signo) entrada Longitud del mensaje en BUFFER.
Copyright IBM Corp. 1994, 2000
277
Cero es vlido e indica que el mensaje no contiene datos de la aplicacin. Si el destino es una cola local, o se resuelve en una cola local, el lmite superior de BUFLEN depender de si: v El gestor de colas local da soporte a la segmentacin. v La aplicacin emisora especifica el distintivo que permite al gestor de colas segmentar el mensaje. Este distintivo es MFSEGA, y se puede especificar en MQMD versin 2, o en MQMDE utilizado con un MQMD versin 1. | | | | | | Si se cumplen estas dos condiciones, BUFLEN no podr sobrepasar 999 999 999 menos el valor del campo MDOFF en MQMD. El mensaje lgico ms largo que se puede transferir es por lo tanto de 999 999 999 bytes (cuando MDOFF es igual a cero). No obstante, las restricciones de recurso impuestas por el sistema operativo o por el entorno de ejecucin de la aplicacin pueden hacer que el lmite sea inferior. Si no se cumplen una o las dos condiciones anteriores, BUFLEN no puede sobrepasar el menor de los atributos MaxMsgLength de cola o MaxMsgLength de gestor de colas. Si el destino es una cola remota, o se resuelve en una cola remota, se aplican las mismas condiciones, pero para cada uno de los gestores de colas por los que el mensaje debe pasar para alcanzar la cola destino; en concreto: 1. La cola de transmisin local utilizada para almacenar temporalmente el mensaje en el gestor de colas local 2. Las colas de transmisin intermedias (caso de existir) utilizadas para almacenar el mensaje en gestores de colas de la ruta entre los gestores de la cola local y destino. 3. La cola destino situada en el gestor de colas destino El mensaje ms largo que se puede transferir depender, por lo tanto, de cul sea la restriccin mayor impuesta por estas colas y gestores de colas. Cuando un mensaje est en una cola de transmisin, la informacin adicional reside junto con los datos del mensaje y esto reduce la cantidad de datos de aplicacin que pueden transferirse. En esta situacin es aconsejable restar los bytes de LNMHD a los valores de MaxMsgLength de las colas de transmisin cuando se determina el lmite de BUFLEN. Nota: Solo el incumplimiento de la condicin 1 puede diagnosticarse sincrnicamente (con el cdigo de razn RC2030 o RC2031) cuando se transfiere el mensaje. Si no se satisfacen las condiciones 2 3, el mensaje se redirecciona a una cola de mensajes no entregados (de un gestor de colas intermedias o del gestor de colas destino); si sucede lo anterior, se generar un mensaje de informe si as lo haba solicitado el emisor. Si esto ocurriera, se generar un mensaje de informe en caso de que lo solicitara el emisor. BUFFER (serie de bits de 1 byteBUFLEN) entrada Datos del mensaje. Es un almacenamiento intermedio que contiene los datos de la aplicacin a enviar. Si BUFFER contiene datos de tipo carcter y/o numricos, deber darse a los campos MDCSI y MDENC del parmetro MSGDSC los valores adecuados para los
278
datos; esto permitir al receptor del mensaje convertir los datos (si es necesario) para que estn en el juego de caracteres y en la codificacin utilizados por el receptor. Nota: El resto de parmetros de la llamada MQPUT debe estar en el juego de caracteres y la codificacin del gestor de colas local (facilitados, respectivamente, por el atributo CodedCharSetId del gestor de colas y ENNAT). CMPCOD (entero de 10 dgitos con signo) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero de 10 dgitos con signo) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN: RC2136 (2136, X'858') Se han devuelto varios cdigos de razn. RC2049 (2049, X'801') La prioridad del mensaje supera el valor mximo soportado. RC2104 (2104, X'838') Las opciones de informe del descriptor de mensaje no se reconocen. Si CMPCOD es CCFAIL: RC2004 (2004, X'7D4') El parmetro almacenamiento intermedio no es vlido. RC2005 (2005, X'7D5') El parmetro longitud de almacenamiento intermedio no es vlido. RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2266 (2266, X'8DA') Ha fallado la rutina de salida de carga de trabajo de clster. RC2189 (2189, X'88D') Ha fallado la resolucin del nombre de clster. RC2269 (2269, X'8DD') Error de recurso de clster. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas.
| | | | |
279
RC2097 (2097, X'831') El asa de cola a la que se hace referencia no salva el contexto. RC2098 (2098, X'832') Contexto no disponible para el asa de cola a la que se hace referencia. RC2135 (2135, X'857') La estructura de cabecera de distribucin no es vlida. RC2013 (2013, X'7DD') La fecha de caducidad no es vlida. RC2014 (2014, X'7DE') El cdigo de informacin de retorno no es vlido. RC2258 (2258, X'8D2') El identificador de grupo no es vlido. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2019 (2019, X'7E3') El asa de objeto no es vlida. RC2241 (2241, X'8C1') El grupo de mensajes no est completo. RC2242 (2242, X'8C2') El mensaje lgico no est completo. RC2185 (2185, X'889') Especificacin de permanencia incoherente. RC2245 (2245, X'8C5') Especificacin de unidad de trabajo incoherente. RC2026 (2026, X'7EA') El descriptor de mensaje no es vlido. RC2248 (2248, X'8C8') La extensin de descriptor de mensaje no es vlida. RC2027 (2027, X'7EB') Falta la cola de respuestas. RC2249 (2249, X'8C9') Los distintivos del mensaje no son vlidos. RC2250 (2250, X'8CA') El nmero de secuencia del mensaje no es vlido. RC2030 (2030, X'7EE') La longitud del mensaje es superior al mximo de la cola. RC2031 (2031, X'7EF') La longitud del mensaje es superior al mximo del gestor de colas. RC2029 (2029, X'7ED') El tipo de mensaje del descriptor de mensaje no es vlido. RC2136 (2136, X'858') Se han devuelto mltiples cdigos de razn. | | RC2270 (2270, X'8DE') No hay disponible ninguna cola destino. RC2039 (2039, X'7F7') La cola no se ha abierto para salida. RC2093 (2093, X'82D') Cola no abierta para pasar todo el contexto. RC2094 (2094, X'82E') Cola no abierta para pasar el contexto de identidad.
280
RC2095 (2095, X'82F') Cola no abierta para establecer todo el contexto. RC2096 (2096, X'830') Cola no abierta para establecer el contexto de identidad. RC2041 (2041, X'7F9') La definicin de un objeto ha cambiado desde su apertura. RC2101 (2101, X'835') Objeto daado. RC2251 (2251, X'8CB') El desplazamiento del segmento de mensaje no es vlido. RC2137 (2137, X'859') El objeto no se ha abierto satisfactoriamente. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. RC2252 (2252, X'8CC') La longitud original no es vlida. | | RC2149 (2149, X'865') Las estructuras PCF no son vlidas. RC2047 (2047, X'7FF') La permanencia no es vlida. RC2048 (2048, X'800') Un mensaje en una cola dinmica temporal no puede ser permanente. RC2173 (2173, X'87D') La estructura de las opciones de poner mensaje no es vlida. RC2158 (2158, X'86E') Los distintivos de registro de poner mensaje no son vlidos. RC2050 (2050, X'802') La prioridad del mensaje no es vlida. RC2051 (2051, X'803') Llamadas de poner estn inhibidas en la cola. RC2159 (2159, X'86F') Los registros de poner mensaje no son vlidos. RC2052 (2052, X'804') La cola se ha suprimido. RC2053 (2053, X'805') La cola ya contiene el nmero mximo de mensajes. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2161 (2161, X'871') El gestor de colas est en reposo. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2056 (2056, X'808') No hay espacio disponible para la cola en el disco. RC2154 (2154, X'86A') El nmero de registros presente no es vlido.
281
RC2061 (2061, X'80D') Las opciones de informe del descriptor de mensaje no son vlidas. RC2156 (2156, X'86C') Los registros de respuesta no son vlidos. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2253 (2253, X'8CD') La longitud de los datos que hay en el segmento de mensaje es igual a cero. | | | RC2188 (2188, X'88C') Llamada rechazada por la rutina de salida de carga de trabajo de clster. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2024 (2024, X'7E8') No pueden manejarse ms mensajes dentro de la unidad de trabajo actual. RC2072 (2072, X'818') El soporte de punto de sincronismo no est disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. RC2255 (2255, X'8CF') La unidad de trabajo no est disponible para ser utilizada por el gestor de colas. RC2257 (2257, X'8D1') La versin del MQMD suministrado es incorrecta. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. Las llamadas MQPUT y MQPUT1 pueden utilizarse para colocar mensajes en una cola; el uso de una u otra depender de las circunstancias: v La llamada MQPUT debe utilizarse cuando deben colocarse varios mensajes en la misma cola. Se emite primero una llamada MQOPEN especificando la opcin OOOUT, seguida de una o ms peticiones MQPUT para aadir mensajes a la cola; finalmente, la cola se cierra con una llamada MQCLOSE. De este modo el rendimiento es mejor que utilizando repetidamente la llamada MQPUT1. v La llamada MQPUT1 debe utilizarse cuando solo debe colocarse un mensaje en la cola. Esta llamada encapsula las llamadas MQOPEN, MQPUT y MQCLOSE en una sola llamada, minimizando por lo tanto el nmero de llamadas que deben emitirse. 2. Si una aplicacin coloca una secuencia de mensajes en la misma cola, sin utilizar grupos de mensajes, el orden de los mismos se conservar siempre y cuando se cumplan las condiciones que se describen a continuacin. Algunas de las condiciones se aplican a colas destino locales y remotas; otras condiciones se aplican a colas destino remotas. Condiciones para las colas destino remotas v Todas las llamadas MQPUT estn dentro de la misma unidad de trabajo o ninguna de ellas est dentro de una unidad de trabajo.
282
Tenga en cuenta que cuando se transfieren mensajes a una cola determinada dentro de una sola unidad de trabajo, los mensajes de otras aplicaciones pueden entremezclarse con la secuencia de mensajes de la cola. v Todas las llamadas MQPUT se efectan utilizando la misma asa de objeto HOBJ. En algunos entornos, la secuencia de mensajes tambin se conserva cuando se utilizan distintas asas, siempre y cuando las llamadas se efecten desde una misma aplicacin. El significado de misma aplicacin lo determina el entorno: En OS/400, la aplicacin es el trabajo. v Todos los mensajes tienen la misma prioridad. Condiciones adicionales para las colas destino remotas v Solo hay una va desde el gestor de colas emisor al gestor de colas destino. Si existe la posibilidad de que algunos de los mensajes de la secuencia puedan ir por una va distinta (por ejemplo, debido a una reconfiguracin, a la regulacin del trfico o a que se haya seleccionado otra va debido al tamao del mensaje), el orden de los mensaje en el gestor de colas destino no podr garantizarse. v Los mensajes no se colocan temporalmente en las colas de mensajes no entregados situadas en los gestores de colas emisores, intermedios o destino. Si uno o ms de los mensajes se ponen temporalmente en una cola de mensajes no entregados (por ejemplo, porque la cola de transmisin o la cola destino estn temporalmente llenas), los mensajes pueden llegar a la cola destino fuera de secuencia. v Los mensajes son todos permanentes o todos no permanentes. Si un canal existente en la ruta entre los gestores de colas emisor y destino tiene su atributo CDNPM establecido en NPFAST, los mensajes no permanentes pueden pasar delante de los mensajes permanentes, de manera que no se conserva el orden de los mensajes permanentes respecto al de los no permanentes. No obstante, s que se conserva el orden de los mensajes permanentes entre ellos, y el de los mensajes no permanentes entre ellos. Si no se cumplen estas condiciones, se pueden utilizar los grupos de mensajes para conservar el orden de los mensajes, pero esto requiere que tanto la aplicacin emisora como la receptora utilicen el soporte de grupos de mensajes. Si desea obtener ms informacin acerca de los grupos de mensajes, vea: v Campo MDMFL en MQMD v Opcin PMLOGO en MQPMO v Opcin GMLOGO en MQGMO 3. Las notas siguientes se aplican a la utilizacin de listas de distribucin. a. Los mensajes se pueden poner en una lista de distribucin utilizando MQPMO versin 1 o versin 2. Si se utiliza MQPMO versin 1 (o MQPMO versin 2 con PMREC igual a cero), la aplicacin no puede proporcionar registros de poner mensaje ni de respuesta. Esto significa que no ser posible identificar las colas en las que se ha producido algn error, si se enva el mensaje satisfactoriamente a algunas colas de la lista de distribucin y no a otras. Para que la aplicacin pueda proporcionar registros de poner mensaje o registros de respuesta, el campo PMVER debe establecerse en PMVER2. Tambin se puede utilizar MQPMO versin 2 para enviar mensajes a una sola cola que no est en una lista de distribucin, si se asegura que PMREC es igual a cero.
Captulo 33. MQPUT - Poner mensaje
283
b. El cdigo de terminacin y el cdigo de razn se establecen como sigue: v Si las transferencias a las colas de la lista de distribucin terminan todas de la misma forma, con error o satisfactoriamente, los parmetros cdigo de terminacin y cdigo de razn se establecen para describir el resultado comn a todas. Los registros de respuesta MQRR (si son proporcionados por la aplicacin) no se establecen en este caso. Por ejemplo, si todas las transferencias se realizan satisfactoriamente, el cdigo de terminacin y el cdigo de razn se establecen en CCOK y RCNONE, respectivamente; si todas las transferencias fallan debido a que todas las colas estn inhibidas para las transferencias, los parmetros se establecen en CCFAIL y RC2051. v Si las transferencias a las colas de la lista de distribucin no terminan todas de la misma forma, con error o satisfactoriamente: El parmetro cdigo de terminacin se establece en CCWARN, si al menos una de las transferencias se realiza satisfactoriamente, y en CCFAIL si todas fallan. El parmetro cdigo de razn se establece en RC2136. Los registros de respuesta (si son proporcionados por la aplicacin) se establecen en los cdigos de terminacin y en los cdigos de razn individuales de las colas de la lista de distribucin. Si la transferencia a un destino falla debido a que ha fallado la apertura para ese mismo destino, los campos del registro de respuesta se establecen en CCFAIL y RC2137; este destino se incluye en PMIDC. c. Si el destino de la lista de distribucin se resuelve en una cola local, el mensaje se coloca en esta cola en su forma normal (esto es, no como un mensaje de lista de distribucin). Si se resuelve ms de un destino en la misma cola local, se coloca un mensaje en la cola para cada uno de estos destinos. Si el destino de la lista de distribucin se resuelve en una cola remota, se coloca un mensaje en la cola de transmisin correspondiente. Si se resuelven varios destinos en una misma cola de transmisin, se debe colocar en esta cola un nico mensaje de lista de distribucin que contenga estos destinos, incluso si estos destinos no eran contiguos en la lista de destinos proporcionada por la aplicacin. No obstante, esto solo se puede hacer si la cola de transmisin da soporte a los mensajes de lista de distribucin (vea el atributo de cola DistLists que se describe en el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311). Si la cola de transmisin no da soporte a listas de distribucin, se coloca una copia del mensaje en su forma normal en la cola de trasmisin de cada destino que utilice esa cola de transmisin. Si la lista de distribucin con los datos del mensaje de aplicacin es demasiado grande para una cola transmisin, el mensaje de lista de distribucin se divide en mensajes de lista de distribucin ms pequeos, cada uno de los cuales contiene menos destinos. Si los datos del mensaje de aplicacin solo cabe justo en la cola, los mensajes de lista de distribucin no se pueden usar, y el gestor de colas genera una copia del mensaje en su forma normal para cada destino que utilice esa cola de transmisin. Si distintos destinos tienen diferentes prioridades de mensaje o permanencias de mensaje (esto puede ocurrir cuando la aplicacin especifica PRQDEF o PEQDEF), los mensajes no se guardan en el mismo mensaje de lista de distribucin. En su lugar, el gestor de colas genera tantos mensajes de lista de distribucin como sean necesarios para albergar los diferentes valores de prioridad y permanencia.
284
d. Una transferencia en en una lista de distribucin puede dar resultado a: v Un mensaje nico de lista de distribucin, o v Varios mensajes de lista de distribucin ms pequeos, o v Una combinacin de mensajes de lista de distribucin y mensajes normales, o v Mensajes normales solamente. El resultado depender depender de si: v Los destinos en la lista son locales, remotos, o una combinacin de ambos. v Los destinos tienen la misma prioridad de mensaje y la misma permanencia de mensaje. v Las colas de transmisin pueden contener mensajes de lista de distribucin. v Las longitudes mximas de mensaje de las colas de transmisin son suficientes para albergar el mensaje en forma de lista de distribucin. No obstante, independientemente de cul de estos casos se d, cada mensaje fsico que se produzca como resultado (esto es, cada mensaje normal o cada mensaje de lista de distribucin que produzca la transferencia) contar como un solo mensaje cuando: v Se compruebe si la aplicacin ha sobrepasado el nmero mximo permitido de mensajes en una unidad de trabajo (vea el atributo de gestor de colas MaxUncommittedMsgs). v Se compruebe si se han cumplido las condiciones desencadenantes. v Se aumente la profundidad de cola y se compruebe si se va a sobrepasar la profundidad de cola mxima de las colas. e. Cualquier cambio realizado en las definiciones de cola que hubiera hecho que un asa se volviera no vlida, en el caso de que las colas se hubieran abierto individualmente (por ejemplo, un cambio en la va de resolucin), no implica que el asa de la lista de distribucin se vuelva no vlida. No obstante, esto har que se produzca un error en la cola cuando se utilice el asa de la lista de distribucin en una llamada MQPUT posterior. 4. Si se transfiere un mensaje con una o ms estructuras de cabecera MQ al principio de los datos del mensaje de aplicacin, el gestor de colas lleva a cabo algunas comprobaciones en las estructuras de cabecera para verificar que son vlidas. Si el gestor de colas detecta un error, la llamada falla con el correspondiente cdigo de razn. Las comprobaciones realizadas varan segn las estructuras concretas que estn presentes. Adems, las comprobaciones se realizan solo si se utiliza un MQMD versin 2 o posterior en la llamada MQPUT o MQPUT1; las comprobaciones no se realizan si se utiliza un MQMD versin 1, incluso en el caso de haya presente un MQMDE al principio de los datos del mensaje de la aplicacin. Las siguientes estructuras de cabecera MQ estn validadas completamente por el gestor de colas: MQDH, MQMDE. Para otras estructuras de MQ, el gestor de colas realiza algunas validaciones, pero no comprueba todos los campos. Las estructuras no soportadas por el gestor de colas local y las estructuras que siguen a la primera MQDLH del mensaje no estn validadas. Adems de las comprobaciones generales en los campos de las estructuras MQ, se deben cumplir las siguientes condiciones: v Una estructura MQ no debe estar dividida en dos o ms segmentos la estructura debe estar completamente contenida dentro de un segmento.
285
v La suma de las longitudes de las estructuras en un mensaje PCF debe ser igual a la longitud que especifica el parmetro BUFLEN en las llamadas MQPUT o MQPUT1. Un mensaje PCF es un mensaje que tiene uno de los siguientes nombres de formato: FMADMN FMEVNT FMPCF v Las estructuras MQ no deben estar trucadas, excepto en las siguientes situaciones en las que se permiten estructuras truncadas: Mensajes que sean mensajes de informe. Mensajes PCF. Mensajes que contienen una estructura MQDLH. (Las estructuras que siguen a la primera MQDLH pueden estar truncadas; no as las que preceden a la MQDLH). 5. El parmetro BUFFER mostrado en el ejemplo de programacin RPG se declara como serie, lo cual limita la longitud mxima del parmetro a 256 bytes. Si se necesita un almacenamiento intermedio ms grande, debe declararse el parmetro en lugar de hacerlo como estructura, o como campo de un archivo fsico. Esto aumentar la longitud mxima posible hasta aproximadamente 32 KB.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQPUT(HCONN : HOBJ : MSGDSC : PMO : C BUFLEN : BUFFER : CMPCOD : C REASON)
286
Sintaxis
MQPUT1 (HCONN, OBJDSC, MSGDSC, PMO, BUFLEN, BUFFER, CMPCOD, REASON)
Parmetros
HCONN (entero de 10 dgitos con signo) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para aplicaciones que se ejecutan en modalidad de compatibilidad, la llamada MQCONN puede omitirse, as como el siguiente valor especificado para HCONN: HCDEFH Asa de conexin por omisin. OBJDSC (MQOD) entrada/salida Descriptor de objeto. Es una estructura que identifica la cola a la que se aade el mensaje. Vea el Captulo 12. MQOD - Descriptor de objeto en la pgina 143 para obtener ms detalles. La aplicacin debe tener autorizacin para abrir la cola para salida. La cola no debe ser una cola modelo. MSGDSC (MQMD) entrada/salida Descriptor de mensaje. Esta estructura describe los atributos del mensaje enviado y recibe informacin de retorno cuando la peticin de poner se completa. Vea el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para obtener ms detalles. Si la aplicacin proporciona un MQMD versin 1, los datos del mensaje se pueden prefijar con una estructura MQMDE para especificar los valores de los campos que existen en el MQMD versin 2, pero no en la versin 1. El campo MDFMT en MQMD debe estar definido como FMMDE para indicar que hay presente un MQMDE. Vea el Captulo 11. MQMDE - Extensin de descriptor de mensaje en la pgina 137 para obtener ms detalles. PMO (MQPMO) entrada/salida Opciones que controlan la accin de MQPUT1. Vea el Captulo 14. MQPMO - Opciones de poner mensaje en la pgina 155 para obtener ms detalles.
Copyright IBM Corp. 1994, 2000
287
BUFLEN (entero de 10 dgitos con signo) entrada Longitud del mensaje en BUFFER. Cero es vlido e indica que el mensaje no contiene datos de la aplicacin. El lmite superior depende de varios factores; vea la descripcin del parmetro BUFLEN de la llamada MQPUT para obtener ms detalles. BUFFER (serie de bits de 1 byteBUFLEN) entrada Datos del mensaje. Es un almacenamiento que contiene los datos de la aplicacin a enviar. Si BUFFER contiene datos de tipo carcter y/o numricos, deber darse a los campos MDCSI y MDENC del parmetro MSGDSC los valores adecuados para los datos; esto permitir al receptor del mensaje convertir los datos (si es necesario) para que estn en el juego de caracteres y en la codificacin utilizados por el receptor. Nota: El resto de parmetros de la llamada MQPUT1 debe estar en el juego de caracteres y la codificacin del gestor de colas local (facilitados, respectivamente, por el atributo CodedCharSetId del gestor de colas y ENNAT). CMPCOD (entero de 10 dgitos con signo) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCWARN Aviso (la llamada se ha completado parcialmente). CCFAIL La llamada ha fallado. REASON (entero de 10 dgitos con signo) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCWARN: RC2136 (2136, X'858') Se han devuelto varios cdigos de razn. RC2241 (2241, X'8C1') El grupo de mensajes no est completo. RC2242 (2242, X'8C2') El mensaje lgico no est completo. RC2049 (2049, X'801') La prioridad del mensaje supera el valor mximo soportado. RC2104 (2104, X'838') Las opciones de informe del descriptor de mensaje no se reconocen. Si CMPCOD es CCFAIL:
288
RC2001 (2001, X'7D1') El tipo de cola alias base no es vlido. RC2004 (2004, X'7D4') El parmetro almacenamiento intermedio no es vlido. RC2005 (2005, X'7D5') El parmetro longitud de almacenamiento intermedio no es vlido. RC2219 (2219, X'8AB') La llamada MQI ha reentrado antes de que se completara la llamada anterior. | | | | | RC2266 (2266, X'8DA') Ha fallado la rutina de salida de carga de trabajo de clster. RC2189 (2189, X'88D') Ha fallado la resolucin del nombre de clster. RC2269 (2269, X'8DD') Error de recurso de clster. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2097 (2097, X'831') El asa de cola a la que se hace referencia no salva el contexto. RC2098 (2098, X'832') Contexto no disponible para el asa de cola a la que se hace referencia. RC2198 (2198, X'896') La cola de transmisin por omisin no es local. RC2199 (2199, X'897') Error de utilizacin de la cola de transmisin por omisin. RC2135 (2135, X'857') La estructura de la cabecera de distribucin no es vlida. RC2013 (2013, X'7DD') Fecha de caducidad no vlida. RC2014 (2014, X'7DE') El cdigo de informacin de retorno no es vlido. RC2258 (2258, X'8D2') El identificador de grupo no es vlido. RC2017 (2017, X'7E1') No hay ms asas disponibles. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2026 (2026, X'7EA') El descriptor de mensaje no es vlido. RC2248 (2248, X'8C8') La extensin de descriptor de mensaje no es vlida. RC2027 (2027, X'7EB') Falta la cola de respuestas. RC2249 (2249, X'8C9') Los distintivos del mensaje no son vlidos. RC2250 (2250, X'8CA') El nmero de secuencia del mensaje no es vlido. RC2030 (2030, X'7EE') La longitud del mensaje es superior al mximo de la cola.
289
RC2031 (2031, X'7EF') La longitud del mensaje es superior al mximo para el gestor de colas. RC2029 (2029, X'7ED') El tipo de mensaje del descriptor de mensaje no es vlido. RC2136 (2136, X'858') Se han devuelto mltiples cdigos de razn. | | RC2270 (2270, X'8DE') No hay ninguna cola destino que est disponible. RC2035 (2035, X'7F3') No posee autorizacin para acceder. RC2101 (2101, X'835') Objeto daado. RC2042 (2042, X'7FA') El objeto ya est abierto con opciones en conflicto. RC2155 (2155, X'86B') Los registros de objeto no son vlidos. RC2043 (2043, X'7FB') Tipo de objeto no vlido. RC2044 (2044, X'7FC') La estructura del descriptor de objeto no es vlida. RC2251 (2251, X'8CB') El desplazamiento del segmento del mensaje no es vlido. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. RC2252 (2252, X'8CC') La longitud original no es vlida. | | RC2149 (2149, X'865') Las estructuras PCF no son vlidas. RC2047 (2047, X'7FF') La permanencia no es vlida. RC2048 (2048, X'800') Un mensaje en una cola dinmica temporal no puede ser permanente. RC2173 (2173, X'87D') La estructura de las opciones de poner mensaje no es vlida. RC2158 (2158, X'86E') No son vlidos los distintivos de los registros para poner mensaje. RC2050 (2050, X'802') La prioridad del mensaje no es vlida. RC2051 (2051, X'803') Las llamadas de poner estn inhibidas en la cola. RC2159 (2159, X'86F') Los registros de poner mensaje no son vlidos. RC2052 (2052, X'804') La cola se ha suprimido. RC2053 (2053, X'805') La cola ya contiene el nmero mximo de mensajes. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido.
290
RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2161 (2161, X'871') El gestor de colas est en reposo. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2056 (2056, X'808') No hay espacio disponible para la cola en el disco. RC2057 (2057, X'809') Tipo de cola no vlido. RC2154 (2154, X'86A') El nmero de registros presentes no es vlido. RC2184 (2184, X'888') El nombre de la cola remota no es vlido. RC2061 (2061, X'80D') Las opciones de informe del descriptor de mensaje no son vlidas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2156 (2156, X'86C') Los registros de respuesta no son vlidos. RC2063 (2063, X'80F') Se ha producido un error de seguridad. RC2253 (2253, X'8CD') La longitud de los datos del segmento de mensaje es cero. | | | RC2188 (2188, X'88C') Llamada rechazada por la rutina de salida de carga de trabajo de clster. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2024 (2024, X'7E8') No pueden manejarse ms mensajes dentro de la unidad de trabajo actual. RC2072 (2072, X'818') El soporte de punto de sincronismo no est disponible. RC2195 (2195, X'893') Se ha producido un error inesperado. RC2082 (2082, X'822') Cola alias base desconocida. RC2197 (2197, X'895') Cola de transmisin por omisin desconocida. RC2085 (2085, X'825') Nombre de objeto desconocido. RC2086 (2086, X'826') Gestor de colas de objeto desconocido. RC2087 (2087, X'827') Gestor de colas remoto desconocido. RC2196 (2196, X'894') Cola de transmisin desconocida. RC2255 (2255, X'8CF') La unidad de trabajo no est disponible para que el gestor de colas la utilice. RC2257 (2257, X'8D1') La versin de MQMD suministrada es incorrecta.
291
RC2091 (2091, X'82B') La cola de transmisin no es local. RC2092 (2092, X'82C') Utilizacin incorrecta de la cola de transmisin. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. Las llamadas MQPUT y MQPUT1 pueden utilizarse para colocar mensajes en una cola; la llamada que se ha de utilizar depende de las circunstancias: v La llamada MQPUT debe utilizarse cuando deben colocarse varios mensajes en la misma cola. Se emite primero una llamada MQOPEN especificando la opcin OOOUT, seguida de una o ms peticiones MQPUT para aadir mensajes a la cola; finalmente, la cola se cierra con una llamada MQCLOSE. De este modo el rendimiento es mejor que utilizando repetidamente la llamada MQPUT1. v La llamada MQPUT1 debe utilizarse cuando solo debe colocarse un mensaje en la cola. Esta llamada encapsula las llamadas MQOPEN, MQPUT y MQCLOSE en una sola llamada, minimizando por lo tanto el nmero de llamadas que deben emitirse. 2. Si una aplicacin coloca una secuencia de mensajes en la misma cola, sin utilizar grupos de mensajes, el orden de los mismos se conservar siempre y cuando se cumplan algunas condiciones. No obstante, en la mayora de entornos, la llamada MQPUT1 no cumple estas condiciones, por lo que no se conserva el orden de los mensajes. En estos entornos, debe utilizarse en su lugar la llamada MQPUT. Vea la descripcin de la llamada MQPUT en las notas de utilizacin si desea obtener ms detalles. 3. La llamada MQPUT1 se puede utilizar para poner mensajes en listas de distribucin. Si desea informacin general al respecto, vea la nota de utilizacin 8 en la pgina 272 para la llamada MQOPEN, y la nota de utilizacin 3 en la pgina 283 para la llamada MQPUT. Hay algunas diferencias cuando se utiliza la llamada MQPUT1: a. Si la aplicacin proporciona los registros de respuesta MQRR, debe utilizarse para ello la estructura MQOD; no se pueden proporcionar con la estructura MQPMO. b. El cdigo de razn RC2137 no lo devuelve nunca la llamada MQPUT1 en los registros de respuesta; si una cola no se abre satisfactoriamente, el registro de respuesta para esta cola contendr en este caso el cdigo de razn de la operacin de abrir. Si una operacin de abrir una cola es satisfactoria con un cdigo de terminacin CCWARN, el cdigo de terminacin y el cdigo de razn del registro de respuesta para esa cola se sustituyen por los cdigos de terminacin y de razn de la operacin de poner. Al igual que ocurre con las llamadas MQOPEN y MQPUT, el gestor de colas establece los registros de respuesta (si existen) solo cuando el resultado de la llamada no es el mismo para todas las colas de la lista de distribucin; esto viene indicado por la llamada que se completa con el cdigo de razn RC2136.
292
| | |
4. Si se utiliza la llamada MQPUT1 para poner un mensaje en una cola de clster, la llamada se comporta como si se hubiera especificado OOBNDN en la llamada MQOPEN. 5. Si se transfiere un mensaje con una o ms estructuras de cabecera MQ al principio de los datos del mensaje de aplicacin, el gestor de colas lleva a cabo algunas comprobaciones en las estructuras de cabecera para verificar que son vlidas. Si desea obtener ms informacin al respecto, vea la nota de utilizacin 4 en la pgina 285 para la llamada MQPUT. 6. Si se produce ms de una situacin de aviso (vea el parmetro CMPCOD), se devolver el primero de los siguientes cdigos de razn que sea aplicable: a. RC2136 b. RC2242 c. RC2241 d. RC2049 o RC2104 7. El parmetro BUFFER mostrado en el ejemplo de programacin RPG se declara como una serie, lo cual limita la longitud mxima del parmetro a 256 bytes. Si se necesita un almacenamiento intermedio ms grande, debe declararse el parmetro en lugar de hacerlo como una estructura, o como un campo de un archivo fsico. Esto aumentar la longitud mxima posible hasta aproximadamente 32 KB.
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQPUT1(HCONN : OBJDSC : MSGDSC : C PMO : BUFLEN : BUFFER : C CMPCOD : REASON)
293
294
Sintaxis
MQSET (HCONN, HOBJ, SELCNT, SELS, IACNT, INTATR, CALEN, CHRATR, CMPCOD, REASON)
Parmetros
HCONN (entero de 10 dgitos con signo) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. El valor de HCONN lo devolvi una llamada MQCONN o MQCONNX anterior. En OS/400 para aplicaciones que se ejecutan en modalidad de compatibilidad, la llamada MQCONN puede omitirse, as como el siguiente valor especificado para HCONN: HCDEFH Asa de conexin por omisin. HOBJ (entero de 10 dgitos con signo) entrada Asa de objeto. Esta asa representa el objeto cola cuyos atributos se han de establecer. El asa la devolvi una llamada MQOPEN anterior que especificaba la opcin OOSET. SELCNT (entero de 10 dgitos con signo) entrada Cuenta de selectores. Esta es la cuenta de selectores suministrados en la matriz SELS. Es el nmero de atributos que deben establecerse. Cero es un valor vlido. El nmero mximo permitido es 256. SELS (entero de 10 dgitos con signoSELCNT) entrada Matriz de selectores de atributos. Es una matriz de selectores de atributos SELCNT; cada selector identifica un atributo (de tipo entero o carcter) cuyo valor debe establecerse. Cada selector debe ser vlido para el tipo de cola representado por HOBJ. Solo se permiten determinados valores IA* y CA*; estos valores se indican a continuacin. Los selectores pueden especificarse en cualquier orden. Los valores de atributos que correspondan a selectores de atributos de tipo entero (selectores IA*) deben especificarse en INTATR en el mismo orden en que dichos selectores aparecen en SELS. Los valores de atributos que correspondan a selectores de atributos de tipo carcter (selectores CA*) deben especificarse en CHRATR en el
295
mismo orden en que aparecen dichos selectores. Los selectores IA* pueden estar intercalados con selectores CA*; solo es importante el orden relativo dentro de cada tipo. Se puede especificar el mismo selector ms de una vez; si lo hace, el ltimo valor especificado para un selector determinado ser el que surta efecto. Notas: 1. Los selectores de atributos de tipo entero y de tipo carcter se asignan dentro de dos rangos distintos; los selectores IA* estn comprendidos entre IAFRST y IALAST, y los selectores CA* estn comprendidos entre CAFRST y CALAST. Para cada rango, las constantes IALSTU y CALSTU definen el valor ms alto que puede aceptar el gestor de colas. 2. Si todos los selectores IA* aparecen en primer lugar, podrn utilizarse los mismos nmeros de elementos para direccionar los elementos correspondientes de las matrices SELS y INTATR. Para cada selector CA* de las siguientes descripciones, la constante que define la longitud en bytes de la serie que se necesita en CHRATR se da entre parntesis. Selectores para todos los tipos de cola IAIPUT Indica si estn permitidas operaciones de poner. Selectores para colas locales CATRGD Datos desencadenantes (LNTRGD). IADIST Soporte de lista de distribucin. IAIGET Indica si estn permitidas operaciones de obtener. IATRGC Control de desencadenamiento. IATRGD Profundidad desencadenante. IATRGP Prioridad de mensaje umbral para desencadenantes. IATRGT Tipo de desencadenante. Selectores para colas alias IAIGET Indica si estn permitidas las operaciones de obtener. Con esta llamada no puede establecerse ningn otro atributo. IACNT (entero de 10 dgitos con signo) entrada Cuenta de atributos de tipo entero. Es el nmero de elementos de la matriz INTATR y debe tener, como mnimo, el nmero de selectores IA* del parmetro SELS. Cero es un valor vlido si no hay ninguno. INTATR (entero de 10 dgitos con signoIACNT) entrada Matriz de atributos de tipo entero.
296
Es una matriz de valores de atributos de tipo entero IACNT. Estos valores de atributos deben estar en el mismo orden que los selectores IA* en la matriz SELS. CALEN (entero de 10 dgitos con signo) entrada Longitud del almacenamiento intermedio de atributos de tipo carcter. Es la longitud en bytes del parmetro CHRATR y debe ser como mnimo la suma de las longitudes de los atributos de tipo carcter especificados en la matriz SELS. Cero es un valor vlido si no hay selectores CA* en SELS. CHRATR (serie de caracteres de 1 byteCALEN) entrada Atributos de tipo carcter. Es el almacenamiento intermedio que contiene los valores de los atributos de tipo carcter concatenados. La longitud del almacenamiento intermedio la indica el parmetro CALEN. Los atributos de tipo carcter deben especificarse en el mismo orden que los selectores CA* de la matriz SELS. La longitud de cada atributo de tipo carcter es fija (vea SELS). Si el valor que se ha de establecer para un atributo contiene menos caracteres que no sean blancos que la longitud del atributo, el valor de CHRATR deber rellenarse con blancos a la derecha para que el valor del atributo coincida con la longitud definida del atributo. CMPCOD (entero de 10 dgitos con signo) salida Cdigo de terminacin. Es uno de los siguientes: CCOK La llamada se ha completado satisfactoriamente. CCFAIL La llamada ha fallado. REASON (entero de 10 dgitos con signo) salida Cdigo de razn que califica a CMPCOD. Si CMPCOD es CCOK: RCNONE (0, X'000') No hay ninguna razn que notificar. Si CMPCOD es CCFAIL: RC2219 (2219, X'8AB') La llamada MQI reentr antes de que se completase la llamada anterior. RC2006 (2006, X'7D6') La longitud de los atributos de tipo carcter no es vlida. RC2007 (2007, X'7D7') La serie de atributos de tipo carcter no es vlida. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas. RC2018 (2018, X'7E2') El asa de conexin no es vlida. RC2019 (2019, X'7E3') El asa de objeto no es vlida. RC2020 (2020, X'7E4') El valor del atributo de cola para inhibir obtener o para inhibir poner no es vlido.
Captulo 35. MQSET - Establecer atributos de objeto
297
RC2021 (2021, X'7E5') La cuenta de atributos de tipo entero no es vlida. RC2023 (2023, X'7E7') La matriz de atributos de tipo entero no es vlida. RC2040 (2040, X'7F8') La cola no se ha abierto para establecer. RC2041 (2041, X'7F9') La definicin de objeto ha cambiado desde su apertura. RC2101 (2101, X'835') Objeto daado. RC2052 (2052, X'804') La cola se ha suprimido. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. RC2162 (2162, X'872') Se est cerrando el gestor de colas. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. RC2065 (2065, X'811') La cuenta de selectores no es vlida. RC2067 (2067, X'813') El selector de atributo no es vlido. RC2066 (2066, X'812') La cuenta de selectores es demasiado grande. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. RC2075 (2075, X'81B') El valor del atributo de control de desencadenamiento no es vlido. RC2076 (2076, X'81C') El valor del atributo de profundidad desencadenante no es vlido. RC2077 (2077, X'81D') El valor del atributo de prioridad de mensaje desencadenante no es vlido. RC2078 (2078, X'81E') El valor del atributo de tipo de desencadenante no es vlido. RC2195 (2195, X'893') Se ha producido un error inesperado. Para ms informacin sobre estos cdigos de razn, vea el Apndice A. Cdigos de retorno en la pgina 373.
Notas de utilizacin
1. Utilizando esta llamada, la aplicacin puede especificar una matriz de atributos de tipo entero o una coleccin de series de atributo de tipo carcter o ambas cosas. Todos los atributos especificados se establecen simultneamente si no se producen errores. Si se produce un error (por ejemplo, si un selector no es vlido o se intenta estableber un atributo en un valor que no es vlido), la llamada falla y no se establece ningn atributo.
298
2. Los valores de los atributos pueden determinarse utilizando la llamada MQINQ; vea el Captulo 31. MQINQ - Consultar los atributos de objeto en la pgina 251 si desea obtener ms detalles. Nota: No todos los atributos cuyos valores pueden consultarse con la llamada MQINQ pueden cambiar sus valores utilizando la llamada MQSET. Por ejemplo, con esta llamada no pueden establecerse atributos de objeto proceso o de gestor de colas. 3. Los cambios de atributos se conservan con los sucesivos rearranques del gestor de colas (a diferencia de las alteraciones en las colas dinmicas temporales, las cuales no permanecen tras los sucesivos rearranques del gestor de colas). 4. No es posible cambiar los atributos de una cola modelo utilizando la llamada MQSET. No obstante, si abre una cola modelo utilizando la llamada MQOPEN con la opcin OOSET, puede utilizar la llamada MQSET para establacer los atributos de la cola dinmica creada por la llamada MQOPEN. 5. Si el objeto que se est estableciendo es una cola de clster, debe haber una instancia local de la cola de clster para que la apertura sea satisfactoria. 6. Para ms informacin sobre los atributos de objeto, consulte el Captulo 36. Atributos de los objetos de MQSeries.
| |
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQSET(HCONN : HOBJ : SELCNT : C SELS(1) : IACNT : INTATR(1) : C CALEN : CHRATR : CMPCOD : C REASON)
299
Invocacin RPG
300
Captulo 38. Atributos de colas locales y colas modelo . . . . . . . . . . . . . . . 311 Captulo 39. Atributos de definiciones locales de colas remotas . . . . . . . . . . Captulo 40. Atributos de colas alias . . . .
Captulo 41. Atributos de las listas de nombres Captulo 42. Atributos de las definiciones de proceso . . . . . . . . . . . . . . Captulo 43. Atributos del gestor de colas . .
. 333 . 337
301
Atributos de objeto
302
303
Atributos
304
| | | | | | | | |
Fecha en la que se cambi la definicin por ltima 305 vez Hora a la que se cambi la definicin por ltima vez Nombre del clster al que pertenece la cola 305 305
Nombre del objeto lista de nombres que contiene 306 los nombres de los clsteres a los que pertenece la cola Enlace por omisin Permanencia del mensaje por omisin Prioridad del mensaje por omisin Controla si estn permitidas las operaciones de obtener en la cola Controla si estn permitidas las operaciones de poner en la cola Descripcin de la cola Nombre de la cola Tipo de cola Controla si tambin existe la entrada para la cola en un directorio de celdas 306 306 307 308 308 308 309 309 309
| | | | | | | | | | | | | | |
AlterationDate (serie de caracteres de 12 bytes) Fecha en la que se cambi la definicin por ltima vez. Es la fecha en la que se cambi la definicin por ltima vez. El formato de la fecha es AAAA-MM-DD, rellenado con dos blancos finales para que la longitud sea igual a 12 bytes. Para determinar el valor de este atributo, utilice el selector CAALTD con la llamada MQINQ. La longitud de este atributo la indica LNDATE. AlterationTime (serie de caracteres de 8 bytes) Hora a la que se cambi la definicin por ltima vez. Es la hora a la que se cambi la definicin por ltima vez. El formato de la hora es HH.MM.SS. Para determinar el valor de este atributo, utilice el selector CAALTT con la llamada MQINQ. La longitud de este atributo la indica LNTIME. ClusterName (serie de caracteres de 48 bytes) Nombre del clster al que pertenece la cola.
Copyright IBM Corp. 1994, 2000
305
306
307
308
| |
309
310
311
BackoutRequeueQName (serie de caracteres de 48 bytes) Nombre de cola de recolocacin en cola de restitucin excesiva. Adems de poder consultar su valor, el gestor de colas no realiza ninguna accin basada en el valor de este atributo. Para determinar el valor de este atributo, utilice el selector CABRQN con la llamada MQINQ. La longitud de este atributo la indica LNQN. BackoutThreshold (entero de 10 dgitos con signo) Umbral de restitucin. Adems de poder consultar su valor, el gestor de colas no realiza ninguna accin basada en el valor de este atributo. Para determinar el valor de este atributo, utilice el selector IABTHR con la llamada MQINQ. CreationDate (serie de caracteres de 12 bytes) Fecha en que se cre la cola. El formato es
AAAA-MM-DD
con 2 bytes de blancos como relleno a la derecha para alcanzar la longitud de 12 bytes. Por ejemplo:
1992-09-23bb
es 23 de Septiembre de 1992 (bb representa 2 caracteres en blanco). En OS/400, la fecha de creacin de una cola puede ser distinta de la de entidad del sistema operativo subyacente (archivo o espacio de usuario) que representa la cola. Para determinar el valor de este atributo, utilice el selector CACRTD con la llamada MQINQ. La longitud de este atributo la indica LNCRTD. CreationTime (serie de caracteres de 8 bytes) Hora de creacin de la cola. El formato es
HH.MM.SS
utilizando el reloj de 24 horas, con un cero inicial si la hora es anterior a las 10. Por ejemplo:
21.10.20
312
313
314
315
| | | | | | |
316
317
318
319
320
321
322
323
324
325
326
Normalmente, una definicin local de una cola remota se utiliza para hacer referencia a una cola que existe en un gestor de colas remoto. Especifica el nombre del gestor de colas en el que existe la cola y, opcionalmente, el nombre de la cola de transmisin que debe utilizarse para transmitir los mensajes destinados para esa cola situada en el gestor de colas. No obstante, el mismo tipo de definicin tambin puede utilizarse con los siguientes fines: v Creacin de alias de una cola de respuestas El nombre de la definicin es el nombre de una cola de respuestas. Para ms informacin, vea el manual MQSeries Intercommunication. v Creacin de alias de un gestor de colas El nombre de la definicin es realmente el nombre alias de un gestor de colas, no el nombre de una cola. Para ms informacin, vea el manual MQSeries Intercommunication. RemoteQMgrName (serie de caracteres de 48 bytes) Nombre del gestor de colas remoto. El nombre del gestor de colas remoto en el que est definida la cola cuyo atributo de nombre es RemoteQName. Si una aplicacin abre la definicin local de una cola remota, RemoteQMgrName no debe estar en blanco ni debe ser el nombre del gestor de colas local. Si XmitQName est en blanco, la cola local cuyo nombre sea el mismo que RemoteQMgrName se utilizar como cola de transmisin. Si no hay ninguna cola con el nombre RemoteQMgrName, se utilizar la cola identificada por el atributo de gestor de colas DefXmitQName. Si la definicin se utiliza para un alias de gestor de colas, RemoteQMgrName es el nombre del gestor de colas al que se va a dar un alias. Puede ser el nombre del gestor de colas local. En caso contrario, si XmitQName est en blanco cuando se produce la apertura, debe haber una cola local cuyo nombre sea igual que RemoteQMgrName; esta cola se utiliza como cola de transmisin. Si esta definicin se utiliza para un alias de respuesta, este ser el nombre del gestor de colas que debe ser el MDRM.
327
328
| |
329
330
| | | |
Fecha en la que se cambi la definicin por ltima 331 vez Hora a la que se cambi la definicin por ltima vez Nmero de nombres en la lista de nombres Descripcin de la lista de nombres Nombre de la lista de nombres Lista de los nombres NameCount 331 331 331 332 332
| | | | | | | | | | | | |
AlterationDate (serie de caracteres de 12 bytes) Fecha en la que se cambi la definicin por ltima vez. Es la fecha en la que se cambi la definicin por ltima vez. El formato de la fecha es AAAA-MM-DD, rellenado con dos blancos finales para que la longitud sea igual a 12 bytes. Para determinar el valor de este atributo, utilice el selector CAALTD con la llamada MQINQ. La longitud de este atributo la indica LNDATE. AlterationTime (serie de caracteres de 8 bytes) Hora a la que se cambi la definicin por ltima vez. Es la hora a la que se cambi la definicin por ltima vez. El formato de la hora es HH.MM.SS. Para determinar el valor de este atributo, utilice el selector CAALTT con la llamada MQINQ. La longitud de este atributo la indica LNTIME. NameCount (entero de 10 dgitos con signo) Nmero de nombres en la lista de nombres.
| | |
Es superior o igual a cero. Se ha definido el siguiente valor: NCMXNL Nmero mximo de nombres de una lista de nombres. Para determinar el valor de este atributo, utilice el selector IANAMC con la llamada MQINQ. NamelistDesc (serie de caracteres de 64 bytes) Descripcin de la lista de nombres.
331
332
| | | |
Fecha en la que se cambi la definicin por ltima 333 vez Hora a la que se cambi la definicin por ltima vez Identificador de aplicacin Tipo de aplicacin Datos de entorno Descripcin de proceso Nombre de proceso Datos de usuario 333 333 334 334 334 335 335
| | | | | | | | | | | | |
AlterationDate (serie de caracteres de 12 bytes) Fecha en la que se cambi la definicin por ltima vez. Es la fecha en la que se cambi la definicin por ltima vez. El formato de la fecha es AAAA-MM-DD, rellenado con dos blancos finales para que la longitud sea igual a 12 bytes. Para determinar el valor de este atributo, utilice el selector CAALTD con la llamada MQINQ. La longitud de este atributo la indica LNDATE. AlterationTime (serie de caracteres de 8 bytes) Hora a la que se cambi la definicin por ltima vez. Es la hora a la que se cambi la definicin por ltima vez. El formato de la hora es HH.MM.SS. Para determinar el valor de este atributo, utilice el selector CAALTT con la llamada MQINQ. La longitud de este atributo la indica LNTIME. ApplId (serie de caracteres de 256 bytes) Identificador de aplicacin. Es una serie de caracteres que identifica la aplicacin que se ha de arrancar. Esta informacin la utiliza una aplicacin supervisora de desencadenamiento que procesa los mensajes situados en la cola de inicio; la informacin se enva a la cola de inicio como parte del mensaje desencadenante. El significado de ApplId viene determinado por la aplicacin supervisora de desencadenamiento. El supervisor de desencadenamiento proporcionado por MQSeries requiere que ApplId sea el nombre de un programa ejecutable. La serie de caracteres no puede contener nulos. Se rellena con blancos a la derecha si es necesario.
Copyright IBM Corp. 1994, 2000
333
334
335
336
| | | |
Fecha en la que se cambi la definicin por ltima 338 vez Hora a la que se cambi la definicin por ltima vez 338
Controla si se generan sucesos de autorizacin (no 338 autorizado) Controla si se permite la definicin automtica de canales Controla si se generan sucesos de definicin automtica de canales Nombre de la rutina de salida de usuario para la definicin automtica de canales 339 339 339
| | | | | | |
Datos de usuario para la rutina de salida de carga 339 de trabajo de clster Nombre de la rutina de salida de usuario para la gestin de carga de trabajo de clster Longitud mxima de los datos de mensaje que se pasan a la rutina de salida de carga de trabajo de clster Identificador de juego de caracteres codificado Nombre de la cola de entrada de mandatos Nivel de mandatos Nombre de la cola de mensajes no entregados Nombre de la cola de transmisin por omisin Soporte de lista de distribucin Controla si se generan sucesos de inhibir (inhibir obtener e inhibir poner) Controla si se generan sucesos de error locales Nmero mximo de asas Longitud mxima de mensaje en bytes Prioridad mxima Nmero mximo de mensajes no comprometidos dentro de una unidad de trabajo 340 340
CodedCharSetId CommandInputQName CommandLevel DeadLetterQName DefXmitQName DistLists InhibitEvent LocalEvent MaxHandles MaxMsgLength MaxPriority MaxUncommittedMsgs PerformanceEvent Platform QMgrDesc
340 340 341 341 343 343 343 343 343 344 344 344
Controla si se generan sucesos relacionados con el 345 rendimiento Plataforma en la que se ejecuta el gestor de colas Descripcin del gestor de colas 346 346
337
| |
Identificador exclusivo generado internamente del 346 gestor de colas Nombre del gestor de colas Controla si se generan sucesos de error remotos 346 346
| | | | |
Nombre de clster para el que este gestor de colas 347 proporciona servicios de depsito Nombre del objeto lista de nombres que contiene los nombres de los clsteres para los que este gestor de colas proporciona servicios de depsito Controla si se generan sucesos de inicio y de detencin. Disponibilidad del punto de sincronismo Intervalo de mensaje desencadenante 347
| | | | | | | | | | | | | |
Algunos de estos atributos son fijos para determinadas implementaciones, otros pueden modificarse con el mandato ALTER QMGR. Todos pueden consultarse abriendo un objeto especial OTQM y utilizando la llamada MQINQ con el asa devuelta. Tambin pueden visualizarse con el mandato DISPLAY QMGR. AlterationDate (serie de caracteres de 12 bytes) Fecha en la que se cambi la definicin por ltima vez. Es la fecha en la que se cambi la definicin por ltima vez. El formato de la fecha es AAAA-MM-DD, rellenado con dos blancos finales para hacer que longitud sea igual a 12 bytes. Para determinar el valor de este atributo, utilice el selector CAALTD con la llamada MQINQ. La longitud de este atributo la indica LNDATE. AlterationTime (serie de caracteres de 8 bytes) Hora a la que se cambi la definicin por ltima vez. Es la hora a la que se cambi la definicin por ltima vez. El formato de la hora es HH.MM.SS. Para determinar el valor de este atributo, utilice el selector CAALTT con la llamada MQINQ. La longitud de este atributo la indica LNTIME. AuthorityEvent (entero de 10 dgitos con signo) Controla si se generan sucesos de autorizacin (no autorizado). Es uno de los siguientes: EVRDIS Notificacin de sucesos inhabilitada. EVRENA Notificacin de sucesos habilitada. Para determinar el valor de este atributo, utilice el selector IAAUTE con la llamada MQINQ.
338
| |
| |
339
340
341
342
343
| | | | |
344
345
346
347
348
Parte 4. Aplicaciones
Captulo 44. Creacin de una aplicacin . . Archivos de copia MQSeries . . . . . . . Preparacin de los programas para su ejecucin Interfaces para el gestor de punto de sincronismo externo de AS/400 . . . . . . . . . . Puntos de sincronismo en las aplicaciones CICS para AS/400. . . . . . . . . . . . . . 351 . 351 351 . 352 . 353 355 356 357 357 357 358 358 358 359 359 360 360 361 363 364 364 365 366 366 367 367 367 368 368 368 369
| |
Captulo 45. Programas de ejemplo . . . . . Caractersticas explicadas en los programas de ejemplo . . . . . . . . . . . . . . . Preparacin y ejecucin de los programas de ejemplo . . . . . . . . . . . . . . . Ejecucin de los programas de ejemplo . . . . El programa de ejemplo de poner . . . . . . Diseo del programa de ejemplo de poner . . El programa de ejemplo de examinar . . . . . Diseo del programa de ejemplo de examinar El programa de ejemplo de obtener . . . . . . Diseo del programa de ejemplo de obtener . . El programa de ejemplo de peticin . . . . . . Utilizacin del desencadenamiento con el ejemplo de peticin . . . . . . . . . . Diseo del programa de ejemplo de peticin El programa de ejemplo de eco . . . . . . . Diseo del programa de ejemplo de eco . . . El programa de ejemplo de consultar . . . . . Diseo del programa de ejemplo de consultar El programa de ejemplo de establecer . . . . . Diseo del programa de ejemplo de establecer Los programas de ejemplo de desencadenamiento El supervisor de desencadenamiento de ejemplo AMQ3TRG4 . . . . . . . . . . . . . Diseo del supervisor de desencadenamiento El servidor desencadenante de ejemplo AMQ3SRV4 . . . . . . . . . . . . . Diseo del servidor desencadenante . . . . Finalizacin de los programas de ejemplo de desencadenamiento . . . . . . . . . . Ejecucin de los ejemplos utilizando colas remotas
349
Aplicaciones
350
351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Si llama a MQPUT, MQPUT1 o MQGET, especificando MQPMO_SYNCPOINT o MQGMO_SYNCPOINT, despus de iniciar el control de compromiso, MQSeries para AS/400 se aade como recurso de compromiso de API a la definicin de compromiso. Esta es normalmente la primera de este tipo de llamadas en un trabajo. Mientras haya algn recurso de compromiso de API registrado bajo una definicin de compromiso concreta, no podr finalizar el control de compromiso para dicha definicin. MQSeries para AS/400 elimina su registro como recurso de compromiso de API cuando usted se desconecta del gestor de colas, siempre que no haya operaciones MQI pendientes en la unidad de trabajo actual. Si se desconecta del gestor de colas mientras haya operaciones MQPUT, MQPUT1 o MQGET pendientes en la unidad de trabajo actual, MQSeries para AS/400 permanece registrado como recurso de compromiso de API, por lo que recibe notificacin del siguiente compromiso o retroaccin. Cuando se alcanza el siguiente punto de sincronismo, MQSeries para AS/400 compromete o retrotrae los cambios, segn sea necesario. Una aplicacin puede desconectarse y reconectarse a un gestor de colas durante una unidad de trabajo activa, y realizar ms operaciones MQGET y MQPUT dentro de la misma unidad de trabajo (esto es una desconexin pendiente). Si intenta emitir un mandato del sistema ENDCMTCTL para esta definicin de compromiso, se emite el mensaje CPF8355, lo que indica que haba cambios pendientes activos. Este mensaje tambin aparece en las anotaciones de trabajo cuando el trabajo finaliza. Para evitar que esto ocurra, asegrese de que compromete o retrotrae todas las operaciones MQSeries para AS/400 pendientes, y que se desconecta del gestor de colas. De esta manera, si utiliza los mandatos COMMIT o ROLLBACK antes de ENDCMTCTL, la finalizacin del control de compromiso tendra que completarse satisfactoriamente. Cuando se utiliza el control de compromiso de OS/400 como coordinador de punto de sincronismo externo, puede que no se emitan las llamadas MQCMIT, MQBACK y MQBEGIN. Las llamadas a estas funciones fallan con el cdigo de razn MQRC_ENVIRONMENT_ERROR.
352
353
Aplicaciones
354
355
Programas de ejemplo
Tabla 55. Nombres de los programas de ejemplo (continuacin)
RPG (ILE) Ejemplos de establecer Ejemplo de supervisor de desencadenamiento Ejemplo de servidor desencadenante AMQnSET4 AMQ3TRG4 AMQ3SRV4
Adems de estos, la opcin de ejemplos de MQSeries para AS/400 incluye un archivo de datos de ejemplo, AMQSDATA, que puede utilizarse como entrada a ciertos programas de ejemplo. Tambin hay programas CL de ejemplo que muestran tareas de administracin. Los ejemplos CL se describen en la publicacin MQSeries for AS/400 V5.1 System Administration. Podra utilizar el programa CL de ejemplo para crear las colas que se vayan a utilizar con los programas de ejemplo descritos en este captulo. Consulte Preparacin y ejecucin de los programas de ejemplo en la pgina 357 para saber cmo ejecutar los programas de ejemplo.
356
Caractersticas
Nota: Todos los programas de ejemplo producen un archivo de spool que contiene los resultados del proceso.
donde Nombre de cola debe tener 48 caracteres de longitud, que se consigue rellenando el nombre de la cola con el nmero necesario de espacios en blanco. Observe que en los programas de ejemplo de consultar y establecer, las definiciones de ejemplo creadas por AMQSAMP4 hacen que las versiones C de estos ejemplos se desencadenen. Si desea desencadenar las versiones RPG, debe cambiar las definiciones del proceso SYSTEM.SAMPLE.ECHOPROCESS y SYSTEM.SAMPLE.INQPROCESS y SYSTEM.SAMPLE.SETPROCESS. Puede utilizar el mandato CHGMQMPRC (descrito en el manual MQSeries for AS/400 V5.1 System Administration) o editar y ejecutar AMQSAMP4 con la definicin alternativa.
357
ejemplo de poner
donde Nombre de cola debe tener 48 caracteres de longitud, que se consigue rellenando el nombre de la cola con el nmero necesario de espacios en blanco.
donde Nombre de cola debe tener 48 caracteres de longitud, que se consigue rellenando el nombre de la cola con el nmero necesario de espacios en blanco. Por lo tanto, si est utilizando SYSTEM.SAMPLE.LOCAL como cola destino, necesita 29 caracteres en blanco.
358
ejemplo de examinar
GMATM La llamada MQGET especifica un almacenamiento intermedio de tamao fijo. Si un mensaje es ms largo que el almacenamiento intermedio, el programa visualiza el mensaje truncado junto con un aviso que indica que el mensaje se ha truncado. El programa muestra cmo deben vaciarse los campos MDMID y MDCID de la estructura MQMD tras cada llamada MQGET debido a que la llamada da a estos campos los valores contenidos en el mensaje que recupera. Al vaciar estos campos, las siguientes llamadas MQGET recuperan mensajes en el orden en que estn en la cola. El programa contina hasta el final de la cola; al llegar a ese punto, la llamada MQGET devuelve el cdigo de razn RC2033 (no hay mensajes disponibles) y el programa visualiza un mensaje de aviso. Si la llamada MQGET falla, el programa graba un mensaje de error que contiene el cdigo de razn en su archivo de spool. A continuacin, el programa cierra la cola utilizando la llamada MQCLOSE.
donde Nombre de cola debe tener 48 caracteres de longitud, que se consigue rellenando el nombre de la cola con el nmero necesario de espacios en blanco. Por lo tanto, si est utilizando SYSTEM.SAMPLE.LOCAL como cola destino, necesita 29 caracteres en blanco.
359
ejemplo de obtener
campos los valores contenidos en el mensaje que recupera. Al vaciar estos campos, las siguientes llamadas MQGET recuperan los mensajes en el orden en que estn en la cola. La llamada MQGET especifica un almacenamiento intermedio de tamao fijo. Si un mensaje es ms largo que el almacenamiento intermedio, la llamada falla y el programa se detiene. El programa contina hasta que la llamada MQGET devuelve el cdigo de razn RC2033 (no hay mensajes disponibles) o hasta que falla la llamada MQGET. Si la llamada falla, el programa visualiza un mensaje de error que contiene el cdigo de razn. A continuacin, el programa cierra la cola utilizando la llamada MQCLOSE.
360
ejemplo de obtener
utilizar el mandato CHGMQMPRC (descrito en la MQSeries for AS/400 V5.1 System Administration) para hacer esto, o editar y ejecutar su propia versin de AMQSAMP4. 3. Debe compilar el programa servidor desencadenante desde el fuente proporcionado en QMQMSAMP/QRPGLESRC. Dependiendo del proceso desencadenante que desee ejecutar, se debe llamar a AMQ3REQ4 con el parmetro que especifique los mensajes de peticin que van a colocarse en una de estas colas de servidor de ejemplo: v SYSTEM.SAMPLE.ECHO (para los programas de ejemplo de eco) v SYSTEM.SAMPLE.INQ (para los programas de ejemplo de consultar) v SYSTEM.SAMPLE.SET (para los programas de ejemplo de establecer). Ver un diagrama de flujo del programa SYSTEM.SAMPLE.ECHO en la Figura 1 en la pgina 363. Al utilizar el ejemplo, el mandato para emitir la peticin del programa RPG para este servidor es:
CALL PGM(QMQMSAMP/AMQ3REQ4) PARM('SYSTEM.SAMPLE.ECHO + 30 caracteres en blanco')
ya que el nombre de cola debe tener 48 caracteres de longitud. Nota: Esta cola de ejemplo tiene el tipo de desencadenante FIRST, por lo que si hay mensajes en las colas antes de ejecutar el ejemplo de peticin, los mensajes enviados no desencadenarn las aplicaciones de servidor. Si desea intentar otros ejemplos, puede probar las siguientes variaciones: v Utilice AMQ3TRG4 en vez de AMQ3SRV4 para someter el trabajo, pero los posibles retrasos en el sometimiento del trabajo pueden hacer que sea menos fcil seguir lo que est sucediendo. v Utilice las colas de ejemplo SYSTEM.SAMPLE.INQ y SYSTEM.SAMPLE.SET. Al utilizar el archivo de datos de ejemplo, los mandatos para emitir las peticiones del programa RPG para estos servidores son, respectivamente:
CALL + 31 CALL + 31 PGM(QMQMSAMP/AMQ3INQ4) PARM('SYSTEM.SAMPLE.INQ caracteres en blanco') PGM(QMQMSAMP/AMQ3SET4) PARM('SYSTEM.SAMPLE.SET caracteres en blanco')
ya que el nombre de cola debe tener 48 caracteres de longitud. Estas colas de ejemplo tambin tienen el tipo de desencadenante FIRST.
361
ejemplo de obtener
contenga el texto de la lnea. En esta llamada el programa utiliza la opcin de informe ROEXCD para solicitar que cualquier mensaje de informe que se haya enviado acerca del mensaje de peticin incluya los 100 primeros bytes de datos del mensaje. El programa contina hasta llegar al final de la entrada o hasta que falla la llamada MQPUT. A continuacin, el programa utiliza la llamada MQGET para eliminar los mensajes de respuesta de la cola y visualiza los datos contenidos en las respuestas. La llamada MQGET utiliza la opcin GMWT, especificando un intervalo de espera (GMWI) de 5 minutos para la primera respuesta (para que haya tiempo de desencadenar una aplicacin de servidor) y de 15 segundos para las siguientes. El programa espera esos perodos de tiempo si no hay mensajes en la cola. Si no llega ningn mensaje antes de que transcurra ese intervalo de tiempo, la llamada falla y devuelve el cdigo de razn RC2033 (no hay mensajes disponibles). La llamada tambin utiliza la opcin GMATM, por lo que los mensajes cuyo tamao sea ms largo que el declarado para el almacenamiento intermedio se truncarn. El programa muestra cmo deben vaciarse los campos MDMID y MDCOD de la estructura MQMD tras cada llamada MQGET debido a que la llamada da a estos campos los valores contenidos en el mensaje que recupera. Al vaciar estos campos, las siguientes llamadas MQGET recuperan los mensajes en el orden en que estn en la cola. El programa contina hasta que la llamada MQGET devuelve el cdigo de razn RC2033 (no hay mensajes disponibles) o hasta que falla la llamada MQGET. Si la llamada falla, el programa visualiza un mensaje de error que contiene el cdigo de razn. El programa cierra entonces la cola del servidor y la cola de respuestas utilizando la llamada MQCLOSE. La tabla 57 muestra los cambios que han de realizarse en el programa de ejemplo de eco para ejecutar los programas de ejemplo de consultar y establecer. Nota: Los detalles para el programa de ejemplo de eco estn incluidos como referencia.
Tabla 57. Detalles del programa de ejemplo de cliente/servidor
Nombre del programa Eco Consultar Establecer Cola SYSTEM/SAMPLE ECHO INQ SET Programa arrancado AMQ3ECH4 AMQ3INQ4 AMQ3SET4
362
ejemplo de eco
SYSTEM.SAMPLE.ECHO
Programa AMQ3REQ4
Poner en cola
Leer cola
SYSTEM.SAMPLE.TRIGGER
Visualizar respuestas
Leer cola
Programa AMQ3SRV4
Iniciar programa
AMQ3ECH4
SYSTEM.SAMPLE.REPLY
Leer respuesta Escribir respuesta en cola
363
ejemplo de eco
364
ejemplo de consultar
Cuando haya establecido la definicin correctamente, arranque primero AMQ3SRV4 en un trabajo, y despus arranque AMQnREQ4 en otro. Puede utilizar AMQ3TRG4 en vez de AMQ3SRV4, pero las posibles demoras en el sometimiento del trabajo pueden dificultar el seguimiento de lo que est pasando. Utilice el programa de ejemplo de peticin para enviar mensajes de peticin, cada uno que contenga nicamente un nombre de cola, a la cola SYSTEM.SAMPLE.INQ. Para cada mensaje de peticin, el programa de ejemplo de consultar enva un mensaje de respuesta que contiene informacin acerca de la cola especificada en el mensaje de peticin. Las respuestas se envan a la cola de respuestas especificada en el mensaje de peticin.
365
ejemplo de establecer
366
ejemplo de establecer
Si la llamada MQSET es satisfactoria, el programa usa la llamada MQPUT para poner un mensaje de respuesta en la cola de respuestas. El mensaje contiene la serie de caracteres PUT inhibited. Si la llamada MQOPEN o MQSET no es satisfactoria, el programa utiliza la llamada MQPUT para poner un mensaje de informe en la cola de respuestas. En el campo MDFB del descriptor de este mensaje de informe se encuentra el cdigo de razn devuelto por la llamada MQOPEN o MQSET, la que haya finalizado con error. Despus de la llamada MQSET, el programa cierra la cola destino utilizando la llamada MQCLOSE. Cuando no quedan mensajes en la cola de peticiones, el programa cierra la cola y se desconecta del gestor de colas.
367
ejemplo de desencadenamiento
donde Nombre de cola debe tener 48 caracteres de longitud, que se consigue rellenando el nombre de la cola con el nmero necesario de espacios en blanco. Por lo tanto, si est utilizando SYSTEM.SAMPLE.TRIGGER como cola destino, necesitar 28 caracteres en blanco.
Nota: Para arrancar de nuevo el desencadenamiento en esta cola, debe entrar el mandato:
CHGMQMQ QNAME('SYSTEM.SAMPLE.TRIGGER') GETENBL(*YES)
368
369
Aplicaciones
370
Parte 5. Apndices
371
372
Cdigos de terminacin
El parmetro cdigo de terminacin (CMPCOD) permite al llamador ver rpidamente si la llamada se ha completado parcial o totalmente o si ha fallado. A continuacin se proporciona una lista de cdigos de terminacin, con informacin ms detallada que la indicada en las descripciones de las llamadas: CCOK La llamada se ha completado satisfactoriamente. La llamada se ha completado del todo; se han establecido todos los parmetros de salida. En este caso, el parmetro REASON tiene siempre el valor RCNONE. CCWARN Aviso (la llamada se ha completado parcialmente). La llamada se ha completado en parte. Pueden haberse establecido algunos parmetros de salida adems de los parmetros de salida CMPCOD y REASON. El parmetro REASON facilita informacin adicional sobre la realizacin parcial. CCFAIL La llamada ha fallado. El proceso de la llamada no se ha completado y el estado del gestor de colas generalmente no vara; en caso contrario, se indicar de forma especfica. Se han establecido los parmetros de salida CMPCOD y REASON; los dems parmetros no han variado, salvo que se indique lo contrario. Puede deberse a un error en el programa de aplicacin o puede ser el resultado de alguna situacin externa al programa; por ejemplo, es posible que se haya revocado la autorizacin de la aplicacin. El parmetro REASON facilita informacin adicional sobre el error.
Cdigos de razn
El parmetro cdigo de razn (REASON) permite calificar el parmetro cdigo de terminacin CMPCOD. Si no hay ninguna razn especial que notificar, se devuelve RCNONE. Si la llamada es satisfactoria, se devuelve CCOK y RCNONE.
373
Cdigos de retorno
Si el cdigo de terminacin es CCWARN o CCFAIL, el gestor de colas siempre informa de una razn calificadora; los detalles se facilitan en la descripcin de cada llamada. Donde las rutinas de salida del usuario establezcan cdigos de terminacin y de razn, los cdigos debern ajustarse a estas normas. Todos los valores de razn especiales definidos por las rutinas de salida de usuario deben ser menores que cero para garantizar que no entran en conflicto con los valores definidos por el gestor de colas. Las rutinas de salida pueden establecer razones ya definidas por el gestor de colas donde corresponda. Tambin aparecen cdigos de razn en: v El campo DLREA de la estructura MQDLH (para mensajes de la cola de mensajes no entregados) v El campo MDFB de la estructura MQMD (descriptor de mensaje) A continuacin se proporciona una lista de cdigos de razn, por orden alfabtico, con informacin ms detallada que la indicada en las descripciones de las llamadas. RCNONE (0, X'000') No hay ninguna razn que notificar. La llamada se ha completado con normalidad. El cdigo de terminacin (CMPCOD) es CCOK. Accin correctora: ninguna. RC0900 (900, X'384') El valor ms bajo de un cdigo de razn definido por aplicacin y devuelto por una rutina de salida de conversin de datos. Las rutinas de salida de conversin de datos pueden devolver los cdigos de razn comprendidos entre RC0900 y RC0999 con el fin de indicar determinadas condiciones detectadas por la rutina de salida. Accin correctora: la que defina el escritor de la rutina de salida de conversin de datos. RC0999 (999, X'3E7') El valor ms alto de un cdigo de razn definido por aplicacin y devuelto por una rutina de salida de conversin de datos. Las rutinas de salida de conversin de datos pueden devolver los cdigos de razn comprendidos entre RC0900 y RC0999 con el fin de indicar determinadas condiciones detectadas por la rutina de salida. Accin correctora: la que defina el escritor de la rutina de salida de conversin de datos. RC2001 (2001, X'7D1') El tipo de cola alias base no es vlido. Se ha emitido una llamada MQOPEN o MQPUT1 que especifica una cola alias como destino, pero el campo BaseQName de la definicin de cola alias se resuelve en una cola que no es local, en una definicin local de una cola remota o en una cola de clster. Accin correctora: corrija las definiciones de cola.
374
Cdigos de retorno
RC2002 (2002, X'7D2') Aplicacin ya conectada. Se ha emitido una llamada MQCONN, pero la aplicacin ya estaba conectada al gestor de colas. Accin correctora: ninguna. El parmetro HCONN devuelto tiene un valor igual al devuelto en la llamada MQCONN anterior. Nota: Una llamada MQCONN que devuelva este cdigo de razn no implica que deba emitirse una llamada MQDISC adicional para desconectarse del gestor de colas. Si se devuelve este cdigo de razn porque se ha llamado a la aplicacin (o a parte de ella) en circunstancias en las que ya se ha establecido la conexin, no debe emitirse la correspondiente llamada MQDISC, ya que ello provocara asimismo la desconexin de la aplicacin que emiti la llamada MQCONN original. RC2003 (2003, X'7D3') Una unidad de trabajo ha detectado un error muy grave o se ha restituido. Esto ocurre en los casos siguientes: v En una llamada MQCMIT o MQDISC, cuando la operacin de compromiso ha fallado y la unidad de trabajo se ha restituido. Todos los recursos protegidos han vuelto al estado que tenan al principio de la unidad de trabajo. La llamada MQCMIT devuelve el cdigo de terminacin CCFAIL; la llamada MQDISC devuelve el cdigo de terminacin CCWARN. En OS/390, este cdigo de razn solo aparece en el caso de las aplicaciones por lotes. v En una llamada MQGET, MQPUT o MQPUT1 que est operando en una unidad de trabajo, cuando la unidad de trabajo ya ha detectado un error que impide que esta se comprometa (por ejemplo, cuando se ha agotado el espacio de anotaciones). La aplicacin debe emitir la llamada apropiada para restituir la unidad de trabajo. Para una unidad de trabajo coordinada por el gestor de colas, esta llamada es MQBACK, aunque en estas circunstancias, la llamada MQCMIT tiene el mismo efecto. En OS/390, no se da este caso. Accin correctora: compruebe los cdigos devueltos desde las llamadas anteriores al gestor de colas. Por ejemplo, podra haber fallado una llamada MQPUT anterior. RC2004 (2004, X'7D4') El parmetro almacenamiento intermedio no es vlido. El parmetro BUFFER no es vlido por una de las razones siguientes: v El puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v El puntero del parmetro seala a un almacenamiento al que no puede acceder toda la longitud especificada por BUFLEN. v Para las llamadas en que BUFFER es un parmetro de salida: el puntero del parmetro seala a un almacenamiento de solo lectura. Accin correctora: corrija el parmetro.
Apndice A. Cdigos de retorno
375
Cdigos de retorno
RC2005 (2005, X'7D5') El parmetro longitud de almacenamiento intermedio no es vlido. No es vlido el parmetro BUFLEN o el puntero del parmetro. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Este cdigo de razn tambin puede devolverse a un programa de cliente MQ en la llamada MQCONN si el tamao mximo de mensaje negociado para el canal es menor que la parte fija de cualquier estructura de llamada. Accin correctora: especifique un valor que sea mayor o igual que cero. Para las llamadas mqAddString y mqSetString, tambin es vlido el valor especial MQBL_NULL_TERMINATED. RC2006 (2006, X'7D6') La longitud de los atributos de tipo carcter no es vlida. CALEN es negativo (para las llamadas MQINQ o MQSET) o su tamao no es suficiente para dar cabida a todos los atributos seleccionados (solo para las llamadas MQSET). Este cdigo de razn se da tambin si el puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: especifique un valor que sea suficiente para dar cabida a las series concatenadas de todos los atributos seleccionados. RC2007 (2007, X'7D7') La serie de atributos de tipo carcter no es vlida. CHRATR no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura para las llamadas MQINQ o a un almacenamiento cuya longitud es menor que la implcita en CALEN. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2008 (2008, X'7D8') No se ha dado suficiente espacio para los atributos de tipo carcter. Para las llamadas MQINQ, el valor de CALEN no es suficiente para contener todos los atributos de tipo carcter para los que se han especificado selectores CA* en el parmetro SELS. An as, la llamada se completa, con la serie del parmetro CHRATR rellenada con todos los atributos de tipo carcter que quepan. Solo se devuelven series de atributos completas: si no queda espacio suficiente para dar cabida a un atributo completo, se omitirn ese atributo y todos los atributos de tipo carcter que le sigan. Los espacios que haya al final de la serie y que no se utilicen para contener un atributo no varan. Accin correctora: especifique un valor suficientemente grande, a menos que solo necesite un subconjunto de los valores. RC2009 (2009, X'7D9') Se ha perdido la conexin con el gestor de colas.
376
Cdigos de retorno
Se ha perdido la conexin con un gestor de colas. Puede deberse a que haya finalizado el gestor de colas. Si se trata de una llamada MQGET con la opcin GMWT, la espera se ha cancelado. Si se da este cdigo de razn con MQCONN, el gestor de colas puede haberse detenido y rearrancado y estar disponible de nuevo. Todas las asas anteriores han dejado de ser vlidas ahora, pero la aplicacin puede intentar restablecer la conexin emitiendo de nuevo la llamada MQCONN. Tenga en cuenta que, para aplicaciones de cliente MQ, es posible que la llamada se haya completado satisfactoriamente, incluso si este cdigo de razn se devuelve con el cdigo de terminacin CMPCOD igual a CCFAIL. Accin correctora: las aplicaciones pueden intentar restablecer la conexin emitiendo la llamada MQCONN. Puede ser necesario sondear hasta que se reciba una respuesta satisfactoria. Las aplicaciones deben asegurar que se restituyen las actualizaciones que no se hayan comprometido. Las unidades de trabajo que estn coordinadas por el gestor de colas se restituyen automticamente. RC2010 (2010, X'7DA') El parmetro longitud de datos no es vlido. El parmetro DATLEN no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Este cdigo de razn tambin puede devolverse a un programa de cliente MQ que est transfiriendo y obteniendo mensajes, si la longitud de los datos del mensaje de aplicacin es superior al tamao mximo de mensaje negociado para el canal. Accin correctora: corrija el parmetro. Si el error se produce en relacin a un programa de cliente MQ, compruebe tambin que el tamao mximo de mensaje del canal sea suficiente para dar cabida al mensaje que se enva; si no lo es, aumente el tamao mximo de mensaje del canal. RC2011 (2011, X'7DB') El nombre de la cola dinmica no es vlido. En la llamada MQOPEN, se ha especificado una cola modelo en el campo ODON del parmetro OBJDSC, pero el campo ODDN no es vlido por uno de estos motivos: v ODDN est completamente en blanco (o est en blanco hasta el primer carcter nulo del campo). v Hay caracteres que no son vlidos para un nombre de cola. v Aparece un asterisco ms all de la posicin 33 (y antes de un carcter nulo). v Aparece un asterisco seguido de caracteres que no son nulos ni blancos. Este cdigo de razn puede aparecer a veces cuando una aplicacin de servidor abre la cola de respuestas especificada por los campos MDRQ y MDRM de la estructura MQMD de un mensaje que el servidor acaba de recibir. En este caso, el cdigo de razn indica que la aplicacin que envi el mensaje original puso valores incorrectos en los campos MDRQ y MDRM de la estructura MQMD del mensaje original.
Apndice A. Cdigos de retorno
377
Cdigos de retorno
Accin correctora: especifique un nombre vlido. RC2012 (2012, X'7DC') La llamada no es vlida en el entorno. La llamada no es vlida para el entorno actual. v En OS/390, se da una de estas situaciones: Se ha emitido una llamada MQCONN, pero la aplicacin se haba enlazado con un adaptador no soportado en el entorno en el que se est ejecutando la aplicacin. Por ejemplo, esto puede ocurrir cuando la aplicacin est enlazada con el adaptador RRS de MQ, pero la aplicacin se est ejecutando en un espacio de direcciones de un procedimiento almacenado de DB2. En este entorno no se da soporte a RRS. Los procedimientos almacenados que quieran utilizar el adaptador RRS de MQ debern ejecutarse en un espacio de direcciones de un procedimiento almacenado de DB2 gestionado por WLM. Se ha emitido una llamada MQCMIT o MQBACK en el entorno CICS o IMS. v En Compaq (DIGITAL) OpenVMS, OS/2, OS/400, Tandem NonStop Kernel, sistemas UNIX y Windows NT, se da una de estas situaciones: La aplicacin est enlazada con bibliotecas incorrectas (con hebras o sin hebras). Se ha emitido una llamada MQBEGIN, MQCMIT o MQBACK, pero se est utilizando un gestor externo de unidad de trabajo o el gestor de colas no da soporte a las unidades de trabajo. Se ha emitido la llamada MQBEGIN en un entorno de cliente MQ. Accin correctora: realice una de estas acciones (segn corresponda): v En OS/390: Enlace la aplicacin con el adaptador correcto. Para una aplicacin CICS o IMS, emita la llamada CICS o IMS apropiada para comprometer o restituir la unidad de trabajo. v En los otros entornos: Enlace la aplicacin con las bibliotecas correctas (con hebras o sin hebras). Elimine de la aplicacin la llamada no soportada. RC2013 (2013, X'7DD') Fecha de caducidad no vlida. En una llamada MQPUT o MQPUT1, el valor especificado para el campo MDEXP del descriptor de mensaje MQMD no es vlido. Accin correctora: especifique un valor mayor que cero o el valor especial EIULIM. RC2014 (2014, X'7DE') El cdigo de informacin de retorno no es vlido. | | En una llamada MQPUT o MQPUT1, el valor especificado para el campo MDFB del descriptor de mensaje MQMD no es vlido. El valor no es FBNONE y est fuera del rango definido para los cdigos de informacin de retorno del sistema y del definido para los cdigos de informacin de retorno de la aplicacin. Accin correctora: especifique FBNONE o un valor que est comprendido entre FBSFST y FBSLST o entre FBAFST y FBALST.
378
Cdigos de retorno
RC2016 (2016, X'7E0') Se han inhibido las obtenciones para la cola. Las llamadas MQGET estn actualmente inhibidas para la cola (vea el atributo InhibitGet de la cola descrito en el Captulo 37. Atributos de todas las colas en la pgina 305) o para la cola en la que esta se resuelve (vea el Captulo 40. Atributos de colas alias en la pgina 329). Accin correctora: si el diseo del sistema permite que las aplicaciones inhiban peticiones de obtener durante perodos cortos, repita la operacin ms adelante. RC2017 (2017, X'7E1') No hay ms asas disponibles. Se ha emitido una llamada MQOPEN o MQPUT1, pero ya se ha llegado al nmero mximo de asas abiertas permitido para la tarea actual. Tenga en cuenta que cuando se especifica una lista de distribucin en la llamada MQOPEN o MQPUT1, cada una de las colas de la lista de distribucin utiliza un asa. Accin correctora: compruebe si la aplicacin est emitiendo llamadas MQOPEN sin las correspondientes llamadas MQCLOSE. Si es as, modifique la aplicacin para que emita la llamada MQCLOSE para los objetos abiertos que ya no sean necesarios. Compruebe tambin si la aplicacin est especificando una lista de distribucin que contiene un elevado nmero de colas que consumen todas las asas disponibles. En este caso, aumente el nmero mximo de asas que puede utilizar la tarea o reduzca el tamao de la lista de distribucin. El nmero de asas abiertas que puede utilizar una tarea viene determinado por el atributo MaxHandles del gestor de colas (vea el Captulo 43. Atributos del gestor de colas en la pgina 337). RC2018 (2018, X'7E2') El asa de conexin no es vlida. El asa de conexin HCONN no es vlida. Este cdigo de razn tambin se produce si el puntero del parmetro no es vlido o (para la llamada MQCONN) si seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: asegrese de que se realiza una llamada MQCONN satisfactoria para el gestor de colas y de que an no se haya realizado ninguna llamada MQDISC para l. Asegrese de que el asa se est utilizando en el mbito correcto (vea la llamada MQCONN descrita en el Captulo 27. MQCONN - Conectar gestor de colas en la pgina 231). RC2019 (2019, X'7E3') El asa de objeto no es vlida. El asa de objeto HOBJ no es vlida. Este cdigo de razn tambin se produce si el puntero del parmetro no es vlido o (para la llamada MQOPEN) si seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: asegrese de que se realiza una llamada MQOPEN satisfactoria para este objeto y de que an no se ha realizado ninguna llamada MQCLOSE para l. Para las llamadas MQGET y MQPUT, asegrese asimismo de que el asa representa un objeto cola. Asegrese de
Apndice A. Cdigos de retorno
379
Cdigos de retorno
que el asa se est utilizando en el mbito correcto (vea la llamada MQOPEN descrita en el Captulo 32. MQOPEN - Abrir objeto en la pgina 261). RC2020 (2020, X'7E4') No es vlido el valor del atributo de cola de inhibir obtener o de inhibir poner. En una llamada MQSET, el valor especificado para el atributo IAIGET o para el atributo IAIPUT no es vlido. Accin correctora: especifique un valor vlido. Vea los atributos InhibitGet o InhibitPut que se describen en el Captulo 37. Atributos de todas las colas en la pgina 305. RC2021 (2021, X'7E5') La cuenta de atributos de tipo entero no es vlida. En una llamada MQINQ o MQSET, el parmetro IACNT es negativo (MQINQ o MQSET) o es menor que el nmero de selectores de atributos de tipo entero (IA*) especificado en el parmetro SELS (solo MQSET). Este cdigo de razn se produce tambin si el puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: especifique un valor suficientemente grande para todos los atributos de tipo entero seleccionados. RC2022 (2022, X'7E6') No se ha dado suficiente espacio para los atributos de tipo entero. En una llamada MQINQ, el parmetro IACNT es menor que el nmero de selectores de atributos de tipo entero (IA*) especificado en el parmetro SELS. La llamada se completa con CCWARN y con la matriz INTATR rellenada con todos los atributos de tipo entero que quepan en ella. Accin correctora: especifique un valor suficientemente grande, a menos que solo necesite un subconjunto de los valores. RC2023 (2023, X'7E7') La matriz de atributos de tipo entero no es vlida. En una llamada MQINQ o MQSET, el parmetro INTATR no es vlido. El puntero del parmetro no es vlido (MQINQ y MQSET) o seala a un almacenamiento de solo lectura o a un almacenamiento cuya longitud es menor que la indicada por el parmetro IACNT (solo MQINQ). (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2024 (2024, X'7E8') No pueden manejarse ms mensajes dentro de la unidad de trabajo actual. Una llamada MQGET, MQPUT o MQPUT1 es errnea debido a que ha provocado que el nmero de mensajes no comprometidos en la unidad de trabajo actual haya superado el lmite definido por el gestor de colas (vea
380
Cdigos de retorno
el atributo MaxUncommittedMsgs del gestor de colas). El nmero de mensajes no comprometidos es la suma de los mensajes siguientes desde el principio de la unidad de trabajo actual: v Los mensajes transferidos por la aplicacin con la opcin PMSYP v Los mensajes recuperados por la aplicacin con la opcin GMSYP v Los mensajes desencadenantes y los mensajes de informe COA generados por el gestor de colas para los mensajes transferidos con la opcin PMSYP v Los mensajes de informe COD generados por el gestor de colas para los mensajes recuperados con la opcin GMSYP Accin correctora: compruebe si la aplicacin se est repitiendo en bucle. Si no es as, intente reducir la complejidad de la aplicacin. Opcionalmente, aumente para el gestor de colas el lmite del nmero mximo de mensajes no comprometidos que puede haber dentro de una unidad de trabajo. v En OS/400, el lmite del nmero mximo de mensajes no comprometidos puede cambiarse utilizando el mandato CHGMQM. RC2026 (2026, X'7EA') El descriptor de mensaje no es vlido. La estructura MQMD no es vlida. El nemotcnico de atencin MDSID no es correcto o MDVER no se ha reconocido. Esta razn tambin se produce si: v El puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v El gestor de colas no puede copiar la estructura cambiada en el almacenamiento de la aplicacin, aunque la llamada sea satisfactoria. Esto puede producirse, por ejemplo, si el puntero seala a un almacenamiento de solo lectura. Accin correctora: corrija la definicin del descriptor de mensaje. Asegrese de que se han establecido correctamente los campos de entrada obligatorios. RC2027 (2027, X'7EB') Falta la cola de respuestas. En una llamada MQPUT o MQPUT1, el campo MDRQ del descriptor de mensaje MQMD est en blanco, pero se da una de las siguientes circunstancias: v Se ha solicitado una respuesta (es decir, que se ha especificado MTRQST en el campo MDMT del descriptor de mensaje). v Se ha solicitado un mensaje de informe en el campo MDREP del descriptor de mensaje. Accin correctora: especifique el nombre de la cola a la que debe enviarse el mensaje de respuesta o el mensaje de informe. RC2029 (2029, X'7ED') El tipo de mensaje del descriptor de mensaje no es vlido. En una llamada MQPUT o MQPUT1, el valor especificado para el campo MDMT del descriptor de mensaje (MQMD) no es vlido.
381
Cdigos de retorno
Accin correctora: especifique un valor vlido. Vea el campo MDMT descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para obtener ms detalles. RC2030 (2030, X'7EE') La longitud del mensaje es superior a la longitud mxima de la cola. Se ha emitido una llamada MQPUT o MQPUT1 para poner un mensaje en una cola, pero el mensaje era demasiado largo para la cola y no se haba especificado MFSEGA en el campo MDMFL de MQMD. Si no se permite la segmentacin, la longitud del mensaje no puede superar el menor de los atributos MaxMsgLength de la cola y del gestor de colas. Este cdigo de razn tambin puede darse cuando MFSEGA s se especifica, pero la naturaleza de los datos del mensaje es tal que impide que el gestor de colas los divida en segmentos lo suficientemente pequeos como para colocarlos en la cola: v Para un formato definido por el usuario, el segmento ms pequeo que puede crear el gestor de colas es de 16 bytes. v Para un formato incorporado, el segmento ms pequeo que puede crear el gestor de colas depende del tipo de formato, pero en todos los casos es mayor que 16 bytes excepto en el de FMSTR (para FMSTR, el tamao mnimo del segmento es de 16 bytes). RC2030 tambin puede darse en el campo MDFB del descriptor de un mensaje de informe; en este caso indica que el error lo detect un agente de canal de mensajes cuando intentaba poner el mensaje en una cola remota. Accin correctora: compruebe si el parmetro BUFLEN se ha especificado correctamente; en tal caso, lleve a cabo una de las tareas siguientes: v Aumente el valor del atributo MaxMsgLength de la cola; tambin puede ser necesario aumentar el valor del atributo MaxMsgLength del gestor de colas. v Divida el mensaje en varios mensajes ms cortos. v Especifique MFSEGA en el campo MDMFL de MQMD; esto permitir que el gestor de colas divida el mensaje en segmentos. RC2031 (2031, X'7EF') La longitud del mensaje es superior al mximo permitido por el gestor de colas. Se ha emitido una llamada MQPUT o MQPUT1 para poner un mensaje en una cola, pero el mensaje era demasiado largo para el gestor de colas y no se haba especificado MFSEGA en el campo MDMFL de MQMD. Si no se permite la segmentacin, la longitud del mensaje no puede superar el menor de los atributos MaxMsgLength de la cola y del gestor de colas. Este cdigo de razn tambin puede darse cuando MFSEGA s se especifica, pero la naturaleza de los datos del mensaje es tal que impide que el gestor de colas los pueda dividir en segmentos que sean lo suficientemente pequeos para satisfacer el lmite del gestor de colas: v Para un formato definido por el usuario, el segmento ms pequeo que puede crear el gestor de colas es de 16 bytes. v Para un formato incorporado, el segmento ms pequeo que puede crear el gestor de colas depende del tipo de formato, pero en todos los casos
382
Cdigos de retorno
es mayor que 16 bytes excepto en el de FMSTR (para FMSTR, el tamao mnimo del segmento es de 16 bytes). RC2031 tambin puede darse en el campo MDFB del descriptor de un mensaje de informe; en este caso indica que un agente de canal de mensajes detect el error cuando intentaba poner el mensaje en una cola remota. Esta razn tambin se produce si un canal, a travs del cual debe pasar el mensaje, ha limitado la longitud mxima de mensaje a un valor que en realidad es menor que el soportado por el gestor de colas, y la longitud del mensaje es superior a ese valor. Accin correctora: compruebe si el parmetro BUFLEN se ha especificado correctamente; en tal caso, lleve a cabo una de las tareas siguientes: v Aumente el valor del atributo MaxMsgLength del gestor de colas; tambin puede ser necesario aumentar el valor del atributo MaxMsgLength de la cola. v Divida el mensaje en varios mensajes ms cortos. v Especifique MFSEGA en el campo MDMFL de MQMD; esto permitir que el gestor de colas divida el mensaje en segmentos. v Compruebe las definiciones del canal. RC2033 (2033, X'7F1') No hay ningn mensaje disponible. Se ha emitido una llamada MQGET, pero no hay ningn mensaje en la cola que cumpla los criterios de seleccin especificados en MQMD (los campos MDMID y MDCID) ni en MQGMO (los campos GMOPT y GMMO). O no se ha especificado la opcin GMWT o ha transcurrido el intervalo de tiempo especificado por el campo GMWI en MQGMO. Esta razn tambin se devuelve para una llamada MQGET de examinar, si se ha llegado al final de la cola. Este cdigo de razn tambin pueden devolverlo las llamadas mqGetBag y mqExecute. mqGetBag es parecida a MQGET. Para la llamada mqExecute, el cdigo de terminacin puede ser MQCC_WARNING o MQCC_FAILED: v Si el cdigo de terminacin es MQCC_WARNING, significa que se han recibido algunos mensajes de respuesta durante el intervalo de espera especificado, pero no todos. El paquete de respuesta contiene paquetes generados por el sistema para los mensajes que se han recibido. v Si el cdigo de terminacin es MQCC_FAILED, significa que no se ha recibido ningn mensaje de respuesta durante el intervalo de tiempo especificado. Accin correctora: si esta es la condicin prevista, no es necesario realizar ninguna accin correctora. Si no estaba prevista, compruebe que el mensaje se haya puesto en la cola y si las opciones que controlan los criterios de seleccin se han especificado correctamente. A continuacin se muestra todo lo que puede afectar a la elegibilidad de un mensaje para devolverlo en la llamada MQGET: GMLOGO GMAMSA GMASGA GMCMPM
Apndice A. Cdigos de retorno
383
Cdigos de retorno
MOMSGI MOCORI MOGRPI MOSEQN MOOFFS Campo MDMID Campo MDCID Considere la posibilidad de esperar ms tiempo a que se devuelva el mensaje. RC2034 (2034, X'7F2') El cursor para examinar no est situado en el mensaje. Se ha emitido una llamada MQGET con la opcin GMMUC o GMBRWC. No obstante, el cursor para examinar no est situado en un mensaje recuperable. Esto puede deberse a una de estas condiciones: v El cursor se ha situado de forma lgica antes del primer mensaje (tal y como est antes de haber realizado satisfactoriamente la primera llamada MQGET con una opcin de examinar), o v El mensaje en el que estaba situado el cursor para examinar se ha bloqueado o eliminado de la cola (probablemente lo haya hecho otra aplicacin) una vez efectuada la operacin de examinar. v El mensaje en el que estaba situado el cursor para examinar ha caducado. Accin correctora: compruebe la lgica de la aplicacin. Esta puede ser una razn esperada si el diseo de la aplicacin permite que varios servidores compitan para obtener los mensajes despus de examinar. Si lo desea, tambin puede utilizar la opcin GMLK con la llamada MQGET de examinar anterior. RC2035 (2035, X'7F3') Acceso no autorizado. El usuario no tiene autorizacin para realizar la operacin que se ha intentado: v En una llamada MQCONN, el usuario no est autorizado a conectarse al gestor de colas. v En una llamada MQOPEN o MQPUT1, el usuario no est autorizado a abrir el objeto para la opcin o las opciones especificadas. v En una llamada MQCLOSE, el usuario no est autorizado a suprimir el objeto, que es una cola dinmica permanente, y el parmetro HOBJ especificado en la llamada MQCLOSE no es el asa devuelta por la llamada MQOPEN que ha creado la cola. Este cdigo de razn tambin puede darse en el campo MDFB del descriptor de un mensaje de informe; en este caso indica que un agente de canal de mensajes detect el error cuando intentaba poner el mensaje en una cola remota. Accin correctora: asegrese de que se ha especificado el gestor de colas o el objeto correctos y de que existe la autorizacin adecuada. RC2036 (2036, X'7F4') La cola no se ha abierto para examen. Se ha emitido una llamada MQGET con una de las opciones siguientes:
384
Cdigos de retorno
GMBRWF GMBRWN GMBRWC GMMUC pero la cola no se ha abierto para examen. Accin correctora: especifique OOBRW cuando se abra la cola. RC2037 (2037, X'7F5') La cola no se ha abierto para entrada. Se ha emitido una llamada MQGET para recuperar un mensaje de una cola, pero la cola no se ha abierto para entrada. Accin correctora: especifique una de las opciones siguientes cuando se abra la cola: OOINPS OOINPX OOINPQ RC2038 (2038, X'7F6') La cola no se ha abierto para consulta. Se ha emitido una llamada MQINQ para consultar los atributos de un objeto, pero el objeto no se ha abierto para consulta. Accin correctora: especifique OOINQ cuando se abra el objeto. RC2039 (2039, X'7F7') La cola no se ha abierto para salida. Se ha emitido una llamada MQPUT para poner un mensaje en una cola, pero la cola no se ha abierto para salida. Accin correctora: especifique OOOUT cuando se abra la cola. RC2040 (2040, X'7F8') La cola no se ha abierto para establecer. Se ha emitido una llamada MQSET para establecer los atributos de cola, pero la cola no se ha abierto para establecer. Accin correctora: especifique OOSET cuando se abra la cola. RC2041 (2041, X'7F9') La definicin de un objeto ha cambiado desde su apertura. Debido a que el asa HOBJ utilizada en esta llamada se ha devuelto en la llamada MQOPEN, han cambiado las definiciones de objeto que afectan a este objeto. Consulte el Captulo 32. MQOPEN - Abrir objeto en la pgina 261 para obtener ms informacin. Este cdigo de razn no se da si el asa del objeto se especifica en el campo PMCT del parmetro PMO de la llamada MQPUT o MQPUT1. Accin correctora: emita una llamada MQCLOSE para devolver el asa del sistema. Normalmente, despus basta con volver a abrir el objeto y repetir la operacin. No obstante, si las definiciones de objeto son crticas para la lgica de la aplicacin, puede utilizarse una llamada MQINQ despus de volver a abrir el objeto para averiguar qu es lo que ha variado. RC2042 (2042, X'7FA') El objeto ya est abierto con opciones en conflicto.
385
Cdigos de retorno
Se ha emitido una llamada MQOPEN, pero el objeto en cuestin ya haba sido abierto por esta o por otra aplicacin con opciones que estn en conflicto con las especificadas en el parmetro OPTS. Esto sucede si la peticin es para entrada compartida y el objeto est abierto para entrada exclusiva; y tambin si la peticin es para entrada exclusiva y el objeto ya se ha abierto para entrada (de cualquier tipo). Nota: Los MCA de los canales receptores pueden mantener abiertas las colas destino incluso si no se estn transmitiendo mensajes; esto da la impresin de que las colas se estn utilizando. Accin correctora: el diseo del sistema debe especificar si la aplicacin espera y reintenta o si realiza otra accin. RC2043 (2043, X'7FB') Tipo de objeto no vlido. En la llamada MQOPEN o MQPUT1, el campo ODOT del descriptor de objeto MQOD especifica un valor que no es vlido. Para la llamada MQPUT1, el tipo de objeto debe ser OTQ. Accin correctora: especifique un tipo de objeto vlido. RC2044 (2044, X'7FC') La estructura del descriptor de objeto no es vlida. En la llamada MQOPEN o MQPUT1, el descriptor de objeto MQOD no es vlido. El nemotcnico de atencin ODSID no es correcto o ODVER no se ha reconocido. Esta razn tambin se produce si: v El puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v El gestor de colas no puede copiar la estructura cambiada en el almacenamiento de la aplicacin, aunque la llamada sea satisfactoria. Esto puede producirse, por ejemplo, si el puntero seala a un almacenamiento de solo lectura. Accin correctora: corrija la definicin del descriptor de objeto. Asegrese de que se han establecido correctamente los campos de entrada obligatorios. RC2045 (2045, X'7FD') La opcin no es vlida para este tipo de objeto. En una llamada MQOPEN o MQCLOSE, se ha especificado una opcin que no es vlida para el tipo de objeto o de cola que se est abriendo o cerrando. Para la llamada MQOPEN, puede deberse a uno de los casos siguientes: v Una opcin que no es la adecuada para el tipo de objeto (por ejemplo OOOUT para un objeto OTPRO). v Una opcin que no est soportada por el tipo de cola (por ejemplo, OOINQ para una cola remota que no tiene ninguna definicin local). v Una o ms de estas opciones: OOINPQ OOINPS OOINPX
386
Cdigos de retorno
OOBRW OOINQ OOSET cuando: el nombre de la cola se resuelve mediante un directorio de celdas, o el campo ODMN del descriptor de objeto especifica el nombre de la definicin local de una cola remota (con el fin de especificar un alias de gestor de colas) y la cola indicada en el atributo RemoteQMgrName de la definicin es el nombre del gestor de colas local. Para la llamada MQCLOSE puede deberse a uno de los casos siguientes: v La opcin CODEL o COPURG cuando la cola no es una cola dinmica. Este cdigo de razn tambin se puede dar en la llamada MQOPEN cuando el objeto que se va a abrir es de tipo OTNLST, OTPRO u OTQM, pero el campo ODMN en MQOD no est en blanco ni es el nombre del gestor de colas local. Accin correctora: especifique la opcin correcta; vea en la Tabla 48 en la pgina 267 las opciones de abrir y en la Tabla 47 en la pgina 222 las de cerrar. Para la llamada MQOPEN, asegrese de que el campo ODMN se ha establecido correctamente. Para la llamada MQCLOSE, corrija la opcin o cambie el tipo de definicin de la cola modelo utilizada para crear la cola nueva. RC2046 (2046, X'7FE') Las opciones no son vlidas o no son coherentes. El parmetro o el campo OPTS contiene opciones que no son vlidas, o una combinacin de opciones que no es vlida. v Para las llamadas MQOPEN, MQCLOSE, MQXCNVC, mqBagToBuffer, mqBufferToBag, mqCreateBag y mqExecute, GMOPT es un parmetro aparte en la llamada. Esta razn se produce tambin si el puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v Para las llamadas MQCONNX, MQGET, MQPUT y MQPUT1, GMOPT es un campo que est en la estructura de opciones relevantes (MQGMO o MQPMO). Accin correctora: especifique opciones vlidas. Compruebe la descripcin del parmetro o del campo OPTS para determinar las opciones o las combinaciones de opciones que son vlidas. Si se estn estableciendo varias opciones a base de combinar opciones individuales, asegrese de no aadir dos veces la misma opcin. RC2047 (2047, X'7FF') La permanencia no es vlida. En una llamada MQPUT o MQPUT1, el valor especificado para el campo MDPER del descriptor de mensaje MQMD no es vlido. Accin correctora: especifique uno de los valores siguientes: PEPER PENPER PEQDEF
Apndice A. Cdigos de retorno
387
Cdigos de retorno
RC2048 (2048, X'800') Un mensaje situado en una cola dinmica temporal no puede ser permanente. En una llamada MQPUT o MQPUT1, el valor especificado para el campo MDPER del descriptor de mensaje MQMD especifica PEPER, pero la cola en la que se est colocando el mensaje es una cola dinmica temporal. Los mensajes permanentes no se pueden poner en colas temporales. Este cdigo de razn tambin puede darse en el campo MDFB del descriptor de un mensaje de informe; en este caso indica que un agente de canal de mensajes detect el error cuando intentaba poner el mensaje en una cola remota. Accin correctora: especifique PENPER si el mensaje se ha de colocar en una cola dinmica temporal. Si se requiere la permanencia, utilice una cola dinmica permanente o una cola predefinida. Tenga presente que es aconsejable que las aplicaciones de servidor enven mensajes de respuesta (tipo de mensaje MTRPLY) con la misma permanencia que el mensaje de peticin original (tipo de mensaje MTRQST). Si el mensaje de peticin es permanente, la cola de respuestas especificada en el campo MDRQ del descriptor de mensaje MQMD no puede ser una cola dinmica temporal; en esta situacin debe utilizarse una cola dinmica o predefinida como cola de respuestas. RC2049 (2049, X'801') La prioridad del mensaje supera el valor mximo soportado. En una llamada MQPUT o MQPUT1, el valor del campo MDPRI del descriptor de mensaje MQMD supera la prioridad mxima soportada por el gestor de colas local (vea el atributo MaxPriority de gestor de colas descrito en el Captulo 43. Atributos del gestor de colas en la pgina 337). El gestor de colas acepta el mensaje, pero este se coloca en la cola con la prioridad mxima del gestor de colas. El campo MDPRI del descriptor de mensaje conserva el valor especificado por la aplicacin que transfiri el mensaje. Accin correctora: ninguna, a menos que la aplicacin que transfiri el mensaje no esperara este cdigo de razn. RC2050 (2050, X'802') La prioridad del mensaje no es vlida. En una llamada MQPUT o MQPUT1, el valor del campo MDPRI del descriptor de mensaje MQMD no es vlido. Accin correctora: especifique un valor mayor o igual que cero, o el valor especial PRQDEF. RC2051 (2051, X'803') Las llamadas de poner estn inhibidas para la cola. Las llamadas MQPUT y MQPUT1 estn actualmente inhibidas para la cola (vea el atributo InhibitPut de la cola descrito en el Captulo 37. Atributos de todas las colas en la pgina 305) o para la cola en la que esta se resuelve (vea el Captulo 40. Atributos de colas alias en la pgina 329). Este cdigo de razn tambin puede darse en el campo MDFB del descriptor de un mensaje de informe; en este caso indica que un agente de canal de mensajes detect el error cuando intentaba poner el mensaje en una cola remota.
388
Cdigos de retorno
Accin correctora: si el diseo del sistema permite que se inhiban peticiones de poner durante perodos cortos, reintente la operacin ms adelante. RC2052 (2052, X'804') La cola se ha suprimido. Un asa de cola HOBJ especificada en una llamada hace referencia a una cola dinmica que se ha suprimido despus de abrir la cola. (Vea el Captulo 25. MQCLOSE - Cerrar objeto en la pgina 221 para obtener ms informacin sobre la supresin de colas dinmicas). Accin correctora: emita una llamada MQCLOSE para devolver el asa y los recursos asociados al sistema (en este caso, la llamada MQCLOSE se realizar satisfactoriamente). Compruebe el diseo de la aplicacin que ha originado el error. RC2053 (2053, X'805') La cola ya contiene el nmero mximo de mensajes. En una llamada MQPUT o MQPUT1, la llamada ha fallado porque la cola est llena, es decir, ya contiene el nmero mximo de mensajes posible (vea el atributo MaxQDepth de cola local descrito en el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311). Este cdigo de razn tambin puede darse en el campo MDFB del descriptor de un mensaje de informe; en este caso indica que un agente de canal de mensajes detect el error cuando intentaba poner el mensaje en una cola remota. Accin correctora: reintente la opcin ms adelante. Considere la posibilidad de aumentar la profundidad mxima de la cola o de tomar medidas para que la aplicacin d servicio a la cola en ms casos. RC2055 (2055, X'807') La cola contiene uno o ms mensajes o peticiones de poner o de obtener no comprometidas. Se ha emitido una llamada MQCLOSE para una cola dinmica permanente con: v La opcin CODEL especificada, pero todava quedan mensajes en la cola o bien v Las opciones CODEL o COPURG especificadas, pero en la cola todava quedan llamadas de obtener o de poner no comprometidas pendientes. Para obtener ms informacin, consulte las notas de utilizacin relacionadas con las colas dinmicas para la llamada MQCLOSE. Este cdigo de razn tambin se devuelve desde un mandato PCF (formato de mandato programable) de vaciar o suprimir una cola, si esta contiene mensajes no comprometidos (o mensajes comprometidos en el caso de suprimir la cola sin la opcin de purgar). Accin correctora: compruebe por qu todava hay mensajes en la cola. Tenga presente que el atributo CurrentQDepth de cola local puede ser cero aunque haya uno o ms mensajes en la cola; esta situacin puede darse si se han recuperado mensajes como parte de una unidad de trabajo que an no se ha comprometido. Si los mensajes se pueden descartar, intente utilizar la llamada MQCLOSE con la opcin COPURG. Considere la posibilidad de repetir la llamada ms adelante.
Apndice A. Cdigos de retorno
389
Cdigos de retorno
RC2056 (2056, X'808') No hay espacio disponible para la cola en el disco. Se ha emitido una llamada MQPUT o MQPUT1, pero no hay espacio disponible para la cola en el disco o en otro dispositivo de almacenamiento. Este cdigo de razn tambin puede darse en el campo MDFB del descriptor de un mensaje de informe; en este caso indica que un agente de canal de mensajes detect el error cuando intentaba poner el mensaje en una cola remota. Accin correctora: compruebe si alguna aplicacin est poniendo mensajes en un bucle infinito. Si no es as, deje ms espacio en disco disponible para la cola. RC2057 (2057, X'809') Tipo de cola no vlido. Se ha dado una de las siguientes situaciones: v En una llamada MQOPEN, el campo ODMN del descriptor de objeto MQOD o del registro de objeto MQOR especifica el nombre de una definicin local de una cola remota (con el fin de especificar un alias de gestor de colas) y en dicha definicin local, el atributo RemoteQMgrName es el nombre del gestor de colas local. Sin embargo, el campo ODON de MQOD o MQOR especifica el nombre de una cola modelo del gestor de colas local y esto no est permitido. Puede obtener ms informacin en la publicacin MQSeries Application Programming Guide. v En una llamada MQPUT1, el descriptor de objeto MQOD o el registro de objeto MQOR, especifican el nombre de una cola modelo. v En una llamada MQPUT o MQPUT1 anterior, el campo MDRQ del descriptor de mensaje especificaba el nombre de una cola modelo, pero no se puede especificar una cola modelo como destino de los mensajes de respuesta o de informe. El destino solo puede ser el nombre de una cola predefinida o el nombre de la cola dinmica creada a partir de la cola modelo. En esta situacin, se devuelve el cdigo de razn RC2057 en el campo DLREA de la estructura MQDLH cuando el mensaje de respuesta o de informe se coloca en la cola de mensajes no entregados. Accin correctora: especifique una cola vlida. RC2058 (2058, X'80A') El nombre del gestor de colas no es vlido o es desconocido. En una llamada MQCONN, el valor especificado por el parmetro QMNAME no es vlido. Esta razn se produce tambin si el puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Este cdigo de razn tambin se da si una aplicacin intenta conectarse a un gestor de colas de un grupo (vea el parmetro QMNAME de MQCONN) y: v No estn soportados los grupos de gestores de colas (solo estn soportados para las aplicaciones de cliente MQ), o v No existe ningn grupo de gestores de colas que tenga el nombre especificado Accin correctora: utilice, si es posible, un nombre que solo tenga blancos o verifique si el nombre utilizado es vlido.
390
Cdigos de retorno
RC2059 (2059, X'80B') El gestor de colas no est disponible para conexin. En una llamada MQCONN, el gestor de colas identificado por el parmetro QMNAME no est disponible para conexin en este momento. v En OS/400, este cdigo de razn tambin lo pueden devolver las llamadas MQOPEN y MQPUT1 si una aplicacin que se est ejecutando en modalidad de compatibilidad especifica HCDEFH para el parmetro HCONN. Si la conexin procede de una aplicacin de cliente MQ, este cdigo de razn puede darse si se produce un error en la conexin de cliente o en las correspondientes definiciones del canal de conexin de servidor. Este cdigo de razn tambin se da si una aplicacin intenta conectarse a un gestor de colas de un grupo (vea el parmetro QMNAME de MQCONN), cuando ninguno de los gestores de colas del grupo est disponible para conexin en ese momento. Accin correctora: asegrese de que se ha arrancado el gestor de colas. Si la conexin procede de una aplicacin de cliente, compruebe las definiciones de canal. RC2061 (2061, X'80D') Las opciones de informe del descriptor de mensaje no son vlidas. Se ha emitido una llamada MQPUT o MQPUT1, pero el campo MDREP del descriptor de mensaje MQMD contiene una o ms opciones que el gestor de colas local no reconoce. Las opciones que pueden provocar que se devuelva este cdigo de razn dependen del destino del mensaje; vea el Apndice E. Opciones de informe en la pgina 481 para obtener ms detalles. Este cdigo de razn tambin puede darse en el campo MDFB de MQMD de un mensaje de informe o en el campo DLREA de la estructura MQDLH de un mensaje de la cola de mensajes no entregados; en ambos casos, indica que el gestor de colas destino no soporta una o ms de las opciones de informe especificadas por el emisor del mensaje. Accin correctora: realice lo siguiente: 1. Asegrese de que el campo MDREP del descriptor de mensaje se inicializa con un valor cuando se declara o de que se le ha asignado un valor antes de realizar la llamada MQPUT o MQPUT1. Especifique RONONE si no se necesitan opciones de informe. 2. Asegrese de que las opciones de informe especificadas son las que estn documentadas en este manual; consulte el campo MDREP descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para conocer las opciones de informe vlidas. Elimine las opciones de informe que no estn documentadas en este manual. 3. Si se establecen mltiples opciones de informe a base de combinar opciones de informe individuales, asegrese de que no se aada dos veces la misma opcin de informe. 4. Compruebe tambin que no se especifiquen opciones de informe en conflicto. Por ejemplo, no aada las dos opciones ROEXC y ROEXCD al campo MDREP; solo puede especificarse una de ellas.
391
Cdigos de retorno
RC2063 (2063, X'80F') Se ha producido un error de seguridad. Se ha emitido una llamada MQOPEN, MQPUT1 o MQCLOSE, pero no se ha realizado satisfactoriamente debido a un error de seguridad. Accin correctora: anote el error del gestor de seguridad y pngase en contacto con el programador del sistema o con el administrador de seguridad. v En OS/400, las anotaciones de FFST contendrn la informacin de error. RC2065 (2065, X'811') La cuenta de selectores no es vlida. En una llamada MQINQ o MQSET, el parmetro SELCNT especifica un valor que no es vlido. Esta razn se produce tambin si el puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: especifique un valor comprendido entre 0 y 256. RC2066 (2066, X'812') La cuenta de selectores es demasiado grande. En una llamada MQINQ o MQSET, el parmetro SELCNT especifica un valor que es mayor que el mximo soportado (256). Accin correctora: reduzca el nmero de selectores especificado en la llamada; los valores vlidos son los comprendidos entre 0 y 256. RC2067 (2067, X'813') El selector de atributo no es vlido. En una llamada MQINQ o MQSET, un selector de la matriz SELS: v no es vlido, o v no se puede aplicar al tipo de objeto cuyos atributos se estn consultando o estableciendo, o bien v (solo MQSET) no se trata de un atributo que pueda establecerse. Esta razn se produce tambin si el puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: asegrese de que el valor especificado para el selector es vlido para el tipo de objeto representado por HOBJ. Para la llamada MQSET, asegrese tambin de que el selector representa un atributo de tipo entero que pueda establecerse. RC2068 (2068, X'814') Selector no aplicable a este tipo de cola. En la llamada MQINQ, uno o varios selectores de la matriz SELS no son aplicables al tipo de cola cuyos atributos se estn consultando. Este cdigo de razn tambin se da cuando se trata de una cola de clster que se resolvi en una instancia remota de la cola. En este caso solo puede consultarse un subconjunto de los atributos que son vlidos para las colas locales. Para obtener ms detalles, consulte las notas de utilizacin que hay en el Captulo 31. MQINQ - Consultar los atributos de objeto en la pgina 251.
392
Cdigos de retorno
La llamada se completa con CCWARN y con los valores de los atributos de los selectores no aplicables establecidos del modo siguiente: v Para los atributos de tipo entero, los correspondientes elementos de INTATR se establecen en IAVNA. v Para los atributos de tipo carcter, las partes adecuadas de la serie CHRATR se establecen en una serie de caracteres que consta nicamente de asteriscos (*). Accin correctora: compruebe si el selector especificado es el que se deseaba. Si la cola es de un clster y se especifica una de las opciones OOBRW, OOINP* u OOSET junto con OOINQ, se forzar a la cola a resolverse en la instancia local de la cola. Sin embargo, si no existe ninguna instancia local de la cola, la llamada MQOPEN fallar. RC2071 (2071, X'817') No hay suficiente almacenamiento disponible. La llamada no se ha ejecutado correctamente porque no hay suficiente almacenamiento principal disponible. Accin correctora: asegrese de que las aplicaciones activas tienen un comportamiento correcto; por ejemplo, que no se estn repitiendo en bucle de forma imprevista. Si no se encuentra ningn problema, obtenga ms almacenamiento principal. RC2072 (2072, X'818') El soporte de punto de sincronismo no est disponible. Se ha especificado GMSYP en una llamada MQGET o se ha especificado PMSYP en una llamada MQPUT o MQPUT1, pero el gestor de colas local no ha podido responder a la peticin. Si el gestor de colas no da soporte a unidades de trabajo, el atributo SyncPoint del gestor de colas tendr el valor SPNAVL. Este cdigo de razn tambin se puede dar en las llamadas MQGET, MQPUT y MQPUT1 cuando se est utilizando un coordinador externo de una unidad de trabajo. Si este coordinador precisa que se haga una llamada explcita para arrancar la unidad de trabajo, pero la aplicacin no ha emitido dicha llamada antes de realizar la llamada MQGET, MQPUT o MQPUT1, se devolver el cdigo de razn RC2072. v En OS/400, este cdigo de razn significa que el control de compromiso de OS/400 no se ha iniciado o no est disponible para que lo utilice el gestor de colas. Accin correctora: elimine la especificacin de GMSYP o de PMSYP, segn convenga. v En OS/400, si el control de compromiso no se ha iniciado, incielo. Si este cdigo de razn aparece despus de haber iniciado el control de compromiso, pngase en contacto con el programador del sistema. RC2075 (2075, X'81B') El valor del atributo de control de desencadenamiento no es vlido. En una llamada MQSET, el valor especificado por el selector de atributos IATRGC no es vlido.
393
Cdigos de retorno
Accin correctora: especifique un valor vlido. Vea el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311. RC2076 (2076, X'81C') El valor del atributo de profundidad desencadenante no es vlido. En una llamada MQSET, el valor especificado por el selector de atributos IATRGD no es vlido. Accin correctora: especifique un valor mayor que cero. Vea el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311. RC2077 (2077, X'81D') El valor del atributo de prioridad de mensajes desencadenantes no es vlido. En una llamada MQSET, el valor especificado por el selector de atributos IATRGP no es vlido. Accin correctora: especifique un valor comprendido entre 0 y el valor del atributo MaxPriority del gestor de colas. Vea el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311. RC2078 (2078, X'81E') El valor del atributo de tipo de desencadenante no es vlido. En una llamada MQSET, el valor especificado por el selector de atributos IATRGT no es vlido. Accin correctora: especifique un valor vlido. Vea el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311. RC2079 (2079, X'81F') Se ha devuelto un mensaje truncado (el proceso se ha completado). En una llamada MQGET, la longitud del mensaje era demasiado grande para caber en el almacenamiento intermedio proporcionado. Se ha especificado la opcin GMATM, por lo que la llamada se completa. El mensaje se elimina de la cola (sujeto a las consideraciones de la unidad de trabajo) o, si se trataba de una operacin de examinar, el cursor para examinar avanza hasta este mensaje. El parmetro DATLEN se establece en la longitud del mensaje antes del truncamiento, el parmetro BUFFER contiene la mayor cantidad posible del mensaje y la estructura MQMD se rellena. Accin correctora: ninguna, ya que la aplicacin esperaba esta situacin. RC2080 (2080, X'820') Se ha devuelto un mensaje truncado (el proceso no se ha completado). En una llamada MQGET, la longitud del mensaje era demasiado grande para caber en el almacenamiento intermedio proporcionado. No se ha especificado la opcin GMATM , por lo que el mensaje no se ha eliminado de la cola. Si se trata de una operacin de examinar, el cursor para examinar permanecer donde estaba antes de la llamada, pero si se ha especificado GMBRWF, el cursor para examinar se situar de forma lgica antes del mensaje que tenga la prioridad ms alta de la cola.
394
Cdigos de retorno
El campo DATLEN se establece en la longitud del mensaje antes del truncamiento, el parmetro BUFFER contiene la mayor cantidad posible del mensaje y la estructura MQMD se rellena. Accin correctora: facilite un almacenamiento intermedio cuya longitud sea al menos igual que DATLEN o especifique GMATM si no se necesitan todos los datos del mensaje. RC2082 (2082, X'822') Cola alias base desconocida. Se ha emitido una llamada MQOPEN o MQPUT1 que especificaba una cola alias como destino, pero el nombre BaseQName de los atributos de la cola alias no se reconoce como nombre de cola. Este cdigo de razn tambin se da si BaseQName es el nombre de una cola de clster que no se puede resolver satisfactoriamente. Accin correctora: corrija las definiciones de cola. RC2085 (2085, X'825') Nombre de objeto desconocido. En una llamada MQOPEN o MQPUT1, el campo ODMN del descriptor de objeto MQOD se establece en uno de estos valores: v En blanco v El nombre del gestor de colas local v El nombre de una definicin local de una cola remota (un alias de gestor de colas) en el que el atributo RemoteQMgrName es el nombre del gestor de colas local Sin embargo, el campo ODON del descriptor de objeto no se reconoce para el tipo de objeto especificado. Este cdigo de razn tambin se da si la cola es una cola de clster alojada en un gestor de colas remoto, pero el gestor de colas local no tiene definida una ruta de acceso al gestor de colas remoto. Vea tambin el cdigo de razn RC2052. Accin correctora: especifique un nombre de objeto vlido. Asegrese de que el nombre se rellena con blancos a la derecha si es necesario. Si esto es correcto, compruebe las definiciones de cola. RC2086 (2086, X'826') Gestor de colas de objeto desconocido. En una llamada MQOPEN o MQPUT1, el campo ODMN del descriptor de objeto MQOD no satisface las normas de denominacin de los objetos. Para obtener ms informacin, consulte la publicacin MQSeries Application Programming Guide. Este cdigo de razn tambin se da si el campo ODOT del descriptor de objeto tiene el valor OTQM, y el campo ODMN no est en blanco, pero el nombre especificado no es el del gestor de colas local. Accin correctora: especifique un nombre de gestor de colas vlido (o todo blancos o un carcter inicial nulo para hacer referencia al gestor de colas local). Asegrese de que el nombre se rellena con blancos a la derecha o termina con un carcter nulo si es necesario.
395
Cdigos de retorno
RC2087 (2087, X'827') Gestor de colas remoto desconocido. En una llamada MQOPEN o MQPUT1, se ha producido un error en la resolucin de nombre de cola, por una de estas causas: v El campo ODMN est en blanco o es el nombre del gestor de colas local, el campo ODON es el nombre de una definicin local de una cola remota (o un alias de una cola remota), y se cumple una de las condiciones siguientes: RemoteQMgrName est en blanco o es el nombre del gestor de colas local. Recuerde que este error se produce incluso si XmitQName no est en blanco. XmitQName est en blanco, pero no se ha definido ninguna cola de transmisin con el nombre RemoteQMgrName, y el atributo DefXmitQName de gestor de colas est en blanco. RemoteQMgrName y RemoteQName especifican una cola de clster que no se puede resolver satisfactoriamente y el atributo DefXmitQName de gestor de colas est en blanco. v El campo ODMN es el nombre de una definicin local de una cola remota (que contiene una definicin de alias de gestor de colas), y se cumple una de las condiciones siguientes: RemoteQName no est en blanco. XmitQName est en blanco, pero no se ha definido ninguna cola de transmisin con el nombre RemoteQMgrName, y el atributo DefXmitQName de gestor de colas est en blanco. v El campo ODMN no: Est en blanco Es el nombre del gestor de colas local Es el nombre de una cola de transmisin Es el nombre de una definicin de alias de gestor de colas (es decir, una definicin local de una cola remota con un atributo RemoteQName en blanco) pero el atributo DefXmitQName de gestor de colas est en blanco. v El campo ODMN es el nombre de una cola modelo. v El nombre de la cola se resuelve mediante un directorio de celdas. No obstante, no se ha definido ninguna cola con el nombre del gestor de colas remoto obtenido del directorio de celdas y el atributo DefXmitQName de gestor de colas est en blanco. Accin correctora: compruebe los valores especificados para ODMN y ODON. Si son correctos, compruebe las definiciones de cola. RC2090 (2090, X'82A') El intervalo de espera de MQGMO no es vlido. En la llamada MQGET, el valor especificado para el campo GMWI del parmetro GMO no es vlido. Accin correctora: especifique un valor mayor o igual que cero, o el valor especial WIULIM si se requiere una espera indefinida. RC2091 (2091, X'82B') La cola de transmisin no es local. En una llamada MQOPEN o MQPUT1, debe enviarse un mensaje a un gestor de colas remoto. Los campos ODON o ODMN del descriptor de objeto
396
Cdigos de retorno
especifican el nombre de una definicin local de una cola remota, pero el atributo XmitQName de la definicin cumple una de las condiciones siguientes: v XmitQName no est en blanco, sino que especifica una cola que no es local. v XmitQName est en blanco, pero RemoteQMgrName especifica una cola que no es local. Este cdigo de razn tambin se da si el nombre de la cola se resuelve mediante un directorio de celdas y el nombre del gestor de colas remoto obtenido de dicho directorio es el nombre de una cola, pero no el de una cola local. Accin correctora: compruebe los valores especificados para ODON y ODMN. Si son correctos, compruebe las definiciones de cola. Para obtener ms informacin sobre las colas de transmisin, consulte el manual MQSeries Application Programming Guide. RC2092 (2092, X'82C') Utilizacin incorrecta de la cola de transmisin. En una llamada MQOPEN o MQPUT1, se debe enviar un mensaje a un gestor de colas remoto, pero se ha dado una de estas situaciones: v El campo ODMN especifica el nombre de una cola local, pero no tiene un atributo Usage igual a USTRAN. v Los campos ODON o ODMN del descriptor de objeto especifican el nombre de una definicin local de una cola remota, pero el atributo XmitQName de la definicin cumple una de las condiciones siguientes: XmitQName no est en blanco, pero especifica una cola que no tiene un atributo Usage igual a USTRAN XmitQName est en blanco, pero RemoteQMgrName especifica una cola que no tiene un atributo Usage igual a USTRAN v El nombre de la cola se resuelve mediante un directorio de celdas y el nombre del gestor de colas remoto obtenido de dicho directorio es el de una cola local, pero no tiene un atributo Usage igual a USTRAN. Accin correctora: compruebe los valores especificados para ODON y ODMN. Si son correctos, compruebe las definiciones de cola. Para obtener ms informacin sobre las colas de transmisin, consulte el manual MQSeries Application Programming Guide. RC2093 (2093, X'82D') Cola no abierta para pasar todo el contexto. Se ha emitido una llamada MQPUT con la opcin PMPASA especificada en el parmetro PMO, pero la cola no se ha abierto con la opcin OOPASA. Accin correctora: especifique OOPASA (u otra opcin que la implique) al abrir la cola. RC2094 (2094, X'82E') Cola no abierta para pasar el contexto de identidad. Se ha emitido una llamada MQPUT con la opcin PMPASI especificada en el parmetro PMO, pero la cola no se ha abierto con la opcin OOPASI. Accin correctora: especifique OOPASI (u otra opcin que la implique) al abrir la cola.
Apndice A. Cdigos de retorno
397
Cdigos de retorno
RC2095 (2095, X'82F') Cola no abierta para establecer todo el contexto. Se ha emitido una llamada MQPUT con la opcin PMSETA especificada en el parmetro PMO, pero la cola no se ha abierto con la opcin OOSETA. Accin correctora: especifique OOSETA cuando se abra la cola. RC2096 (2096, X'830') Cola no abierta para establecer el contexto de identidad. Se ha emitido una llamada MQPUT con la opcin PMSETI especificada en el parmetro PMO, pero la cola no se ha abierto con la opcin OOSETI. Accin correctora: especifique OOSETI (u otra opcin que la implique) al abrir la cola. RC2097 (2097, X'831') El asa de cola a la que se hace referencia no salva el contexto. En una llamada MQPUT o MQPUT1, se ha especificado PMPASI o PMPASA, pero el asa especificada en el campo PMCT del parmetro PMO no es un asa de cola vlida, o s que lo es pero la cola no se ha abierto con OOSAVA. Accin correctora: especifique OOSAVA cuando se abra la cola a la que se hace referencia. RC2098 (2098, X'832') Contexto no disponible para el asa de cola a la que se hace referencia. En una llamada MQPUT o MQPUT1, se ha especificado PMPASI o PMPASA, pero el asa de cola especificada en el campo PMCT del parmetro PMO no tiene ningn contexto asociado a ella. Esto sucede si an no se ha recuperado correctamente ningn mensaje con el asa de cola a la que se hace referencia o si la ltima llamada MQGET satisfactoria era para examinar. Esta condicin no se produce si el ltimo mensaje recuperado no tena contexto asociado a l. Accin correctora: asegrese de que se ha emitido una llamada correcta de obtener que no sea para examinar con el asa de cola a la que se hace referencia. RC2100 (2100, X'834') El objeto ya existe. Se ha emitido una llamada MQOPEN para crear una cola dinmica, pero ya existe una que tiene el mismo nombre. Accin correctora: si facilita un nombre completo de cola dinmica, asegrese de que cumple los convenios de los nombres de colas dinmicas; de ser as, suministre otro nombre o suprima la cola existente si ya no la necesita. Otra posibilidad es permitir que el gestor de colas genere el nombre. Si el gestor de colas es el que est generando el nombre (parcial o completo), vuelva a emitir la llamada MQOPEN. RC2101 (2101, X'835') Objeto daado.
398
Cdigos de retorno
El objeto al que ha accedido la llamada est daado y no puede utilizarse. Por ejemplo, esto puede deberse a que la definicin del objeto en el almacenamiento principal no es coherente o a que difiere de la definicin del objeto en disco, o a que la definicin en disco no puede leerse. El objeto no podr utilizarse hasta que el problema se corrija. El objeto se puede suprimir, aunque tal vez no sea posible suprimir el espacio de usuario asociado. Accin correctora: quiz deba detener y rearrancar el gestor de colas, o restaurar los datos del gestor de colas a partir del almacenamiento de copia de seguridad. En el registro de FFST obtendr ms informacin sobre el problema. RC2102 (2102, X'836') No hay suficientes recursos del sistema disponibles. Los recursos del sistema son insuficientes para realizar la llamada correctamente. Accin correctora: ejecute la aplicacin cuando la carga de la mquina sea menor. En el registro de FFST encontrar ms informacin sobre el problema. RC2104 (2104, X'838') Las opciones de informe del descriptor de mensaje no se reconocen. Se ha emitido una llamada MQPUT o MQPUT1, pero el campo MDREP del descriptor de mensaje MQMD contiene una o ms opciones que el gestor de colas local no reconoce. Se aceptan las opciones. Las opciones que pueden provocar que se devuelva este cdigo de razn dependen del destino del mensaje; vea el Apndice E. Opciones de informe en la pgina 481 para obtener ms detalles. Accin correctora: si se espera este cdigo de razn, no es necesaria ninguna accin correctora. Si no se espera este cdigo de razn, haga lo siguiente: 1. Asegrese de que el campo MDREP del descriptor de mensaje se inicializa con un valor cuando se declara, o de que se le ha asignado un valor antes de realizar la llamada MQPUT o MQPUT1. 2. Asegrese de que las opciones de informe especificadas son las que estn documentadas en este manual; consulte el campo MDREP descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 para conocer las opciones de informe vlidas. Elimine las opciones de informe que no estn documentadas en este manual. 3. Si se establecen mltiples opciones de informe a base de combinar opciones de informe individuales, asegrese de que no se aade dos veces una misma opcin de informe. 4. Compruebe tambin que no se especifican opciones de informe en conflicto. Por ejemplo, no aada las dos opciones ROEXC y ROEXCD al campo MDREP; solo puede especificarse una de ellas. RC2110 (2110, X'83E') Formato de mensaje no vlido. En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, uno o los dos campos MDCSI o MDENC del mensaje son distintos del
Apndice A. Cdigos de retorno
399
Cdigos de retorno
correspondiente campo del parmetro MSGDSC, pero el mensaje no puede convertirse satisfactoriamente debido a un error asociado al formato del mensaje. Entre los posibles errores se cuentan los siguientes: v No puede encontrarse una rutina de salida escrita por usuario que tenga el nombre especificado por el campo MDFMT del mensaje. v El nombre de formato del mensaje es FMNONE. v El mensaje contiene datos que no son coherentes con la definicin del formato. El mensaje se devuelve sin convertir a la aplicacin que emite la llamada MQGET, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto, y la llamada se completa con CCWARN. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes. Accin correctora: compruebe el nombre de formato que se especific al poner el mensaje. Si este no es uno de los formatos incorporados, compruebe que est disponible una rutina de salida adecuada que tenga el mismo nombre que el formato para que la cargue el gestor de colas. Compruebe que los datos del mensaje corresponden al formato que espera la rutina de salida. RC2111 (2111, X'83F') El identificador de juego de caracteres codificado origen no es vlido. El identificador de juego de caracteres codificado a partir del cual se van a convertir los datos de tipo carcter no es vlido o no est soportado. Esto se puede producir en la llamada MQGET cuando la opcin GMCONV est incluida en el parmetro GMO; el identificador de juego de caracteres codificado que tiene el error es el campo MDCSI del mensaje que se est recuperando. Es este caso, los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Esta razn tambin se puede dar en la llamada MQGET cuando el mensaje consta de una o ms de las estructuras de cabecera MQ relacionadas con los datos (MQCIH, MQDLH, MQIIH, MQRMH), y el campo MDCSI del mensaje especifica un juego de caracteres que no tiene caracteres SBCS para los caracteres que son vlidos como nombres de cola. Las estructuras de cabecera MQ que contienen tales caracteres no son vlidas por lo que el mensaje se devuelve sin convertir. El juego de caracteres Unicode UCS-2 es un ejemplo de dichos juegos de caracteres. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes.
400
Cdigos de retorno
Este cdigo de razn tambin puede darse en la llamada MQXCNVC; el identificador de juego de caracteres codificado que tiene el error es el parmetro SRCCSI. El parmetro SRCCSI especifica un valor que no es vlido o no est soportado, o bien el puntero del parmetro SRCCSI no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: compruebe el identificador de juego de caracteres que se especific cuando se transfiri el mensaje, o que se especific para el parmetro SRCCSI en la llamada MQXCNVC. Si fuera correcto, compruebe que es tal que para l est soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para el juego de caracteres especificado, ser la aplicacin la que deba llevar a cabo la conversin. RC2112 (2112, X'840') Codificacin de entero origen no reconocida. En una llamada MQGET, con la opcin GMCONV incluida en el parmetro GMO, el valor MDENC del mensaje que se est recuperando especifica una codificacin de entero que no se reconoce. Los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes. Este cdigo de razn tambin puede darse en la llamada MQXCNVC, cuando el parmetro OPTS contiene un valor DCCS* no soportado, o cuando se especifica DCCSUN para una pgina de cdigos UCS2. Accin correctora: compruebe la codificacin de entero que se especific cuando se transfiri el mensaje. Si fuera correcta, compruebe que es tal que para ella est soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para la codificacin de entero necesaria, ser la aplicacin la que deba llevar a cabo la conversin. RC2113 (2113, X'841') Codificacin de decimal empaquetado del mensaje no reconocida. En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, el valor MDENC del mensaje que se est recuperando especifica una codificacin de decimal que no se reconoce. Los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes. Accin correctora: compruebe la codificacin de decimal que se especific cuando se transfiri el mensaje. Si fuera correcta, compruebe que es tal que
Apndice A. Cdigos de retorno
401
Cdigos de retorno
para ella est soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para la codificacin de decimal necesaria, ser la aplicacin la que deba llevar a cabo la conversin. RC2114 (2114, X'842') Codificacin de coma flotante del mensaje no reconocida. En una llamada MQGET, con la opcin GMCONV incluida en el parmetro GMO, el valor MDENC del mensaje que se est recuperando especifica una codificacin de coma flotante que no se reconoce. Los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes. Accin correctora: compruebe la codificacin de coma flotante que se especific cuando se transfiri el mensaje. Si fuera correcta, compruebe que es tal que para ella est soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para la codificacin de coma flotante necesaria, ser la aplicacin la que deba llevar a cabo la conversin. RC2115 (2115, X'843') El identificador de juego de caracteres codificado destino no es vlido. El identificador de juego de caracteres codificado al que se van a convertir los datos de tipo carcter no es vlido o no est soportado. Esto se puede producir en la llamada MQGET, cuando se incluye la opcin GMCONV en el parmetro GMO; el identificador de juego de caracteres codificado que tiene el error es el campo MDCSI del parmetro MSGDSC. En este caso, los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Este cdigo de razn tambin se pueda dar en la llamada MQGET cuando el mensaje contiene una o ms de las estructuras de cabecera MQ relacionadas con los datos (MQCIH, MQDLH, MQIIH, MQRMH), y el campo MDCSI del parmetro MSGDSC especifica un juego de caracteres que no tiene caracteres SBCS para los caracteres que son vlidos como nombres de cola. El juego de caracteres Unicode UCS-2 es un ejemplo de dichos juegos de caracteres. Este cdigo de razn tambin puede darse en la llamada MQXCNVC; el identificador de juego de caracteres codificado que tiene el error es el parmetro TGTCSI. El parmetro TGTCSI especifica un valor que no es vlido o no est soportado, o bien el puntero del parmetro TGTCSI no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: compruebe el identificador de juego de caracteres especificado para el campo MDCSI del parmetro MSGDSC de la llamada MQGET o el especificado para el parmetro SRCCSI de la llamada MQXCNVC. Si fuera correcto, compruebe que es tal que para l est
402
Cdigos de retorno
soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para el juego de caracteres especificado, ser la aplicacin la que deba llevar a cabo la conversin. RC2116 (2116, X'844') Codificacin de entero destino no reconocida. En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, el valor MDENC del parmetro MSGDSC especifica una codificacin de entero que no se reconoce. Los datos del mensaje no se convierten, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje que se est recuperando y la llamada se completa con CCWARN. Este cdigo de razn tambin puede darse en la llamada MQXCNVC, cuando el parmetro OPTS contiene un valor DCCT* no soportado o cuando se especifica DCCTUN para una pgina de cdigos UCS2. Accin correctora: compruebe la codificacin de entero que se especific. Si fuera correcta, compruebe que es tal que para ella est soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para la codificacin de entero necesaria, ser la aplicacin la que deba llevar a cabo la conversin. RC2117 (2117, X'845') Codificacin de decimal empaquetado especificada por receptor no reconocida. En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, el valor MDENC del parmetro MSGDSC especifica una codificacin de decimal que no se reconoce. Los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Accin correctora: compruebe la codificacin de decimal que se especific. Si fuera correcta, compruebe que es tal que para ella est soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para la codificacin de decimal necesaria, ser la aplicacin la que deba llevar a cabo la conversin. RC2118 (2118, X'846') Codificacin de coma flotante especificada por receptor no reconocida. En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, el valor MDENC del parmetro MSGDSC especifica una codificacin de coma flotante que no se reconoce. Los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Accin correctora: compruebe la codificacin de coma flotante que se especific. Si fuera correcta, compruebe que es tal que para ella est soportada la conversin del gestor de colas. Si la conversin del gestor de colas no est soportada para la codificacin de coma flotante necesaria, ser la aplicacin la que deba llevar a cabo la conversin. RC2119 (2119, X'847') Los datos del mensaje no se han convertido.
403
Cdigos de retorno
En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, se produjo un error durante la conversin de los datos del mensaje. Los datos del mensaje se devuelven sin convertir, los valores de los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los del mensaje devuelto y la llamada se completa con CCWARN. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes. Este error puede indicar tambin que un parmetro del servicio de conversin de datos no est soportado. Accin correctora: compruebe que los datos del mensaje estn descritos correctamente por los parmetros MDFMT, MDCSI y MDENC que se especificaron cuando se transfiri el mensaje. Compruebe tambin que estos valores y los campos MDCSI y MDENC especificados en el parmetro MSGDSC de la llamada MQGET estn soportados por la conversin del gestor de colas. Si la conversin solicitada no est soportada, esta debera llevarla a cabo la aplicacin. RC2120 (2120, X'848') Los datos convertidos son demasiado grandes para el almacenamiento intermedio. En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, los datos del mensaje se expandieron al convertirse y superaron el tamao del almacenamiento intermedio proporcionado por la aplicacin. No obstante, el mensaje ya se haba eliminado de la cola porque antes de que se produjera la conversin, los datos pudieron acomodarse en el almacenamiento intermedio de la aplicacin sin truncarse. El mensaje se devuelve sin convertir, con el parmetro CMPCOD de la llamada MQGET establecido en CCWARN. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes. Este cdigo de razn tambin se puede producir en la llamada MQXCNVC, cuando el parmetro TGTBUF es demasiado pequeo para dar cabida a la serie convertida y esta ha sido truncada para que quepa en el almacenamiento intermedio. La longitud de datos vlidos devueltos viene dada por el parmetro DATLEN; en el caso de una serie DBCS o mixta SBCS/DBCS, esta longitud puede ser menor que la longitud de TGTBUF. Accin correctora: para la llamada MQGET, compruebe que la rutina de salida convierte los datos del mensaje correctamente y que establece la longitud de salida DATLEN en el valor adecuado. Si es as, la aplicacin que emite la llamada MQGET debe facilitar un almacenamiento intermedio mayor para el parmetro BUFFER. Para la llamada MQXCNVC, si la serie debe convertirse sin truncar, facilite un almacenamiento intermedio de salida mayor.
404
Cdigos de retorno
RC2121 (2121, X'849') No se han registrado gestores de recursos participantes. Se ha emitido una llamada MQBEGIN para iniciar una unidad de trabajo coordinada por el gestor de colas, pero no se ha registrado ningn gestor de recursos participante en el gestor de colas. Por lo tanto, el gestor de colas solo podr coordinar los cambios que se realicen en los recursos MQ en la unidad de trabajo. | Este cdigo de razn se da en los entornos siguientes: AIX, HP-UX, OS/2, OS/400, Sun Solaris, Windows NT. Accin correctora: si la aplicacin no necesita recursos que no sean MQ para participar en la unidad de trabajo, puede hacerse caso omiso de este cdigo de razn o se puede eliminar la llamada MQBEGIN. En caso contrario, consulte con el programador de soporte del sistema la razn de que no se hayan registrado los gestores de recursos necesarios en el gestor de colas; es posible que el error est en el archivo de configuracin del gestor de colas. RC2122 (2122, X'84A') El gestor de recursos participante no est disponible. Se ha emitido una llamada MQBEGIN para arrancar una unidad de trabajo coordinada por el gestor de colas, pero uno o ms de los gestores de recursos participantes registrados en el gestor de colas no estn disponibles. Por lo tanto, los cambios realizados en estos recursos no puede coordinarlos el gestor de colas en la unidad de trabajo. | Este cdigo de razn se da en los entornos siguientes: AIX, HP-UX, OS/2, OS/400, Sun Solaris, Windows NT. Accin correctora: si la aplicacin no necesita recursos que no sean MQ para participar en la unidad de trabajo, puede hacerse caso omiso de este cdigo de razn. En caso contrario, consulte con el programador de soporte del sistema la razn de que no estn disponibles los gestores de recursos necesarios. Puede ser que el gestor de recursos se haya detenido temporalmente o que haya un error en el archivo de configuracin del gestor de colas. RC2123 (2123, X'84B') Hay una mezcla en el resultado de una operacin de compromiso o de restitucin. El gestor de colas hace de coordinador de una unidad de trabajo en la que estn implicados otros gestores de recursos, pero se ha producido una de estas situaciones: v Se ha emitido una llamada MQCMIT o MQDISC para comprometer la unidad de trabajo, pero uno o varios de los gestores de recursos participantes restituyeron la unidad de trabajo en lugar de comprometerla. Por ello, el resultado de la unidad de trabajo es mixto. v Se ha emitido una llamada MQBACK para restituir una unidad de trabajo, pero uno o varios de los gestores de recursos participantes ya la haban comprometido. Este cdigo de razn se da en los entornos siguientes: AIX, HP-UX, OS/2, Sun Solaris, Windows NT. Accin correctora: vea si en las anotaciones de error del gestor de colas hay mensajes que estn relacionados con el resultado mixto; esos mensajes
Apndice A. Cdigos de retorno
405
Cdigos de retorno
identifican los gestores de recursos afectados. Utilice procedimientos locales en los gestores de recursos afectados para resincronizar los recursos. Nota: Este cdigo de razn no impide que la aplicacin pueda iniciar ms unidades de trabajo. RC2124 (2124, X'84C') El resultado de una operacin de compromiso est pendiente. El gestor de colas hace de coordinador de una unidad de trabajo en la que estn implicados otros gestores de recursos y se ha emitido una llamada MQCMIT o MQDISC para comprometer la unidad de trabajo, pero a uno o a varios de los gestores de recursos participantes no se les ha confirmado que la unidad de trabajo se ha comprometido satisfactoriamente. La conclusin de la operacin de compromiso se producir ms adelante, pero existe la posibilidad de que el resultado sea mixto. Este cdigo de razn se da en los entornos siguientes: AIX, HP-UX, OS/2, Sun Solaris, Windows NT. Accin correctora: utilice los mecanismos normales de notificacin de errores para determinar si el resultado ha sido mixto. Si lo ha sido, realice la accin adecuada para resincronizar los recursos. Nota: Este cdigo de razn no impide que la aplicacin pueda iniciar ms unidades de trabajo. RC2125 (2125, X'84D') Puente iniciado. Se ha iniciado el puente IMS. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2126 (2126, X'84E') Puente detenido. Se ha detenido el puente IMS. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2128 (2128, X'850') Unidad de trabajo ya iniciada. Se ha emitido una llamada MQBEGIN para iniciar una unidad de trabajo coordinada por el gestor de colas, pero ya existe una unidad de trabajo para el asa de conexin especificada. Puede tratarse de una unidad de trabajo global iniciada por una llamada MQBEGIN anterior o de una unidad de trabajo local del gestor de colas o de los gestores de recursos que cooperan. Para un asa de conexin solo puede existir concurrentemente una unidad de trabajo. | Este cdigo de razn se da en los entornos siguientes: AIX, HP-UX, OS/2, OS/400, Sun Solaris, Windows NT. Accin correctora: revise la lgica de la aplicacin para averiguar por qu ya existe una unidad de trabajo. Traslade la llamada MQBEGIN al lugar que le corresponda en la aplicacin.
406
Cdigos de retorno
RC2134 (2134, X'856') La estructura de las opciones de empezar no es vlida. En una llamada MQBEGIN, la estructura de las opciones de empezar MQBO no es vlida por una de estas razones: v El nemotcnico de atencin BOSID no es BOSIDV. v El campo BOVER no es BOVER1. v El puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v El gestor de colas no puede copiar la estructura cambiada en el almacenamiento de la aplicacin, aunque la llamada sea satisfactoria. Esto puede producirse, por ejemplo, si el puntero seala a un almacenamiento de solo lectura. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQBO. Asegrese de que se han establecido correctamente los campos de entrada obligatorios. RC2135 (2135, X'857') La estructura de cabecera de distribucin no es vlida. En una llamada MQPUT o MQPUT1, no es vlida la estructura de cabecera de distribucin MQDH de los datos del mensaje. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQDH. Asegrese de que los campos estn correctamente establecidos. RC2136 (2136, X'858') Se han devuelto mltiples cdigos de razn. Se ha emitido una llamada MQOPEN, MQPUT o MQPUT1 para abrir una lista de distribucin o para poner un mensaje en una lista de distribucin, pero el resultado de la llamada no ha sido el mismo para todos los destinos de la lista. Se ha producido una de las siguientes condiciones: v La llamada ha sido satisfactoria para algunos destinos pero no para otros. En este caso, el cdigo de terminacin es CCWARN. v La llamada ha fallado para todos los destinos, pero por distintos motivos. En este caso, el cdigo de terminacin es CCFAIL. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: examine los registros de respuesta MQRR para identificar los destinos en los que ha fallado la llamada y la razn de la anomala. Asegrese de que la aplicacin proporciona suficientes registros de respuesta en la llamada para permitir determinar los errores. En el caso de la llamada MQPUT1, los registros de respuesta se han de especificar con la estructura MQOD, no con la estructura MQPMO. RC2137 (2137, X'859') El objeto no se ha abierto satisfactoriamente.
Apndice A. Cdigos de retorno
407
Cdigos de retorno
No se ha podido abrir satisfactoriamente una cola u otro objeto de MQ, y el motivo ha sido uno de los siguientes: v Se ha emitido una llamada MQCONN o MQCONNX, pero al gestor de colas le ha sido imposible abrir un objeto utilizado internamente por el gestor de colas. Por lo tanto, el proceso no puede continuar. En las anotaciones de error debe figurar el nombre del objeto que no se ha podido abrir. v Se ha emitido una llamada MQPUT para poner un mensaje en una lista de distribucin, pero no se pudo enviar el mensaje al destino indicado por este cdigo de razn, pues la llamada MQOPEN no pudo abrir satisfactoriamente el destino. Esta razn solo aparece en el campo RRREA del registro de respuesta MQRR. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: v Si el error se produjo en la llamada MQCONN o MQCONNX, debe estar seguro de que existen los objetos necesarios; para ello, ejecute el siguiente mandato y luego reintente la aplicacin:
STRMQM -c qmgr
siendo qmgr el nombre del gestor de colas. v Si el error se produjo en la llamada MQPUT, examine los registros de respuesta MQRR especificados en la llamada MQOPEN para averiguar por qu razn no se abri la cola. Asegrese de que la aplicacin proporciona suficientes registros de respuesta en la llamada para permitir determinar los errores. RC2139 (2139, X'85B') La estructura de las opciones de conectar no es vlida. En una llamada MQCONNX, la estructura de las opciones de conectar MQCNO no es vlida por una de estas razones: v El nemotcnico de atencin CNSID no es CNSIDV. v El campo CNVER no es CNVER1. v El puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v El gestor de colas no puede copiar la estructura cambiada en el almacenamiento de la aplicacin, aunque la llamada sea satisfactoria. Esto puede producirse, por ejemplo, si el puntero del parmetro seala a un almacenamiento de solo lectura. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQCNO. Asegrese de que se han establecido correctamente los campos de entrada obligatorios. RC2141 (2141, X'85D') La estructura de cabecera de mensajes no entregados no es vlida.
408
Cdigos de retorno
En una llamada MQPUT o MQPUT1, no es vlida la estructura de cabecera de mensajes no entregados MQDLH de los datos del mensaje. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQDLH. Asegrese de que los campos estn correctamente establecidos. RC2142 (2142, X'85E') La estructura de cabecera de MQ no es vlida. Se ha empleado la llamada MQPUT o MQPUT1 para transferir un mensaje que contiene una estructura de cabecera de MQ, pero la estructura no es vlida. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura de cabecera de MQ. Asegrese de que los campos estn correctamente establecidos. RC2143 (2143, X'85F') Parmetro longitud origen no vlido. En la llamada MQXCNVC, el parmetro SRCLEN especifica una longitud menor que cero o que no es coherente con el juego de caracteres de la serie o con el contenido (por ejemplo, el juego de caracteres es de doble byte, pero la longitud no es un mltiplo de dos). Esta razn se produce tambin si el puntero del parmetro SRCLEN no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Este cdigo de razn tambin se puede producir en la llamada MQGET cuando se especifica la opcin GMCONV. En este caso, indica que una llamada MQXCNVC emitida por la rutina de salida de conversin de datos devolvi la razn RC2143. Accin correctora: especifique una longitud que sea mayor o igual que cero. Si el cdigo de razn se produce en la llamada MQGET, vea si es correcta la lgica de la rutina de salida de conversin de datos. RC2144 (2144, X'860') Parmetro longitud destino no vlido. En la llamada MQXCNVC, el parmetro TGTLEN no es vlido debido a una de estas razones: v TGTLEN es menor que cero. v El puntero del parmetro TGTLEN no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v Se ha especificado la opcin DCCFIL, pero TGTLEN tiene un valor tal que el almacenamiento intermedio destino no se puede llenar completamente con caracteres vlidos. Esto se puede producir cuando TGTCSI es un juego de caracteres totalmente DBCS (como UCS-2), pero TGTLEN especifica una longitud que es un nmero impar de bytes.
409
Cdigos de retorno
Este cdigo de razn tambin se puede producir en la llamada MQGET cuando se especifica la opcin GMCONV. En este caso, indica que una llamada MQXCNVC emitida por la rutina de salida de conversin de datos devolvi la razn RC2144. Accin correctora: especifique una longitud que sea mayor o igual que cero. Si se especifica la opcin DCCFIL, y TGTCSI es un juego de caracteres totalmente DBCS, asegrese de que TGTLEN indica una longitud que sea mltiplo de dos. Si el cdigo de razn se produce en la llamada MQGET, vea si es correcta la lgica de la rutina de salida de conversin de datos. RC2145 (2145, X'861') Parmetro almacenamiento intermedio origen no vlido. En la llamada MQXCNVC, el puntero de parmetro SRCBUF no es vlido o seala a un almacenamiento al que no puede acceder toda la longitud especificada por SRCLEN. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Este cdigo de razn tambin se puede producir en la llamada MQGET cuando se especifica la opcin GMCONV. En este caso, indica que una llamada MQXCNVC emitida por la rutina de salida de conversin de datos devolvi la razn RC2145. Accin correctora: especifique un almacenamiento intermedio vlido. Si el cdigo de razn se produce en la llamada MQGET, vea si es correcta la lgica de la rutina de salida de conversin de datos. RC2146 (2146, X'862') Parmetro almacenamiento intermedio destino no vlido. En la llamada MQXCNVC, el puntero de parmetro TGTBUF no es vlido o seala a un almacenamiento de solo lectura o bien a un almacenamiento al que no puede acceder toda la longitud especificada por TGTLEN. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Este cdigo de razn tambin se puede producir en la llamada MQGET cuando se especifica la opcin GMCONV. En este caso, indica que una llamada MQXCNVC emitida por la rutina de salida de conversin de datos devolvi la razn RC2146. Accin correctora: especifique un almacenamiento intermedio vlido. Si el cdigo de razn se produce en la llamada MQGET, vea si es correcta la lgica de la rutina de salida de conversin de datos. RC2148 (2148, X'864') La estructura de cabecera de informacin de IMS no es vlida. En una llamada MQPUT o MQPUT1, no es vlida la estructura MQIIH de cabecera de informacin de IMS de los datos del mensaje. Accin correctora: corrija la definicin de la estructura MQIIH. Asegrese de que los campos estn correctamente establecidos. RC2149 (2149, X'865') Las estructuras PCF no son vlidas.
410
Cdigos de retorno
Se ha emitido una llamada MQPUT o MQPUT1 para transferir un mensaje que contena datos PCF, pero la longitud del mensaje no es igual a la suma de las longitudes de las estructuras PCF que hay en el mensaje. Esto puede producirse en los mensajes que tengan los siguientes nombres de formato: FMADMN FMEVNT FMPCF Accin correctora: asegrese de que la longitud del mensaje especificado en la llamada MQPUT o MQPUT1 sea igual a la suma de las longitudes de las estructuras que hay en los datos del mensaje. RC2150 (2150, X'866') La serie DBCS no es vlida. En la llamada MQXCNVC, el parmetro SRCCSI especifica el identificador de un juego de caracteres de doble byte (DBCS), pero el parmetro SRCBUF no contiene una serie DBCS vlida. Esto puede ocurrir porque la serie contenga caracteres que no son caracteres DBCS vlidos, o porque sea una serie mixta SBCS/DBCS y los caracteres de desplazamiento a teclado ideolgico/desplazamiento a teclado estndar no estn emparejados correctamente. Este cdigo de razn tambin se puede producir en la llamada MQGET cuando se especifica la opcin GMCONV. En este caso, indica que una llamada MQXCNVC emitida por la rutina de salida de conversin de datos devolvi la razn RC2150. Accin correctora: especifique una serie vlida. Si el cdigo de razn se produce en la llamada MQGET, vea si son vlidos los datos del mensaje y si es correcta la lgica de la rutina de salida de conversin de datos. RC2152 (2152, X'868') El nombre de objeto no es vlido. Se ha emitido una llamada MQOPEN o MQPUT1 para abrir una lista de distribucin (es decir, el campo ODREC de MQOD es mayor que cero), pero el campo ODON no es ni un blanco ni la serie nula. Accin correctora: si lo que se pretende es abrir una lista de distribucin, establezca el campo ODON en blancos o en la serie nula. En caso contrario, establezca el campo ODREC en cero. RC2153 (2153, X'869') El nombre de gestor de colas de objeto no es vlido. Se ha emitido una llamada MQOPEN o MQPUT1 para abrir una lista de distribucin (es decir, el campo ODREC de MQOD es mayor que cero), pero el campo ODMN no es ni blancos ni la serie nula. Accin correctora: si lo que se pretende es abrir una lista de distribucin, establezca el campo ODMN en blancos o en la serie nula. En caso contrario, establezca el campo ODREC en cero. RC2154 (2154, X'86A') El nmero de registros presentes no es vlido. Se ha emitido una llamada MQOPEN o MQPUT1, pero la llamada ha fallado por uno de estos motivos: v ODREC de MQOD es menor que cero.
Apndice A. Cdigos de retorno
411
Cdigos de retorno
v ODOT de MQOD no es OTQ, y ODREC no es cero. ODREC debe ser cero si el objeto que se va a abrir no es una cola. Accin correctora: si lo que se pretende es abrir una lista de distribucin, establezca el campo ODOT en OTQ y ODREC en el nmero de destinos de la lista. En caso contrario, establezca el campo ODREC en cero. RC2155 (2155, X'86B') Los registros de objeto no son vlidos. Se ha emitido una llamada MQOPEN o MQPUT1 para abrir una lista de distribucin (es decir, el campo ODREC de MQOD es mayor que cero), pero los registros de objeto MQOR no se han especificado correctamente. Se ha producido una de las siguientes condiciones: v ODORO es cero y ODORP es el puntero nulo o cero. v ODORO no es cero y ODORP no es ni el puntero nulo ni cero. v ODORP no es un puntero vlido. v ODORP o ODORO seala a un almacenamiento no accesible. Accin correctora: asegrese de que uno de los valores ODORO y ODORP sea cero y el otro distinto de cero. Asegrese de que el campo utilizado seala a un almacenamiento accesible. RC2156 (2156, X'86C') Los registros de respuesta no son vlidos. Se ha emitido una llamada MQOPEN o MQPUT1 para abrir una lista de distribucin (es decir, el campo ODREC de MQOD es mayor que cero), pero los registros de respuesta MQRR no se han especificado correctamente. Se ha producido una de las siguientes condiciones: v ODRRO no es cero y ODRRP no es ni el puntero nulo ni cero. v ODRRP no es un puntero vlido. v ODRRP o ODRRO seala a un almacenamiento no accesible. Accin correctora: asegrese de que sea cero al menos uno de los valores ODRRO y ODRRP. Asegrese de que el campo utilizado seala a un almacenamiento accesible. RC2158 (2158, X'86E') No son vlidos los distintivos de los registros para poner mensaje. Se ha emitido una llamada MQPUT o MQPUT1 para poner un mensaje, pero el campo PMPRF de la estructura MQPMO no es vlido debido a una de estas razones: v El campo contiene distintivos que no son vlidos. v El mensaje se va a poner en una lista de distribucin, y se han proporcionado registros para poner el mensaje (es decir, PMREC es mayor que cero, y uno de los valores PMPRO o PMPRP es distinto de cero), pero PMPRF tiene el valor PFNONE. v Se ha especificado PFACC sin PMSETI o PMSETA. Accin correctora: asegrese de que PMPRF se establece con los distintivos PF* adecuados para indicar qu campos estn presentes en los registros
412
Cdigos de retorno
para poner el mensaje. Si se especifica PFACC, se debe especificar asimismo PMSETI o PMSETA. Alternativamente, establezca PMPRO y PMPRP en cero. RC2159 (2159, X'86F') No son vlidos los registros para poner mensaje. Se ha emitido una llamada MQPUT o MQPUT1 para poner un mensaje en una lista de distribucin, pero no se han especificado correctamente los registros para poner mensaje MQPMR. Se ha producido una de las siguientes condiciones: v PMPRO no es cero y PMPRP no es ni el puntero nulo ni cero. v PMPRP no es un puntero vlido. v PMPRP o PMPRO seala a un almacenamiento no accesible. Accin correctora: asegrese de que sea cero al menos uno de los valores PMPRO y PMPRP. Asegrese de que el campo utilizado seala a un almacenamiento accesible. RC2161 (2161, X'871') El gestor de colas est en reposo. La aplicacin ha intentado conectarse al gestor de colas, pero este est en estado de reposo. v En OS/400, la aplicacin ha emitido la llamada MQCONN, o bien ha emitido la llamada MQOPEN cuando no se haba establecido ninguna conexin. Este cdigo de razn tambin se produce si el gestor de colas est en estado de reposo y la aplicacin emite una de estas llamadas: v MQOPEN, con OOFIQ incluido en el parmetro OPTS v MQGET, con GMFIQ incluido en el campo GMOPT del parmetro GMO v MQPUT o MQPUT1, con PMFIQ incluido en el campo PMOPT del parmetro PMO Accin correctora: la aplicacin debe ponerlo todo en orden y detenerse. Si no se utilizan las opciones OOFIQ, PMFIQ ni GMFIQ, la aplicacin tal vez siga trabajando para completar y comprometer la unidad de trabajo actual; pero no debe empezar otra unidad de trabajo. RC2162 (2162, X'872') Se est cerrando el gestor de colas. Se ha emitido una llamada cuando el gestor de colas se estaba cerrando. Si la llamada es MQGET con la opcin GMWT, la espera se ha cancelado. No pueden emitirse ms llamadas de gestin de colas de mensajes. Accin correctora: la aplicacin debe ponerlo todo en orden y detenerse. Las aplicaciones deben asegurar que se restituyen todas las actualizaciones que no se hayan comprometido; las unidades de trabajo coordinadas por el gestor de colas se restituyen automticamente. RC2173 (2173, X'87D') La estructura de las opciones de poner mensaje no es vlida. En una llamada MQPUT o MQPUT1, la estructura MQPMO no es vlida. No es correcto el nemotcnico de atencin PMSID o no se ha reconocido el valor de PMVER.
413
Cdigos de retorno
Esta razn tambin se produce si: v El puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). v El gestor de colas no puede copiar la estructura cambiada en el almacenamiento de la aplicacin, aunque la llamada sea satisfactoria. Esto puede producirse, por ejemplo, si el puntero seala a un almacenamiento de solo lectura. Accin correctora: corrija la definicin de la estructura MQPMO. Asegrese de que se han establecido correctamente los campos de entrada obligatorios. RC2184 (2184, X'888') El nombre de la cola remota no es vlido. En una llamada MQOPEN o MQPUT1, se ha producido una de estas situaciones: v Se ha especificado una definicin local (o un alias) de una cola remota, pero el atributo RemoteQName de la definicin de cola remota est completamente en blanco. Recuerde que este error se produce incluso si el atributo XmitQName de la definicin no est en blanco. v El campo ODMN del descriptor de objeto no estaba en blanco ni era el nombre del gestor de colas local, pero el campo ODON est en blanco. Accin correctora: modifique la definicin local de la cola remota y facilite un nombre de cola remota vlido, o facilite un valor de ODON que no sea en blanco en el descriptor de objeto, segn corresponda. RC2185 (2185, X'889') Especificacin de permanencia incoherente. Se ha emitido la llamada MQPUT para poner un mensaje que, en el campo MDPER de MQMD, tiene un valor distinto del que tena la llamada anterior de poner mensaje utilizando esa asa de cola. Esto no est permitido cuando se especifica la opcin PMLOGO y ya hay un grupo de mensajes actual o un mensaje lgico. Los mensajes de un grupo y los segmentos de un mensaje lgico deben ser o todos permanentes o todos no permanentes. Accin correctora: modifique la aplicacin para asegurar que todos los mensajes de un grupo o de un mensaje lgico se pongan con el mismo valor del campo MDPER de MQMD. RC2186 (2186, X'88A') No es vlida la estructura de las opciones de obtener mensaje. En una llamada MQGET, no es vlida la estructura MQGMO. O no es vlido el nemotcnico de atencin GMSID o no se ha reconocido el valor de GMVER. Esta razn tambin se produce si: v El puntero del parmetro no es vlido. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible).
414
Cdigos de retorno
v El gestor de colas no puede copiar la estructura cambiada en el almacenamiento de la aplicacin, aunque la llamada sea satisfactoria. Esto puede producirse, por ejemplo, si el puntero seala a un almacenamiento de solo lectura. Accin correctora: corrija la definicin de la estructura MQGMO. Asegrese de que se han establecido correctamente los campos de entrada obligatorios. RC2187 (2187, X'88B') La funcin solicitada no est soportada por el puente CICS. No est permitido usar la MQI desde las transacciones de usuario que se ejecutan en un entorno de puente MQSeries-CICS, cuando la rutina de salida del puente tambin utiliza la MQI. Falla la peticin de la MQI. Si esto se produce en la rutina de salida del puente, la transaccin terminar de forma anmala (abend). Si esto se produce en la transaccin de usuario, la transaccin podra terminar de forma anmala (abend). Accin correctora: no se puede ejecutar la transaccin utilizando el puente MQSeries-CICS. En el correspondiente manual CICS hallar informacin acerca de las restricciones del entorno del puente MQSeries-CICS. RC2188 (2188, X'88C') Llamada rechazada por la rutina de salida de carga de trabajo de clster. Se ha emitido una llamada MQOPEN, MQPUT o MQPUT1 para abrir una cola de clster o poner un mensaje en ella, pero la rutina de salida de carga de trabajo del clster ha rechazado la llamada. | Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/390, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: compruebe la rutina de salida de carga de trabajo del clster para ver si est bien escrita. Averige por qu rechaz la llamada y corrija el problema. RC2189 (2189, X'88D') Ha fallado la resolucin del nombre de clster. Se ha emitido una llamada MQOPEN, MQPUT o MQPUT1 para abrir una cola de clster o poner un mensaje en ella, pero no se pudo resolver correctamente la definicin de cola, porque se requera una respuesta del gestor del depsito y no haba ninguna. | Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/390, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: vea si est funcionando el gestor del depsito y si son correctas las definiciones de cola y de canal. RC2190 (2190, X'88E') La serie convertida es demasiado grande para el campo. En una llamada MQGET con la opcin GMCONV incluida en el parmetro GMO, haba una serie en un campo de longitud fija del mensaje; pero la serie se expandi durante la conversin de datos y su tamao super el del campo. Cuando sucede esto, el gestor de colas intenta descartar los blancos
415
Cdigos de retorno
finales y los caracteres que siguen al primer carcter nulo, con el objeto de lograr que quepa la serie; pero en este caso no haba suficientes caracteres que descartar. Este cdigo de razn tambin se puede producir en los mensajes cuyo nombre de formato es FMIMVS. Cuando ello sucede, indica que la serie variable de IMS se expande de tal forma que su longitud supera la capacidad del campo de longitud binaria de 2 bytes contenido dentro de la estructura de la serie variable de IMS. (El gestor de colas no descarta nunca los blancos finales de una serie variable de IMS). El mensaje se devuelve sin convertir, con el parmetro CMPCOD de la llamada MQGET establecido en CCWARN. Si el mensaje consta de varias partes, cada una de ellas descrita por sus propios campos de juego de caracteres y de codificacin (por ejemplo, un mensaje con el nombre de formato FMDLH), puede ser que se conviertan algunas partes y otras no. No obstante, los valores devueltos en los distintos campos de juego de caracteres y de codificacin siempre describen correctamente los datos de mensaje relevantes. Este cdigo de razn no aparece si es posible hacer que la serie quepa a base de descartar los caracteres blancos finales. Accin correctora: compruebe si los campos del mensaje contienen los valores correctos y si son correctos los identificadores de juego de caracteres especificados por el emisor y el receptor del mensaje. Si lo son, es preciso modificar el diseo de los datos del mensaje, aumentando las longitudes de los campos para que as haya espacio suficiente para permitir que las series se expandan al convertirse. RC2191 (2191, X'88F') La estructura de mensaje desencadenante de tipo carcter no es vlida. En una llamada MQPUT o MQPUT1, no es vlida la estructura de mensaje desencadenante de tipo carcter MQTMC de los datos del mensaje. Accin correctora: corrija la definicin de la estructura MQTMC. Asegrese de que los campos estn correctamente establecidos. RC2194 (2194, X'892') El nombre de objeto no es vlido para el tipo de objeto. Se ha emitido una llamada MQOPEN para abrir la definicin de gestor de colas, pero el campo ODON del parmetro OBJDSC no est en blanco. Accin correctora: asegrese de que el campo ODON se establece en blancos. RC2195 (2195, X'893') Se ha producido un error inesperado. La llamada ha sido rechazada porque se ha producido un error inesperado. Accin correctora: compruebe la lista de parmetros de la aplicacin para asegurarse de que, por ejemplo, se ha pasado el nmero correcto de parmetros y de que son vlidos los punteros de datos y las claves de almacenamiento. Si el problema no se puede resolver, pngase en contacto con el programador del sistema. En el registro de FFST encontrar ms informacin sobre el problema. RC2196 (2196, X'894') Cola de transmisin desconocida.
416
Cdigos de retorno
En una llamada MQOPEN o MQPUT1, se debe enviar un mensaje a un gestor de colas remoto. ODON o ODMN del descriptor de objeto especifica el nombre de una definicin local de una cola remota (en el ltimo caso se utiliza la creacin de alias de gestor de colas), pero el atributo XmitQName de la definicin no est en blanco o no es el nombre de una cola definida localmente. Accin correctora: compruebe los valores especificados para ODON y ODMN. Si son correctos, compruebe las definiciones de cola. Para obtener ms informacin sobre las colas de transmisin, consulte la publicacin MQSeries Application Programming Guide. RC2197 (2197, X'895') Cola de transmisin por omisin desconocida. Se ha emitido una llamada MQOPEN o MQPUT1 que especificaba una cola remota como destino. Si se ha especificado una definicin local de la cola remota o se est resolviendo un alias de gestor de colas, el atributo XmitQName de la definicin local est en blanco. Debido a que no hay ninguna cola definida que tenga el mismo nombre que el gestor de colas destino, el gestor de colas ha intentado utilizar la cola de transmisin por omisin. No obstante, el nombre definido por el atributo DefXmitQName del gestor de colas no es el nombre de una cola definida localmente. Accin correctora: corrija las definiciones de cola o el atributo del gestor de colas. Puede obtener ms informacin en el manual MQSeries Application Programming Guide. RC2198 (2198, X'896') La cola de transmisin por omisin no es local. Se ha emitido una llamada MQOPEN o MQPUT1 que especificaba una cola remota como destino. Se ha especificado una definicin local de la cola remota o se est resolviendo un alias de gestor de colas, pero en los dos casos el atributo XmitQName de la definicin local est en blanco. Debido a que no hay ninguna cola de transmisin definida que tenga el mismo nombre que el gestor de colas destino, el gestor de colas local ha intentado utilizar la cola de transmisin por omisin. Sin embargo, aunque hay una cola definida por el atributo DefXmitQName del gestor de colas, esa cola no es local. Accin correctora: realice una de estas acciones: v Especifique una cola de transmisin local como valor del atributo XmitQName en la definicin local de la cola remota. v Defina una cola de transmisin local cuyo nombre sea el del gestor de colas remoto. v Especifique una cola de transmisin local como valor del atributo DefXmitQName del gestor de colas. Puede obtener ms informacin en el manual MQSeries Application Programming Guide. RC2199 (2199, X'897') Error de utilizacin de la cola de transmisin por omisin. Se ha emitido una llamada MQOPEN o MQPUT1 que especificaba una cola remota como destino. Se ha especificado una definicin local de la
417
Cdigos de retorno
cola remota o se est resolviendo un alias de gestor de colas, pero en los dos casos el atributo XmitQName de la definicin local est en blanco. Debido a que no hay definida ninguna cola de transmisin cuyo nombre sea el del gestor de colas destino, el gestor de colas local ha intentado utilizar la cola de transmisin por omisin. Sin embargo, la cola definida por el atributo DefXmitQName del gestor de colas no tiene un atributo Usage que sea igual a USTRAN. Accin correctora: realice una de estas acciones: v Especifique una cola de transmisin local como valor del atributo XmitQName en la definicin local de la cola remota. v Defina una cola de transmisin local que tenga el nombre del gestor de colas remoto. v Especifique otra cola de transmisin local como valor del atributo DefXmitQName del gestor de colas. v Cambie el atributo Usage de la cola DefXmitQName por USTRAN. Puede obtener ms informacin en el manual MQSeries Application Programming Guide. RC2206 (2206, X'89E') Error de identificador de mensaje. En una llamada MQGET, el campo MDMID no es cero. No est soportada la recuperacin selectiva por identificador de mensaje. Accin correctora: asegrese de que el valor del campo MDMID es cero. RC2207 (2207, X'89F') Error de identificador de correlacin. En una llamada MQGET, el campo MDCID no es cero. No est soportada la recuperacin selectiva por identificador de correlacin. Accin correctora: asegrese de que el valor del campo MDCID es cero. RC2208 (2208, X'8A0') Error de sistema de archivos. Se ha recibido un retorno inesperado desde el sistema de archivos, al intentar una operacin en una cola. Este cdigo de razn solo se produce en VSE/ESA. Accin correctora: vea si en la definicin del sistema de archivos se encuentra la cola a la que se estaba accediendo. Si se trata de un archivo VSAM, compruebe si el intervalo de control es suficiente para la longitud mxima de mensaje permitida en la cola. RC2209 (2209, X'8A1') No hay ningn mensaje bloqueado. Se ha emitido una llamada MQGET con la opcin GMUNLK, pero en ese momento no haba ningn mensaje bloqueado. Accin correctora: compruebe que una llamada MQGET anterior con la opcin GMLK bloque un mensaje para la misma asa y que no ha habido ninguna llamada intermedia que haya desbloqueado el mensaje. RC2218 (2218, X'8AA') La longitud del mensaje es mayor que la longitud mxima del canal.
418
Cdigos de retorno
Se ha puesto un mensaje en una cola remota, pero es ms largo que la longitud mxima permitida por el canal. Este cdigo de razn se devuelve en el campo MDFB del descriptor de un mensaje de informe. Accin correctora: compruebe las definiciones de canal. Aumente la longitud mxima de mensaje que pueda aceptar el canal o desglose el mensaje en varios mensajes ms cortos. RC2219 (2219, X'8AB') La llamada MQI ha reentrado antes de que se completara la llamada anterior. La aplicacin ha emitido una llamada MQI mientras ya se estaba procesando otra llamada MQI para esa conexin. Solo se puede procesar una llamada por conexin de aplicacin al mismo tiempo. Las llamadas concurrentes solo pueden aparecer en ciertas situaciones especializadas, como en una rutina de salida invocada como parte del proceso de una llamada MQI. Por ejemplo, se puede invocar la rutina de salida de conversin de datos como parte del proceso de la llamada MQGET. Accin correctora: asegrese de que no sea posible emitir una llamada MQI mientras haya otra que est activa. No emita llamadas MQI desde dentro de una rutina de salida de conversin de datos. RC2220 (2220, X'8AC') La estructura de cabecera de mensaje de referencia no es vlida. En una llamada MQPUT o MQPUT1, no es vlida la estructura de la cabecera de mensaje de referencia MQRMH de los datos del mensaje. Accin correctora: corrija la definicin de la estructura MQRMH. Asegrese de que los campos estn correctamente establecidos. RC2222 (2222, X'8AE') Se ha creado el gestor de colas. Se detecta esta condicin cuando se activa un gestor de colas. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2223 (2223, X'8AE') Gestor de colas no disponible. Esta condicin se detecta cuando se solicita a un gestor de colas que se detenga o que adquiera el estado de reposo. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2224 (2224, X'8B0') Se ha alcanzado o se ha excedido el lmite de profundidad mxima de cola. Debido a una llamada MQPUT o MQPUT1, la profundidad de cola ha aumentado hasta igualar o superar el lmite especificado en el atributo QDepthHighLimit. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso.
419
Cdigos de retorno
RC2225 (2225, X'8B1') Se ha alcanzado o se ha excedido el lmite de profundidad mnimo de cola. Debido a una llamada MQGET, la profundidad de cola ha disminuido hasta igualar o situarse por debajo del lmite especificado en el atributo QDepthLowLimit. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2226 (2226, X'8B2') El intervalo de servicio de cola es alto. No se han detectado llamadas de obtener ni de poner satisfactorias durante un intervalo que supera el lmite especificado en el atributo QServiceInterval. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2227 (2227, X'8B3') El intervalo de servicio de cola es correcto. Se ha detectado una obtencin satisfactoria durante un intervalo que es inferior o igual al lmite especificado en el atributo QServiceInterval. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2232 (2232, X'8B8') La unidad de trabajo no se ha iniciado. Se ha emitido una llamada MQGET, MQPUT o MQPUT1 para obtener o poner un mensaje dentro de una unidad de trabajo, pero no se ha iniciado ninguna transaccin TM/MP. Si no se ha especificado GMNSYP en MQGET, o si no se ha especificado PMNSYP en MQPUT o MQPUT1 (el valor por omisin), la llamada requiere una unidad de trabajo. Accin correctora: asegrese de que est disponible una transaccin TM/MP o emita la llamada MQGET con la opcin GMNSYP, o bien la llamada MQPUT o MQPUT1 con la opcin PMNSYP, para que as se inicie automticamente una transaccin. RC2233 (2233, X'8B9') Definicin automtica de canal satisfactoria. Se detecta esta condicin cuando es satisfactoria la definicin automtica de un canal. El MCA (agente de canal de mensajes) es el que define el canal. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2234 (2234, X'8BA') Ha fallado la definicin automtica de canal. Esta condicin se detecta cuando falla la definicin automtica de un canal; puede suceder por haberse producido un error durante el proceso de definicin o porque la rutina de salida de definicin automtica de canal haya inhibido la definicin. En el mensaje de suceso se devuelve informacin adicional que indica el motivo de la anomala.
420
Cdigos de retorno
Accin correctora: examine la informacin adicional devuelta en el mensaje de suceso para averiguar la razn de la anomala. RC2235 (2235, X'8BB') La estructura de cabecera de PCF no es vlida. En una llamada MQPUT o MQPUT1, no es vlida la estructura de cabecera de PCF (que se llama MQCFH) de los datos del mensaje. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQCFH. Asegrese de que los campos estn correctamente establecidos. RC2236 (2236, X'8BC') No es vlida la estructura de parmetro lista de tipo entero PCF. En una llamada MQPUT o MQPUT1, no es vlida la estructura de parmetro lista de tipo entero PCF (que se llama MQCFIL) de los datos del mensaje. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQCFIL. Asegrese de que los campos estn correctamente establecidos. RC2237 (2237, X'8BD') No es vlida la estructura de parmetro de tipo entero PCF. En una llamada MQPUT o MQPUT1, no es vlida la estructura de parmetro de tipo entero PCF (que se llama MQCFIN) de los datos del mensaje. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQCFIN. Asegrese de que los campos estn correctamente establecidos. RC2238 (2238, X'8BE') No es vlida la estructura de parmetro lista de tipo serie PCF. En una llamada MQPUT o MQPUT1, no es vlida la estructura de parmetro lista de tipo serie de PCF (que se llama MQCFSL) de los datos del mensaje. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: corrija la definicin de la estructura MQCFSL. Asegrese de que los campos estn correctamente establecidos. RC2239 (2239, X'8BF') No es vlida la estructura de parmetro de tipo serie de PCF. En una llamada MQPUT o MQPUT1, no es vlida la estructura de parmetro de tipo serie de PCF (que se llama MQCFST) de los datos del mensaje. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT.
Apndice A. Cdigos de retorno
421
Cdigos de retorno
Accin correctora: corrija la definicin de la estructura MQCFST. Asegrese de que los campos estn correctamente establecidos. RC2241 (2241, X'8C1') El grupo de mensajes no est completo. Se ha intentado una operacin en una cola utilizando un asa de cola que tena un grupo de mensajes incompleto. Las situaciones que pueden dar lugar a este cdigo de razn son las siguientes: v En la llamada MQPUT, cuando la aplicacin intenta poner un mensaje que no est en el grupo y especifica PMLOGO. La llamada falla en este caso. v En la llamada MQPUT, cuando la aplicacin intenta poner un mensaje que no es el siguiente del grupo, no especifica PMLOGO, pero la llamada MQPUT anterior del asa de cola s especificaba PMLOGO. En este caso, la llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN. v En la llamada MQGET, cuando la aplicacin intenta obtener un mensaje que no es el siguiente del grupo, no especifica GMLOGO, pero la llamada MQGET anterior del asa de cola s especificaba GMLOGO. En este caso, la llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN. v En la llamada MQCLOSE, cuando la aplicacin intenta cerrar la cola cuyo grupo de mensajes es incompleto. La llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN. Si, adems del grupo de mensajes incompleto, hay un mensaje lgico incompleto, se devuelve el cdigo de razn RC2242 en lugar del cdigo de razn RC2241. Accin correctora: si este cdigo de razn es el que se esperaba, no es necesaria ninguna accin correctora. En caso contrario, asegrese de que la llamada MQPUT del ltimo mensaje del grupo especifica MFLMIG. RC2242 (2242, X'8C2') El mensaje lgico no est completo. Se ha intentado una operacin en una cola utilizando un asa de cola que tena un mensaje lgico incompleto. Las situaciones que pueden dar lugar a este cdigo de razn son las siguientes: v En la llamada MQPUT, cuando la aplicacin intenta poner un mensaje que no es un segmento y especifica PMLOGO. La llamada falla en este caso. v En la llamada MQPUT, cuando la aplicacin intenta poner un mensaje que no es el siguiente segmento, no especifica PMLOGO, pero la llamada MQPUT anterior del asa de cola s especificaba PMLOGO. En este caso, la llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN. v En la llamada MQGET, cuando la aplicacin intenta obtener un mensaje que no es el siguiente segmento, no especifica GMLOGO, pero la llamada MQGET anterior del asa de cola s especificaba GMLOGO. En este caso, la llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN. v En la llamada MQCLOSE, cuando la aplicacin intenta cerrar la cola cuyo mensaje lgico est incompleto. La llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN.
422
Cdigos de retorno
Accin correctora: si este cdigo de razn es el que se esperaba, no es necesaria ninguna accin correctora. En caso contrario, asegrese de que la llamada MQPUT del ltimo segmento especifica MFLSEG. RC2243 (2243, X'8C3') Los segmentos del mensaje tienen distintos CCSID. Se ha emitido una llamada MQGET que especificaba la opcin GMCMPM, pero el mensaje que se ha de recuperar consta de dos o ms segmentos que tienen distintos valores en el campo MDCSI de MQMD. Esto puede suceder cuando los segmentos toman distintas vas a travs de la red y algunas de ellas tienen habilitada la conversin de emisor de MCA. La llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN, pero solo se devuelven los primeros segmentos cuyos identificadores de juego de caracteres sean idnticos. Accin correctora: elimine la opcin GMCMPM de la llamada MQGET y recupere los dems segmentos del mensaje uno por uno. RC2244 (2244, X'8C4') Los segmentos del mensaje tienen distintas codificaciones. Se ha emitido una llamada MQGET que especificaba la opcin GMCMPM, pero el mensaje que se ha de recuperar consta de dos o ms segmentos que tienen distintos valores en el campo MDENC de MQMD. Esto puede suceder cuando los segmentos toman distintas vas a travs de la red y algunas de ellas tienen habilitada la conversin de emisor de MCA. La llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN, pero solo se devuelven los primeros segmentos cuyas codificaciones sean idnticas. Accin correctora: elimine la opcin GMCMPM de la llamada MQGET y recupere los dems segmentos del mensaje uno por uno. RC2245 (2245, X'8C5') Especificacin incoherente de unidad de trabajo. Se ha producido una de las siguientes condiciones: v Se ha emitido una llamada MQPUT para poner un mensaje en un grupo o en un segmento de un mensaje lgico, pero el valor que se ha especificado o tomado por omisin en la opcin PMSYP no es coherente con el grupo actual ni con la informacin de segmento retenida por el gestor de colas del asa de cola. La llamada falla si la llamada actual especifica PMLOGO. Si la llamada actual no especifica PMLOGO, pero s lo hizo la llamada MQPUT anterior del asa de cola, la llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN. v Se ha emitido una llamada MQGET para eliminar de la cola un mensaje del grupo o un segmento de un mensaje lgico, pero el valor especificado o tomado por omisin en la opcin GMSYP no es coherente con el grupo actual ni con la informacin de segmento retenido por el gestor de colas del asa de cola. La llamada falla si la llamada actual especifica GMLOGO. Si la llamada actual no especifica GMLOGO, pero s lo hizo la llamada MQGET anterior del asa de cola, la llamada es satisfactoria y devuelve el cdigo de terminacin CCWARN. Accin correctora: modifique la aplicacin para asegurarse de que se utiliza la misma especificacin de unidad de trabajo para todos los mensajes del grupo o para todos los segmentos del mensaje lgico.
Apndice A. Cdigos de retorno
423
Cdigos de retorno
RC2246 (2246, X'8C6') El mensaje bajo cursor no es vlido para recuperacin. Se ha emitido una llamada MQGET que especificaba la opcin GMCMPM con GMMUC o GMBRWC, pero el mensaje que est bajo el cursor tiene una estructura MQMD con un campo MDOFF que es mayor que cero. Debido a que se ha especificado GMCMPM, el mensaje no es vlido para recuperacin. Accin correctora: vuelva a situar el cursor de examinar para que se coloque en un mensaje cuyo campo MDOFF de MQMD sea cero. Otra solucin sera eliminar la opcin GMCMPM. RC2247 (2247, X'8C7') Las opciones de emparejar no son vlidas. Se ha emitido una llamada MQGET, pero no es vlido el valor del campo GMMO del parmetro GMO. Se ha especificado ya sea una opcin no definida o bien una opcin definida que no es vlida en las circunstancias actuales. En este ltimo caso, se cumplen todas estas condiciones: v Se ha especificado GMLOGO. v Hay un grupo de mensajes o un mensaje lgico actual para el asa de cola. v No se ha especificado ninguna de estas opciones: GMBRWC GMMUC v Se ha especificado una o varias de las opciones de tipo MO*. v Los valores de los campos del parmetro MSGDSC que se corresponden con las opciones de tipo MO* especificadas son distintos de los valores que tienen esos mismos campos en la estructura MQMD del siguiente mensaje que se ha de devolver. Accin correctora: asegrese de que solo se especifican opciones vlidas para el campo. RC2248 (2248, X'8C8') La extensin de descriptor de mensaje no es vlida. La estructura MQMDE que hay al principio de los datos del mensaje de aplicacin no es vlida por una de estas razones: v El nemotcnico de atencin MESID no es MESIDV. v El campo MEVER es menor que MEVER2. v El campo MELEN es menor que MELEN2 o (solo para MEVER igual a MEVER2) mayor que MELEN2. Accin correctora: corrija la definicin de la extensin del descriptor de mensaje. Asegrese de que se han establecido correctamente los campos de entrada obligatorios. RC2249 (2249, X'8C9') Los distintivos de mensaje no son vlidos. Se ha emitido una llamada MQPUT o MQPUT1, pero el campo MDMFL del descriptor de mensaje MQMD contiene uno o varios distintivos de mensaje no reconocidos por el gestor de colas local. Los distintivos de mensaje que pueden provocar que se devuelva este cdigo de razn dependen del destino del mensaje; en el Apndice E. Opciones de informe en la pgina 481 encontrar ms detalles.
424
Cdigos de retorno
Este cdigo de razn tambin aparece en el campo MDFB del MQMD de un mensaje de informe o en el campo DLREA de la estructura MQDLH de un mensaje de la cola de mensajes no entregados; en los dos casos, indica que el gestor de colas destino no da soporte a uno o a varios de los distintivos de mensaje especificados por el emisor del mensaje. Accin correctora: realice lo siguiente: 1. Asegrese de que el campo MDMFL del descriptor de mensaje se inicializa con un valor al declarar el descriptor de mensaje o que se le asigna un valor antes de la llamada MQPUT o MQPUT1. Especifique MFNONE si no se necesita ningn distintivo de mensaje. 2. Asegrese de que los distintivos de mensaje especificados estn documentados en este manual; en el campo MDMFL descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 hallar los distintivos vlidos para los mensajes. Elimine los distintivos de mensaje que no estn documentados en este manual. 3. Si se van a establecer mltiples distintivos de mensaje a base de combinar los distintivos de mensaje individuales, asegrese de que no se aade dos veces un mismo distintivo de mensaje. RC2250 (2250, X'8CA') El nmero de secuencia de mensaje no es vlido. Se ha emitido una llamada MQGET, MQPUT o MQPUT1, pero el valor del campo MDSEQ de la estructura MQMD o MQMDE es menor que uno o mayor que 999.999.999. Este error tambin se puede producir en la llamada MQPUT si, a consecuencia de la llamada, el campo MDSEQ se hiciera mayor que 999.999.999. Accin correctora: especifique un valor que est comprendido entre 1 y 999.999.999. No intente crear un grupo de mensajes que contenga ms de 999.999.999 mensajes. RC2251 (2251, X'8CB') El desplazamiento de segmento del mensaje no es vlido. Se ha emitido una llamada MQPUT o MQPUT1, pero el valor del campo MDOFF de la estructura MQMD o MQMDE es menor que cero o mayor que 999.999.999. Este error tambin se puede producir en la llamada MQPUT si, a consecuencia de la llamada, el campo MDOFF se hiciera mayor que 999.999.999. Accin correctora: especifique un valor que est comprendido entre 0 y 999.999.999. No intente crear un segmento de mensaje cuyo desplazamiento sea mayor que 999.999.999. RC2252 (2252, X'8CC') La longitud original no es vlida. Se ha emitido una llamada MQPUT o MQPUT1 para poner un mensaje de informe que notifica sobre un segmento, pero el campo MDOLN de la estructura MQMD o MQMDE es: v Menor que uno (para un segmento que no sea el ltimo) o bien v Menor que cero (para un segmento que sea el ltimo)
425
Cdigos de retorno
Accin correctora: especifique un valor mayor que cero. Solo es vlido especificar cero para el ltimo segmento. RC2253 (2253, X'8CD') La longitud de los datos del segmento de mensaje es cero. Se ha emitido una llamada MQPUT o MQPUT1 para transferir el primer segmento o un segmento intermedio de un mensaje lgico, pero la longitud de los datos de mensaje de aplicacin que hay en el segmento (excluidas las cabeceras MQ que pueda haber) es cero. La longitud debe ser al menos uno para el primer segmento o para un segmento intermedio. Accin correctora: compruebe la lgica de la aplicacin para asegurar que los segmentos se transfieren con una longitud igual o mayor que uno. El ltimo segmento de un mensaje lgico es el nico que puede tener la longitud igual a cero. RC2255 (2255, X'8CF') La unidad de trabajo no est disponible para que la utilice el gestor de colas. Se ha emitido una llamada MQGET, MQPUT o MQPUT1 para obtener o transferir un mensaje fuera de la unidad de trabajo, pero las opciones especificadas en la llamada requeran que el gestor de colas procesase la llamada dentro de una unidad de trabajo. Debido a que ya existe una unidad de trabajo definida por el usuario, el gestor de colas no ha podido crear una unidad de trabajo temporal mientras durase la llamada. Las circunstancias que dan lugar a esta razn son las siguientes: v En una llamada MQGET, cuando se especifica la opcin GMCMPM en MQGMO y el mensaje lgico que se ha de recuperar es permanente y consta de dos o ms segmentos. v En una llamada MQPUT o MQPUT1, cuando se especifica el distintivo MFSEGA en MQMD y el mensaje requiere segmentacin. Accin correctora: emita la llamada MQGET, MQPUT o MQPUT1 dentro de la unidad de trabajo definida por el usuario. Alternativamente, para la llamada MQPUT o MQPUT1, reduzca el tamao del mensaje de tal forma que el gestor de colas no tenga que segmentarlo. RC2256 (2256, X'8D0') Se ha suministrado una versin equivocada de MQGMO. Se ha emitido una llamada MQGET que especificaba opciones que requeran una estructura MQGMO cuyo nmero de versin no fuese menor que GMVER2, pero la estructura MQGMO suministrada no satisfaca esta condicin. Accin correctora: modifique la aplicacin para que pase una estructura MQGMO de la versin 2. Compruebe la lgica de la aplicacin para asegurar que el campo GMVER de la estructura MQGMO se ha establecido en GMVER2. Otra solucin sera eliminar la opcin que requiere la estructura MQGMO de la versin 2. RC2257 (2257, X'8D1') Se ha suministrado una versin equivocada de MQMD. Se ha emitido una llamada MQGET, MQPUT o MQPUT1 que especificaba opciones que requeran una estructura MQMD cuyo nmero de versin no fuese menor que MDVER2, pero la estructura MQMD suministrada no satisfaca esta condicin.
426
Cdigos de retorno
Accin correctora: modifique la aplicacin para que pase una estructura MQMD de la versin 2. Compruebe la lgica de la aplicacin para asegurar que el campo MDVER de la estructura MQMD se ha establecido en MDVER2. Otra solucin sera eliminar la opcin que requiere la estructura MQMD de la versin 2. RC2258 (2258, X'8D2') El identificador de grupo no es vlido. Se ha emitido una llamada MQPUT o MQPUT1 para poner un mensaje de lista de distribucin que es adems un mensaje de un grupo, un segmento de mensaje o cuya segmentacin est permitida, pero se ha especificado una combinacin no vlida de opciones y valores. Se cumplen todas estas condiciones: v No se ha especificado PMLOGO en el campo PMOPT de MQPMO. v La estructura MQPMO ha proporcionado un nmero demasiado pequeo de registros MQPMR o bien el campo PRGID no est presente en los registros MQPMR. v Se ha especificado uno o ms de estos distintivos en el campo MDMFL de MQMD o MQMDE: MFSEGA MF*MIG MF*SEG v El campo MDGID de MQMD o MQMDE no es GINONE. Esta combinacin de opciones y valores hara que se utilizase un mismo identificador de grupo para todos los destinos de la lista de distribucin; el gestor de colas no permite que esto ocurra. Accin correctora: especifique GINONE para el campo MDGID de MQMD o MQMDE. Otra solucin consiste en que, si la llamada es MQPUT, especifique PMLOGO en el campo PMOPT de MQPMO. RC2259 (2259, X'8D3') La especificacin de examinar es incoherente. Se ha emitido una llamada MQGET que especificaba la opcin GMBRWN, pero la especificacin de la opcin GMLOGO en la llamada es distinta de la especificacin de esa misma opcin en la llamada anterior del asa de cola. Las dos llamadas deben especificar GMLOGO o ninguna de ellas debe especificar GMLOGO. Accin correctora: aada o elimine la opcin GMLOGO segn convenga. Otra solucin es que, para conmutar entre el orden lgico y el orden fsico, especifique la opcin GMBRWF para reiniciar la exploracin desde el principio de la cola y que omita o especifique GMLOGO segn desee. RC2260 (2260, X'8D4') La estructura de cabecera de cola de transmisin no es vlida. En una llamada MQPUT o MQPUT1, no es vlida la estructura de cabecera de cola de transmisin MQXQH de los datos del mensaje. Accin correctora: corrija la definicin de la estructura MQXQH. Asegrese de que los campos estn correctamente establecidos. RC2261 (2261, X'8D5') Error de datos de entorno origen.
427
Cdigos de retorno
Se da esta razn cuando una rutina de salida de canal que procesa mensajes de referencia detecta un error en los datos de entorno origen de una cabecera de mensaje de referencia (MQRMH). Se ha producido una de las siguientes condiciones: v RMSEL es menor que cero. v RMSEL es mayor que cero, pero no hay datos de entorno origen. | | | v RMSEL es mayor que cero, pero RMSEO es negativo, cero o menor que la longitud de la parte fija de MQRMH. v RMSEL es mayor que cero, pero RMSEO ms RMSEL es mayor que RMLEN. La rutina de salida devuelve esta razn en el campo CXFB de la estructura MQCXP. Si se solicita un informe de excepcin, este se copia en el campo CXFB de la estructura MQMD asociada al informe. Accin correctora: especifique correctamente los datos de entorno origen. RC2262 (2262, X'8D6') Error de datos de nombre origen. Se da esta razn cuando una rutina de salida de canal que procesa mensajes de referencia detecta un error en los datos de nombre origen de una cabecera de mensaje de referencia (MQRMH). Se ha producido una de las siguientes condiciones: v RMSNL es menor que cero. v RMSNL es mayor que cero, pero no hay datos de nombre origen. | | | v RMSNL es mayor que cero, pero RMSNO es negativo, cero o menor que la longitud de la parte fija de MQRMH. v RMSNL es mayor que cero, pero RMSNO ms RMSNL es mayor que RMLEN. La rutina de salida devuelve esta razn en el campo CXFB de la estructura MQCXP. Si se solicita un informe de excepcin, este se copia en el campo CXFB de la estructura MQMD asociada al informe. Accin correctora: especifique correctamente los datos de nombre origen. RC2263 (2263, X'8D7') Error de datos de entorno destino. Se da esta razn cuando una rutina de salida de canal que procesa mensajes de referencia detecta un error en los datos de entorno destino de una cabecera de mensaje de referencia (MQRMH). Se ha producido una de las siguientes condiciones: v RMDEL es menor que cero. v RMDEL es mayor que cero, pero no hay datos de entorno destino. v RMDEL es mayor que cero, pero RMDEO es negativo, cero o menor que la longitud de la parte fija de MQRMH. v RMDEL es mayor que cero, pero RMDEO ms RMDEL es mayor que RMLEN. La rutina de salida devuelve esta razn en el campo CXFB de la estructura MQCXP. Si se solicita un informe de excepcin, este se copia en el campo CXFB de la estructura MQMD asociada al informe. Accin correctora: especifique correctamente datos de entorno destino. RC2264 (2264, X'8D8') Error de datos de nombre destino.
| | |
428
Cdigos de retorno
Se da esta razn cuando una rutina de salida de canal que procesa mensajes de referencia detecta un error en los datos de nombre destino de una cabecera de mensaje de referencia (MQRMH). Se ha producido una de las siguientes condiciones: v RMDNL es menor que cero. v RMDNL es mayor que cero, pero no hay datos de nombre destino. | | | v RMDNL es mayor que cero, pero RMDNO es negativo, cero o menor que la longitud de la parte fija de MQRMH. v RMDNL es mayor que cero, pero RMDNO ms RMDNL es mayor que RMLEN. La rutina de salida devuelve esta razn en el campo CXFB de la estructura MQCXP. Si se solicita un informe de excepcin, este se copia en el campo CXFB de la estructura MQMD asociada al informe. Accin correctora: especifique correctamente los datos de nombre destino. RC2265 (2265, X'8D9') La estructura de mensaje desencadenante no es vlida. En una llamada MQPUT o MQPUT1, no es vlida la estructura de mensaje desencadenante MQTM de los datos del mensaje. Accin correctora: corrija la definicin de la estructura MQTM. Asegrese de que los campos estn correctamente establecidos. RC2266 (2266, X'8DA') Ha fallado la rutina de salida de carga de trabajo de clster. Se ha emitido una llamada MQOPEN, MQPUT o MQPUT1 para abrir una cola de clster o para poner un mensaje en ella, pero la rutina de salida de carga de trabajo de clster definida por el atributo ClusterWorkloadExit del gestor de colas sufri una anomala inesperada o no respondi a tiempo. Las llamadas MQOPEN, MQPUT y MQPUT1 ulteriores de esta asa de cola se procesan como si el atributo ClusterWorkloadExit estuviese en blanco. v En OS/390, se graba en las anotaciones del sistema un mensaje que facilita ms informacin; por ejemplo, el mensaje CSQV455E o CSQV456E. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/390, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: compruebe la rutina de salida de carga de trabajo del clster para ver si est bien escrita. RC2267 (2267, X'8DB') No se ha podido cargar la rutina de salida de carga de trabajo de clster. Se ha emitido una llamada MQCONN para establecer conexin con un gestor de colas, pero la llamada no ha sido satisfactoria porque no se pudo cargar la rutina de salida de carga de trabajo de clster definida por el atributo ClusterWorkloadExit del gestor de colas. | Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT.
| | | |
429
Cdigos de retorno
Accin correctora: asegrese de que la rutina de salida de carga de trabajo del clster se ha instalado en la ubicacin correcta. RC2268 (2268, X'8DC') Las llamadas de poner estn inhibidas para todas las colas del clster. Se ha emitido para una cola de clster una llamada MQOPEN que tena en vigor las opciones OOOUT y OOBNDO, pero todas las instancias de la cola del clster estn actualmente inhibidas para poner; es decir, todas las instancias de cola tienen el atributo InhibitPut establecido en QAPUTI. Debido a que no hay ninguna instancia de cola que est disponible para recibir mensajes, la llamada MQOPEN no se puede llevar a cabo. Nota: Solo se da este cdigo de razn cuando se cumplen estas dos condiciones: v No hay ninguna instancia local de la cola. (Si hay una instancia local, la llamada MQOPEN es satisfactoria, aunque la instancia local est inhibida para poner). v No hay ninguna rutina de salida de carga de trabajo de clster para la cola o, la hay, pero no eligi una instancia de cola. (Si la rutina de salida de carga de trabajo de clster elige una instancia de cola, la llamada MQOPEN es satisfactoria, aunque esa instancia est inhibida para poner). Si se especifica la opcin OOBNDN en la llamada MQOPEN, la llamada puede realizarse satisfactoriamente aunque todas las colas del clster estn inhibidas para poner. Sin embargo, podra fallar una llamada MQPUT ulterior si todas las colas todava estuviesen inhibidas para poner en el momento de la llamada MQPUT. Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/390, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: si el diseo del sistema permite que se inhiban peticiones de poner durante perodos cortos, reintente la operacin ms adelante. Si el problema sigue producindose, averige por qu estn inhibidas para poner todas las colas del clster. RC2269 (2269, X'8DD') Error de recurso de clster. Se ha emitido una llamada MQOPEN, MQPUT o MQPUT1 dirigida a una cola del clster, pero se produjo un error mientras se intentaba utilizar un recurso necesario para la gestin de clsteres. | Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/390, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: realice lo siguiente: v Compruebe que las colas de tipo SYSTEM.CLUSTER.* no estn inhibidas para poner ni llenas. v Vea si en las colas de sucesos hay alguno que est relacionado con las colas de tipo SYSTEM.CLUSTER.*, ya que esos sucesos podran darle una orientacin sobre la naturaleza de la anomala. v Compruebe que el gestor de colas del depsito est disponible.
430
Cdigos de retorno
RC2270 (2270, X'8DE') No hay ninguna cola destino que est disponible. Se ha emitido una llamada MQPUT o MQPUT1 para poner un mensaje en una cola de clster, pero en el momento de la llamada ya no haba ninguna instancia de la cola en el clster. Por eso no se pudo enviar el mensaje. Puede darse esta situacin cuando se especifica OOBNDN en la llamada MQOPEN que abre la cola o cuando se utiliza MQPUT1 para poner el mensaje. | Este cdigo de razn se da en los entornos siguientes: AIX, cliente DOS, HP-UX, OS/390, OS/2, OS/400, Sun Solaris, cliente Windows, Windows NT. Accin correctora: compruebe la definicin de cola y el estado de la cola para averiguar por qu se eliminaron del clster todas las instancias de la cola. Corrija el problema y vuelva a ejecutar la aplicacin. RC2273 (2273, X'8E1') Error al procesar la llamada MQCONN. La llamada MQCONN no fue satisfactoria por una de estas razones: v El mdulo de parmetros del sistema no tiene el mismo nivel de release que el gestor de colas. v El gestor de colas detect un error interno. Este cdigo de razn solo se produce en OS/390. Accin correctora: vuelva a editar los enlaces del mdulo de parmetros del sistema (CSQZPARM) para asegurar que su nivel es correcto. Si el problema sigue producindose, pngase en contacto con el centro de soporte de IBM. RC2277 (2277, X'8E5') La definicin de canal no es vlida. Se ha emitido una llamada MQCONNX para establecer conexin con un gestor de colas, pero la estructura de definicin de canal MQCD a la que haca referencia el campo CNCCO o CNCCP de MQCNO contiene datos que no son vlidos. En las anotaciones de error de MQSeries hallar ms informacin sobre la naturaleza del error. Accin correctora: asegrese de que se han establecido correctamente los campos de entrada obligatorios de la estructura MQCD. RC2278 (2278, X'8E6') Los campos de conexin de cliente no son vlidos. Se ha emitido una llamada MQCONNX para establecer conexin con un gestor de colas, pero no se ha especificado correctamente la estructura de definicin de canal MQCD. Se ha producido una de las siguientes condiciones: v CNCCO no es cero y CNCCP no es ni el puntero nulo ni cero. v CNCCP no es un puntero vlido. v CNCCP o CNCCO seala a un almacenamiento no accesible. Accin correctora: asegrese de que sea cero al menos uno de los valores CNCCO y CNCCP. Asegrese de que el campo utilizado seala a un almacenamiento accesible.
Apndice A. Cdigos de retorno
431
Cdigos de retorno
RC2279 (2279, X'8E7') Canal detenido por el usuario. Se detecta esta condicin cuando un operador detiene el canal. El calificador de la razn identifica los motivos de la detencin. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2282 (2282, X'8EA') Canal iniciado. Se ha producido una de las siguientes condiciones: v Un operador ha emitido un mandato Start Channel (iniciar canal). v Se ha establecido satisfactoriamente una instancia de un canal. Se detecta esta condicin cuando se completa la negociacin de datos iniciales y se efecta la resincronizacin donde sea necesario para que la transferencia del mensaje pueda continuar. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2283 (2283, X'8EB') Canal detenido. Se detecta esta condicin cuando se ha detenido el canal. El calificador de la razn identifica los motivos de la detencin. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2284 (2284, X'8EC') Error de conversin de canal. Se detecta esta condicin cuando un canal no puede hacer la conversin de datos y se produce un error de conversin de datos en la llamada MQGET para obtener un mensaje de la cola de transmisin. El cdigo de razn de la conversin identifica la causa de la anomala. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2295 (2295, X'8F7') Canal activado. Se detecta esta condicin cuando un canal ha estado en espera de activarse y para l se ha generado el suceso canal no activado, pero ahora ya se puede activar porque otro canal ha liberado una ranura activa. Este suceso no se genera si un canal puede activarse sin esperar a que se libere una ranura activa. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2296 (2296, X'8F8') El canal no se puede activar. Se detecta esta condicin cuando es preciso que se active un canal, ya sea porque se est iniciando o porque est a punto de realizar otro intento de establecer conexin con su interlocutor. No obstante, no lo logra porque se ha llegado al lmite de nmero de canales activos. El canal espera hasta
432
Cdigos de retorno
que puede ocupar una ranura activa liberada cuando otro canal deja de estar activo. En ese momento se genera un suceso canal activado. Accin correctora: ninguna. Este cdigo de razn solo se utiliza para identificar el correspondiente mensaje de suceso. RC2299 (2299, X'8FB') El tipo de datos del selector no es vlido. El parmetro Selector tiene un tipo de datos equivocado; debe ser de tipo Long. Accin correctora: declare el parmetro Selector como Long. RC2300 (2300, X'8FC') El tipo de mandato no es vlido. Se ha emitido la llamada mqExecute, pero el valor del elemento de datos MQIASY_TYPE del paquete de administracin no es MQCFT_COMMAND. Accin correctora: asegrese de que el elemento de datos MQIASY_TYPE del paquete de administracin tiene el valor MQCFT_COMMAND. RC2301 (2301, X'8FD') No es vlido especificar varias instancias del elemento de datos del sistema. El parmetro Selector especifica un selector del sistema (uno de los valores de tipo MQIASY_*), pero el valor del parmetro ItemIndex no es MQIND_NONE. En el paquete solo puede haber una instancia de cada selector del sistema. Accin correctora: especifique MQIND_NONE para el parmetro ItemIndex. RC2302 (2302, X'8FE') El elemento de datos del sistema es de solo lectura y no puede modificarse. Se ha emitido una llamada para modificar un elemento de datos del sistema que est en un paquete (un elemento de datos con uno de los selectores de tipo MQIASY_*), pero la llamada ha fallado porque la aplicacin no puede modificar ese elemento de datos. Accin correctora: especifique el selector de un elemento de datos definido por el usuario o elimine la llamada. RC2303 (2303, X'8FF') No se han podido convertir los datos en un paquete. Se ha emitido la llamada mqBufferToBag o mqGetBag, pero los datos del almacenamiento intermedio o del mensaje no se han podido convertir en un paquete. Esto sucede cuando los datos que deben convertirse no son un PCF vlido. Accin correctora: compruebe la lgica de la aplicacin que ha creado el almacenamiento intermedio o el mensaje para asegurarse de que el almacenamiento intermedio o el mensaje contiene un PCF vlido. Si el mensaje contiene un PCF que no es vlido, ese mensaje no se puede recuperar con la llamada mqGetBag: v Si se ha especificado una de las opciones de tipo GMBRW*, el mensaje se queda en la cola y se puede recuperar con la llamada MQGET.
Apndice A. Cdigos de retorno
433
Cdigos de retorno
v En los dems casos, el mensaje ya se ha eliminado de la cola y se ha descartado. Si el mensaje se ha recuperado dentro de una unidad de trabajo, se puede restituir la unidad de trabajo y recuperar el mensaje con la llamada MQGET. RC2304 (2304, X'900') El selector no est comprendido en el rango vlido de la llamada. El parmetro Selector tiene un valor que no est comprendido en el rango vlido de la llamada. Si el paquete se ha creado con la opcin MQCBO_CHECK_SELECTORS: v Para la llamada mqAddInteger, el valor debe estar comprendido entre MQIA_FIRST y MQIA_LAST. v Para la llamada mqAddString, el valor debe estar comprendido entre MQCA_FIRST y MQCA_LAST. Si el paquete no se ha creado con la opcin MQCBO_CHECK_SELECTORS: v El valor debe ser mayor o igual que cero. Accin correctora: especifique un valor vlido. RC2305 (2305, X'901') Hay ms de una aparicin del selector en el paquete. El parmetro ItemIndex tiene el valor MQIND_NONE, pero el paquete contiene ms de un elemento de datos con el valor de selector especificado por el parmetro Selector. MQIND_NONE requiere que el paquete solo contenga una aparicin del selector especificado. Este cdigo de razn tambin se produce en la llamada mqExecute cuando el paquete de administracin contiene dos o ms apariciones de un selector para un parmetro obligatorio que solo permite una aparicin. Accin correctora: compruebe la lgica de la aplicacin que ha creado el paquete. Si es correcta, especifique para el parmetro ItemIndex un valor que sea igual o mayor que cero y aada la lgica de aplicacin necesaria para procesar todas las apariciones del selector en el paquete. Revise la descripcin del mandato de administracin que se est emitiendo y asegrese de que todos los parmetros obligatorios estn bien definidos en el paquete. RC2306 (2306, X'902') No se ha encontrado el ndice. El ndice especificado no est presente: v Si se trata de un paquete, esto significa que el paquete contiene uno o ms elementos de datos que tienen el valor de selector especificado por el parmetro Selector, pero ninguno de ellos tiene el valor de ndice especificado por el parmetro ItemIndex. El elemento de datos identificado por los parmetros Selector e ItemIndex debe existir en el paquete. v Si se trata de una lista de nombres, esto significa que el valor del parmetro ndice es demasiado grande y no est comprendido en el rango de valores vlidos.
434
Cdigos de retorno
Accin correctora: especifique el ndice de un elemento de datos que exista en el paquete o en la lista de nombres. Utilice la llamada mqCountItems para averiguar cuntos elementos de datos del paquete tienen el selector especificado o utilice el mtodo nameCount para averiguar la cantidad de nombres de la lista. RC2307 (2307, X'903') El parmetro de tipo serie no es vlido. El parmetro String no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2308 (2308, X'904') Codificacin no soportada. El campo MDENC del descriptor de mensaje MQMD contiene un valor no soportado: v Para la llamada mqPutBag, el campo no vlido reside en el parmetro MsgDesc de la llamada. v Para la llamada mqGetBag, el campo no vlido reside en: El parmetro MsgDesc de la llamada, si se ha especificado la opcin GMCONV. El descriptor de mensaje que se va a recuperar, si no se ha especificado GMCONV. Accin correctora: el valor debe ser ENNAT. Si no es vlido el valor del campo MDENC del mensaje, este no se puede recuperar utilizando la llamada mqGetBag: v Si se ha especificado una de las opciones de tipo GMBRW*, el mensaje se queda en la cola y se puede recuperar con la llamada MQGET. v En los dems casos, el mensaje ya se ha eliminado de la cola y se ha descartado. Si el mensaje se ha recuperado dentro de una unidad de trabajo, se puede restituir la unidad de trabajo y recuperar el mensaje con la llamada MQGET. RC2309 (2309, X'905') El selector no est en el paquete. El parmetro Selector especifica un selector que no existe en el paquete. Accin correctora: especifique un selector que s exista en el paquete. RC2310 (2310, X'906') El parmetro OutSelector no es vlido. El parmetro OutSelector no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2311 (2311, X'907') La serie se ha truncado (demasiado larga para el almacenamiento intermedio de salida).
435
Cdigos de retorno
La serie devuelta por la llamada es demasiado larga y no cabe en el almacenamiento intermedio proporcionado. La serie se ha truncado de forma que quepa en el almacenamiento intermedio. Accin correctora: si es necesaria toda la serie, proporcione un almacenamiento intermedio ms grande. En la llamada mqInquireString, la llamada establece el parmetro StringLength de manera que indique el tamao del almacenamiento intermedio necesario para dar cabida a la serie sin que se trunque. RC2312 (2312, X'908') El selector toma un tipo de datos que no es vlido para la llamada. En el paquete hay un elemento de datos que tiene el selector especificado, pero su tipo de datos est en conflicto con el tipo de datos implcito en la llamada que se est utilizando. Por ejemplo, el elemento de datos puede tener datos de tipo entero, pero la llamada que se utiliza puede ser mqSetString, que implica datos de tipo carcter. Este cdigo de razn tambin se produce con las llamadas mqBagToBuffer, mqExecute y mqPutBag cuando se ha utilizado mqAddString o mqSetString para aadir el elemento de datos MQIACF_INQUIRY al paquete. Accin correctora: para las llamadas mqSetInteger y mqSetString, especifique MQIND_ALL para el parmetro ItemIndex con el fin de suprimir del paquete todas las apariciones existentes del selector especificado, antes de crear la nueva aparicin con el tipo de datos necesario. Para las llamadas mqInquireBag, mqInquireInteger y mqInquireString, utilice la llamada mqInquireItemInfo para averiguar el tipo de datos del elemento que tiene el selector especificado, y despus utilice la llamada adecuada para averiguar el valor del elemento de datos. Para las llamadas mqBagToBuffer, mqExecute y mqPutBag, asegrese de aadir el elemento de datos MQIACF_INQUIRY al paquete utilizando las llamadas mqAddInteger o mqSetInteger. RC2313 (2313, X'909') El tipo de datos del elemento no concuerda con el de la aparicin anterior del selector. Se ha emitido la llamada mqAddInteger o mqAddString para aadir al paquete otra aparicin del selector especificado, pero el tipo de datos de esta aparicin es distinto del tipo de datos de la primera. Este cdigo de razn tambin se puede producir en las llamadas mqBufferToBag y mqGetBag, donde indica que el PCF del almacenamiento intermedio o del mensaje contiene un selector que aparece ms de una vez, pero con tipos de datos incoherentes. Accin correctora: para las llamadas mqAddInteger y mqAddString, utilice la llamada que corresponda al tipo de datos de la primera aparicin de ese selector en el paquete. Para las llamadas mqBufferToBag y mqGetBag, compruebe la lgica de la aplicacin que ha creado el almacenamiento intermedio o ha enviado el mensaje para asegurar que los selectores que aparecen mltiples veces lo
436
Cdigos de retorno
hagan con un solo tipo de datos. Un mensaje que contenga una combinacin de tipos de datos para un selector no se puede recuperar utilizando la llamada mqGetBag: v Si se ha especificado una de las opciones de tipo GMBRW*, el mensaje se queda en la cola y se puede recuperar con la llamada MQGET. v En los dems casos, el mensaje ya se ha eliminado de la cola y se ha descartado. Si el mensaje se ha recuperado dentro de una unidad de trabajo, se puede restituir la unidad de trabajo y recuperar el mensaje con la llamada MQGET. RC2314 (2314, X'90A') El ndice no es vlido. Un parmetro ndice de una llamada o de un mtodo tiene un valor que no es vlido. El valor debe ser mayor o igual que cero. Para las llamadas de paquete, tambin se pueden especificar ciertos valores de tipo MQIND_*: v Para las llamadas mqDeleteItem, mqSetInteger y mqSetString, son vlidos los valores MQIND_ALL y MQIND_NONE. v Para las llamadas mqInquireBag, mqInquireInteger, mqInquireString y mqInquireItemInfo, es vlido el valor MQIND_NONE. Accin correctora: especifique un valor vlido. RC2315 (2315, X'90B') El paquete del sistema es de solo lectura y no puede modificarse. Se ha emitido una llamada para aadir un elemento de datos a un paquete, modificar el valor de un elemento de datos existente en un paquete o recuperar un mensaje de un paquete, pero la llamada ha fallado porque se trata de un paquete creado por el sistema como resultado de una llamada mqExecute anterior. La aplicacin no puede modificar paquetes del sistema. Accin correctora: especifique el asa de un paquete creado por la aplicacin o elimine la llamada. RC2316 (2316, X'90C') El parmetro ItemCount no es vlido. Se ha emitido la llamada mqTruncateBag, pero el parmetro ItemCount especifica un valor que no es vlido. El valor es menor que cero o mayor que el nmero de elementos de datos definidos por usuario que hay en el paquete. Esto tambin sucede en la llamada mqCountItems si el puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: especifique un valor vlido. Utilice la llamada mqCountItems para averiguar el nmero de datos definidos por usuario que hay en el paquete. RC2317 (2317, X'90D') Formato no soportado. El campo MDFMT del descriptor de mensaje MQMD contiene un valor no soportado:
Apndice A. Cdigos de retorno
437
Cdigos de retorno
v Para la llamada mqPutBag, el campo no vlido reside en el parmetro MsgDesc de la llamada. v Para la llamada mqGetBag, el campo no vlido reside en el descriptor de mensaje que se va a recuperar. Accin correctora: el valor debe ser uno de los siguientes: FMADMN FMEVNT FMPCF Si el valor del campo MDFMT del mensaje no es ninguno de estos valores, no se puede recuperar el mensaje utilizando la llamada mqGetBag: v Si se ha especificado una de las opciones de tipo GMBRW*, el mensaje se queda en la cola y se puede recuperar con la llamada MQGET. v En los dems casos, el mensaje ya se ha eliminado de la cola y se ha descartado. Si el mensaje se ha recuperado dentro de una unidad de trabajo, se puede restituir la unidad de trabajo y recuperar el mensaje con la llamada MQGET. RC2318 (2318, X'90E') El selector del sistema no est soportado. El parmetro Selector especifica un valor que es un selector del sistema (un valor que es negativo), pero el selector del sistema no es ninguno de los soportados por la llamada. Accin correctora: especifique un valor de selector que est soportado. RC2319 (2319, X'90F') El parmetro ItemValue no es vlido. Se ha emitido la llamada mqInquireBag o mqInquireInteger, pero el parmetro ItemValue no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2320 (2320, X'910') El asa de paquete no es vlida. Se ha emitido una llamada con un parmetro que es un asa de paquete, pero el asa no es vlida. Para parmetros de salida, esta razn solo se produce si el puntero de parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2321 (2321, X'911') Falta un parmetro. Un mensaje de administracin requiere un parmetro que no est en el paquete de administracin. Este cdigo de razn solo se produce con los paquetes creados con las opciones MQCBO_ADMIN_BAG o MQCBO_REORDER_AS_REQUIRED.
438
Cdigos de retorno
Accin correctora: revise la descripcin del mandato de administracin que se est emitiendo y asegrese de que todos los parmetros obligatorios estn en el paquete. RC2322 (2322, X'912') El servidor de mandatos no est disponible. El servidor de mandatos que procesa los mandatos de administracin no est disponible. Accin correctora: arranque el servidor de mandatos. RC2323 (2323, X'913') El parmetro StringLength no es vlido. El parmetro StringLength no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2324 (2324, X'914') El cdigo de mandato no es un mandato de consulta reconocido. Se ha utilizado anteriormente la llamada mqAddInquiry para aadir selectores de atributos al paquete, pero no se reconoce el cdigo de mandato que se ha de utilizar para las llamadas mqBagToBuffer, mqExecute o mqPutBag. Como resultado, no se puede generar el mensaje PCF correcto. Accin correctora: elimine las llamadas mqAddInquiry y en su lugar utilice la llamada mqAddInteger con los selectores MQIACF_*_ATTRS o MQIACH_*_ATTRS adecuados. RC2325 (2325, X'915') El paquete de entrada contiene uno o ms paquetes anidados. Un paquete de entrada de la llamada contiene paquetes anidados. Los paquetes anidados solo estn soportados en los paquetes de salida de la llamada. Accin correctora: utilice otro paquete como entrada de la llamada. RC2326 (2326, X'916') El tipo de paquete no es vlido para el uso previsto. El parmetro Bag especifica el asa de un paquete cuyo tipo no es vlido para la llamada. El paquete debe ser un paquete de administracin, es decir, debe haberse creado con la opcin MQCBO_ADMIN_BAG especificada en la llamada mqCreateBag. Accin correctora: especifique la opcin MQCBO_ADMIN_BAG al crear el paquete. RC2327 (2327, X'917') El parmetro ItemType no es vlido. Se ha emitido la llamada mqInquireItemInfo, pero el parmetro ItemType no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible).
Apndice A. Cdigos de retorno
439
Cdigos de retorno
Accin correctora: corrija el parmetro. RC2328 (2328, X'918') El paquete del sistema es de solo lectura y no puede suprimirse. Se ha emitido una llamada mqDeleteBag para suprimir un paquete, pero la llamada ha fallado porque se trata de un paquete creado por el sistema como resultado de una llamada mqExecute anterior. La aplicacin no puede suprimir paquetes del sistema. Accin correctora: especifique el asa de un paquete creado por la aplicacin o elimine la llamada. RC2329 (2329, X'919') El elemento de datos del sistema es de solo lectura y no puede suprimirse. Se ha emitido una llamada para suprimir de un paquete un elemento de datos del sistema (un elemento de datos con uno de los selectores de tipo MQIASY_*), pero la llamada ha fallado debido a que la aplicacin no puede suprimir ese elemento de datos. Accin correctora: especifique el selector de un elemento de datos definido por el usuario o elimine la llamada. RC2330 (2330, X'91A') El parmetro identificador de juego de caracteres codificado no es vlido. El parmetro CodedCharSetId no es vlido. El puntero del parmetro no es vlido o seala a un almacenamiento de solo lectura. (No siempre es posible detectar los punteros de parmetro que no son vlidos; si no se detectan, el resultado es imprevisible). Accin correctora: corrija el parmetro. RC2334 (2334, X'91E') La estructura MQRFH no es vlida. El mensaje contiene una estructura MQRFH que no es vlida. Accin correctora: modifique la aplicacin que gener el mensaje para asegurar que coloque una estructura MQRFH vlida en los datos del mensaje. RC2335 (2335, X'91F') El campo RFNVS no es vlido. No es vlido el contenido del campo RFNVS de la estructura MQRFH. El campo RFNVS debe ajustarse a estas normas: v La serie debe constar de cero o ms pares de nombre/valor separados entre s mediante uno o varios blancos; los blancos no son significativos. v Un nombre o un valor, si contiene blancos que son significativos, debe encerrarse entre comillas dobles. v Si el nombre o el valor contiene l mismo uno o varios caracteres que sean comillas dobles, ese nombre o valor debe estar entre comillas dobles y cada carcter de comillas dobles intercalado debe estar repetido. v Un nombre o un valor puede contener cualquier carcter, salvo el nulo, que hace de delimitador. No se tienen en cuenta el nulo ni los caracteres que le siguen hasta completar la longitud definida de RFNVS.
440
Cdigos de retorno
A continuacin figura un ejemplo vlido de RFNVS:
Famous_Words "El programa visualiz ""Hola a todos"""
Accin correctora: modifique la aplicacin que gener el mensaje para asegurar que coloque en el campo RFNVS datos que se ajusten a las normas antes indicadas. Compruebe si el campo RFLEN se ha establecido en el valor correcto. RC2336 (2336, X'920') Mandato no vlido. El mensaje contiene una estructura MQRFH, pero no es vlido el nombre de mandato que est en el campo RFNVS. Accin correctora: modifique la aplicacin que gener el mensaje para asegurar que coloque un nombre de mandato vlido en el campo RFNVS. RC2337 (2337, X'921') El parmetro no es vlido. El mensaje contiene una estructura MQRFH, pero el nombre de parmetro que hay en el campo RFNVS no es vlido para el mandato especificado. Accin correctora: modifique la aplicacin que gener el mensaje para asegurar que solo coloque en el campo RFNVS parmetros que sean vlidos para el mandato especificado. RC2338 (2338, X'922') Parmetro duplicado. El mensaje contiene una estructura MQRFH, pero hay un parmetro que aparece ms de una vez en el campo RFNVS y el mandato especificado solo permite que aparezca una vez. Accin correctora: modifique la aplicacin que gener el mensaje para asegurar que coloque el parmetro una sola vez en el campo RFNVS. RC2339 (2339, X'923') Falta un parmetro. El mensaje contiene una estructura MQRFH, pero al mandato especificado en el campo RFNVS le falta un parmetro obligatorio. Accin correctora: modifique la aplicacin que gener el mensaje para asegurar que coloque en el campo RFNVS todos los parmetros necesarios para el mandato especificado.
441
Cdigos de retorno
442
Lista de constantes
En la siguiente seccin se muestra una lista de todas las constantes con nombre mencionadas en este manual y de sus valores.
443
Constantes de MQSeries
|
LNCRTT LNDATE LNEXN LNFAC LNFACL LNFMT LNFUNC LNGID LNLTOV LNMFMN LNMHD LNMID LNMTOK LNNLD LNNLN LNOBJN LNOIID LNPAN LNPDAT LNPROA LNPROD LNPROE LNPRON LNPROU LNPTIM LNQD LNQMD LNQMID LNQMN LNQN LNRSID LNSTCO LNSTGC LNSVNM LNSVST LNTIID LNTIME LNTRGD LNTRID LNUID 8 12 20 8 4 8 4 24 8 8 4000 24 16 64 48 48 24 28 8 256 64 128 48 128 8 64 64 48 48 48 4 4 8 32 8 16 8 64 4 12 X'00000008' X'0000000C' X'00000014' X'00000008' X'00000004' X'00000008' X'00000004' X'00000018' X'00000008' X'00000008' X'00000FA0' X'00000018' X'00000010' X'00000040' X'00000030' X'00000030' X'00000018' X'0000001C' X'00000008' X'00000100' X'00000040' X'00000080' X'00000030' X'00000080' X'00000008' X'00000040' X'00000040' X'00000030' X'00000030' X'00000030' X'00000004' X'00000004' X'00000008' X'00000020' X'00000008' X'00000010' X'00000008' X'00000040' X'00000004' X'0000000C'
| |
| | |
| | | | | | | |
ATTUNK ATTCIC ATTOS2 ATTDOS ATTUNX
444
Constantes de MQSeries
| | | | | |
ATT400 ATTWIN ATTWNT ATTUSR X'08' X'09' X'0B' X'19'
BND* (Enlace)
Vea el atributo DefBind descrito en el Captulo 37. Atributos de todas las colas en la pgina 305. | | | |
BNDOPN BNDNOT 0 1 X'00000000' X'00000001'
445
Constantes de MQSeries
| | | | | | | | | | |
446
Constantes de MQSeries
| |
CACLT CAUSER CALAST CALSTU 2038 4000 4000 (variable) X'000007F6' X'00000FA0' X'00000FA0'
447
Constantes de MQSeries
448
Constantes de MQSeries
|
CIVER2 CIVERC 2 2 X'00000002' X'00000002'
| |
449
Constantes de MQSeries
450
Constantes de MQSeries
451
Constantes de MQSeries
EN* (Codificacin)
Vea el campo MDENC descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85.
ENNAT 273 X'00000111'
452
Constantes de MQSeries
ENRMSK -4096 X'FFFFF000'
453
Constantes de MQSeries
| | |
FBSBCX FBSBPS FBNARM FBDLZ FBDLN FBDLTB FBBUFO FBLOB1 FBIIH FBNAFI FBIERR FBIFST FBILST FBCINE FBCNTA FBCBRF FBCCIE FBCCSE FBCENE FBCIHE FBCUWE FBCCAE FBCANS FBCAAB FBCDLQ FBCUBO FBSLST FBAFST FBALST 277 279 280 291 292 293 294 295 296 298 300 301 399 401 402 403 404 405 406 407 408 409 410 411 412 413 65535 65536 999999999 X'00000115' X'00000117' X'00000118' X'00000123' X'00000124' X'00000125' X'00000126' X'00000127' X'00000128' X'0000012A' X'0000012C' X'0000012D' X'0000018F' X'00000191' X'00000192' X'00000193' X'00000194' X'00000195' X'00000196' X'00000197' X'00000198' X'00000199' X'0000019A' X'0000019B' X'0000019C' X'0000019D' X'0000FFFF' X'00010000' X'3B9AC9FF'
FM* (Formato)
Vea el campo MDFMT descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 y en otras estructuras.
FMNONE FMADMN FMCICS FMCMD1 FMCMD2 FMDLH FMDH FMEVNT FMIMS FMIMVS FMMDE FMPCF FMRMH FMRFH FMSTR FMTM FMWIH FMXQH 'bbbbbbbb' 'MQADMINb' 'MQCICSbb' 'MQCMD1bb' 'MQCMD2bb' 'MQDEADbb' 'MQHDISTb' 'MQEVENTb' 'MQIMSbbb' 'MQIMSVSb' 'MQHMDEbb' 'MQPCFbbb' 'MQHREFbb' 'MQHRFbbb' 'MQSTRbbb' 'MQTRIGbb' 'MQHWIHbb' 'MQXMITbb'
| |
454
Constantes de MQSeries
GINONE X'00...00' (24 nulos)
455
Constantes de MQSeries
456
Constantes de MQSeries
IAQDLL IAQDME IAQDHE IAQDLE IASCOP IAQSIE IAAUTE IAINHE IALCLE IARMTE IASSE IAPFME IAQSI IACAD IACADE IAINDT IACLWL IACLQT IAARCH IADBND IAUSER IALAST IALSTU 41 42 43 44 45 46 47 48 49 50 52 53 54 55 56 57 58 59 60 61 2000 2000 (variable) X'00000029' X'0000002A' X'0000002B' X'0000002C' X'0000002D' X'0000002E' X'0000002F' X'00000030' X'00000031' X'00000032' X'00000034' X'00000035' X'00000036' X'00000037' X'00000038' X'00000039' X'0000003A' X'0000003B' X'0000003C' X'0000003D' X'000007D0' X'000007D0'
| | | | |
457
Constantes de MQSeries
458
Constantes de MQSeries
MDVER1 MDVER2 MDVERC 1 2 (variable) X'00000001' X'00000002'
459
Constantes de MQSeries
| | | | | | | | | | |
NCMXNL MTKNON
460
Constantes de MQSeries
|
461
Constantes de MQSeries
|
OOBNDN 32768 X'00008000'
PE* (Permanencia)
Vea el campo MDPER descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85 y el atributo DefPersistence descrito en el Captulo 37. Atributos de todas las colas en la pgina 305.
PENPER PEPER 0 1 X'00000000' X'00000001'
PL* (Plataforma)
Vea el atributo Platform descrito en el Captulo 43. Atributos del gestor de colas en la pgina 337. |
PLMVS PL390 PLOS2 PLAIX PLUNIX PL400 PLWIN PLWINT PLVMS PLNSK 1 1 2 3 3 4 5 11 12 13 X'00000001' X'00000001' X'00000002' X'00000003' X'00000003' X'00000004' X'00000005' X'0000000B' X'0000000C' X'0000000D'
462
Constantes de MQSeries
PR* (Prioridad)
Vea el campo MDPRI descrito en el Captulo 10. MQMD - Descriptor de mensaje en la pgina 85.
PRQDEF -1 X'FFFFFFFF'
463
Constantes de MQSeries
464
Constantes de MQSeries
RC2005 RC2006 RC2007 RC2008 RC2009 RC2010 RC2011 RC2013 RC2014 RC2016 RC2017 RC2018 RC2019 RC2020 RC2021 RC2022 RC2023 RC2024 RC2026 RC2027 RC2029 RC2030 RC2031 RC2033 RC2034 RC2035 RC2036 RC2037 RC2038 RC2039 RC2040 RC2041 RC2042 RC2043 RC2044 RC2045 RC2046 RC2047 RC2048 RC2049 RC2050 RC2051 RC2052 RC2053 RC2055 RC2056 RC2057 RC2058 RC2059 RC2061 RC2063 RC2065 RC2066 RC2067 RC2068 RC2071 RC2072 RC2075 RC2076 2005 2006 2007 2008 2009 2010 2011 2013 2014 2016 2017 2018 2019 2020 2021 2022 2023 2024 2026 2027 2029 2030 2031 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2055 2056 2057 2058 2059 2061 2063 2065 2066 2067 2068 2071 2072 2075 2076 X'000007D5' X'000007D6' X'000007D7' X'000007D8' X'000007D9' X'000007DA' X'000007DB' X'000007DD' X'000007DE' X'000007E0' X'000007E1' X'000007E2' X'000007E3' X'000007E4' X'000007E5' X'000007E6' X'000007E7' X'000007E8' X'000007EA' X'000007EB' X'000007ED' X'000007EE' X'000007EF' X'000007F1' X'000007F2' X'000007F3' X'000007F4' X'000007F5' X'000007F6' X'000007F7' X'000007F8' X'000007F9' X'000007FA' X'000007FB' X'000007FC' X'000007FD' X'000007FE' X'000007FF' X'00000800' X'00000801' X'00000802' X'00000803' X'00000804' X'00000805' X'00000807' X'00000808' X'00000809' X'0000080A' X'0000080B' X'0000080D' X'0000080F' X'00000811' X'00000812' X'00000813' X'00000814' X'00000817' X'00000818' X'0000081B' X'0000081C'
465
Constantes de MQSeries
RC2077 RC2078 RC2079 RC2080 RC2082 RC2085 RC2086 RC2087 RC2090 RC2091 RC2092 RC2093 RC2094 RC2095 RC2096 RC2097 RC2098 RC2100 RC2101 RC2102 RC2104 RC2110 RC2111 RC2112 RC2113 RC2114 RC2115 RC2116 RC2117 RC2118 RC2119 RC2120 RC2123 RC2124 RC2125 RC2126 RC2135 RC2136 RC2137 RC2139 RC2141 RC2142 RC2143 RC2144 RC2145 RC2146 RC2148 RC2149 RC2150 RC2152 RC2153 RC2154 RC2155 RC2156 RC2158 RC2159 RC2161 RC2162 RC2173 2077 2078 2079 2080 2082 2085 2086 2087 2090 2091 2092 2093 2094 2095 2096 2097 2098 2100 2101 2102 2104 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2123 2124 2125 2126 2135 2136 2137 2139 2141 2142 2143 2144 2145 2146 2148 2149 2150 2152 2153 2154 2155 2156 2158 2159 2161 2162 2173 X'0000081D' X'0000081E' X'0000081F' X'00000820' X'00000822' X'00000825' X'00000826' X'00000827' X'0000082A' X'0000082B' X'0000082C' X'0000082D' X'0000082E' X'0000082F' X'00000830' X'00000831' X'00000832' X'00000834' X'00000835' X'00000836' X'00000838' X'0000083E' X'0000083F' X'00000840' X'00000841' X'00000842' X'00000843' X'00000844' X'00000845' X'00000846' X'00000847' X'00000848' X'0000084B' X'0000084C' X'0000084D' X'0000084E' X'00000857' X'00000858' X'00000859' X'0000085B' X'0000085D' X'0000085E' X'0000085F' X'00000860' X'00000861' X'00000862' X'00000864' X'00000865' X'00000866' X'00000868' X'00000869' X'0000086A' X'0000086B' X'0000086C' X'0000086E' X'0000086F' X'00000871' X'00000872' X'0000087D'
466
Constantes de MQSeries
RC2184 RC2185 RC2186 RC2187 RC2188 RC2189 RC2190 RC2191 RC2194 RC2195 RC2196 RC2197 RC2198 RC2199 RC2206 RC2207 RC2208 RC2209 RC2218 RC2219 RC2220 RC2222 RC2223 RC2224 RC2225 RC2226 RC2227 RC2232 RC2233 RC2234 RC2235 RC2236 RC2237 RC2238 RC2239 RC2241 RC2242 RC2243 RC2244 RC2245 RC2246 RC2247 RC2248 RC2249 RC2250 RC2251 RC2252 RC2253 RC2255 RC2256 RC2257 RC2258 RC2259 RC2260 RC2261 RC2262 RC2263 RC2264 RC2265 2184 2185 2186 2187 2188 2189 2190 2191 2194 2195 2196 2197 2198 2199 2206 2207 2208 2209 2218 2219 2220 2222 2223 2224 2225 2226 2227 2232 2233 2234 2235 2236 2237 2238 2239 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 X'00000888' X'00000889' X'0000088A' X'0000088B' X'0000088C' X'0000088D' X'0000088E' X'0000088F' X'00000892' X'00000893' X'00000894' X'00000895' X'00000896' X'00000897' X'0000089E' X'0000089F' X'000008A0' X'000008A1' X'000008AA' X'000008AB' X'000008AC' X'000008AE' X'000008AF' X'000008B0' X'000008B1' X'000008B2' X'000008B3' X'000008B8' X'000008B9' X'000008BA' X'000008BB' X'000008BC' X'000008BD' X'000008BE' X'000008BF' X'000008C1' X'000008C2' X'000008C3' X'000008C4' X'000008C5' X'000008C6' X'000008C7' X'000008C8' X'000008C9' X'000008CA' X'000008CB' X'000008CC' X'000008CD' X'000008CF' X'000008D0' X'000008D1' X'000008D2' X'000008D3' X'000008D4' X'000008D5' X'000008D6' X'000008D7' X'000008D8' X'000008D9'
| | |
| | |
467
Constantes de MQSeries
| | | | | | |
RC2266 RC2267 RC2268 RC2269 RC2270 RC2273 RC2277 RC2278 RC2279 RC2282 RC2283 RC2284 RC2295 RC2296 RC2299 RC2300 RC2301 RC2302 RC2303 RC2304 RC2305 RC2306 RC2307 RC2308 RC2309 RC2310 RC2311 RC2312 RC2313 RC2314 RC2315 RC2316 RC2317 RC2318 RC2319 RC2320 RC2321 RC2322 RC2323 RC2324 RC2325 RC2326 RC2327 RC2328 RC2329 RC2330 RC2334 RC2335 RC2336 RC2337 RC2338 RC2339 2266 2267 2268 2269 2270 2273 2277 2278 2279 2282 2283 2284 2295 2296 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2334 2335 2336 2337 2338 2339 X'000008DA' X'000008DB' X'000008DC' X'000008DD' X'000008DE' X'000008E1' X'000008E5' X'000008E6' X'000008E7' X'000008EA' X'000008EB' X'000008EC' X'000008F7' X'000008F8' X'000008FB' X'000008FC' X'000008FD' X'000008FE' X'000008FF' X'00000900' X'00000901' X'00000902' X'00000903' X'00000904' X'00000905' X'00000906' X'00000907' X'00000908' X'00000909' X'0000090A' X'0000090B' X'0000090C' X'0000090D' X'0000090E' X'0000090F' X'00000910' X'00000911' X'00000912' X'00000913' X'00000914' X'00000915' X'00000916' X'00000917' X'00000918' X'00000919' X'0000091A' X'0000091E' X'0000091F' X'00000920' X'00000921' X'00000922' X'00000923'
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | |
RLUNDF
468
Constantes de MQSeries
| |
469
Constantes de MQSeries
ROAUM ROAUXM -270532353 261888 X'EFE000FF' X'0003FF00'
SEG* (Segmentacin)
Vea el campo GMSEG descrito en el Captulo 8. MQGMO - Opciones de obtener mensaje en la pgina 51.
SEGIHB SEGALW 'b' 'A'
| | | | | | | | | | | |
SITNON SITWNT SINONE
470
Constantes de MQSeries
TCOFF TCON 0 1 X'00000000' X'00000001'
US* (Utilizacin)
Vea el atributo Usage descrito en el Captulo 38. Atributos de colas locales y colas modelo en la pgina 311.
USNORM USTRAN 0 1 X'00000000' X'00000001'
471
Constantes de MQSeries
| | | | | | | | | | | | | | | | | | | | | | | | | |
WIVER1 WIVERC WISIDV WILEN1 WILENC WINONE
472
Constantes de MQSeries
473
Constantes de MQSeries
474
Llamada MQOPEN
Para las opciones de la llamada MQOPEN: v Debe especificarse uno de los siguientes valores como mnimo: OOBRW OOINPQ OOINPX OOINPS OOINQ OOOUT OOSET v Solo se permite uno de los siguientes valores: OOINPQ OOINPX OOINPS | | | | | | | | | | v Solo se permite uno de los siguientes valores: OOBNDO OOBNDN OOBNDQ Nota: Las opciones listadas ms arriba se excluyen mutuamente. Sin embargo, debido a que el valor de OOBNDQ es cero, si se especifica este valor con una de las otras dos opciones de enlazar, no se devuelve el cdigo de razn RC2046. Se proporciona la opcin OOBNDQ como ayuda para la documentacin del programa. v Si se especifica OOSAVA, debe especificarse asimismo una de las opciones OOINP*. v Si se especifica una de las opciones OOSET* o OOPAS*, tambin es preciso especificar OOOUT.
Llamada MQPUT
Para las opciones de poner mensaje: v No est permitida la combinacin formada por PMSYP y PMNSYP. v Solo se permite uno de los siguientes valores: PMDEFC PMNOC PMPASA PMPASI PMSETA PMSETI v La opcin PMALTU no est permitida (solo es vlida en la llamada MQPUT1).
475
Opciones de la MQI
Llamada MQPUT1
En el caso de las opciones de poner mensaje, las normas son iguales que para la llamada MQPUT, salvo que: v Est permitida la opcin PMALTU. v No est permitida la opcin PMLOGO.
Llamada MQGET
Para las opciones de obtener mensaje: v Solo se permite uno de los siguientes valores: GMNSYP GMSYP GMPSYP v Solo se permite uno de los siguientes valores: GMBRWF GMBRWC GMBRWN GMMUC v La opcin GMSYP no est permitida con ninguna de las siguientes opciones: GMBRWF GMBRWC GMBRWN GMLK GMUNLK v La opcin GMPSYP no est permitida con ninguna de las siguientes opciones: GMBRWF GMBRWC GMBRWN GMCMPM GMUNLK v Si se especifica GMLK, es preciso especificar asimismo una de estas opciones: GMBRWF GMBRWC GMBRWN v Si se especifica GMUNLK, solo estn permitidas las siguientes opciones: GMNSYP GMNWT
Llamada MQCLOSE
Para las opciones de la llamada MQCLOSE: v No est permitida la combinacin formada por CODEL y COPURG.
476
477
Codificaciones de mquina
v El bit menos significativo de cada byte es el adyacente al byte que tiene la siguiente direccin ms alta; el bit ms significativo de cada byte es el adyacente al byte que tiene la siguiente direccin ms baja. ENIREV Codificacin inversa de entero. Los enteros binarios se representan igual que ENINOR, pero con los bytes dispuestos en orden inverso. Los bits de cada byte estn ordenados igual que ENINOR.
478
Codificaciones de mquina
ENFNOR Codificacin normal de nmeros de coma flotante del IEEE. Los nmeros de coma flotante se representan utilizando el formato estndar de nmeros de coma flotante del IEEE 2, con los bytes ordenados de esta forma: v El byte menos significativo de la mantisa tiene la direccin ms alta de todos los bytes del nmero; el byte que contiene el exponente es aquel cuya direccin es ms baja v El bit menos significativo de cada byte es el adyacente al byte que tiene la siguiente direccin ms alta; el bit ms significativo de cada byte es el adyacente al byte que tiene la siguiente direccin ms baja. En el estndar 754 del IEEE encontrar ms detalles sobre la codificacin de coma flotante del IEEE. ENFREV Codificacin inversa de nmeros de coma flotante del IEEE. Los nmeros de coma flotante se representan de la misma forma que en ENFNOR, pero con los bytes en orden inverso. Los bits de cada byte estn ordenados igual que en ENFNOR. ENF390 Codificacin de nmeros de coma flotante de la arquitectura System/390. Los nmeros de coma flotante se representan utilizando el formato estndar de nmeros de coma flotante de System/390; esto tambin es vlido para System/370.
Construccin de codificaciones
Para construir un valor para el campo MDENC de la estructura MQMD, se han de aadir las constantes pertinentes que describen las codificaciones requeridas. Es preciso combinar nicamente una de las codificaciones ENI* con una de las codificaciones END* y una de las codificaciones ENF*.
Anlisis de codificaciones
El campo MDENC contiene subcampos; por ello, las aplicaciones que tengan que examinar la codificacin de entero, de decimal empaquetado o de coma flotante, deben utilizar la tcnica descrita a continuacin.
Utilizacin de la aritmtica
Los pasos que siguen se realizan con la aritmtica de los nmeros enteros: 1. Seleccione un valor en la tabla siguiente, de acuerdo con la codificacin necesaria: Codificacin necesaria Valor que se ha de usar Entero binario 1 Entero decimal empaquetado 16
479
Codificaciones de mquina
Nmero de coma flotante 256 Llame al valor A. 2. Divida el valor del campo MDENC por A y llame a este resultado B. 3. Divida B por 16 y llame al resultado C. 4. Multiplique C por 16 y reste el resultado a B; llame a este resultado D. 5. Multiplique D por A y llame al resultado E. 6. E es la codificacin necesaria; se puede probar para saber si es igual que cada uno de los valores vlidos para ese tipo de codificacin.
Codificacin de coma flotante IEEE normal IEEE inverso IEEE normal System/390
480
481
Opciones de informe
ROEXPD ROEXPF RONAN RONMI RONONE ROPAN ROPCI ROPMI ROAUXM Mscara de las opciones de informe no soportadas que solo se aceptan en ciertas circunstancias. Esta mscara identifica las posiciones de bit dentro del campo MDREP en las que las opciones de informe no soportadas por el gestor de colas local s se aceptarn en las llamadas MQPUT o MQPUT1, siempre y cuando se satisfagan estas dos condiciones: v El mensaje est destinado a un gestor de colas remoto. v La aplicacin no va a poner el mensaje directamente en una cola de transmisin local (es decir, la cola identificada por los campos ODMN y ODON del descriptor de objeto especificado en la llamada MQOPEN o MQPUT1 no es una cola de transmisin local). Se devuelve el cdigo de terminacin CCWARN junto con el cdigo de razn RC2104 si se satisfacen estas condiciones; si no se satisfacen, se devuelve el cdigo de terminacin CCFAIL junto con el cdigo de razn RC2061. Este subcampo ocupa las posiciones de bit de la 14 a la 23. En este subcampo se incluyen las siguientes opciones de informe: ROCOA ROCOAD ROCOAF ROCOD ROCODD ROCODF Si hubiera alguna opcin especificada en el campo MDREP que el gestor de colas no reconociera, este comprobar cada subcampo por turno, utilizando la operacin AND a nivel de bit para combinar el campo MDREP con la mscara de ese subcampo. Si el resultado de esa operacin no es cero, se devuelven el cdigo de terminacin y los cdigos de razn antes descritos. Si se devuelve CCWARN, no queda definido qu cdigo de razn se ha de devolver si se dan otras condiciones de aviso. La capacidad para especificar y lograr que se acepten las opciones de informe no reconocidas por el gestor de colas local resulta til cuando se desea enviar un mensaje con una opcin de informe que un gestor de colas remoto reconocer y procesar.
482
Opciones de informe
Utilizacin de la aritmtica
Los pasos que siguen se realizan con la aritmtica de los nmeros enteros: 1. Seleccione uno de los valores siguientes, segn sea el tipo de informe que se ha de comprobar: Tipo de informe Valor que se ha de usar COA ROCOA COD ROCOD De excepcin ROEXC De caducidad ROEXP Llame al valor A. Divida el campo MDREP por A; llame B al resultado. Divida B por 8 y llame al resultado C. Multiplique C por 8 y reste el resultado de B; llame a este resultado D. Multiplique D por A y llame al resultado E. Pruebe E para saber si es igual que los valores vlidos para ese tipo de informe. Por ejemplo, si A es ROEXC, pruebe si E es igual a cada uno de los valores siguientes para averiguar qu especific el emisor del mensaje: RONONE ROEXC ROEXCD ROEXCF Las pruebas pueden realizarse en el orden que sea ms apropiado para la lgica de la aplicacin. El seudocdigo siguiente ilustra esta tcnica para los mensajes de informe de excepcin:
A B C D E = = = = = MQRO_EXCEPTION Report/A B/8 B - C*8 D*A
2. 3. 4. 5. 6.
Se puede utilizar un mtodo parecido para probar las opciones ROPMI o ROPCI; seleccione como valor A la constante, de entre estas dos, que le parezca apropiada y luego contine tal como se ha descrito anteriormente, solo que sustituya el valor 8 de los pasos anteriores por el valor 2.
483
Opciones de informe
Nota: Todos los subcampos de MDMFL estn reservados para que los utilice el gestor de colas. Cada subcampo se identifica mediante una mscara de bits que tiene bits 1 en las posiciones que corresponden al subcampo y bits 0 en los dems lugares. Los bits estn numerados de tal modo que el bit 0 es el ms significativo y el bit 31, el menos significativo. Para identificar los subcampos, se definen estas mscaras: MFRUM Mscara de los distintivos de mensaje no soportados que se rechazan. Esta mscara identifica las posiciones de bit dentro del campo MDMFL en las que los distintivos de mensaje que no estn soportados por el gestor de colas local harn que falle la llamada MQPUT o MQPUT1 con el cdigo de terminacin CCFAIL y el cdigo de razn RC2249. Este subcampo ocupa las posiciones de bit de la 20 a la 31. En este subcampo se incluyen los siguientes distintivos de mensaje: MFLMIG MFLSEG MFMIG MFSEG MFSEGA MFAUM Mscara de los distintivos de mensaje no soportados que se aceptan. Esta mscara identifica las posiciones de bit dentro del campo MDMFL en las que los distintivos de mensaje que no estn soportados por el gestor de colas local s se aceptarn en las llamadas MQPUT o MQPUT1. El cdigo de terminacin es CCOK. Este subcampo ocupa las posiciones de bit de la 0 a la 11. MFAUXM Mscara de los distintivos de mensaje no soportados que solo se aceptan en ciertas circunstancias. Esta mscara identifica las posiciones de bit dentro del campo MDMFL en las que los distintivos de mensaje que no estn soportados por el gestor de colas local s se aceptarn en las llamadas MQPUT o MQPUT1 siempre y cuando se satisfagan las dos siguientes condiciones: v El mensaje est destinado a un gestor de colas remoto. v La aplicacin no est poniendo los mensajes directamente en una cola de transmisin local (es decir, la cola identificada por los campos ODMN y ODON del descriptor de objeto especificado en la llamada MQOPEN o MQPUT1 no es una cola de transmisin local). Se devuelve el cdigo de terminacin CCOK si se satisfacen estas condiciones, y se devuelve CCFAIL con el cdigo de razn RC2249 si no se satisfacen. Este subcampo ocupa las posiciones de bit de la 12 a la 19. Si en el campo MDMFL se han especificado distintivos que el gestor de colas no reconoce, este comprueba cada subcampo por turno utilizando la operacin AND a nivel de bit para combinar el campo MDMFL con la mscara de ese subcampo. Si el resultado de esa operacin no es cero, se devuelven el cdigo de terminacin y los cdigos de razn antes descritos.
484
Proceso de conversin
Si se especifica la opcin GMCONV en la llamada MQGET y hay un mensaje que deba devolverse a la aplicacin, el gestor de colas realiza estas acciones: 1. No es preciso hacer ninguna conversin si se cumple una o varias de estas condiciones: v Los valores de MDCSI y MDENC de la informacin de control del mensaje son idnticos a los que hay en el parmetro MSGDSC. v La longitud de los datos del mensaje de aplicacin es cero. v La longitud del parmetro BUFFER es cero. En estos casos, el mensaje se devuelve sin convertir a la aplicacin que emiti la llamada MQGET; los valores de MDCSI y MDENC del parmetro MSGDSC se establecen en los valores de la informacin de control del mensaje; la llamada se completa con una de las siguientes combinaciones de cdigo de terminacin y cdigo de razn: Cdigo de terminacin Cdigo de razn CCOK RCNONE CCWARN RC2079
Copyright IBM Corp. 1994, 2000
485
Proceso de conversin
CCWARN RC2080 Si resulta que el valor de MDCSI o de MDENC de la informacin de control del mensaje es distinto del valor que hay en el parmetro MSGDSC y adems hay datos que convertir, se realizan estos pasos: 2. Si el campo MDFMT de la informacin de control del mensaje tiene el valor FMNONE, el mensaje se devuelve sin convertir, con el cdigo de terminacin CCWARN y el cdigo de razn RC2110. En los dems casos, se sigue realizando el proceso de conversin. 3. El mensaje se elimina de la cola y se coloca en un almacenamiento intermedio temporal cuyo tamao es el del parmetro BUFFER. En las operaciones de examinar, el mensaje se copia en el almacenamiento intermedio, pero no se elimina de la cola. 4. Si es necesario truncar el mensaje para que quepa en el almacenamiento intermedio, se realizan estas acciones: v Si no se ha especificado la opcin GMATM, el mensaje se devuelve sin convertir, con el cdigo de terminacin CCWARN y el cdigo de razn RC2080. v Si la opcin GMATM s se ha especificado, el cdigo de terminacin adquiere el valor CCWARN, el cdigo de razn adquiere el valor RC2079 y el proceso de conversin contina. 5. Si el mensaje cabe en el almacenamiento intermedio sin truncarse o si se ha especificado la opcin GMATM, se llevan a cabo estas acciones: v Si el formato es incorporado, se pasa el almacenamiento intermedio al servicio de conversin de datos del gestor de colas. v Si el formato no es incorporado, se pasa el almacenamiento intermedio a una rutina de salida escrita por usuario cuyo nombre coincide con el del formato. Si no se puede localizar la rutina de salida, el mensaje se devuelve sin convertir, con el cdigo de terminacin CCWARN y el cdigo de razn RC2110. Si no se produce ningn error, la salida del servicio de conversin de datos o de la rutina de salida escrita por usuario es el mensaje convertido ms el cdigo de terminacin y el cdigo de razn que se han de devolver a la aplicacin que emiti la llamada MQGET. 6. Si la conversin resulta satisfactoria, el gestor de colas devuelve el mensaje convertido a la aplicacin. En tal caso, el cdigo de terminacin y el cdigo de razn devueltos por la llamada MQGET suelen formar una de estas combinaciones: Cdigo de terminacin Cdigo de razn CCOK RCNONE CCWARN RC2079 | | | Sin embargo, si la conversin la realiza una rutina de salida escrita por usuario, puede ser que se devuelvan otros cdigos de razn, aunque la conversin haya resultado satisfactoria. Si (por cualquier motivo) falla la conversin, el gestor de colas devuelve el mensaje sin convertir a la aplicacin, con los campos MDCSI y MDENC del
486
Proceso de conversin
parmetro MSGDSC establecidos en los valores de la informacin de control del mensaje y con el cdigo de terminacin CCWARN. Ms adelante figuran los posibles cdigos de razn.
Convenios de proceso
Cuando se convierte un formato incorporado, el gestor de colas sigue los convenios de proceso descritos ms abajo. Conviene que las rutinas de salida escritas por usuario tambin se ajusten a estos convenios, aunque el gestor de colas no los impone. Los formatos incorporados convertidos por el gestor de colas son: FMADMN FMCICS FMCMD1 FMCMD2 FMDLH FMDH FMEVNT FMIMS FMIMVS FMMDE FMPCF FMRMH FMSTR FMTM FMXQH 1. Si el mensaje se expande durante la conversin y sobrepasa el tamao del parmetro BUFFER, se realizan estas acciones: v Si no se ha especificado la opcin GMATM, el mensaje se devuelve sin convertir, con el cdigo de terminacin CCWARN y el cdigo de razn RC2120. v Si la opcin GMATM s se ha especificado, el mensaje se trunca, el cdigo de terminacin adquiere el valor CCWARN, el cdigo de razn adquiere el valor RC2079 y el proceso de conversin contina. 2. Si se produce truncamiento (ya sea antes o durante la conversin), es posible que el nmero de bytes vlidos devueltos en el parmetro BUFFER sea menor que la longitud del almacenamiento intermedio. Podra ocurrir esto si, por ejemplo, un entero de 4 bytes o un carcter DBCS no cabe por completo al final del almacenamiento intermedio. El elemento de informacin incompleto no se convierte, por lo que esos bytes del mensaje devuelto no contienen informacin vlida. Tambin podra suceder esto si un mensaje truncado antes de la conversin encogiera durante ella. Si el nmero de bytes vlidos devueltos es menor que la longitud del almacenamiento intermedio, los bytes no utilizados al final del almacenamiento intermedio se establecen en nulos. 3. Si una matriz o una serie no cabe por completo al final del almacenamiento intermedio, se convierte la mayor cantidad posible de datos; lo nico que no se convierte es el elemento de matriz o el carcter DBCS que se qued incompleto; los elementos de matriz o los caracteres anteriores s se convierten. 4. Si se produce truncamiento (ya sea antes o durante la conversin), la longitud del parmetro DATLEN que se devuelve es la longitud del mensaje no convertido antes del truncamiento.
487
Convenios de proceso
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5. Cuando las series se convierten entre los juegos de caracteres de un solo byte (SBCS), los de doble byte (DBCS) o los de mltiples bytes (MBCS), es posible que las series se expandan o se contraigan. v En los formatos PCF FMADMN, FMEVNT y FMPCF, las series de las estructuras MQCFST y MQCFSL se expanden o se contraen lo que sea necesario para dar cabida a la serie despus de la conversin. En el caso de la estructura de lista de series MQCFSL, las series de la lista se pueden expandir o contraer en distintas cantidades. Si as fuera, el gestor de colas rellena con blancos las series ms cortas para que adquieran la longitud de la serie ms larga una vez realizada la conversin. v En el formato FMRMH, las series a las que se aplican los campos RMSEO, RMSNO, RMDEO y RMDNO se expanden o se contraen lo que sea necesario para dar cabida a las series despus de la conversin. v En el formato FMRFH, el campo RFNVS se expande o se contrae lo que sea preciso para dar cabida a los pares nombre/valor despus de la conversin. v En las estructuras cuyos campos tienen un tamao fijo, el gestor de colas permite a las series expandirse o contraerse dentro de los campos fijos, siempre y cuando no se pierda informacin significativa. Con respecto a esto, los blancos finales y los caracteres que siguen al primer carcter nulo del campo se consideran no significativos. Si la serie se expande, pero solo es necesario descartar caracteres no significativos para que la serie convertida quepa en el campo, las conversin resulta satisfactoria y la llamada se completa con el cdigo de terminacin CCOK y el cdigo de razn RCNONE (presuponiendo que no haya otros errores). Si la serie se expande, pero es preciso descartar caracteres significativos de la serie convertida para que esta quepa en el campo, el mensaje se devuelve sin convertir y la llamada se completa con CCWARN y el cdigo de razn RC2190. Si la serie se contrae, el gestor de colas la rellena con blancos hasta que adquiere la longitud del campo. 6. En el caso de los mensajes que constan de una o varias estructuras de cabecera MQ seguidas de datos de usuario, es posible que se conviertan una o varias de las estructuras de cabecera, mientras el resto del mensaje se queda sin convertir. Sin embargo, (con dos excepciones) los campos MDCSI y MDENC de cada estructura de cabecera siempre indican correctamente el juego de caracteres y la codificacin de los datos que siguen a la estructura de cabecera. Las dos excepciones son las estructuras MQCIH y MQIIH, donde los valores de los campos MDCSI y MDENC de esas estructuras no son significativos. En el caso de esas estructuras, los datos que siguen a la estructura tienen el mismo juego de caracteres y la misma codificacin que la propia estructura MQCIH o MQIIH. 7. Si los campos MDCSI o MDENC de la informacin de control del mensaje que se est recuperando o del parmetro MSGDSC especifican valores que no estn definidos o soportados, el gestor de colas puede hacer caso omiso del error si el valor no definido o no soportado no se tiene que usar al convertir el mensaje. Por ejemplo, si el campo MDENC del mensaje especifica una codificacin de coma flotante no soportada, pero el mensaje solo contiene datos de tipo entero o contiene datos de tipo coma flotante que no es preciso convertir (porque las codificaciones de coma flotante origen y destino son idnticas), puede ser que el error se diagnostique o que no.
488
Convenios de proceso
Si el error se diagnostica, el mensaje se devuelve sin convertir, con el cdigo de terminacin CCWARN y uno de estos cdigos de razn: RC2111, RC2112, RC2113, RC2114 o bien RC2115, RC2116, RC2117, RC2118 (segn corresponda); los campos MDCSI y MDENC del parmetro MSGDSC adquieren los valores de la informacin de control que hay en el mensaje. Si el error no se diagnostica y la conversin se completa satisfactoriamente, los valores devueltos en los campos MDCSI y MDENC del parmetro MSGDSC son los especificados por la aplicacin que emite la llamada MQGET. 8. En todos los casos, si el mensaje se devuelve a la aplicacin sin convertir, el cdigo de terminacin adquiere el valor CCWARN y los campos MDCSI y MDENC del parmetro MSGDSC se establecen en los valores apropiados de los datos sin convertir. Esto tambin se realiza para FMNONE. El parmetro REASON se establece en un cdigo que indica por qu no se pudo llevar a cabo la conversin, a menos que el mensaje tambin se haya tenido que truncar; los cdigos de razn relacionados con el truncamiento tienen prioridad sobre los cdigos de razn relacionados con la conversin. (Para averiguar si se ha convertido un mensaje truncado, compruebe los valores devueltos en los campos MDCSI y MDENC del parmetro MSGDSC). Cuando se diagnostica un error, se devuelve ya sea el cdigo de razn especfico o el cdigo de razn general, que es RC2119. El cdigo de razn devuelto depende de las posibilidades de diagnstico del servicio de conversin de datos subyacente. 9. Si se devuelve el cdigo de terminacin CCWARN y hay ms de un cdigo de razn relevante, el orden de prioridad es el que figura a continuacin. a. Las siguientes razones tienen prioridad sobre todas las dems: RC2079 b. Por orden de prioridad, la siguiente razn es: RC2110 c. El orden de prioridad de los dems cdigos de razn no est definido. 10. Al completarse la llamada MQGET: v El siguiente cdigo de razn indica que el mensaje se ha convertido satisfactoriamente: RCNONE v El siguiente cdigo de razn indica que el mensaje puede haberse convertido satisfactoriamente (compruebe los campos MDCSI y MDENC del parmetro MSGDSC para averiguarlo): RC2079 v Todos los dems cdigos de razn indican que el mensaje no se ha convertido. El proceso siguiente es especfico de los formatos incorporados; no es aplicable a los formatos definidos por el usuario: 11. Con la excepcin de los formatos siguientes: FMADMN FMEVNT FMIMVS FMPCF FMSTR Ninguno de los formatos incorporados se puede convertir a juegos de caracteres (ni desde ellos) que no tengan caracteres SBCS para los caracteres que son vlidos para los nombres de cola. Si se intenta hacer una conversin
| | | | | | | | |
489
Convenios de proceso
| | | | | as, se devuelve el mensaje sin convertir, con el cdigo de terminacin CCWARN y el cdigo de razn RC2111 o RC2115, segn corresponda. El juego de caracteres Unicode UCS-2 es un ejemplo de juego de caracteres que no tiene caracteres SBCS para los caracteres vlidos de los nombres de cola. 12. Si, en el caso de un formato incorporado, se truncan los datos del mensaje, los campos del mensaje que contienen longitudes de series o cuentas de elementos o de estructuras no se ajustan para reflejar la longitud de los datos que realmente se han devuelto a la aplicacin; los valores de esos campos de los datos del mensaje que se devuelven son los valores aplicables al mensaje antes del truncamiento. Cuando se procesan mensajes como un mensaje FMADMN truncado, hay que tener la precaucin de asegurar que la aplicacin no intente acceder a los datos ms all del final de los datos devueltos. 13. Si el nombre del formato es FMDLH, los datos del mensaje empiezan por una estructura MQDLH, que puede ir seguida de cero o ms bytes de datos del mensaje de aplicacin. Los campos DLFMT, DLCSI y DLENC de la estructura MQDLH son los que definen el formato, la codificacin y los datos del mensaje de aplicacin al principio del mensaje. Debido a que la estructura MQDLH y los datos del mensaje de aplicacin tienen distintas codificaciones y distintos juegos de caracteres, es posible que sea preciso convertir la estructura MQDLH y/o los datos del mensaje de aplicacin. El gestor de colas convierte la estructura MQDLH en primer lugar, si es necesario. Si la conversin es satisfactoria o si no es necesario convertir la estructura MQDLH, el gestor de colas comprueba los campos DLCSI y DLENC de la estructura MQDLH para ver si es preciso convertir los datos del mensaje de aplicacin. Si es preciso convertirlos, el gestor de colas invoca la rutina de salida escrita por usuario que tiene el nombre dado por el campo DLFMT de la estructura MQDLH, o bien l mismo realiza la conversin (si el campo DLFMT es el nombre de un formato incorporado). Si la llamada MQGET devuelve el cdigo de terminacin CCWARN y el cdigo de razn es uno de los que indican que no se ha podido hacer la conversin, es que se ha dado una de las siguientes situaciones: v No se ha podido convertir la estructura MQDLH. En este caso, tampoco se habrn convertido los datos del mensaje de aplicacin. v Se ha convertido la estructura MQDLH, pero no as los datos del mensaje de aplicacin. La aplicacin puede examinar los valores devueltos en los campos MDCSI y MDENC del parmetro MSGDSC, as como los de la estructura MQDLH, para averiguar cul de las dos situaciones anteriores se ha dado. 14. Si el nombre del formato es FMXQH, los datos del mensaje empiezan por una estructura MQXQH, que puede ir seguida de cero o ms bytes de datos adicionales. Estos datos adicionales suelen ser los datos del mensaje de aplicacin (cuya longitud puede ser cero), pero tambin puede haber una o varias estructuras de cabecera MQ ms situadas al principio de los datos adicionales. La estructura MQXQH debe tener el juego de caracteres y la codificacin del gestor de colas. Los campos MDFMT, MDCSI y MDENC de la estructura MQMD que estn dentro de la estructura MQXQH son los que proporcionan el formato, el juego de caracteres y la codificacin de los datos que siguen a la estructura MQXQH. Para cada estructura de cabecera MQ ulterior que est presente, los
490
Convenios de proceso
campos MDFMT, MDCSI y MDENC de la estructura describen los datos que siguen a esa estructura; esos datos pueden ser otra estructura de cabecera MQ o bien los datos del mensaje de aplicacin. Si se especifica la opcin GMCONV para un mensaje FMXQH, se convierten los datos del mensaje de aplicacin y algunas de las estructuras de cabecera MQ, pero no as los datos que hay en la estructura MQXQH. Por lo tanto, en la devolucin de la llamada MQGET: v Los valores de los campos MDFMT, MDCSI y MDENC del parmetro MSGDSC describen los datos de la estructura MQXQH, no los datos del mensaje de aplicacin; por ello, los valores no coincidirn con los especificados por la aplicacin que emiti la llamada MQGET. Como consecuencia de ello, la aplicacin que obtiene repetidamente mensajes de una cola de transmisin teniendo especificada la opcin GMCONV debe restablecer, antes de cada llamada MQGET, los campos MDCSI y MDENC del parmetro MSGDSC, dndoles los valores deseados para los datos del mensaje de aplicacin. v Los valores de los campos MDFMT, MDCSI y MDENC de la ltima estructura de cabecera MQ que estaba presente describen los datos del mensaje de aplicacin. Si no hay ninguna otra estructura de cabecera MQ, los datos del mensaje de aplicacin los describen estos campos de la estructura MQMD que hay dentro de la estructura MQXQH. Si la conversin es satisfactoria, los valores sern idnticos a los especificados en el parmetro MSGDSC por la aplicacin que emiti la llamada MQGET. Si se trata de un mensaje de lista de distribucin, la estructura MQXQH va seguida de una estructura MQDH (ms las correspondientes matrices de registros MQOR y MQPMR), que a su vez puede ir seguida de cero o ms estructuras de cabecera MQ adicionales y de cero o ms bytes de datos del mensaje de aplicacin. Al igual que la estructura MQXQH, la estructura MQDH debe tener el juego de caracteres y la codificacin del gestor de colas, y no se convierte en la llamada MQGET, ni siquiera si se especifica la opcin GMCONV. El proceso de las estructuras MQXQH y MQDH antes descrito est pensado principalmente para que lo utilicen los agentes de canal de mensajes (MCA) cuando obtienen mensajes de la cola de transmisin.
491
492
La estructura MQDXP es un parmetro que se pasa a la rutina de salida de conversin de datos. En la descripcin de la llamada MQCONVX encontrar detalles de la rutina de salida de conversin de datos. Los campos DXLEN, DXCC, DXREA y DXRES de MQDXP son los nicos que la rutina de salida puede cambiar; los cambios realizados en los dems campos no se tienen en cuenta. Sin embargo, el campo DXLEN no se puede cambiar si el mensaje que se est convirtiendo es un segmento que solo contiene parte del mensaje lgico. Cuando la rutina de salida devuelve el control al gestor de colas, este comprueba los valores devueltos en MQDXP. Si no son vlidos, el gestor de colas contina el proceso como si la rutina de salida hubiese devuelto XRFAIL en DXRES; sin embargo, el gestor de colas hace caso omiso de los valores de los campos DXCC y DXREA devueltos por la rutina de salida en este caso y utiliza en su lugar los valores que estos campos tenan como entrada de la rutina de salida. Los valores de MQDXP que dan lugar a este proceso son los siguientes: v El campo DXRES no es XROK ni XRFAIL v El campo DXCC no es CCOK ni CCWARN v El campo DXLEN es menor que cero o bien el campo DXLEN ha cambiado, pero el mensaje que se est convirtiendo es un segmento que solo contiene parte del mensaje lgico.
Campos
DXSID (serie de caracteres de 4 bytes) Identificador de estructura. El valor debe ser: DXSIDV Identificador de la estructura de parmetro de la rutina de salida de conversin de datos.
Apndice F. Conversin de datos
493
494
495
| | | |
496
| | | | | |
497
498
Sintaxis
MQXCNVC (HCONN, OPTS, SRCCSI, SRCLEN, SRCBUF, TGTCSI, TGTLEN, TGTBUF, DATLEN, CMPCOD, REASON)
Parmetros
HCONN (entero con signo de 10 dgitos) entrada Asa de conexin. Esta asa representa la conexin con el gestor de colas. Debe ser normalmente el asa que se pasa a la rutina de salida de conversin de datos en el campo DXHCN de la estructura MQDXP; esta asa no tiene por qu coincidir con la especificada por la aplicacin que emiti la llamada MQGET. En OS/400, se puede especificar para HCONN el siguiente valor especial: HCDEFH Asa de conexin por omisin. OPTS (entero con signo de 10 dgitos) entrada Opciones que controlan la accin de MQXCNVC. Se pueden especificar cero o ms de las opciones descritas ms abajo. Si se requiere ms de una, los valores se pueden aadir al mismo tiempo (pero no se puede aadir una misma constante ms de una vez). Opcin de conversin por omisin: la siguiente opcin controla el uso de la conversin de caracteres por omisin: DCCDEF Conversin por omisin. Esta opcin especifica que se puede utilizar la conversin de caracteres por omisin si no est soportado uno o ninguno de los juegos de caracteres especificados en la llamada. Ello permite que el gestor de colas, cuando convierta la serie, emplee un juego de caracteres por omisin especificado por la instalacin y que se aproxima al juego de caracteres real. Nota: El resultado de utilizar un juego de caracteres aproximado para convertir la serie es que algunos caracteres tal vez no se conviertan como es debido. Para evitarlo, solo se utilizan los caracteres de la serie que son comunes a los dos juegos de caracteres, el real, especificado en la llamada, y el que se toma por omisin. Para especificar el juego de caracteres por omisin, se utiliza una opcin de configuracin en el momento de instalar o reiniciar el gestor de colas.
Apndice F. Conversin de datos
499
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
500
501
502
503
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP MQXCNVC(HCONN : OPTS : SRCCSI : C SRCLEN : SRCBUF : TGTCSI : C TGTLEN : TGTBUF : DATLEN : C CMPCOD : REASON)
Sintaxis
MQCONVX (MQDXP, MQMD, INLEN, INBUF, OUTLEN, OUTBUF)
Parmetros
MQDXP (MQDXP) entrada/salida Bloque de parmetro de rutina de salida de conversin de datos. Esta estructura contiene informacin relacionada con la invocacin de la rutina de salida. La rutina de salida establece informacin en esta estructura para
504
505
Notas de utilizacin
1. La rutina de salida de conversin de datos es una rutina de salida escrita por usuario que recibe el control durante el proceso de una llamada MQGET. La funcin que realiza la rutina de salida de conversin de datos est definida por el suministrador de la rutina de salida; no obstante, la rutina de salida debe ajustarse a las normas aqu descritas y en la estructura de parmetro MQDXP asociada. El entorno determina los lenguajes de programacin que pueden utilizarse para una rutina de salida de conversin de datos. 2. Solo se invoca la rutina de salida si se cumplen todas estas condiciones: v Se ha especificado la opcin GMCONV en la llamada MQGET v El campo MDFMT del descriptor de mensaje no es FMNONE v El mensaje no tiene todava la representacin requerida; es decir, uno o los dos campos MDCSI y MDENC del mensaje es distinto del valor especificado por la aplicacin en el descriptor de mensaje suministrado en la llamada MQGET v El gestor de colas an no ha efectuado la conversin satisfactoriamente v La longitud del almacenamiento intermedio de la aplicacin es mayor que cero v La longitud de los datos del mensaje es mayor que cero v Hasta ahora, el cdigo de razn durante la operacin MQGET es RCNONE o RC2079 3. Al escribir una rutina de salida, debe tenerse en cuenta que la rutina de salida se ha de codificar de tal forma que pueda convertir mensajes que se hayan truncado. Las situaciones que pueden dar lugar a mensajes truncados son las siguientes: v La aplicacin receptora proporciona un almacenamiento intermedio ms pequeo que el mensaje, pero especifica la opcin GMATM en la llamada MQGET. En este caso, el campo DXREA del parmetro MQDXP en la entrada de la rutina de salida tendr el valor RC2079. v El emisor del mensaje lo ha truncado antes de enviarlo. Esto puede suceder, por ejemplo, con los mensajes de informe (en Conversin de los mensajes de informe en la pgina 491 hallar ms detalles). En este caso, el campo DXREA del parmetro MQDXP en la entrada de la rutina de salida tendr el valor RCNONE (si la aplicacin receptora ha proporcionado un almacenamiento intermedio cuyo tamao sea suficiente para el mensaje). En consecuencia, el valor del campo DXREA en la entrada de la rutina de salida no siempre se puede utilizar para decidir si el mensaje se ha truncado.
506
507
Invocacin RPG
C*..1....:....2....:....3....:....4....:....5....:....6....:....7.. C CALLP exitname(MQDXP : MQMD : INLEN : C INBUF : OUTLEN : OUTBUF)
508
Apndice G. Avisos
Esta informacin ha sido desarrollada para productos y servicios que se ofrecen en Estados Unidos. Es posible que en otros pases IBM no ofrezca los productos, los servicios o las caractersticas que se describen en este documento. Pngase en contacto con el representante local de IBM que le informar sobre los productos y servicios disponibles actualmente en su rea. Las referencias hechas a productos, programas o servicios de IBM no pretenden afirmar ni dar a entender que nicamente puedan utilizarse dichos productos, programas o servicios de IBM. Puede utilizarse en su lugar cualquier otro producto, programa o servicio funcionalmente equivalente que no vulnere ninguno de los derechos de propiedad intelectual de IBM. Sin embargo, es responsabilidad del usuario evaluar y verificar el funcionamiento de cualquier producto, programa o servicio que no sea de IBM. IBM puede tener patentes o solicitudes de patente pendientes de aprobacin que afecten a los temas tratados en esta informacin. La posesin de esta informacin no confiere ninguna licencia sobre dichas patentes. Puede enviar las consultas sobre licencias, por escrito, a la siguiente direccin: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 Estados Unidos Para consultas sobre licencias solicitando informacin sobre caracteres de doble byte (DBCS), pngase en contacto con el departamento de propiedad intelectual de IBM de su pas o enve directamente las consultas por escrito a: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokio 106, Japn El siguiente prrafo no se aplica al Reino Unido ni a ningn pas en el que dichas disposiciones contradigan la legislacin vigente: INTERNATIONAL BUSINESS MACHINES CORPORATION FACILITA ESTA PUBLICACIN TAL CUAL SIN GARANTAS DE NINGN TIPO, NI EXPLCITAS NI IMPLCITAS, INCLUIDAS, PERO SIN QUE ELLO CONSTITUYA UN LMITE, LAS GARANTAS IMPLCITAS DE NO TRANSGRESIN, COMERCIALIZACIN O ADECUACIN A UN FIN CONCRETO. Algunos pases no permiten la renuncia a garantas explcitas o implcitas en determinadas transacciones y, por lo tanto, esta declaracin puede no ser aplicable en su caso. Esta informacin puede contener imprecisiones tcnicas o errores tipogrficos. Peridicamente se efectan cambios en la informacin aqu contenida; dichos cambios se incorporarn en nuevas ediciones de la informacin. IBM se reserva el derecho a realizar, si lo considera oportuno, cualquier modificacin en los productos o programas que se describen en esta informacin y sin notificarlo previamente. Cualquier referencia hecha en esta informacin a sitios Web no de IBM se proporciona nicamente para su comodidad y no debe considerarse en modo alguno como promocin de esos sitios Web. Los materiales de estos sitios Web no
509
Avisos
forman parte de los materiales de IBM para este producto y el uso que se haga de estos sitios Web es de la entera responsabilidad del usuario. IBM puede utilizar o distribuir la informacin que usted le suministre del modo que IBM considere conveniente sin incurrir por ello en ninguna obligacin para con usted. Los licenciatarios de este programa que deseen obtener informacin acerca del mismo con el fin de: (i) intercambiar la informacin entre los programas creados independientemente y otros programas (incluido este) y (ii) utilizar mutuamente la informacin que se ha intercambiado, deben ponerse en contacto con: IBM United Kingdom Laboratories, Mail Point 151, Hursley Park, Winchester, Hampshire, Inglaterra SO21 2JN. Dicha informacin puede estar disponible, sujeta a los trminos y condiciones adecuados, incluyendo, en algunos casos, el pago de unos derechos. IBM proporciona el programa bajo licencia descrito en esta informacin, as como todo el material bajo licencia del que dispone, bajo los trminos del Acuerdo de Cliente IBM, del Acuerdo Internacional de Licencia de Programacin de IBM o de cualquier otro acuerdo equivalente entre usted e IBM. La informacin concerniente a productos no IBM se ha obtenido de los suministradores de esos productos, de sus anuncios publicados o de otras fuentes de informacin pblica disponibles. IBM no ha comprobado los productos y no puede afirmar la exactitud en cuanto a rendimiento, compatibilidad u otras caractersticas relativas a productos no IBM. Las consultas acerca de las posibilidades de productos no IBM deben dirigirse a las personas que los suministran. LICENCIA DE COPYRIGHT: Esta informacin contiene programas de aplicacin de ejemplo en lenguaje fuente, que muestran tcnicas de programacin en varias plataformas operativas. Puede copiar, modificar y distribuir estos programas de ejemplo de cualquier forma sin pagar nada a IBM, bajo el propsito de desarrollo, uso, mrketing o distribucin de programas de aplicacin de acuerdo con la interfaz de programacin de la aplicacin para la plataforma operativa para la cual se han escrito los programas de ejemplo. Estos ejemplos no se han probado bajo todas las condiciones posibles. IBM, por lo tanto, no puede garantizar ni implicar la fiabilidad, servicio o funcionalidad de estos programas. Puede copiar, modificar y distribuir estos programas de ejemplo de cualquier forma sin pagar nada a IBM bajo el propsito de desarrollo, uso, mrketing o distribucin de programas de aplicacin de acuerdo con los interfaces de programacin de aplicaciones de IBM.
510
Avisos
Marcas registradas
Los siguientes trminos son marcas registradas de International Business Machines en Estados Unidos y/o en otros pases:
AIX CICS IBM MQSeries OS/400 RPG/400 AS/400 CICS/VSE IMS OS/2 Presentation Manager System/370 BookManager FFST MQ OS/390 RACF System/390
Lotus y LotusScript son marcas registradas de Lotus Development Corporation en Estados Unidos y/o en otros pases. Java y todas las marcas registradas y logotipos basados en Java son nombres comerciales o marcas registradas de Sun Microsystems, Inc., en Estados Unidos y/o en otros pases. Microsoft, Windows, Windows NT y el logotipo de Windows son marcas registradas de Microsoft Corporation en los Estados Unidos de Amrica y/o otros pases. Intel es una marca registrada de Intel Corporation en Estados Unidos y/o en otros pases. UNIX es una marca registrada en Estados Unidos y/o en otros pases con licencia otorgada de forma exclusiva a travs de X/Open Company Limited. Los dems nombres de compaas, productos o servicios pueden ser marcas registradas o de servicio de otras empresas.
Apndice G. Avisos
511
Aplicaciones
512
A
adaptador. Interfaz entre MQSeries para OS/390 y TSO, IMS, CICS o espacios de direccin por lotes. Un adaptador es un recurso de conexin que permite a las aplicaciones acceder a los servicios de MQSeries. agente de canal de mensajes (MCA). Programa que transmite mensajes preparados desde una cola de transmisin a un enlace de comunicaciones, o desde un enlace de comunicaciones a una cola destino. Vea tambin interfaz de colas de mensajes. agrupacin de almacenamiento intermedio. rea del almacenamiento principal utilizada para mensajes, colas y definiciones de objetos de MQSeries para OS/390. Vea tambin conjunto de pginas. alerta. Mensaje enviado a un punto focal de servicios de gestin de una red para identificar un problema o un problema inminente. aliado. Espacio de direcciones de OS/390 que est conectado a MQSeries para OS/390. almacenamiento intermedio de anotaciones de salida. En MQSeries para OS/390, almacenamiento intermedio en el que se guardan los registros de anotaciones de recuperacin hasta que se graban en las anotaciones de archivar. almacenar y reenviar. Almacenamiento temporal de paquetes, mensajes o tramas en una red de datos antes de retransmitirlos a su destino. anlisis y eliminacin de vuelcos (DAE). Servicio de OS/390 que permite a una instalacin suprimir los vuelcos SVC y los vuelcos ABEND SYSUDUMP que no se necesitan porque son repeticiones de vuelcos ya grabados con anterioridad.
Copyright IBM Corp. 1994, 2000
513
El espacio en el que hay datos grabados no se reutiliza hasta que se reinicia el gestor de colas. Compare con anotaciones circulares. anotaciones simples. Mtodo de registrar la actividad de MQSeries para OS/390 en el que cada cambio se registra en un solo archivo. Compare con anotaciones duales. APAR. Authorized Program Analysis Report (informe autorizado de anlisis de programa). aplicacin de cliente. Aplicacin que se ejecuta en una estacin de trabajo y se enlaza a un cliente, el cual proporciona a la aplicacin acceso a los servicios de colas de un servidor. aplicacin distribuida. En la gestin de colas de mensajes, conjunto de programas de aplicacin que pueden conectarse individualmente a distintos gestores de colas, pero que colectivamente forman una sola aplicacin. archivo de anotaciones. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, archivo en el que se registran todos los cambios significativos realizados en los datos controlados por un gestor de colas. Si se llenan los archivos de anotaciones primarios, MQSeries asigna archivos de anotaciones secundarios. archivo de autorizacin. En MQSeries en sistemas UNIX, archivo que proporciona definiciones de seguridad sobre un objeto, sobre una clase de objetos o sobre todas las clases de objetos. archivo de configuracin. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, archivo que contiene informacin de configuracin que, por ejemplo, est relacionada con los archivos de anotaciones, las comunicaciones o los servicios instalables. Sinnimo de archivo .ini. Vea tambin estrofa. archivo de control de anotaciones. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, archivo que contiene la informacin necesaria para supervisar la utilizacin de los archivos de anotaciones (por ejemplo, el tamao y la ubicacin que tienen, as como el nombre del siguiente archivo disponible). archivo de definiciones de canal (CDF). En MQSeries, archivo que contiene definiciones de canal de comunicaciones que asocian colas de transmisin a enlaces de comunicaciones. archivo de rutina de carga (BSDS). Archivo VSAM que contiene: v Un inventario de todos los archivos de anotaciones activos y archivados reconocidos por MQSeries para OS/390.
v Un inventario de acomodacin de todas las actividades recientes de MQSeries para OS/390. El BSDS es necesario si se debe volver a iniciar el subsistema MQSeries para OS/390. archivo .ini. Vea archivo de configuracin. archivos de entrada de inicializacin. Archivos utilizados por MQSeries para OS/390 al iniciarse. rea de trabajo de diagnstico del sistema (SDWA). Datos registrados en una entrada SYS1.LOGREC y que describen un error de programa o de hardware. arreglo temporal de programa (PTF). Solucin o manera de eludir un problema diagnosticado por el servicio tcnico de IBM como resultado de un defecto en un release actual y no alterado de un programa. asa de conexin. Identificador o smbolo mediante el que un programa accede al gestor de colas al que est conectado. asa de objeto. Identificador o smbolo mediante el que un programa accede al objeto de MQSeries con el que est trabajando. asa (handle). Vea asa de conexin y asa de objeto. ASID. Address Space Identifier (identificador de espacio de direcciones). atributo. Una de las propiedades de un conjunto de propiedades que define las caractersticas de un objeto de MQSeries.
B
bloque de control de tareas (TCB). Bloque de control de OS/390 utilizado para comunicar informacin sobre las tareas que hay dentro de un espacio de direcciones y que estn conectadas a un subsistema OS/390, como MQSeries para OS/390 o CICS. BMS. Basic Mapping Support (soporte de mapas bsico). BSDS. Archivo de rutina de carga.
C
cabecera de suceso. En un mensaje de suceso, parte de los datos de mensaje que identifica el tipo de suceso del cdigo de razn del suceso. calificador de alto nivel de biblioteca destino (thlqual). Calificador de alto nivel para nombres de archivos destino de OS/390. canal. Vea canal de mensajes.
514
canal de mensajes. En la gestin de colas de mensajes distribuidas, mecanismo que permite trasladar mensajes de un gestor de colas a otro. Un canal de mensajes consta de dos agentes (un emisor en un extremo y un receptor en el otro extremo) y de un enlace de comunicaciones. Compare con canal MQI. canal emisor. En la gestin de colas de mensajes, canal que inicia transferencias, elimina mensajes de una cola de transmisin y los transfiere a travs de un enlace de comunicaciones a un canal receptor o a un canal peticionario. canal MQI. Conecta un cliente MQSeries a un gestor de colas situado en un sistema servidor y solamente transfiere llamadas y respuestas MQI de modo bidireccional. Compare con canal de mensajes. canal peticionario. En la gestin de colas de mensajes, canal que un canal emisor puede iniciar remotamente. El canal peticionario acepta los mensajes del canal emisor a travs de un enlace de comunicaciones y los pone en la cola local designada en el mensaje. Vea tambin canal servidor. canal receptor. En la gestin de colas de mensajes, canal que responde a un canal emisor, toma los mensajes de un enlace de comunicaciones y los pone en una cola local. canal servidor. En la gestin de colas de mensajes, canal que responde a un canal peticionario, elimina los mensajes de una cola de transmisin y los transfiere a travs de un enlace de comunicaciones al canal peticionario. carcter nulo. Carcter representado por X'00'. carga fuera de lnea. En MQSeries para OS/390, proceso automtico mediante el que las anotaciones activas de un gestor de colas se transfieren a las correspondientes anotaciones de archivar. CCF. Channel Control Function (funcin de control de canal). CCSID. Coded Character Set Identifier (identificador de juego de caracteres codificado). CDF. Channel Definition File (archivo de definiciones de canal). CI. Control Interval (intervalo de control). cierre. Vea cierre inmediato, cierre anticipado y cierre en reposo. cierre anticipado. En MQSeries, cierre de un gestor de colas que no espera a que se desconecten las aplicaciones ni a que se completen las llamadas MQI actuales. Compare con cierre inmediato y cierre en reposo. cierre controlado. Vea cierre en reposo.
cierre en reposo. En MQSeries, cierre de un gestor de colas que permite que las aplicaciones conectadas se desconecten. Compare con cierre inmediato y cierre anticipado. Tipo de cierre del adaptador CICS en el que el adaptador, para desconectarse de MQSeries, espera a que se hayan completado todas las tareas que estn activas en ese momento. Compare con cierre forzado. cierre forzado. Tipo de cierre del adaptador CICS, en el que el adaptador se desconecta inmediatamente de MQSeries para OS/390 haciendo caso omiso del estado de las tareas que estn activas en ese momento. Compare con cierre en reposo. cierre inmediato. En MQSeries, cierre de un gestor de colas que no espera a que se desconecten las aplicaciones. Tras haberse solicitado un cierre inmediato, las llamadas MQI actuales pueden completarse, pero no as las llamadas MQI nuevas. Compare con cierre en reposo y cierre anticipado. CL. Control Language (lenguaje de control). clase de almacenamiento. En MQSeries para OS/390, una clase de almacenamiento define el conjunto de pginas que ha de contener los mensajes de una cola determinada. La clase de almacenamiento se especifica al definir la cola. cliente. Componente de unidad ejecutable que proporciona acceso a servicios de colas en un servidor de aplicaciones de usuario local. Las colas utilizadas por las aplicaciones residen en el servidor. Vea tambin cliente MQSeries. cliente MQSeries. Parte de un producto MQSeries que puede instalarse en un sistema sin instalar el gestor de colas completo. El cliente MQSeries acepta llamadas MQI procedentes de aplicaciones y se comunica con un gestor de colas situado en un sistema servidor. clster. Red de gestores de colas que, de algn modo, estn asociados de forma lgica. cdigo de razn. Cdigo de retorno que describe la razn de la anomala o de la realizacin parcial de una llamada MQI. cdigo de razn de abend (finalizacin anmala). Cdigo hexadecimal de 4 bytes que identifica de manera exclusiva un problema producido en MQSeries para OS/390. En el manual MQSeries for OS/390 Messages and Codes hay una lista completa de los cdigos de razn de abend de MQSeries para OS/390 que incluye una explicacin de cada uno de ellos. cdigo de terminacin. Cdigo de retorno que indica cmo ha finalizado una llamada MQI. cdigos de retorno. Nombre que tienen en comn los cdigos de terminacin y los cdigos de razn.
515
cola. Objeto de MQSeries. Las aplicaciones de gestin de colas de mensajes pueden poner mensajes en una cola y obtener mensajes de ella. Una cola es propiedad de un gestor de colas, que es el que realiza su mantenimiento. Las colas locales pueden contener una lista de mensajes en espera de ser procesados. Las colas de otros tipos no pueden contener mensajes; por el contrario, sealan a otras colas o pueden servir de modelo para las colas dinmicas. cola de aplicacin. Cola utilizada por una aplicacin. cola de inicio. Cola local en la que el gestor de colas coloca mensajes desencadenantes. cola de mensajes. Sinnimo de cola. cola de mensajes en espera. Vea cola de mensajes no entregados. cola de mensajes no entregados (DLQ). Cola a la que un gestor de colas o una aplicacin enva mensajes que no puede entregar a su destino correcto. cola de respuestas. Nombre de una cola a la que el programa que emiti una llamada MQPUT quiere que se enve un mensaje de respuesta o un mensaje de informe. cola de sucesos. Cola en la que el gestor de colas pone un mensaje de suceso despus de haber detectado un suceso. Cada categora de suceso (de gestor de colas, de rendimiento o de canal) tiene su propia cola de sucesos. cola de transmisin. Cola local en la que se almacenan temporalmente mensajes preparados que estn destinados a un gestor de colas remoto. cola dinmica. Cola local creada cuando un programa abre un objeto cola modelo. Vea asimismo cola dinmica permanente y cola dinmica temporal. cola dinmica permanente. Cola dinmica que solo se suprime cuando se cierra si se ha solicitado explcitamente la supresin. Las colas dinmicas permanentes se recuperan si falla el gestor de colas, por lo que pueden contener mensajes permanentes. Compare con cola dinmica temporal. cola dinmica temporal. Cola dinmica que queda suprimida en cuanto se cierra. Las colas dinmicas temporales no se recuperan si falla el gestor de colas, por lo que solo pueden contener mensajes no permanentes. Compare con cola dinmica permanente. cola local. Cola que pertenece al gestor de colas local. Una cola local puede contener una lista de mensajes que estn a la espera de ser procesados. Compare con cola remota. cola remota. Cola que pertenece a un gestor de colas remoto. Los programas pueden transferir mensajes a las
colas remotas, pero no pueden obtener mensajes de ellas. Compare con cola local. cola system.command.input. Cola local a la que los programas de aplicacin pueden transferir mandatos de MQSeries. El servidor de mandatos recupera los mandatos de la cola, los valida y los pasa al procesador de mandatos para que se ejecuten. comprobaciones de autorizacin. Comprobaciones de seguridad realizadas cuando un usuario intenta emitir mandatos de administracin con respecto a un objeto; por ejemplo, para abrir una cola o para conectarse a un gestor de colas. compromiso. Operacin que aplica todos los cambios realizados durante la unidad de recuperacin o la unidad de trabajo actual. Una vez terminada la operacin, se inicia una nueva unidad de recuperacin o unidad de trabajo. Compare con restitucin. compromiso en dos fases. Protocolo que permite coordinar los cambios realizados en los recursos recuperables cuando una sola transaccin utiliza ms de un gestor de recursos. Compare con compromiso en una fase. compromiso en una fase. Mtodo en el que un programa puede comprometer las actualizaciones en una cola sin coordinarlas con las actualizaciones efectuadas por el programa en recursos controlados por otro gestor de recursos. Compare con compromiso en dos fases. conectar. Proporcionar un asa de conexin de gestor de colas, que una aplicacin utiliza en llamadas MQI posteriores. La conexin se efecta mediante la llamada MQCONN o, automticamente, mediante la llamada MQOPEN. conexin diferida. Suceso pendiente que se activa cuando un subsistema CICS intenta conectarse a MQSeries para OS/390 antes de que MQSeries para OS/390 se haya iniciado. conjunto de pginas. Archivo de VSAM que se utiliza cuando MQSeries para OS/390 traslada datos (por ejemplo, colas y mensajes) del almacenamiento intermedio al almacenamiento principal para su almacenamiento permanente de seguridad (en DASD). conmutacin de tareas. Operacin de solapar operaciones de E/S y procesar entre varias tareas. En MQSeries para OS/390, el conmutador de tareas optimiza el rendimiento al permitir que algunas llamadas MQI se ejecuten bajo subtareas, en vez de bajo el bloque de control de tareas (TCB) principal de CICS. contexto. Informacin acerca del origen de un mensaje. CPF. Command Prefix (prefijo de mandato).
516
cursor para examinar. En la gestin de colas de mensajes, indicador utilizado al examinar una cola para identificar el mensaje siguiente de la secuencia.
DLQ. Dead-Letter Queue (cola de mensajes no entregados). DQM. Distributed Queue Management (gestin de colas distribuidas).
D
DAE. Dump Analysis and Elimination (anlisis y eliminacin de vuelcos). datagrama. El mensaje ms simple soportado por MQSeries. Este tipo de mensaje no requiere una respuesta. datos de suceso. En un mensaje de suceso, parte de los datos del mensaje que contiene informacin sobre el suceso (como el nombre del gestor de colas y la aplicacin que produjo el suceso). Vea tambin cabecera de suceso. DCE. Distributed Computing Environment (entorno de sistemas distribuido). DCI. Data Conversion Interface (interfaz de conversin de datos). definicin local. Objeto de MQSeries que pertenece a un gestor de colas local. definicin local de una cola remota. Objeto de MQSeries que pertenece a un gestor de colas local. Este objeto define los atributos de una cola que es propiedad de otro gestor de colas. Tambin se utiliza para crear alias de gestor de colas y alias de cola de respuestas. descriptor de mensaje. Informacin de control que describe el formato y la presentacin de los mensajes y que forma parte de los mensajes de MQSeries. El formato del descriptor de mensaje est definido por la estructura MQMD. descriptor de objeto. Estructura de datos que identifica un determinado objeto de MQSeries. El descriptor consta del nombre del objeto y del tipo de objeto. desencadenamiento. En MQSeries, recurso que permite a un gestor de colas arrancar automticamente una aplicacin cuando se satisfacen condiciones predeterminadas en una cola. devolucin de llamada. En MQSeries, cuando un canal de mensajes peticionario inicia una transferencia procedente de un canal emisor, el canal peticionario llama primero al emisor, luego se cierra y espera una devolucin de llamada. direccin relativa en bytes (RBA). Desplazamiento en bytes de un registro almacenado o de un intervalo de control y que se cuenta desde el principio del espacio de almacenamiento asignado al archivo al que pertenece.
E
Editor del Registro. En Windows NT, elemento de programa que permite al usuario editar el Registro. entorno. Vea entorno de aplicacin. entorno de aplicacin. Los recursos de software a los que puede acceder un programa de aplicacin. En la plataforma OS/390, CICS e IMS son ejemplos de entornos de aplicaciones. entorno de lenguajes integrados (ILE). El entorno de lenguajes integrados del AS/400. Este entorno sustituye al modelo de programa original (OPM) del AS/400. entorno de sistemas distribuido (DCE). Middleware que proporciona determinados servicios bsicos que simplifican el desarrollo de aplicaciones distribuidas. DCE est definido por Open Software Foundation (OSF). entorno nacional. En los sistemas UNIX, subconjunto de un entorno del usuario que define los convenios de una cultura especfica (como el formato de la hora, el numrico o el monetario, as como la clasificacin, la ordenacin y la conversin de los caracteres). El CCSID del gestor de colas se obtiene del entorno nacional del ID de usuario que cre ese gestor de colas. entrega secuencial. En MQSeries, mtodo que permite transmitir los mensajes con un nmero de secuencia para que el canal receptor pueda restablecer el orden de los mensajes al almacenarlos. Este tipo de entrega es necesario si los mensajes se tienen que entregar una sola vez y en el orden correcto. escucha. En la gestin de colas distribuidas de MQSeries, programa que supervisa las conexiones de red entrantes. ESM. External Security Manager (gestor de seguridad externo). espacio de direcciones. rea de almacenamiento virtual disponible para un trabajo determinado. espacio de direcciones aliado. Vea aliado. ESTAE. Extended Specify Task Abnormal Exit (salida anmala de tarea especificada y ampliada) estrofa (stanza). Grupo de lneas de un archivo de configuracin que asignan un valor a un parmetro, modificando as el comportamiento de un gestor de colas, de un cliente o de un canal. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries
Glosario de trminos y abreviaturas
517
para Windows NT, un archivo de configuracin (.ini) puede contener un varias estrofas. examinar. En la gestin de colas de mensajes, utilizar la llamada MQGET para copiar un mensaje sin eliminarlo de la cola. Vea tambin obtener.
gestin de colas remotas. En la gestin de colas de mensajes, suministro de servicios para permitir a las aplicaciones poner mensajes en colas que pertenecen a otros gestores de colas.
F
FFST. First Failure Support Technology. FIFO. First-In-First-Out (primero en entrar, primero en salir). First Failure Support Technology (FFST). Tecnologa empleada por MQSeries en sistemas UNIX, MQSeries para OS/2 Warp, MQSeries para Windows NT, y MQSeries para AS/400 para detectar e informar acerca de problemas de software. formato de mandato programable (PCF). Tipo de mensaje de MQSeries utilizado por: v Las aplicaciones de administracin de usuario, para transferir mandatos PCF a la cola de entrada de mandatos del sistema de un gestor de colas especificado. v Las aplicaciones de administracin de usuario, para obtener los resultados de un mandato PCF de un gestor de colas especificado. v Un gestor de colas, como notificacin de que se ha producido un suceso. Compare con MQSC. FRR. Functional Recovery Routine (rutina de recuperacin funcional). funcin de control de canal (CCF). En MQSeries, programa que transfiere mensajes desde una cola de transmisin a un enlace de comunicaciones y desde un enlace de comunicaciones a una cola local, conjuntamente con una interfaz de panel de operador para permitir la configuracin y el control de los canales.
| | | | | | |
gestor de autorizaciones sobre objeto (OAM). En MQSeries en sistemas UNIX, MQSeries para AS/400 y MQSeries para Windows NT, servicio de autorizaciones por omisin para la gestin de mandatos y objetos. El OAM puede sustituirse por un servicio de seguridad suministrado por el cliente o ejecutarse junto con dicho servicio. gestor de colas. Programa del sistema que proporciona a las aplicaciones servicios de gestin de colas. Ofrece una interfaz de programacin de aplicaciones para que as los programas puedan acceder a los mensajes de las colas que son propiedad del gestor de colas. Vea tambin gestor de colas local y gestor de colas remoto. Objeto de MQSeries que define los atributos de un determinado gestor de colas. gestor de colas local. Gestor de colas al que est conectado un programa y que proporciona servicios de gestin de colas al programa. Los gestores de colas, cuando el programa no est conectado a ellos, se llaman gestores de colas remotos, aunque se ejecuten en el mismo sistema que el programa. gestor de colas remoto. Referido a un programa, gestor de colas que no es aquel al que est conectado el programa. gestor de recursos. Aplicacin, programa o transaccin que gestiona y controla el acceso a recursos compartidos, como los almacenamientos intermedios de memoria y los archivos. MQSeries, CICS e IMS son gestores de recursos. gestor de seguridad externo (ESM). Producto de seguridad al que invoca el recurso de autorizaciones del sistema (SAF) de OS/390. RACF es un ejemplo de ESM. gestor de terminacin de recuperacin (RTM). Programa que maneja toda terminacin normal o anmala de tareas, pasando el control a una rutina de recuperacin asociada a la funcin de terminacin. GTF. Generalized Trace Facility (recurso de rastreo generalizado).
G
GCPC. Generalized Command Preprocessor (preprocesador de mandatos generalizado). gestin de colas. Vea gestin de colas de mensajes. gestin de colas de mensajes. Tcnica de programacin en la que cada programa de una aplicacin se comunica con los otros programas poniendo mensajes en las colas. gestin de colas distribuidas (DQM). En la gestin de colas de mensajes, definicin y control de canales de mensajes para gestores de colas de otros sistemas.
H
hebra. En MQSeries, nivel ms bajo de ejecucin en paralelo disponible en una plataforma de sistema operativo.
518
I
ID de sesin. En MQSeries para OS/390, identificador exclusivo en CICS que define el enlace de comunicaciones que un agente de canal de mensajes ha de utilizar al transferir los mensajes de una cola de transmisin a un enlace. identificador de espacio de direcciones (ASID). Identificador asignado por el sistema y exclusivo de un espacio de direcciones. identificador de juego de caracteres codificado (CCSID). Nombre de un juego de caracteres codificado y de sus asignaciones de elementos de cdigo. identificador de transaccin. En CICS, nombre especificado en el momento de definir la transaccin y que sirve para invocar la transaccin. ILE. Entorno de Lenguajes Integrado (Integrated Language Environment). imagen de medio. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, secuencia de registros de anotaciones que contienen una imagen de un objeto. El objeto se puede crear de nuevo a partir de esta imagen. informe autorizado de anlisis de programa (APAR). Informe de un problema causado por un posible defecto en un release actual y no modificado de un programa. infraestructura. En MQSeries, grupo de interfaces de programacin que permiten a los clientes o a los proveedores escribir programas que amplan o reemplazan determinadas funciones proporcionadas por los productos MQSeries. Las interfaces son: v Interfaz de conversin de datos (DCI) de MQSeries v Interfaz de canal de mensajes (MCI) de MQSeries v Interfaz de servicio de nombres (NSI) de MQSeries v Interfaz de habilitacin de seguridad (SEI) de MQSeries v Interfaz de supervisor de desencadenamiento (TMI) de MQSeries Interactive System Productivity Facility (ISPF). Programa bajo licencia de IBM que hace de editor de pantalla completa y de gestor de dilogos. Se utiliza para escribir programas de aplicacin y es un medio para generar paneles de pantalla y dilogos interactivos estndar entre el programador de aplicaciones y el usuario de terminal. interfaz de administracin de MQSeries (MQAI). Interfaz de programacin de MQSeries. interfaz de canal de mensajes (MCI). Interfaz de MQSeries a la que deben ajustarse los programas
escritos por clientes o proveedores que transmiten mensajes entre un gestor de colas de MQSeries y otro sistema de mensajera. Forma parte de la infraestructura de MQSeries. interfaz de cola de mensajes (MQI). Interfaz de programacin proporcionada por los gestores de colas de MQSeries. Esta interfaz de programacin permite a los programas de aplicacin acceder a los servicios de colas de mensajes. interfaz de conversin de datos (DCI). La interfaz de MQSeries a la que deben ajustarse los programas escritos por el cliente o el proveedor y que convierten datos de la aplicacin entre las distintas codificaciones de mquina y los distintos CCSID. Forma parte de la Infraestructura MQSeries. interfaz de habilitacin de seguridad (SEI). Interfaz de MQSeries a la que deben ajustarse los programas escritos por clientes o proveedores que comprueban autorizaciones, suministran identificadores de usuario o realizan autenticaciones. Forma parte de la infraestructura de MQSeries. interfaz de servicio de nombres (NSI). Interfaz de MQSeries a la que deben ajustarse los programas escritos por clientes o proveedores y que resuelven la propiedad de los nombres de colas. Forma parte de la infraestructura de MQSeries. interfaz de supervisor de desencadenamiento (TMI). Interfaz de MQSeries a la que deben ajustarse los programas supervisores de desencadenamiento escritos por clientes o proveedores. Forma parte de la infraestructura de MQSeries. interrupcin por error de mquina. Interrupcin producida por un error o funcionamiento defectuoso de un equipo. Una interrupcin por error de mquina puede ser recuperable por hardware, recuperable por software o irrecuperable. intervalo de control (CI). rea de longitud fija del almacenamiento de acceso directo en la que VSAM almacena registros y crea espacios libres distribuidos. El intervalo de control es la unidad de informacin que VSAM transmite al almacenamiento de acceso directo o desde l. intervalo de servicio. Intervalo de tiempo con el que el gestor de colas compara el tiempo transcurrido entre una operacin de poner o de obtener y una operacin ulterior de obtener al decidir si se han satisfecho las condiciones de un suceso de intervalo de servicio. El intervalo de servicio de una cola se especifica mediante un atributo de la cola. IPCS. Interactive Problem Control System (sistema de control de problemas interactivo). ISPF. Interactive System Productivity Facility.
519
L
lenguaje de control (CL). En MQSeries para AS/400, lenguaje que permite emitir mandatos ya sea en la lnea de mandatos o al escribir un programa en CL. lista de nombres. Objeto de MQSeries que contiene una lista de nombres; por ejemplo, nombres de colas. llamada de supervisor (SVC). Instruccin de OS/390 que interrumpe un programa en ejecucin y pasa el control al supervisor para que este pueda prestar el servicio especfico indicado por la instruccin.
mensaje de informe. Tipo de mensaje que proporciona informacin sobre otro mensaje. El mensaje de informe puede indicar que se ha entregado un mensaje, que el mensaje ha llegado a su destino, que ha caducado o que no ha podido procesarse por alguna razn. Compare con mensaje de respuesta y mensaje de peticin. mensaje de peticin. Tipo de mensaje utilizado para solicitar una respuesta de otro programa. Compare con mensaje de respuesta y mensaje de informe. mensaje de respuesta. Tipo de mensaje utilizado para responder a los mensajes de peticin. Compare con mensaje de peticin y mensaje de informe. mensaje desencadenante. Mensaje que contiene informacin sobre el programa que un supervisor de desencadenamiento va a arrancar. mensaje de suceso. Contiene informacin (como la categora del suceso, el nombre de la aplicacin que ocasion el suceso y las estadsticas del gestor de colas) relacionada con el origen de un suceso de instrumentacin en una red de sistemas MQSeries. mensaje en disco duro (hardened message). Mensaje grabado en el almacenamiento auxiliar (disco) de modo que no se perder si se produce una anomala en el sistema. Vea tambin mensaje persistente. mensaje no permanente. Mensaje que no perdura despus de un reinicio del gestor de colas. Compare con mensaje permanente. mensaje permanente. Mensaje que perdura tras un reinicio del gestor de colas. Compare con mensaje no permanente. mensajera. Vea mensajera sncrona y mensajera asncrona. mensajera asncrona. Mtodo de comunicacin entre programas en el que estos colocan mensajes en las colas de mensajes. Con la mensajera asncrona, el programa emisor prosigue el proceso sin esperar la respuesta al mensaje. Compare con mensajera sncrona. mensajera independiente del tiempo. Vea mensajera asncrona. mensajera sncrona. Mtodo de comunicacin entre programas en el que estos colocan mensajes en las colas de mensajes. Con la mensajera sncrona, el programa emisor espera una respuesta al mensaje para reanudar su propio proceso. Compare con mensajera asncrona. modalidad dual. Vea anotaciones duales. modelo de programa original (OPM). Es el entorno OPM (modelo de programa original) de AS/400. Ha
M
mandato. En MQSeries, instruccin de administracin que el gestor de colas puede llevar a cabo. mandato de control. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, mandato que se puede entrar interactivamente desde la lnea de mandatos del sistema operativo. Un mandato de este tipo solo requiere que se instale el producto MQSeries; no necesita ningn programa ni programa de utilidad especiales que lo ejecuten. mandato PCF. Vea formato de mandato programable. mandatos de administrador. Mandatos de MQSeries utilizados para gestionar objetos de MQSeries, como colas, procesos y listas de nombres. mandatos de control del sistema. Mandatos utilizados para manipular entidades especficas de plataforma como, por ejemplo, las agrupaciones de almacenamiento intermedio, las clases de almacenamiento y los conjuntos de pginas. mandatos de MQSeries (MQSC). Mandatos legibles por personas, uniformes en todas las plataformas, que se utilizan para manipular objetos de MQSeries. Compare con formato de mandato programable (PCF). manejador de cola de mensajes no entregados. Programa de utilidad facilitado por MQSeries que supervisa una cola de mensajes no entregados (DLQ) y procesa los mensajes de la cola de acuerdo con una tabla de normas escrita por el usuario. MCA. Message Channel Agent (agente de canal de mensajes). MCI. Message Channel Interface (interfaz de canal de mensajes). mensaje. En aplicaciones de colas de mensajes, comunicacin enviada entre programas. Vea asimismo mensaje permanente y mensaje no permanente. En programacin de sistemas, informacin destinada al operador del terminal o al administrador del sistema.
520
dejado de estar soportado en MQSeries. Lo ha sustituido el entorno ILE (entorno de lenguajes integrados). MQAI. MQSeries Administration Interface (interfaz de administracin de MQSeries). MQI. Message Queue Interface (interfaz de colas de mensajes). MQSC. MQSeries Commands (mandatos de MQSeries). MQSeries. Familia de programas bajo licencia de IBM que proporciona servicios de gestin de colas de mensajes.
objeto definicin de proceso. Objeto de MQSeries que contiene la definicin de una aplicacin de MQSeries. Por ejemplo, los gestores de colas utilizan la definicin cuando funcionan con mensajes desencadenantes. objeto por omisin. Definicin de un objeto (por ejemplo, una cola) cuyos atributos estn todos definidos. Si un usuario define un objeto sin especificar todos sus posibles atributos, el gestor de colas utiliza los atributos por omisin en lugar de los que no se hayan especificado. obtener. En la gestin de colas de mensajes, utilizar la llamada MQGET para extraer un mensaje de la cola. Vea tambin examinar. OPM. Modelo de Programa Original (Original Program Model) OTMA. Open Transaction Manager Access.
N
notificacin de terminacin. Suceso pendiente que se activa cuando un subsistema CICS se conecta satisfactoriamente a MQSeries para OS/390. NSI. Name Service Interface (interfaz del servicio de nombres). NTFS. New Technology File System (sistema de archivos de nueva tecnologa). numeracin de secuencia de mensajes. Tcnica de programacin en la que se da a los mensajes nmeros exclusivos durante la transmisin a travs de un enlace de comunicaciones. Ello permite al proceso receptor comprobar si se han recibido todos los mensajes, colocarlos en una cola en el orden original y descartar los mensajes repetidos.
P
parmetro de entrada. Parmetro de una llamada MQI en el que se suministra informacin al hacer la llamada. parmetro de entrada/salida. Parmetro de una llamada MQI en el que se suministra informacin al hacer la llamada y donde luego, cuando la llamada se haya completado o haya fallado, el gestor de colas cambia la informacin. parmetro de salida. Parmetro de una llamada MQI en el que el gestor de colas devuelve informacin cuando la llamada se completa o falla. PCF. Programmable Command Format (formato de mandato programable). percolacin. En recuperacin de errores, pasar a travs de una va de control preestablecida desde una rutina de recuperacin a una rutina de recuperacin de nivel ms alto. perfil de conmutador. En MQSeries para OS/390, perfil RACF utilizado al iniciarse MQSeries o cuando se emite un mandato de renovar seguridad. Cada perfil de conmutador detectado por MQSeries desativa la comprobacin de los recursos especificados. ping. En la gestin de colas distribuidas, ayuda de diagnstico que utiliza el intercambio de un mensaje de prueba para confirmar el funcionamiento de un canal de mensajes o de una conexin TCP/IP. plataforma. En MQSeries, el sistema operativo bajo el que se ejecuta un gestor de colas. prefijo de mandato (CPF). En MQSeries para OS/390, serie de caracteres que identifica el gestor de colas al que se dirigen los mandatos de MQSeries para OS/390 y del que se reciben los mensajes de operador de MQSeries para OS/390.
Glosario de trminos y abreviaturas
O
OAM. Object Authority Manager (gestor de autorizaciones sobre objeto). objeto. En MQSeries, un objeto puede ser un gestor de colas, una cola, una definicin de proceso, un canal, una lista de nombres o una clase de almacenamiento (solo para OS/390). objeto cola alias. Objeto de MQSeries, cuyo nombre es un alias de una cola base definida para el gestor de colas local. Cuando una aplicacin o un gestor de colas utiliza una cola alias, el nombre de alias se resuelve y la operacin solicitada se realiza en la cola base asociada. objeto cola modelo. Conjunto de atributos de cola que acta a modo de plantilla cuando un programa crea una cola dinmica. objeto cola remota. Vea definicin local de una cola remota.
521
preprocesador de mandatos generalizado (GCPC). Componente de MQSeries para OS/390 que procesa mandatos de MQSeries y los ejecuta. primero en entrar, primero en salir (FIFO). Tcnica de gestin de colas en la que el siguiente elemento que se recupera es el que hace ms tiempo que est en la cola. (A) prioridad de mensaje. En MQSeries, atributo de un mensaje que puede afectar al orden de recuperacin de los mensajes de una cola e indicar si se genera un suceso desencadenante. procesador de mandato. Componente de MQSeries que procesa los mandatos. programa de transmisin. Vea agente de canal de mensajes. programa de utilidad. En MQSeries, conjunto de programas que proporcionan al operador o al administrador del sistema recursos adicionales a los proporcionados por los mandatos de MQSeries. Algunos programas de utilidad invocan ms de una funcin. PTF. Program Temporary Fix (arreglo temporal de programa). punto de control. Momento en el que se graba informacin significativa en las anotaciones. Compare con punto de sincronismo. En MQSeries en sistemas UNIX, momento en el que un registro de datos descrito en el archivo de anotaciones es igual que el registro de datos de la cola. Los puntos de control se generan automticamente y se utilizan durante el proceso de reinicio del sistema. punto de recuperacin. En MQSeries para OS/390, trmino utilizado para describir un conjunto de copias de seguridad de los conjuntos de pginas de MQSeries para OS/390 y los correspondientes archivos de anotaciones necesarios para recuperar esos conjuntos de pginas. Estas copias de seguridad proporcionan un punto de reinicio potencial en el caso de que se produzca una prdida de conjuntos de pginas (por ejemplo, un error de E/S de conjuntos de pginas). punto de sincronismo. Punto intermedio o punto final del proceso de una transaccin en el que son coherentes los recursos protegidos de la transaccin. En un punto de sincronismo, los cambios efectuados en los recursos se pueden comprometer de forma segura o se pueden restituir al punto de sincronismo anterior.
(GTF) y el recurso de gestin del sistema (SMF). Vea asimismo rastreo global y rastreo de rendimiento. rastreo de rendimiento. Opcin de rastreo de MQSeries cuyos datos de rastreo se han de utilizar para anlisis y ajuste del rendimiento. rastreo global. Opcin de rastreo de MQSeries para OS/390 en la que los datos del rastreo proceden de todo el subsistema MQSeries para OS/390. RBA. Relative Byte Address (direccin relativa en bytes). recurso. Cualquier servicio o recurso del sistema informtico o del sistema operativo necesario para un trabajo o una tarea. En MQSeries para OS/390, son ejemplos de recursos las agrupaciones de almacenamiento intermedio, los conjuntos de pginas, los archivos de anotaciones y los mensajes. recurso de autorizaciones del sistema (SAF). Recurso de OS/390 a travs del cual MQSeries para OS/390 se comunica con un gestor de seguridad externo, como RACF. recurso de rastreo generalizado (GTF). Programa de servicio de OS/390 que, para la determinacin de problemas, registra los sucesos significativos del sistema, como las llamadas de supervisor y las operaciones de inicio de E/S. Registro. En Windows NT, base de datos segura que proporciona un nico origen de datos de configuracin de aplicaciones y del sistema. registro de deshacer/rehacer. Registro de anotaciones utilizado en la recuperacin. La parte rehacer del registro describe un cambio que se ha de hacer en un objeto de MQSeries. La parte deshacer describe cmo se ha de restituir el cambio si no se compromete el trabajo. reposo. En MQSeries, estado de un gestor de colas anterior al estado de detencin. En este estado, se permite que los programas terminen de procesarse, pero no que se inicien nuevos programas. resincronizar (resynch). En MQSeries, opcin que permite instar a un canal que se inicie y resuelva los mensajes en estado dudoso, aunque sin reiniciar la transferencia de mensajes. RESLEVEL. En MQSeries para OS/390, opcin que controla el nmero de identificadores (ID) de usuario de CICS en los que se comprueba la seguridad de recursos de API en MQSeries para OS/390. respondedor. En la gestin de colas distribuidas, programa que responde a las peticiones de conexin de red procedentes de otro sistema.
R
rastreo. En MQSeries, recurso que permite registrar la actividad de MQSeries. El destino de las entradas de rastreo puede incluir el recurso de rastreo generalizado
522
restitucin. Operacin que anula todos los cambios realizados durante la unidad de recuperacin o la unidad de trabajo actuales. Una vez terminada la operacin, se inicia una nueva unidad de recuperacin o unidad de trabajo. Compare con compromiso. restitucin en una fase. Mtodo en el que no debe autorizarse la terminacin de una accin en proceso y en el que deben deshacerse todos los cambios que forman parte de esa accin. retrotraer. Sinnimo de restituir. RRS. Resource Recovery Services (servicios de recuperacin de recursos). RTM. Recovery Termination Manager (gestor de terminacin de recuperacin). rutina de recuperacin funcional (FRR). Recurso del gestor de recuperacin/terminacin de OS/390 que permite ceder el control a una rutina de recuperacin en el caso de que se produzca una interrupcin de programa.
serie de sntoma. Informacin de diagnstico visualizada con un formato estructurado diseado para hacer bsquedas en la base de datos de soporte de software IBM. servicio de autorizaciones. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, servicio que permite comprobar la autorizacin de mandatos y llamadas MQI del identificador de usuario asociado al mandato o a la llamada. servicio de identificador de usuario (UIS). En MQSeries para OS/2 Warp, recurso que permite a las aplicaciones MQI asociar un ID de usuario (distinto del ID de usuario por omisin) a los mensajes de MQSeries. servicio de nombres. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, recurso que determina qu gestor de colas es el propietario de una cola especificada. servicios de recuperacin de recursos (RRS). Recurso de OS/390 que proporciona soporte de punto de sincronismo en dos fases a todos los gestores de recursos participantes. servicios instalables. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, funciones adicionales proporcionadas como componentes independientes. La instalacin de cada componente es opcional: pueden utilizarse en su lugar componentes internos o de otros proveedores. Vea asimismo servicio de autorizaciones, servicio de nombres y servicio de identificador de usuario. servidor. (1) En MQSeries, gestor de colas que proporciona servicios de cola a las aplicaciones de cliente que se ejecutan en una estacin de trabajo remota. (2) Programa que responde a las peticiones de informacin en el modelo especfico de cliente/servidor en el que se produce una corriente de informacin entre dos programas. Vea tambin cliente. servidor de mandatos. Componente de MQSeries que lee los mandatos procedentes de la cola de entrada de mandatos del sistema, los verifica y luego pasa los que son vlidos al procesador de mandatos. sistema de archivos de nueva tecnologa (NTFS). Sistema de archivos recuperable de Windows NT que proporciona seguridad de archivos. sistema de control de problemas interactivo (IPCS). Componente de OS/390 que permite realizar la gestin de problemas en lnea, el diagnstico de problemas interactivo, la depuracin en lnea de los vuelcos de finalizacin anmala (abend) residentes en disco, el seguimiento de problemas y la notificacin de problemas.
S
SAF. System Authorization Facility (recurso de autorizaciones del sistema). salida anmala de tarea especificada y ampliada (ESTAE). Macro de OS/390 que ofrece posibilidades de recuperacin y cede el control a la rutina de salida especificada para procesar, diagnosticar una finalizacin anmala (abend) o especificar una direccin de reintento. SDWA. System Diagnostic Work Area (rea de trabajo de diagnstico del sistema). Seccin de Registro. En Windows NT, la estructura de los datos almacenados en el Registro. seguridad del contexto. En MQSeries, mtodo que permite manejar la seguridad de tal manera que los mensajes estn obligados a incluir detalles de su origen en el descriptor del mensaje. seguridad de usuario alternativo. Caracterstica de seguridad en la que las autorizaciones de un ID de usuario las puede utilizar otro ID de usuario; por ejemplo, para abrir un objeto de MQSeries. SEI. Security Enabling Interface (interfaz de habilitacin de seguridad). sealizacin. En MQSeries para OS/390 y MQSeries para Windows 2.1, caracterstica que permite al sistema operativo enviar a un programa notificacin de que un mensaje esperado llega a una cola.
523
SIT. System Initialization Table (tabla de inicializacin del sistema). soporte de mapas bsico (BMS). Interfaz entre CICS y los programas de aplicacin que formatea los datos de visualizacin de entrada y de salida, y direcciona los mensajes de salida de mltiples pginas haciendo caso omiso de los caracteres de control utilizados por los diversos terminales. subsistema. En OS/390, grupo de mdulos que proporciona funciones que dependen de OS/390. Por ejemplo, MQSeries para OS/390 es un subsistema de OS/390. suceso. Vea suceso de canal, suceso de instrumentacin, suceso de rendimiento y suceso de gestor de colas. suceso de canal. Suceso que indica que una sesin de canal ha quedado disponible o no disponible. Los sucesos de canal se generan en los gestores de colas en ambos extremos del canal. suceso de gestor de colas. Suceso que indica que: v Se ha producido una condicin de error en relacin a los recursos utilizados por un gestor de colas. Por ejemplo, que una cola no est disponible. v Se ha producido un cambio significativo en el gestor de colas. Por ejemplo, que se ha detenido o iniciado un gestor de colas. suceso de instrumentacin. Recurso que permite supervisar el funcionamiento de los gestores de colas en una red de sistemas MQSeries. MQSeries proporciona sucesos de instrumentacin para supervisar las definiciones de recursos de los gestores de colas, las condiciones de rendimiento y las condiciones de canal. Los sucesos de instrumentacin los puede utilizar un mecanismo de notificacin escrito por usuario en una aplicacin de administracin que visualiza los sucesos a un operador del sistema. Tambin permiten a las aplicaciones que hacen de agentes para otras redes de administracin supervisar informes y crear las alertas adecuadas. suceso de intervalo de servicio. Suceso relacionado con el intervalo de servicio. suceso de rendimiento. Categora de suceso que indica que se ha producido una condicin de lmite. suceso desencadenante. Suceso (como la llegada de un mensaje a una cola) que hace que un gestor de colas cree un mensaje desencadenante en una cola de inicio. suceso pendiente. Suceso no planificado que se produce como consecuencia de una peticin de conexin procedente de un adaptador CICS. sujeto. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, trmino que representa un identificador de usuario. Lo
utiliza el gestor de autorizaciones sobre objeto para comprobar las autorizaciones sobre los recursos del sistema. supervisor de alertas. En MQSeries para OS/390, componente del adaptador CICS que maneja los sucesos no planificados que se produzcan como resultado de las peticiones de conexin dirigidas a MQSeries para OS/390. supervisor de desencadenamiento. Aplicacin de ejecucin continua que sirve a una o ms colas de inicio. Cuando un mensaje desencadenante llega a una cola de inicio, el supervisor de desencadenamiento recupera el mensaje. Utiliza la informacin del mensaje desencadenante para iniciar un proceso que sirve a la cola en la que se produjo el suceso desencadenante. SVC. Supervisor Call (llamada de supervisor). SYS1.LOGREC. Ayuda al servicio, que contiene informacin acerca de los errores de programa de hardware.
T
tabla de inicializacin del sistema (SIT). Tabla que contiene los parmetros utilizados por CICS en el momento del inicio. tabla de normas. Archivo de control que contiene una o varias normas que el manejador de colas de mensajes no entregados aplica a los mensajes de la cola de mensajes no entregados (DLQ). TACL. Tandem Advanced Command Language. TCB. Task Control Block (bloque de control de tareas). thlqual. target library high-level qualifier (calificador de alto nivel de biblioteca destino). tipo de canal de conexin de cliente. Tipo de definicin de canal MQI asociado a un cliente MQSeries. Vea tambin tipo de canal de conexin de servidor. tipo de canal de conexin de servidor. Tipo de definicin de canal MQI asociado al servidor que ejecuta un gestor de colas. Vea tambin tipo de canal de conexin de cliente. TMI. Trigger Monitor Interface (interfaz de supervisor de desencadenamiento). tranid. Vea identificador de transaccin (transaction identifier). transformacin de nombre. En MQSeries en sistemas UNIX, MQSeries para OS/2 Warp y MQSeries para Windows NT, proceso interno que cambia el nombre de un gestor de colas para que sea exclusivo y vlido en el
524
sistema que se est utilizando. Externamente, el nombre del gestor de colas no vara.
U
UIS. User Identifier Service (servicio de identificador de usuario) unidad de recuperacin. Secuencia recuperable de operaciones dentro de un gestor de recursos individual. Compare con unidad de trabajo. unidad de recuperacin pendiente. En MQSeries, estado de una unidad de recuperacin para la que se ha solicitado un punto de sincronismo que an no se ha confirmado. unidad de trabajo. Secuencia recuperable de operaciones que una aplicacin lleva a cabo entre dos puntos de coherencia. Una unidad de trabajo empieza cuando se inicia una transaccin o tras un punto de sincronismo solicitado por el usuario. Finaliza en un punto de sincronismo solicitado por el usuario o al final de una transaccin. Compare con unidad de recuperacin. unidad de trabajo lgica (LUW). Vea unidad de trabajo.
V
valor de reinicio de nmero secuencial. En MQSeries, mtodo que permite garantizar que los dos extremos de un enlace de comunicaciones restablezcan a la vez sus nmeros de secuencia de mensaje actual. Si los mensajes se transmiten con un nmero de secuencia, el canal receptor podr restablecer el orden de los mensajes al almacenarlos. va de resolucin. Conjunto de colas que se abren cuando una aplicacin especifica un alias o una cola remota como entrada en una llamada MQOPEN. visor de sucesos. Herramienta proporcionada por Windows NT para examinar y gestionar los archivos de anotaciones.
525
526
Bibliografa
Esta seccin describe la documentacin disponible actualmente para todos los productos MQSeries. MQSeries Gua de planificacin El manual MQSeries Gua de planificacin, GC10-9251 (GC33-1349), describe algunos de los conceptos bsicos de MQSeries, indica los elementos que hay que tener en consideracin antes de instalar MQSeries, incluidos los requisitos de almacenamiento, la copia de seguridad y recuperacin, y la migracin desde releases anteriores, y especifica los requisitos de hardware y software para cada plataforma MQSeries. MQSeries Intercommunication El manual MQSeries Intercommunication SC33-1872, define los conceptos relacionados con la gestin de colas distribuidas y explica cmo establecer una red de gestin de colas distribuidas en varios entornos MQSeries. En concreto, explica cmo (1) configurar las comunicaciones a travs de un ejemplo significativo de productos MQSeries, (2) crear los objetos MQSeries necesarios y (3) crear y configurar canales MQSeries. Tambin se explica la utilizacin de rutinas de salida de canales. MQSeries Queue Manager Clusters El manual MQSeries Queue Manager Clusters, SC34-5349, describe las operaciones con clusters en MQSeries. Explica los conceptos y la terminologa y muestra cmo beneficiarse de la utilizacin de clusters. Explica en detalle los cambios efectuados en la MQI y resume la sintaxis de mandatos MQSeries nuevos y modificados. Muestra varios ejemplos de tareas que pueden realizarse para configurar y mantener clusters de gestores de colas. Este manual slo se aplica a los siguientes productos de MQSeries: v MQSeries para AIX V5.1 v MQSeries para AS/400 V5.1 v MQSeries para HP-UX V5.1 v MQSeries para OS/2 Warp V5.1 v MQSeries para OS/390 V2.1 v MQSeries para Sun Solaris V5.1 v MQSeries para Windows NT V5.1
| | | | |
| |
527
MQSeries Clientes El manual MQSeries Clientes, GC10-9654 (GC33-1632), describe cmo instalar, configurar, utilizar y gestionar sistemas de cliente MQSeries. MQSeries Administracin del sistema El manual MQSeries Administracin del sistema, SC10-3081 (SC33-1873), describe la gestin diaria de objetos locales y remotos MQSeries. Incluye temas como la seguridad, la recuperacin y el reinicio, el soporte transaccional, la determinacin de problemas y el manejador de la cola de mensajes no entregados. Tambin incluye la sintaxis de los mandatos de control de MQSeries. Este manual slo se aplica a los siguientes productos de MQSeries: v MQSeries para AIX V5.1 v MQSeries para HP-UX V5.1 v MQSeries para OS/2 Warp V5.1 v MQSeries para Sun Solaris V5.1 v MQSeries para Windows NT V5.1 MQSeries Consulta de mandatos El manual MQSeries Consulta de mandatos, SC10-9438 (SC33-1369), contiene la sintaxis de los mandatos MQSC, que utilizan los operadores y administradores de sistemas MQSeries para gestionar objetos MQSeries. MQSeries Programmable System Management El manual MQSeries Programmable System Management, SC33-1482, proporciona informacin de gua y consulta para usuarios de sucesos MQSeries, mensajes de formato de mandato programable (PCF) y servicios instalables. MQSeries Interfaz de administracin - Gua de programacin y consulta El manual MQSeries Interfaz de administracin - Gua de programacin y consulta, SC10-3342 (SC34-5390), proporciona informacin para usuarios de MQAI. La MQAI es una interfaz de programacin que simplifica la forma en que las aplicaciones manipulan los mensajes en formato de mandato programable (PCF) y las estructuras de datos relacionadas con stos. Este manual slo se aplica a los siguientes productos de MQSeries: v MQSeries para AIX V5.1 v MQSeries para AS/400 V5.1
v v v v
HP-UX V5.1 OS/2 Warp V5.1 Sun Solaris V5.1 Windows NT V5.1
MQSeries Mensajes El manual MQSeries Mensajes, GC10-3078 (GC33-1876), que describe los mensajes AMQ emitidos por MQSeries, slo se aplica a los siguientes productos MQSeries: v MQSeries para AIX V5.1 v MQSeries para HP-UX V5.1 v MQSeries para OS/2 Warp V5.1 v MQSeries para Sun Solaris V5.1 v MQSeries para Windows NT V5.1 v MQSeries para Windows V2.0 v MQSeries para Windows V2.1 Este manual slo est disponible en copia software. Para otras plataformas MQSeries, los mensajes los suministra el sistema. No aparecen en el formato manual en copia software. MQSeries Application Programming Guide El manual MQSeries Application Programming Guide, SC33-0807, proporciona informacin de gua para los usuarios de la interfaz de cola de mensajes (MQI). Explica cmo disear, escribir y crear una aplicacin MQSeries. Tambin contiene descripciones completas de los programas de ejemplo suministrados con MQSeries. MQSeries Application Programming Reference El manual MQSeries Application Programming Reference, SC33-1673, facilita una amplia informacin de consulta para usuarios de MQI. Incluye: descripciones de tipos de datos, sintaxis de llamadas MQI, atributos de objetos MQSeries, cdigos de retorno, constantes y tablas de conversin de pginas de cdigos. MQSeries Application Programming Reference Summary En el manual MQSeries Application Programming Reference Summary, SX33-6095, se resume la informacin del manual MQSeries Application Programming Reference. MQSeries Using C++ MQSeries Using C++, SC33-1877,
528
proporciona informacin de gua y consulta para los usuarios del lenguaje de programacin MQSeries C++ vinculado a MQI. MQSeries C++ tiene soporte en los siguientes productos MQSeries: v MQSeries para AIX V5.1 v MQSeries para HP-UX V5.1 v MQSeries para OS/2 Warp V5.1 v MQSeries para AS/400 V5.1 v MQSeries para OS/390 V2.1 v MQSeries para Sun Solaris V5.1 v MQSeries para Windows NT V5.1 MQSeries C++ tambin tiene soporte para clientes MQSeries que se suministran con esos productos y se instalan en los siguientes entornos: v AIX v HP-UX v OS/2 v Sun Solaris v Windows NT v Windows 3.1 v Windows 95 y Windows 98
| | | | | | |
MQSeries for AS/400 V5.1 Quick Beginnings, GC34-5557 MQSeries for AS/400 V5.1 System Administration, SC34-5558 MQSeries para AS/400 V5.1 Consulta de programacin de aplicaciones (ILE RPG), SC10-3412 (SC34-5559) MQSeries para AT&T GIS UNIX MQSeries for AT&T GIS UNIX System Management Guide, SC33-1642
| MQSeries para Compaq (DIGITAL) OpenVMS MQSeries para Digital OpenVMS Gua | de gestin de sistemas, GC10-3089 | (GC33-1791) | | MQSeries para Digital UNIX (Compaq Tru64 | UNIX) MQSeries for Digital UNIX System | Management Guide, GC34-5483 | | MQSeries para HP-UX MQSeries para HP-UX V5.1 Comienzo rpido, GC10-3075 (GC33-1869) MQSeries para OS/2 Warp MQSeries para OS/2 Warp V5.1 Comienzo rpido, GC10-3074 (GC33-1868) MQSeries para OS/390 MQSeries for OS/390 Version 2 Release 1 Licensed Program Specifications, GC34-5377 MQSeries for OS/390 Version 2 Release 1 Program Directory MQSeries for OS/390 System Management Guide, SC34-5374 MQSeries for OS/390 Messages and Codes, GC34-5375 MQSeries for OS/390 Problem Determination Guide, GC34-5376 MQSeries Link para R/3 MQSeries Link para R/3 Versin 1.2 Gua del usuario, GC10-3257 (GC33-1934) MQSeries para SINIX y DC/OSx MQSeries for SINIX and DC/OSx System Management Guide, GC33-1768 MQSeries para Sun Solaris MQSeries para Sun Solaris V5.1 Comienzo rpido, GC10-3076 (GC33-1870)
MQSeries Utilizacin de Java MQSeries Utilizacin de Java, SC10-3345 (SC34-5456), proporciona informacin de gua y consulta para los usuarios de Enlaces MQSeries para Java y Cliente MQSeries para Java. Las clases MQSeries para Java tienen soporte en los siguientes productos MQSeries: v MQSeries para AIX V5.1 | v MQSeries para AS/400 V5.1 v MQSeries para HP-UX V5.1 | v MQSeries para MVS/ESA V1.2 v MQSeries para OS/2 Warp V5.1 v MQSeries para Sun Solaris V5.1 v MQSeries para Windows NT V5.1 | Este manual slo est disponible en copia | software.
Bibliografa
529
| | |
MQSeries para Tandem NonStop Kernel MQSeries para Tandem NonStop Kernel Gua de gestin del sistema, GC10-3147 (GC33-1893) MQSeries para VSE/ESA MQSeries for VSE/ESA Version 2 Release 1 Licensed Program Specifications, GC34-5365 MQSeries for VSE/ESA System Management Guide, GC34-5364 MQSeries para Windows MQSeries para Windows V2.0 Gua del usuario, GC10-3029 (GC33-1822) MQSeries para Windows V2.1 Gua del usuario, GC10-3176 (GC33-1965) MQSeries para Windows NT MQSeries para Windows NT V5.1 Comienzo rpido, GC10-3341 (GC34-5389) MQSeries para Windows NT Utilizacin de la interfaz de modelo de objetos componentes, SC10-3344 (SC34-5387) MQSeries LotusScript Extension, SC10-3343 (SC34-5404)
v v v v v
MQSeries para AS/400 V5.1 MQSeries para HP-UX V5.1 MQSeries para OS/2 Warp V5.1 MQSeries para Sun Solaris V5.1 MQSeries para Windows NT V5.1 (compilado en HTML) v MQSeries Link para R/3 V1.2 Los manuales de MQSeries tambin estn disponibles en formato HTML desde el sitio web de la familia de productos MQSeries:
http://www.ibm.com/software/ts/mqseries/
Con los siguientes productos de MQSeries se suministran versiones en PDF de los manuales MQSeries pertinentes: v MQSeries para AIX V5.1 | v MQSeries para AS/400 V5.1 v MQSeries para HP-UX V5.1 v MQSeries para OS/2 Warp V5.1 v MQSeries para Sun Solaris V5.1 v MQSeries para Windows NT V5.1 v MQSeries Link para R/3 V1.2 Las versiones en PDF de todos los manuales de MQSeries tambin estn disponibles en el sitio web de la familia de productos MQSeries:
http://www.ibm.com/software/ts/mqseries/
Formato BookManager
La biblioteca MQSeries se suministra en formato IBM BookManager en varios kits de grupos de bibliotecas en lnea, incluido el kit de grupo Transaction Processing and Data, SK2T-0730. Puede ver las publicaciones en copia software con formato IBM BookManager utilizando los siguientes programas bajo licencia de IBM: BookManager READ/2 BookManager READ/6000 BookManager READ/DOS BookManager READ/MVS BookManager READ/VM BookManager READ para Windows
Formato PostScript
La biblioteca de MQSeries se facilita en formato PostScript (.PS) para muchos de los productos de MQSeries de la Versin 2. Los manuales en formato PostScript pueden imprimirse en una impresora PostScript o visualizarse en un visor adecuado.
530
MQSeries en Internet
Siguiendo los enlaces desde este sitio web, podr: v Obtener la informacin ms reciente sobre la familia de productos MQSeries. v Acceder a los manuales de MQSeries en formatos HTML y PDF. v Bajar SupportPacs de MQSeries.
Publicaciones relacionadas
AS/400 ILE RPG/400 Gua del programador, SC10-9414 (SC09-1525) AS/400 ILE RPG/400 Manual de consulta, SC10-9415 (SC09-1526)
Bibliografa
531
Publicaciones relacionadas
532
ndice A
mbito de asas 233, 267 aplicacin de confianza 32 archivo copy lenguaje de programacin RPG 8 archivos de copia 351 asa, mbito 233, 267 asas 344 atributo AlterationDate cola 305 definicin de proceso 333 gestor de colas 338 lista de nombres 331 atributo AlterationTime cola 305 definicin de proceso 333 gestor de colas 338 lista de nombres 331 atributo ApplId 333 atributo ApplType 334 atributo AuthorityEvent 338 atributo BackoutRequeueQName 312 atributo BackoutThreshold 312 atributo BaseQName 329 atributo ClusterName 306 atributo ClusterNamelist 306 atributo ClusterWorkloadData 340 atributo ClusterWorkloadExit 340 atributo ClusterWorkloadLength 340 atributo CodedCharSetId 340 atributo CommandInputQName 341 atributo CommandLevel 341 atributo CreationDate 312 atributo CreationTime 312 atributo CurrentQDepth 313 atributo ChannelAutoDef 339 atributo ChannelAutoDefEvent 339 atributo ChannelAutoDefExit 339 atributo DeadLetterQName 342 atributo DefBind 306 atributo DefinitionType 313 atributo DefInputOpenOption 314 atributo DefPersistence 306 atributo DefPriority 307 atributo DefXmitQName 343 atributo DistLists 314, 343 atributo EnvData 334 atributo HardenGetBackout 315 atributo InhibitEvent 343 atributo InhibitGet 308 atributo InhibitPut 308 atributo InitiationQName 316 atributo LocalEvent 343 atributo MaxHandles 344 atributo MaxMsgLength cola local 316 gestor de colas 344 atributo MaxPriority 344 atributo MaxQDepth 317 atributo MaxUncommittedMsgs 345 atributo MsgDeliverySequence 317 Copyright IBM Corp. 1994, 2000 atributo NameCount 331 atributo NamelistDesc 332 atributo NamelistName 332 atributo Names 332 atributo OpenInputCount 318 atributo OpenOutputCount 318 atributo PerformanceEvent 345 atributo Platform 346 atributo ProcessDesc 334 atributo ProcessName cola local 319 definicin de proceso 335 atributo QDepthHighEvent 319 atributo QDepthHighLimit 319 atributo QDepthLowEvent 320 atributo QDepthLowLimit 320 atributo QDepthMaxEvent 320 atributo QDesc 309 atributo QMgrDesc 346 atributo QMgrIdentifier 346 atributo QMgrName 346 atributo QName 309 atributo QServiceInterval 321 atributo QServiceIntervalEvent 321 atributo QType 309 atributo RemoteEvent 346 atributo RemoteQMgrName 327 atributo RemoteQName 328 atributo RepositoryName 347 atributo RepositoryNamelist 347 atributo RetentionInterval 322 atributo Scope 309 atributo Shareability 322 atributo StartStopEvent 347 atributo SyncPoint 347 atributo TriggerControl 322 atributo TriggerData 323 atributo TriggerDepth 323 atributo TriggerInterval 348 atributo TriggerMsgPriority 323 atributo TriggerType 324 atributo Usage 324 atributo UserData 335 atributo XmitQName 328 atributos cola alias 329 cola local 311 cola remota, definicin local de 327 comunes a todas las colas 305 definicin de proceso 333 gestor de colas 337 lista de nombres 331 atributos de colas alias 329 comunes a todas las colas 305 definicin local de remota 327 local 311 modelo 311 atributos de definicin de proceso 333 atributos de listas de nombres 331 atributos del gestor de colas 337 Ayuda Windows 530
B
bibliografa 527 BookManager 530
C
campo BOOPT 15 campo BOSID 15 campo BOVER 15 campo CIAC 25 campo CIADS 23 campo CIAI 26 campo CIAUT 25 campo CICC estructura MQCIH 21 campo CICNC 27 campo CICP 28 campo CICSI 20 campo CICT 23 campo CIENC 20 campo CIEO 28 campo CIFAC 24 campo CIFKT 23 campo CIFL 26 campo CIFLG 20 campo CIFMT 20 campo CIFNC 24 campo CIGWI 22 campo CIII 28 campo CILEN 19 campo CILT 22 campo CINTI 27 campo CIODL 22 campo CIREA 21 campo CIRET 20 campo CIRFM 25 campo CIRS1 25 campo CIRS2 27 campo CIRS3 27 campo CIRS4 28 campo CIRSI 26 campo CIRTI 26 campo CISC 26 campo CISID 19 campo CITES 24 campo CITI 26 campo CIUOW 21 campo CIVER 19 campo CNCCO 33 campo CNCCP 33 campo CNOPT 32 campo CNSID 31 campo CNVER 31 campo de codificacin utilizar 477 campo de informe utilizar 481 campo DHCNT 40
533
campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo
DHCSI 39 DHENC 39 DHFLG 39 DHFMT 39 DHLEN 38 DHORO 40 DHPRF 40 DHPRO 41 DHSID 38 DHVER 38 DLCSI 47 DLDM 47 DLDQ 46 DLENC 47 DLFMT 47 DLPAN 48 DLPAT 48 DLPD 48 DLPT 49 DLREA 45 DLSID 45 DLVER 45 DXAOP 494 DXCC 495 DXCSI 494 DXENC 494 DXHCN 498 DXLEN 495 DXREA 496 DXRES 497 DXSID 493 DXVER 494 DXXOP 494 GMGST 74 GMMO 72 GMOPT 52 GMRE1 75 GMRL 76 GMRQN 72 GMSEG 75 GMSG1 71 GMSG2 71 GMSID 52 GMSST 75 GMTOK 75 GMVER 52 GMWI 71 IIAUT 81 IICMT 82 IICSI 80 IIENC 80 IIFLG 81 IIFMT 80 IILEN 80 IILTO 81 IIMMN 81 IIRFM 81 IIRSV 83 IISEC 83 IISID 80 IITID 82 IITST 82 IIVER 80 MDACC 119 MDAID 120 MDAOD 125 MDBOC 116
campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo
MDCID 115 MDCSI 106 MDENC 105 MDEXP 99 MDFB 101 MDFMT 107 MDGID 126 MDMFL 128 MDMID 113 MDMT 98 MDOFF 128 MDOLN 133 MDPAN 123 MDPAT 121 MDPD 123 MDPER 112 MDPRI 111 MDPT 124 MDREP 88 MDRM 117 MDRQ 116 MDSEQ 127 MDSID 87 MDUID 118 MDVER 87 MECSI 140 MEENC 140 MEFLG 141 MEFMT 140 MEGID 141 MELEN 140 MEMFL 141 MEOFF 141 MEOLN 141 MESEQ 141 MESID 140 MEVER 140 ODASI 150 ODAU 147 ODDN 146 ODIDC 148 ODKDC 147 ODMN 145 ODON 145 ODORO 148 ODORP 149 ODOT 144 ODREC 147 ODRMN 151 ODRQN 150 ODRRO 149 ODRRP 150 ODSID 144 ODUDC 148 ODVER 144 ORMN 153 ORON 153 PMCT 165 PMIDC 165 PMKDC 165 PMOPT 156 PMPRF 167 PMPRO 167 PMPRP 169 PMREC 166 PMRMN 166 PMRQN 166
campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo campo
PMRRO 168 PMRRP 170 PMSID 156 PMTO 165 PMUDC 165 PMVER 156 PRACC 175 PRCID 174 PRFB 174 PRGID 174 PRMID 173 RMCSI 179 RMDEL 181 RMDEO 181 RMDL 182 RMDNL 182 RMDNO 182 RMDO 183 RMDO2 183 RMENC 179 RMFLG 180 RMFMT 179 RMLEN 179 RMOII 180 RMOT 180 RMSEL 180 RMSEO 180 RMSID 178 RMSNL 181 RMSNO 181 RMVER 178 RRCC 187 RRREA 187 TC2AI 196 TC2AT 196 TC2ED 196 TC2PN 196 TC2QMN 197 TC2QN 196 TC2SID 196 TC2TD 196 TC2UD 196 TC2VER 196 TMAI 192 TMAT 191 TMED 192 TMPN 191 TMQN 191 TMSID 190 TMTD 191 TMUD 192 TMVER 190 WICSI 200 WIENC 200 WIFLG 200 WIFMT 200 WILEN 200 WIRSV 201 WISID 199 WISNM 200 WISST 201 WITOK 201 WIVER 199 XQMD 207 XQRQ 206 XQRQM 206 XQSID 206
534
campo XQVER 206 cdigo de terminacin 373 cdigos de razn lista alfabtica 373 lista numrica 464 cdigos de retorno 373 cola alias 329 cola dinmica 261 compilar 351 constantes, valores de 443 mbito (SCO*) 470 mbito de seguridad IMS (ISS*) 458 asa de conexin (HC*) 456 asa de objeto (HO*) 456 autenticador IMS (IAU*) 457 codificacin (EN*) 452 codificacin para enteros binarios (EN*) 453 codificacin para enteros decimales empaquetados (EN*) 453 codificacin para nmeros de coma flotante (EN*) 453 cdigo de inicio de transaccin de cabecera CICS (SC*) 450 cdigo de retorno de puente CICS (CRC*) 450 cdigos de razn (RC*) 464 cdigos de terminacin (CC*) 447 compartibilidad de cola (QA*) 464 control de unidad de trabajo de cabecera CICS (CU*) 450 controles de desencadenamiento (TC*) 470 cuenta de nombres (NC*) 460 descriptor ADS de cabecera CICS (AD*) 447 distintivos de cabecera CICS (CIF*) 448 distintivos de cabecera de distribucin (DHF*) 451 distintivos de cabecera de informacin de carga de trabajo (WI*) 472 distintivos de cabecera de mensaje de referencia (RM*) 469 distintivos de cabecera IMS (II*) 457 distintivos de campo de registro de poner mensaje (PF*) 463 distintivos de extensin de descriptor de mensaje (MEF*) 459 distintivos de mensaje (MF*) 459 enlace (BND*) 445 estado de final de tarea de cabecera CICS (TE*) 450 estado de grupo (GS*) 455 estado de segmento (SS*) 470 estado de transaccin IMS (ITS*) 458 formato (FM*) 454 identificador de correlacin (CI*) 448 identificador de estructura (formato de tipo carcter) de mensaje desencadenante (TC*) 471 identificador de estructura de cabecera CICS (CI*) 448 identificador de estructura de cabecera de cola de transmisin 472 identificador de estructura de cabecera de distribucin (DH*) 451
constantes, valores de 443 (continuacin) identificador de estructura de cabecera de informacin de carga de trabajo (WI*) 472 identificador de estructura de cabecera de mensaje de referencia (RM*) 469 identificador de estructura de cabecera de mensaje en espera (DL*) 452 identificador de estructura de cabecera de mensaje no entregado (DL*) 452 identificador de estructura de cabecera IMS (II*) 458 identificador de estructura de descriptor de mensaje (MD*) 458 identificador de estructura de descriptor de objeto (OD*) 461 identificador de estructura de extensin de descriptor de mensaje (ME*) 459 identificador de estructura de mensaje desencadenante (TM*) 471 identificador de estructura de opciones de conectar (CN*) 449 identificador de estructura de opciones de empezar (BO*) 446 identificador de estructura de opciones de obtener mensaje (GM*) 455 identificador de estructura de opciones de poner mensaje (PM*) 463 identificador de estructura de parmetro de rutina de salida de conversin de datos (DX*) 452 identificador de grupo (GI*) 454 identificador de instancia de objeto (OII*) 461 identificador de instancia de transaccin IMS (ITI*) 458 identificador de juego de caracteres codificado (CS*) 447 identificador de llamada (MQ*) 448 identificador de mensaje (MI*) 460 identificador de seguridad (SI*) 470 informacin de retorno (FB*) 453 inhibir obtener (QA*) 463 inhibir poner (QA*) 463 intervalo de caducidad (EI*) 452 intervalo de espera (WI*) 471 intervalo de espera de obtener de cabecera CICS (WI*) 448 longitud de cabecera CICS (CI*) 448 longitud de cabecera IMS (II*) 458 longitud de datos de salida de cabecera CICS (OL*) 450 longitud de descriptor de objeto (OD*) 461 longitud de estructura de cabecera de informacin de carga de trabajo (WI*) 472 longitud de extensin de descriptor de mensaje (ME*) 459 longitud de opciones de poner mensaje (PM*) 463 longitud devuelta (RL*) 468 longitud original (OL*) 461
constantes, valores de 443 (continuacin) longitudes de campos de tipo serie de caracteres y de tipo byte (LN*) 443 mscaras de codificacin (EN*) 452 mscaras de distintivos de mensaje (MF*) 460 mscaras de opciones de informe (RO*) 469 mscaras y factores de convertir caracteres (DCC*) 451 memorizacin de restitucin (QA*) 464 modalidad de compromiso IMS (ICM*) 457 nivel de mandato (CMLV*) 449 nombre de funcin de cabecera CICS (CF*) 447 notificacin de sucesos (EV*) 453 notificacin de sucesos (QSIE*) 464 opciones de abrir (OO*) 461 opciones de cerrar (CO*) 449 opciones de conectar (CN*) 449 opciones de convertir caracteres (DCC*) 451 opciones de emparejar (MO*) 460 opciones de empezar (BO*) 445 opciones de informe (RO*) 469 opciones de obtener mensaje (GM*) 455 opciones de poner mensaje (PM*) 462 permanencia (PE*) 462 plataforma (PL*) 462 prioridad (PR*) 463 punto de sincronismo (SP*) 470 recurso de cabecera CICS (FC*) 447 respuesta de rutina de salida de conversin de datos (XR*) 472 secuencia de entrega de mensajes (MS*) 459 segmentacin (SEG*) 470 selectores de atributo de tipo entero (IA*) 456 selectores de atributos de tipo carcter (CA*) 446 smbolo de contabilidad (AC*) 444 smbolo de mensaje (MTK*) 460 soporte de lista de distribucin (DL*) 451 tarea conversacional de cabecera CICS (CT*) 447 tipo de aplicacin (AT*) 445 tipo de cola (QT*) 464 tipo de definicin de cola (QD*) 464 tipo de desencadenante (TT*) 471 tipo de enlace de cabecera CICS (LT*) 449 tipo de identificador de seguridad (SIT*) 470 tipo de mensaje (MT*) 460 tipo de objeto (OT*) 462 tipo de smbolo de contabilidad (ATT*) 444 utilizacin (US*) 471 valor de atributo de tipo entero (IAV*) 457 ndice
535
constantes, valores de 443 (continuacin) versin (formato de tipo carcter) de mensaje desencadenante (TC*) 471 versin de cabecera CICS (CI*) 448 versin de cabecera de cola de transmisin (XQ*) 473 versin de cabecera de distribucin (DH*) 451 versin de cabecera de informacin de carga de trabajo (WI*) 472 versin de cabecera de mensaje de referencia (RM*) 469 versin de cabecera de mensaje en espera (DL*) 452 versin de cabecera de mensaje no entregado (DL*) 452 versin de cabecera IMS (II*) 458 versin de descriptor de mensaje (MD*) 458 versin de descriptor de objeto (OD*) 461 versin de estructura de parmetro de rutina de salida de conversin de datos (DX*) 452 versin de extensin de descriptor de mensaje (ME*) 459 versin de mensaje desencadenante (TM*) 471 versin de opciones de conectar (CN*) 449 versin de opciones de empezar (BO*) 446 versin de opciones de obtener mensaje (GM*) 455 versin de opciones de poner mensaje (PM*) 463 convenios de notacin lenguaje de programacin RPG 10 conversin de datos convenios de proceso 487 mensajes de informe 491 conversin de mensajes de informe 491 creacin de alias cola de respuestas 327 gestor de colas 327 creacin de alias de un gestor de colas 327 creacin de alias de una cola de respuestas 327 creacin de una aplicacin 351 CRTPGM 351 CRTRPGMOD 351 CRTRPGPGM 351
estructura de cabecera de mensaje de referencia 177 estructura de cabecera de mensaje no entregado 43 estructura de descriptor de objeto 143 estructura de extensin de descriptor de mensaje 137 estructura de opciones de conectar 31 estructura de opciones de empezar 15 estructura de opciones de obtener mensaje 51 estructura de opciones de poner mensaje 155 estructura de registro de objeto 153 estructura de registro de poner mensaje 173 estructura de registro de respuesta 187 estructura del descriptor de mensaje 85 estructura del mensaje desencadenante 189 estructura MQBO 15 estructura MQCIH 17 estructura MQCNO 31 estructura MQDH 37 estructura MQDLH 43 estructura MQGMO 51 estructura MQIIH 79 estructura MQMDE 137 estructura MQOD 143 estructura MQOR 153 estructura MQPMO 155 estructura MQPMR 173 estructura MQRMH 177 estructura MQRR 187 estructura MQTM 189 estructura MQTMC2 195 estructura MQWIH 199 estructura MQXQH 203 estructuras: lenguaje de programacin RPG 351 estructuras lenguaje de programacin RPG 10
L
lenguaje de programacin RPG archivo COPY 8 convenios de notacin 10 estructuras 10, 351 listas de distribucin 314, 343
LL
llamada MQBACK 213 llamada MQBEGIN 217 llamada MQCLOSE 221 llamada MQCMIT 227 llamada MQCONN 231 llamada MQCONNX 237 llamada MQCONVX 504 llamada MQDISC 239 llamada MQGET 241 llamada MQINQ 251 llamada MQOPEN 261 llamada MQPUT 277 llamada MQPUT1 287 llamada MQSET 295 llamada MQXCNVC 499 llamadas convenios utilizados 211 descripcin detallada MQBACK 213 MQBEGIN 217 MQCLOSE 221 MQCMIT 227 MQCONN 231 MQCONNX 237 MQCONVX 504 MQDISC 239 MQGET 241 MQINQ 251 MQOPEN 261 MQPUT 277 MQPUT1 287 MQSET 295 MQXCNVC 499
F
fonts de este manual xii formato PostScript 530 formatos incorporados 107
M
mensajes, orden de los 282, 292 Mensajes no comprometidos 345 modalidad de compatibilidad 234 MQBYTE 3 MQBYTEn 4 MQCHAR 4 MQCHARn 4 MQDXP, estructura 493 MQHCONN 5 MQHOBJ 5 MQLONG 5 MQMD estructura 85 parmetro 505 MQSeries, publicaciones 527 MQSeries para AS/400 consideraciones de punto de sincronismo con CICS para AS/400 353 puntos de sincronismo 352
G
glosario 513
H D
desencadenamiento 322 dinmica, cola 261 HTML (Hypertext Markup Language) 530 Hypertext Markup Language (HTML) 530
E
estructura de cabecera de cola de transmisin 203 estructura de cabecera de distribucin 37
I
identificador del juego de caracteres codificados 340 incorporacin de formatos 107 informe, conversin de mensajes de 491
536
O
orden de mensajes 246 orden del mensaje 282, 292 ordenacin de mensajes 246
P
parmetro BEGOP 217 parmetro BUFFER llamada MQGET 242 llamada MQPUT 278 llamada MQPUT1 288 parmetro BUFLEN llamada MQGET 242 llamada MQPUT 278 llamada MQPUT1 288 parmetro CALEN llamada MQINQ 257 llamada MQSET 297 parmetro CMPCOD llamada MQBEGIN 217 llamada MQCLOSE 223 llamada MQCONN 233 llamada MQCONNX 237 llamada MQDISC 239 llamada MQGET 243 llamada MQINQ 257 llamada MQOPEN 268 llamada MQPUT 279 llamada MQPUT1 288 llamada MQSET 297 llamada MQXCNVC 503 parmetro CNOPT 237 parmetro COMCOD llamada MQBACK 213 llamada MQCMIT 227 parmetro CHRATR llamada MQINQ 257 llamada MQSET 297 parmetro DATLEN llamada MQGET 242 llamada MQXCNVC 502 parmetro GMO 242 parmetro HCONN mbito 233 llamada MQBACK 213 llamada MQBEGIN 217 llamada MQCLOSE 221 llamada MQCMIT 227 llamada MQCONN 233 llamada MQCONNX 237 llamada MQDISC 239 llamada MQGET 241 llamada MQINQ 251 llamada MQOPEN 261 llamada MQPUT 277 llamada MQPUT1 287 llamada MQSET 295 llamada MQXCNVC 499 parmetro HOBJ mbito 267 llamada MQCLOSE 221 llamada MQGET 241 llamada MQINQ 251 llamada MQOPEN 267 llamada MQPUT 277 llamada MQSET 295
parmetro IACNT llamada MQINQ 256 llamada MQSET 296 parmetro INBUF 505 parmetro INLEN 505 parmetro INTATR llamada MQINQ 257 llamada MQSET 297 parmetro MQDXP 504 parmetro MSGDSC llamada MQGET 241 llamada MQPUT 277 llamada MQPUT1 287 parmetro OBJDSC llamada MQOPEN 261 llamada MQPUT1 287 parmetro OPTS llamada MQCLOSE 221 llamada MQOPEN 261 llamada MQXCNVC 499 parmetro OUTBUF 506 parmetro OUTLEN 505 parmetro PMO llamada MQPUT 277 llamada MQPUT1 287 parmetro QMNAME 231 llamada MQCONNX 237 parmetro REASON llamada MQBACK 213 llamada MQBEGIN 217 llamada MQCLOSE 223 llamada MQCMIT 227 llamada MQCONN 233 llamada MQCONNX 237 llamada MQDISC 239 llamada MQGET 243 llamada MQINQ 257 llamada MQOPEN 268 llamada MQPUT 279 llamada MQPUT1 288 llamada MQSET 297 llamada MQXCNVC 503 parmetro SELCNT llamada MQINQ 251 llamada MQSET 295 parmetro SELS llamada MQINQ 251 llamada MQSET 295 parmetro SRCBUF 502 parmetro SRCCSI 502 parmetro SRCLEN 502 parmetro TGTBUF 502 parmetro TGTCSI 502 parmetro TGTLEN 502 PDF (Portable Document Format) permanencia 307 Portable Document Format (PDF) programa de ejemplo AMQ3ECH4 programa de ejemplo AMQ3GBR4 programa de ejemplo AMQ3GET4 programa de ejemplo AMQ3INQ4 programa de ejemplo AMQ3PUT4 programa de ejemplo AMQ3REQ4 programa de ejemplo AMQ3SET4 programa de ejemplo AMQ3SRV4 programa de ejemplo AMQ3TRG4 programas de ejemplo 355
programas de ejemplo 355 (continuacin) consultar 364 eco 363 establecer 366 examinar 358 obtener 359 peticin 360 poner 357 preparar y ejecutar 357 servidor desencadenante 368 supervisor de desencadenamiento 367 utilizar colas remotas 369 utilizar el desencadenamiento 360 Programas de ejemplo en RPG (ILE) 355 publicaciones MQSeries 527 relacionadas 531 publicaciones en copia software 530 punto de sincronismo 347 con MQSeries para AS/400 352 en aplicaciones CICS para AS/400 353
Q
QRPGLESRC 351
T
terminologa xii terminologa utilizada en este manual 513 tipos de datos, convenios utilizados 3, 7 tipos de datos, descripcin detallada elementales ILE 5 MQBYTE 3 MQBYTEn 4 MQCHAR 4 MQCHARn 4 MQHCONN 5 MQHOBJ 5 MQLONG 5 visin general 3 estructura MQBO 15 MQCIH 17 MQCNO 31 MQDH 37 MQDLH 43 MQDXP 493 MQGMO 51 MQIIH 79 MQMD 85 MQMDE 137 MQOD 143 MQOR 153 MQPMO 155 MQPMR 173 MQRMH 177 MQRR 187 MQTM 189 MQTMC2 195 MQWIH 199 MQXQH 203 ndice
530 530 363 358 359 364 357 360 366 368 367
537
tipos de datos, descripcin detallada (continuacin) visin general 7 tipos de letra de este manual xii
valores MT* valores MTK* valores NC* valores OD* valores OII* valores OL* valores OO* valores OT* valores PE* valores PF* valores PL* valores PM* valores PR* valores QA*
98 75 331 144 180 23, 133 262, 314 144 112, 307 40, 167 346 156 111
V
valores AC* 120 valores AT* atributo ApplType 334 campo MDPAT 121 campo TMAT 192 valores BND* 306 valores BO* 15 valores CA* 252 valores CF* 24 valores CI* 19, 116 valores CMLV* 341 valores CN* 31, 32 valores CO* 221 valores CRC* 20 valores CS* 106 valores CU* 21 valores de CC* 373 valores de DCC* 499 valores de DX* 493 valores de RC* 374 valores de XR* 497 valores DH* 38 valores DHF* 39 valores DL* 45, 315, 343 valores EI* 101 valores EN* 105 valores EV* atributo AuthorityEvent 338 atributo ChannelAutoDefEvent 339 atributo InhibitEvent 343 atributo LocalEvent 343 atributo PerformanceEvent 345 atributo QDepthHighEvent 319 atributo QDepthLowEvent 320 atributo QDepthMaxEvent 320 atributo RemoteEvent 346 atributo StartStopEvent 347 valores FB* 46, 101 valores FM* 107 valores GI* 127 valores GM* 52 valores GS* 74 valores HC* 239 valores HO* 221 valores IA* 252, 296 valores IAU* 81 valores IAV* 257 valores ICM* 82 valores II* 80 valores ISS* 83 valores ITI* 82 valores ITS* 82 valores LN* 443 valores LT* 22 valores MD* 87 valores ME* 140 valores MEF* 141 valores MF* 128 valores MI* 115 valores MO* 72 valores MS* 317
atributo InhibitGet 308 atributo InhibitPut 308 atributo Shareability 322 valores QD* valores QSIE* valores QT* valores RC* valores RL* valores RM* valores RO* valores SCO* valores SEG* valores SI* valores SIT* valores SP* valores SS* valores TC* valores TM* valores TT* valores US* valores WI* valores XQ* 313 321 309, 329 104 76 178, 180 88 309 75 150 347 75 196, 322 190 324 324 22, 71, 199 206
150
538
539
SC10-3412-00
Spine information:
Versin 5 Release 1