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 la operación del verbo. El bit de AP_EXTD_VCB debe establecerse para indicar que la estructura de set_tp_properties requiere compatibilidad con el punto de sincronización.

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.

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 DE LUWID prot_id proporcionado 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 de unidad de trabajo lógico 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 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_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 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 se AP_NO set_unprot_id . 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 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_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.

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
Campo reservado.

user_id
Parámetro proporcionado. Indica el user_id que debe usar el TP iniciador 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
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_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.

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), 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).

Es responsabilidad de la aplicación (el componente de soporte de punto de sincronización) transmitir el nuevo encabezado PS LUWID al soporte técnico del punto de sincronización 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 .