GET_TP_PROPERTIES
El verbo GET_TP_PROPERTIES devuelve atributos del programa de transacciones (TP) y la transacción actual.
En la estructura siguiente se describe el bloque de control de verbo utilizado por el verbo GET_TP_PROPERTIES .
Sintaxis
struct get_tp_properties {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned char tp_name[64];
unsigned char lu_alias[8];
unsigned char luw_id[26];
unsigned char fqlu_name[17];
unsigned char reserve3[10];
unsigned char user_id[10];
unsigned char prot_luw_id[26];
unsigned char pwd[10];
};
Miembros
opcode
Parámetro proporcionado. Especifica el código de operación de verbo, AP_GET_TP_PROPERTIES.
opext
Parámetro proporcionado. Especifica la extensión de la operación del verbo. Si se establece el bit de AP_EXTD_VCB, esto indica que la estructura de get_tp_properties incluye el miembro prot_luw_id usado para la compatibilidad con el punto de sincronización. De lo contrario, el bloque de control de verbo finaliza inmediatamente después del miembro user_id .
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_id
Parámetro proporcionado. Identifica el TP local. El valor de este parámetro lo devolvió TP_STARTED en el TP invocado o por RECEIVE_ALLOCATE en el TP invocado.
tp_name
Parámetro devuelto. Proporciona el nombre de TP del TP que emitió el verbo. El nombre se devuelve como una cadena EBCDIC de 64 bytes, rellenada a la derecha con espacios EBCDIC.
lu_alias
Parámetro devuelto. Proporciona el nombre de alias asignado a la LU local. Se devuelve como una cadena ASCII de 8 bytes rellenada a la derecha con espacios ASCII.
luw_id
Parámetro devuelto. Proporciona el identificador lógico de unidad de trabajo desprotegido para la transacción en la que participa el TP. Varios TP pueden estar implicados en una transacción. Este identificador, que se asigna en nombre del TP que inicia la transacción, permite que la conversación que compone la transacción se conecte lógicamente.
El luw_id se puede representar como una estructura de luw_id_overlay con los siguientes campos:
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
Longitud de 1 byte del nombre completo de LU para la LU del TP de origen.
luw_id.fqla_name
Nombre completo de la LU para el TP de origen. El nombre se devuelve como una cadena EBCDIC de 17 bytes, que consta del NETID, un punto y el nombre de LU. Si la longitud del nombre es inferior a 17 bytes, los números de instancia y secuencia siguen inmediatamente. (Tenga en cuenta que, debido a esto, no debe usar los campos de la estructura luw_id_overlay para tener acceso a esos valores. Solo se proporcionan para la compatibilidad).
luw_id.instance
Cadena de 6 bytes generada de forma única por la LU para el TP de origen.
luw_id.sequence
Número de 2 bytes que indica el segmento de unidad de trabajo. (Siempre se establece en 1, si no se admite el punto de sincronización).
Si la longitud del luw_id es inferior a 26 bytes, se rellena a la derecha con espacios EBCDIC.
fqlu_name
Parámetro devuelto. Proporciona el nombre completo de la LU local. El nombre se devuelve como una cadena EBCDIC de 17 bytes, que consta del NETID, un punto y el nombre de LU. El nombre se rellena a la derecha con espacios EBCDIC.
reserve3
Campo reservado.
user_id
Parámetro proporcionado. Indica el user_id proporcionado por el TP iniciador en la solicitud de asignación. El nombre se proporciona como una cadena EBCDIC de 10 bytes, rellenada a la derecha con espacios EBCDIC.
prot_luw_id
Parámetro devuelto. Contiene el identificador de unidad de trabajo lógico protegido para la transacción en la que participa el TP, si la conversación se asignó con synclevel Sync Point.
Varios TP pueden estar implicados en una transacción. Este identificador, que se asigna en nombre del TP que inicia la transacción, permite que la conversación que compone la transacción se conecte lógicamente.
El prot_luw_id se puede representar como una estructura de luw_id_overlay con los siguientes campos:
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
Longitud de 1 byte del nombre completo de LU para la LU del TP de origen.
luw_id.fqla_name
Nombre completo de la LU para el TP de origen. El nombre se devuelve como una cadena EBCDIC de 17 bytes, que consta del NETID, un punto y el nombre de LU. Si la longitud del nombre es inferior a 17 bytes, los números de instancia y secuencia siguen inmediatamente. (Tenga en cuenta que, debido a esto, no debe usar los campos de la estructura luw_id_overlay para tener acceso a esos valores. Se proporcionan solo por compatibilidad).
luw_id.instance
Cadena de 6 bytes generada de forma única por la LU para el TP de origen.
luw_id.sequence
Número de 2 bytes que indica el segmento de unidad de trabajo. (Siempre se establece en 1, si no se admite el punto de sincronización).
Si la longitud del prot_luw_id es inferior a 26 bytes, se rellena a la derecha con espacios EBCDIC.
pwd
Parámetro proporcionado. Contiene la contraseña del user_id del TP iniciador en la solicitud de asignación. La contraseña se proporciona como una cadena EBCDIC de 10 bytes, rellenada a la derecha con espacios EBCDIC.
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_BAD_TP_ID
Código de retorno secundario; el valor de tp_id no coincidía con un identificador de TP asignado 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_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_TP_BUSY
Código de retorno principal; el TP local ha emitido una llamada a APPC mientras APPC procesaba otra llamada para el mismo TP. Esto puede ocurrir si el TP local tiene varios subprocesos y más de un subproceso emite llamadas APPC con el mismo tp_id.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
Este verbo se relaciona con el TP en lugar de con una conversación de especificación, por lo que el TP puede emitir el verbo en cualquier estado. No hay ningún cambio de estado.
El miembro luw_id contiene campos para fqla_name_len (la longitud del nombre completo de LU de la LU que origina el TP), fqla_name (el nombre completo de la LU que origina el TP), instancia (generada de forma única por la LU que origina el TP) y secuencia (siempre establecida en 1 e indica el segmento de unidad de trabajo).