RECEIVE_ALLOCATE
El programa de transacciones invocado (TP) emite el verbo RECEIVE_ALLOCATE para confirmar que el TP invocado está listo para iniciar una conversación con el TP invocado que emitió ALLOCATE o MC_ALLOCATE.
En la estructura siguiente se describe el bloque de control de verbos (VCB) usado por el verbo RECEIVE_ALLOCATE .
Sintaxis
struct receive_allocate {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_name[64];
unsigned char tp_id[8];
unsigned long conv_id;
unsigned char sync_level;
unsigned char conv_type;
unsigned char user_id[10];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char mode_name[8];
unsigned char reserv3[2];
unsigned long conv_group_id;
unsigned char fqplu_name[17];
unsigned char pip_incoming;
unsigned char syncpoint_rqd;
unsigned char reserv4[3];
};
Miembros
opcode
Parámetro proporcionado. Especifica el código de operación de verbo, AP_RECEIVE_ALLOCATE.
opext
Parámetro proporcionado. Especifica la extensión de la operación de verbo, AP_BASIC_CONVERSATION.
reserv2
Campo reservado.
primary_rc
Parámetro devuelto. Especifica el código de retorno principal que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.
secondary_rc
Parámetro devuelto. Especifica el código de retorno secundario que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.
tp_name
Parámetro proporcionado. Proporciona el nombre del TP local. El valor de tp_name debe coincidir con el nombre de TP configurado a través del Registro o las variables de entorno. APPC coincide con el parámetro tp_name del verbo RECEIVE_ALLOCATE con el nombre de TP especificado por la asignación entrante, que se genera mediante MC_ALLOCATE o ALLOCATE en el TP invocando.
Este parámetro es una cadena de caracteres EBCDIC de 64 bytes y distingue mayúsculas de minúsculas. El parámetro tp_name puede constar de caracteres del tipo AE EBCDIC juego de caracteres:
Letras mayúsculas y minúsculas
Números del 0 al 9
Caracteres especiales $, #y punto (.)
Si tp_name es inferior a 64 bytes, use espacios EBCDIC (0x40) para rellenarlo a la derecha.
La convención de SNA es que un nombre de TP de servicio puede tener hasta cuatro caracteres. El primer carácter es un byte hexadecimal entre 0x00 y 0x3F. Los demás caracteres proceden del juego de caracteres AE EBCDIC.
tp_id
Parámetro devuelto. Identifica el TP local.conv_id
Parámetro devuelto. Proporciona el identificador de conversación. Identifica la conversación que APPC ha establecido entre los dos CSP de asociados.sync_level
Parámetro devuelto. Especifica el nivel de sincronización de la conversación. Determina si los TP pueden solicitar confirmación de recepción de datos y confirmar la recepción de datos.AP_NONE especifica que el procesamiento de confirmación no se usará en esta conversación.
AP_CONFIRM_SYNC_LEVEL especifica que los TP pueden usar el procesamiento de confirmación en esta conversación.
AP_SYNCPT especifica que los CSP pueden usar el procesamiento de confirmación de punto de sincronización 2 en esta conversación.
conv_type
Parámetro devuelto. Especifica el tipo de conversación elegida por el TP del asociado mediante MC_ALLOCATE o ALLOCATE. Estos son los valores posibles:AP_BASIC_CONVERSATION
AP_MAPPED_CONVERSATION
user_id
Parámetro devuelto. Proporciona el identificador de usuario especificado por el TP del asociado mediante MC_ALLOCATE o ALLOCATE (si el TP del asociado establece el parámetro de seguridad del verbo MC_ALLOCATE o ALLOCATE en AP_PGM o AP_SAME). Es una cadena de caracteres EBCDIC de tipo AE.lu_alias
Parámetro devuelto. Proporciona el alias por el que se conoce la unidad lógica local (LU) al TP local. Es una cadena de caracteres ASCII.plu_alias
Parámetro devuelto. Proporciona el alias por el que se conoce la LU del asociado (que inició la asignación entrante) al TP local. Es una cadena de caracteres ASCII.mode_name
Parámetro devuelto. Proporciona el nombre de modo especificado por MC_ALLOCATE o ALLOCATE en el TP del asociado. Es el nombre de un conjunto de características de red definidas durante la configuración. El mode_name es una cadena de caracteres EBCDIC de tipo.reserv3
Campo reservado.conv_group_id
Identificador de grupo de conversación.fqplu_name
Este parámetro devuelto proporciona el nombre completo de LU.pip_incoming
Este parámetro opcional proporcionado y devuelto solo es aplicable si se requieren servicios de punto de sincronización.Para el parámetro proporcionado:
AP_YES si TP acepta datos de PIP.
AP_NO si TP no acepta datos de PIP.
Para el parámetro devuelto:
AP_YES si los datos de PIP están disponibles.
AP_NO si los datos de PIP no están disponibles.
syncpoint_rqd
Este parámetro indica si se requieren servicios sync Point.AP_YES si se requiere el punto de sincronización.
AP_NO si no se requiere el punto de sincronización.
reserv4
Campo reservado.
Códigos de retorno
AP_OK
Código de retorno principal; el verbo se ha ejecutado correctamente.
AP_PARAMETER_CHECK
Código de retorno principal; el verbo no se ha ejecutado debido a un error en un parámetro.
AP_UNDEFINED_TP_NAME
Código de retorno secundario; el nombre del TP no se configuró correctamente.
AP_STATE_CHECK
Código de retorno principal; el verbo no se ejecutó porque se emitió en un estado no válido.
AP_ALLOCATE_NOT_PENDING
Código de retorno secundario; APPC no encontró una asignación entrante (del TP invocando) para que coincida con el valor de tp_name, proporcionado por RECEIVE_ALLOCATE. RECEIVE_ALLOCATE esperó la asignación entrante y finalmente se agotó el tiempo de espera.
AP_INVALID_PROCESS
Código de retorno secundario; el proceso que emite RECEIVE_ALLOCATE era diferente del iniciado por APPC.
AP_COMM_SUBSYSTEM_ABENDED
Código de retorno principal; indica una de las condiciones siguientes:
El nodo utilizado por esta conversación encontró una anulación.
La conexión entre el TP y el nodo PU 2.1 se interrumpió (un error de LAN).
El proceso SnaBase que se ejecuta en el equipo del TP encontró una anulación.
El administrador del sistema debe examinar el registro de errores a fin de determinar el motivo de la anulación.
AP_CONV_BUSY
Código de retorno principal; solo puede haber un verbo de conversación pendiente a la vez en cualquier conversación.AP_THREAD_BLOCKING
Código de retorno principal; el subproceso que llama ya está en una llamada de bloqueo.AP_COMM_SUBSYSTEM_NOT_LOADED
Código de retorno principal; no se pudo cargar o finalizar un componente necesario durante el procesamiento del verbo. Por tanto, no se pudo establecer la comunicación. Consulte con el administrador del sistema para aplicar una acción correctiva.AP_INVALID_VERB_SEGMENT
Código de retorno principal; el bloque de control de verbo (VCB) se ha extendido más allá del final del segmento de datos.AP_STACK_TOO_SMALL
Código de retorno principal; el tamaño de la pila de la aplicación es demasiado pequeño para ejecutar el verbo. Aumente el tamaño de pila de la aplicación.AP_UNEXPECTED_DOS_ERROR
Código de retorno principal; el sistema operativo devolvió un error a APPC al procesar una llamada de APPC desde el TP local. El código de retorno del sistema operativo se devuelve a través de secondary_rc. Aparece en el orden de intercambio de bytes de Intel. Si el problema persiste, consulte con el administrador del sistema.
Comentarios
Debe ser el primer verbo APPC emitido por el TP invocado. El estado inicial es RESET. Si el verbo se ejecuta correctamente (primary_rc es AP_OK), el estado cambia a RECEIVE.
En respuesta a este verbo, APPC establece una conversación entre los dos CSP y genera un identificador tp para el TP invocado y un identificador de conversación. Estos identificadores son parámetros necesarios para verbos APPC posteriores.
Si el TP invocado emite RECEIVE_ALLOCATE y una asignación entrante correspondiente (resultante de MC_ALLOCATE o ALLOCATE emitida por el TP invocado) no está presente, el TP invocado espera hasta que llegue la asignación entrante o el verbo agote el tiempo de espera. El administrador del sistema establece el valor de tiempo de espera.
Host Integration Server también admite funciones de RECEIVE_ALLOCATE_EX y RECEIVE_ALLOCATE_EX_END appC para simplificar el diseño e implementación de algunos programas de transacciones invocables. Esta función permite que una aplicación APPC reciba todas las solicitudes de conexión FMH-5 entrantes recibidas por Host Integration Server a través de una LU APPC local específica, lo que permite que una aplicación actúe como un "administrador de asociación". Un administrador de asociación es un programa que controla una solicitud de conexión FMH-5 entrante para iniciar una conversación LU6.2. Cuando una aplicación APPC llama a RECEIVE_ALLOCATE (en lugar de RECEIVE_ALLOCATE_EX), Host Integration Server controla la funcionalidad del administrador de asociación.
Para obtener más información sobre el administrador adjunto, consulte RECEIVE_ALLOCATE_EX.