Llamadas directas a MQSeries

Puede utilizar un conjunto de funciones EGL instaladas que actúan como intermediario entre el código y MQSeries, como se describe en la sección Soporte de MQSeries.

La tabla siguiente muestra las funciones disponibles e identifica los argumentos necesarios. MQBACK (MQSTATE), por ejemplo, indica que cuando se invoca MQBACK se pasa un argumento basado en el componente de registro MQSTATE. Los componentes de registro se describen más adelante.

Invocación de funciones EGL relacionadas con MQSeries Efecto
MQBACK (MQSTATE) Invoca la función de sistema sysLib.rollback para retrotraer una unidad lógica de trabajo. La retrotracción afecta a todos los recursos recuperables a los que accede el programa, que incluyen bases de datos, colas de mensajes y archivos recuperables.
MQBEGIN (MQSTATE, MQBO) Inicia una unidad lógica de trabajo.
MQCHECK_COMPLETION (MQSTATE) Establece el campo mqdescription del registro que se basa en MQSTATE. El valor se basa en el código de razón devuelto por última vez. La función MQCHECK_COMPLETION se llama automáticamente desde las funciones EGL MQBEGIN, MQCLOSE, MQCONN, MQCONNX, MQDISC, MQGET, MQINQ, MQOPEN, MQPUT, MQPUT1 y MQSET.
MQCLOSE (MQSTATE) Cierra la cola de mensajes a la que hace referencia MQSTATE.hobj.
MQCMIT (MQSTATE) Invoca la función de sistema sysLib.commit para comprometer una unidad lógica de trabajo. El compromiso afecta a todos los recursos recuperables a los que accede el programa, que incluyen bases de datos, colas de mensajes y archivos recuperables.
MQCONN (MQSTATE, nombreGestorc) Conecta a un gestor de colas, que se identifica mediante nombreGestorc, una serie que puede tener hasta 48 caracteres. MQSeries establece el handle de conexión (MQSTATE.hconn) que se utilizará en las llamadas subsiguientes.
Nota: El código puede conectarse a un gestor de colas a la vez.
MQCONNX(MQSTATE, nombreGestorc, MQCNO) Conecta a un gestor de colas con opciones que controlan la forma en que funciona la llamada. El gestor de colas se identifica mediante nombreGestorc, una serie que puede tener hasta 48 caracteres. MQSeries establece el handle de conexión (MQSTATE.hconn) que se utilizará en las llamadas subsiguientes.
MQDISC (MQSTATE) Desconecta de un gestor de colas.
MQGET(MQSTATE, MQMD, MQGMO, BUFFER) Lee y elimina un mensaje de la cola. El almacenamiento intermedio no puede tener más de 32767 bytes, pero esta restricción no se aplica si se utiliza la sentencia EGL get next.
MQINQ(MQSTATE, MQATTRIBUTES) Solicita atributos de una cola.
MQNOOP() Sólo lo utiliza EGL.
MQOPEN(MQSTATE, MQOD) Abre una cola de mensajes. MQSeries establece el handle de cola (MQSTATE.hobj) que se utilizará en las llamadas subsiguientes.
MQPUT(MQSTATE, MQMD, MQPMO, BUFFER) Añade un mensaje a la cola. El almacenamiento intermedio no puede tener más de 32767 bytes, pero esta restricción no se aplica si se utiliza la sentencia EGL add.
MQPUT1(MQSTATE, MQOD, MQMD, MQPMO, BUFFER) Abre una cola, escribe un único mensaje y cierra la cola.
MQSET(MQSTATE, MQATTRIBUTES) Establece atributos de una cola.

La tabla siguiente muestra los registros de opciones que se utilizan como argumentos cuando se invocan las funciones EGL relacionadas con MQSeries. También se muestra la función de inicialización que debe invocarse para un determinado argumento.

El primer paso es inicializar el argumento que se basa en el componente de registro MQSTATE. En el ejemplo siguiente (como en la tabla que se muestra a continuación), se supone que el nombre del argumento es el mismo que el nombre del componente de registro:
  MQSTATE_INIT(MQSTATE);

