Compartir a través de


SET_TP_PROPERTIES

El verbo SET_TP_PROPERTIES permite a un programa de transacciones (TP) establecer sus identificadores lógicos de unidad de trabajo (LUWID) en un valor existente, proporcionando los LUWID o solicitando que el servidor SNA genere nuevos y úselos desde entonces. Cuando el servidor SNA genera el LUWID, se garantiza que es único. Este verbo solo se usa si la compatibilidad con punto de sincronización está habilitada.

En la estructura siguiente se describe el bloque de control de verbos (VCB) usado por el verbo SET_TP_PROPERTIES .

Sintaxis

  
struct set_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   set_prot_id;  
    unsigned char   new_prot_id;  
    unsigned char   prot_id[26];  
    unsigned char   set_unprot_id;  
    unsigned char   new_unprot_id;  
    unsigned char   unprot_id[26];  
    unsigned char   set_user_id;  
    unsigned char   reserv3;  
    unsigned char   user_id[10];  
    unsigned char   reserv4[10];  
};   

Miembros

Opcode
Parámetro proporcionado. Especifica el código de operación de verbo, AP_SET_TP_PROPERTIES.

opext
Parámetro proporcionado. Especifica la extensión de operación de verbo. El bit de AP_EXTD_VCB debe establecerse para indicar que la estructura de set_tp_properties requiere compatibilidad con punto de sincronización.

reserv2
Un campo reservado.

primary_rc
Parámetro devuelto. Especifica el código de retorno principal establecido por APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC emitido. Consulte Códigos de retorno para obtener códigos de error válidos para este verbo.

secondary_rc
Parámetro devuelto. Especifica el código de retorno secundario establecido por APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC emitido. Consulte Códigos de retorno para obtener 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 la invocación de TP o por RECEIVE_ALLOCATE en el TP invocado.

set_prot_id
Parámetro proporcionado. Indica si se debe modificar el miembro prot_id . Los valores legales son AP_YES o AP_NO.

new_prot_id
Parámetro proporcionado. Indica si Microsoft® Host Integration Server debe usar el miembro LUWID proporcionado prot_id o crear un LUWID nuevo. Los valores legales son AP_YES (crear un LUWID) o AP_NO (use el LUWID proporcionado).

prot_id
Este miembro es el identificador lógico de unidad de trabajo protegido para la transacción en la que participa el TP. Se omite si set_prot_id es AP_NO. Es un parámetro proporcionado si new_unprot_id es AP_NO o un parámetro devuelto si new_unprot_id es AP_YES .

Varios CSP 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_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 de 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 para 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.

set_unprot_id
Parámetro proporcionado. Indica si se debe modificar el miembro unprot_id . Los valores legales son AP_YES o AP_NO.

new_unprot_id
Parámetro proporcionado. Indica si Host Integration Server debe usar el miembro LUWID proporcionado unprot_id o crear un LUWID nuevo. Los valores legales son AP_YES (crear un LUWID) o AP_NO (use el LUWID proporcionado).

unprot_id
Este miembro es el identificador lógico de unidad de trabajo no protegido para la transacción en la que participa el TP. Se omite si set_unprot_id es AP_NO. Es un parámetro proporcionado si new_unprot_id es AP_NO o un parámetro devuelto si new_unprot_id es AP_YES .

Varios CSP 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_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 de 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.

set_user_id
Parámetro proporcionado. Indica si se debe modificar el miembro user_id . Los valores legales son AP_YES o AP_NO.

reserve3
Un campo reservado.

user_id
Parámetro proporcionado. Indica el user_id que debe usar el TP iniciado en la solicitud de asignación. El nombre es una cadena EBCDIC de 10 bytes, rellenada a la derecha con espacios EBCDIC. Este parámetro se omite si set_user_id es AP_NO.

reserve4
Un campo reservado.

Códigos de retorno

AP_OK
Código de retorno principal; el verbo se ejecutó correctamente.

AP_PARAMETER_CHECK
Código de retorno principal; el verbo no se ejecutó debido a un error de parámetro.

AP_BAD_TP_ID

Código de retorno secundario; el valor de tp_id no coincide con un identificador tp asignado por APPC.

AP_COMM_SUBSYSTEM_ABENDED
Código de retorno principal; indica una de las condiciones siguientes:

  • El nodo usado por esta conversación encontró un ABEND.

  • La conexión entre el TP y el nodo PU 2.1 se ha interrumpido (error laN).

  • SnaBase en el equipo del TP encontró un ABEND.

    El administrador del sistema debe examinar el registro de errores para determinar el motivo del ABEND.

    AP_COMM_SUBSYSTEM_NOT_LOADED
    Código de retorno principal; No se pudo cargar ni finalizar un componente necesario mientras se procesaba el verbo. Por lo tanto, no se pudo realizar la comunicación. Póngase en contacto con el administrador del sistema para obtener una acción correctiva.

    AP_INVALID_VERB_SEGMENT
    Código de retorno principal; el VCB se extendió más allá del final del segmento de datos.

    AP_STACK_TOO_SMALL
    Código de retorno principal; el tamaño de pila de la aplicación es demasiado pequeño para ejecutar el verbo. Aumente el tamaño de la pila de la aplicación.

    AP_TP_BUSY
    Código de retorno principal; el TP local ha emitido una llamada a APPC mientras APPC estaba procesando 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 mediante el mismo tp_id.

    AP_UNEXPECTED_DOS_ERROR
    Código de retorno principal; el sistema operativo ha devuelto un error a APPC mientras procesa una llamada APPC desde el TP local. El código de retorno del sistema operativo se devuelve a través del secondary_rc. Aparece en el orden de intercambio de bytes de Intel. Si el problema persiste, consulte al administrador del sistema.

Observaciones

Este verbo se relaciona con el TP en lugar de 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.

Los miembros prot_id y unprot_id contienen 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), la instancia (generada de forma única por la LU que origina el TP) y la secuencia (siempre se establece en 1 e indica el segmento de unidad de trabajo).

Es responsabilidad de la aplicación (el componente de soporte técnico de punto de sincronización) transmitir el nuevo encabezado PS de LUWID al soporte técnico del punto de sincronización del asociado cuando se cambia el LUWID protegido. Del mismo modo, cuando se recibe el nuevo encabezado PS LUWID, la aplicación debe informar a la LU mediante la emisión de un verbo SET_TP_PROPERTIES .