Argumento (el nombre del componente de registro) Función de inicialización Descripción
MQATTRIBUTES ninguna Matrices de atributos y selectores de atributos, además de otra información que se utiliza en el mandato MQINQ o MQSET
MQBO MQBO_INIT (MQBO) Opciones de inicio
MQCNO MQCNO_INIT (MQCNO) Opciones de conexión
MQGMO MQGMO_INIT (MQGMO) Opciones de obtención de mensaje
MQIIH MQIIH_INIT (MQIIH) Cabecera de información IMS; describe la información que se necesita al principio de un mensaje MQSeries enviado a IMS (la documentación de MQSeries indica que el uso de esta cabecera no está soportado en Windows 2000/NT/XP)
MQINTATTRS ninguna Matrices de atributos de tipo entero que se utilizarán en el mandato MQINQ o MQSET
MQMD MQMD_INIT (MQMD, MQSTATE) Descriptor de mensaje (MQSeries versión 2)
MQMDE MQMDE_INIT (MQMDE, MQSTATE) Extensión de descriptor de mensaje (utilice solamente los campos que están en MQSeries versión 2)
MQOD MQOD_INIT (MQOD) Descriptor de objeto
MQOO MQOO_INIT (MQOO) Opciones de apertura
MQPMO MQPMO_INIT (MQPMO) Opciones de colocación de mensaje
MQSELECTORS ninguna Una matriz de selectores de atributos, que sólo se utiliza si desea acceder a MQSeries sin utilizar las funciones EGL
MQSTATE MQSTATE_INIT (MQSTATE) Una colección de argumentos cada uno de los cuales se utiliza en una o más llamadas a MQSeries; por ejemplo, cuando se conecta con la función EGL MQCONN o MQCONNX, MQSeries establece el handle de conexión (MQSTATE.hconn) que se utilizará en las llamadas subsiguientes
MQXQH MQXQH_INIT (MQXQH, MQSTATE) Cabecera de cola de transmisión
Argumento (el nombre del componente de registro) Función de inicialización Descripción ¿Para salida Java o COBOL?
MQATTRIBUTES ninguna Matrices de atributos y selectores de atributos, además de otra información que se utiliza en el mandato MQINQ o MQSET Cualquiera
MQBO MQBO_INIT (MQBO) Opciones de inicio Cualquiera
MQCNO MQCNO_INIT (MQCNO) Opciones de conexión Cualquiera
MQDH MQDH_INIT (MQDH) Cabecera de distribución Sólo COBOL
MQDLH MQDLH_INIT (MQDLH) Cabecera de mensajes no entregados Sólo COBOL
MQGMO MQGMO_INIT (MQGMO) Opciones de obtención de mensaje Cualquiera
MQIIH MQIIH_INIT (MQIIH) Cabecera de información IMS; describe la información que se necesita al principio de un mensaje MQSeries enviado a IMS Cualquiera; sin embargo, la documentación de MQSeries indica que el uso de esta cabecera no está soportado en Windows 2000/NT/XP
MQINTATTRS ninguna Matrices de atributos de tipo entero que se utilizarán en el mandato MQINQ o MQSET Cualquiera
MQMD MQMD_INIT (MQMD, MQSTATE) Descriptor de mensaje (MQSeries versión 2) Cualquiera
MQMD1 MQMD1_INIT (MQMD1, MQSTATE) Descriptor de mensaje (MQSeries versión 1) Sólo COBOL
MQMDE MQMDE_INIT (MQMDE, MQSTATE) Extensión de descriptor de mensaje Se soporta para COBOL; pero para Java, utilice únicamente los campos que están en MQSeries versión 2
MQOD MQOD_INIT (MQOD) Descriptor de objeto Cualquiera
MQOO MQOO_INIT (MQOO) Opciones de apertura Cualquiera
MQOR MQOR_INIT (MQOR) Registro de objeto Sólo COBOL
MQPMO MQPMO_INIT (MQPMO) Opciones de colocación de mensaje Cualquiera
MQRMH MQRMH_INIT (MQRMH, MQSTATE) Cabecera de referencia a mensaje Sólo COBOL
MQRR MQRR (MQRR) Registro de respuesta Sólo COBOL
MQSELECTORS ninguna Una matriz de selectores de atributos, que sólo se utiliza si desea acceder a MQSeries sin utilizar las funciones EGL Cualquiera
MQSTATE MQSTATE_INIT (MQSTATE) Una colección de argumentos cada uno de los cuales se utiliza en una o más llamadas a MQSeries; por ejemplo, cuando se conecta con la función EGL MQCONN o MQCONNX, MQSeries establece el handle de conexión (MQSTATE.hconn) que se utilizará en las llamadas subsiguientes Cualquiera
MQTM MQTM_INIT (MQTM) Mensaje desencadenante Sólo COBOL
MQTMC2 MQTMC2_INIT (MQTMC2) Mensaje desencadenante 2 (formato de carácter) Sólo COBOL
MQXQH MQXQH_INIT (MQXQH, MQSTATE) Cabecera de cola de transmisión Cualquiera

Como muestra, los argumentos soportados son más numerosos cuando se genera en COBOL que cuando se genera en Java.

Nota: Cada componente de registro sólo contiene un elemento de estructura, y el elemento de estructura utiliza un componente de estructura como una typeDef. Esta configuración proporciona una gran flexibilidad. Puede crear sus propios componentes de registro cada uno de los cuales se compone de una serie de componentes de estructura.

El nombre de cada componente de estructura es el nombre del componente de registro seguido de _S; el componente de registro MQGMO, por ejemplo, utiliza un componente de estructura llamado MQGMO_S.

Conceptos relacionados
Palabras clave EGL relacionadas con MQSeries
Soporte de MQSeries
Componentes de registro
Typedef

Consulta relacionada
get next
sysLib.commit
sysLib.rollback

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.