Partager via


GET_TP_PROPERTIES

Le verbe GET_TP_PROPERTIES retourne des attributs du programme de transaction (TP) et de la transaction actuelle.

La structure suivante décrit le bloc de contrôle verbe utilisé par le verbe GET_TP_PROPERTIES .

Syntaxe

  
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];  
};   

Membres

Opcode
Paramètre fourni. Spécifie le code de l’opération de verbe, AP_GET_TP_PROPERTIES.

opext
Paramètre fourni. Spécifie l’extension d’opération de verbe. Si le bit AP_EXTD_VCB est défini, cela indique que la structure get_tp_properties inclut le membre prot_luw_id utilisé pour la prise en charge du point de synchronisation. Sinon, le bloc de contrôle verbe se termine immédiatement après le membre user_id .

réserver2
Champ réservé.

primary_rc
Paramètre retourné. Spécifie le code de retour principal défini par APPC à l’achèvement du verbe. Les codes de retour valides varient en fonction du verbe APPC émis. Consultez les codes de retour pour obtenir des codes d’erreur valides pour ce verbe.

secondary_rc
Paramètre retourné. Spécifie le code de retour secondaire défini par APPC à l’achèvement du verbe. Les codes de retour valides varient en fonction du verbe APPC émis. Consultez les codes de retour pour obtenir des codes d’erreur valides pour ce verbe.

tp_id
Paramètre fourni. Identifie le TP local. La valeur de ce paramètre a été retournée par TP_STARTED dans l’appel du TP ou par RECEIVE_ALLOCATE dans le TP appelé.

tp_name
Paramètre retourné. Fournit le nom tp du TP qui a émis le verbe. Le nom est retourné sous la forme d’une chaîne EBCDIC de 64 octets, rembourrée à droite avec des espaces EBCDIC.

lu_alias
Paramètre retourné. Fournit le nom d’alias affecté à l’unité logique locale. Elle est retournée sous la forme d’une chaîne ASCII de 8 octets rembourrée à droite avec des espaces ASCII.

luw_id
Paramètre retourné. Fournit l’identificateur d’unité de travail logique non protégée pour la transaction dans laquelle le TP participe. Plusieurs TPS peuvent être impliqués dans une transaction. Cet identificateur, qui est affecté au nom du TP qui lance la transaction, permet à la conversation qui compose la transaction d’être connectée logiquement.

Les luw_id peuvent être représentées sous la forme d’une structure luw_id_overlay avec les champs suivants :

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

Longueur de 1 octet du nom lu complet de l’unité logique du TP d’origine.

luw_id.fqla_name

Nom complet de l’unité logique pour le TP d’origine. Le nom est retourné sous la forme d’une chaîne EBCDIC de 17 octets, composée du NETID, d’un point et du nom lu. Si la longueur du nom est inférieure à 17 octets, les numéros d’instance et de séquence suivent immédiatement. (Notez qu’en raison de cela, vous ne devez pas utiliser les champs de la structure luw_id_overlay pour accéder à ces valeurs. Celles-ci sont fournies uniquement pour la compatibilité.)

luw_id.instance

Chaîne de 6 octets générée de manière unique par l’unité logique pour le TP d’origine.

luw_id.sequence

Nombre de 2 octets qui indique le segment d’unité de travail. (Cette valeur est toujours définie sur 1, si le point de synchronisation n’est pas pris en charge.)

Si la longueur luw_id est inférieure à 26 octets, elle est rembourrée à droite avec des espaces EBCDIC.

fqlu_name
Paramètre retourné. Fournit le nom complet de l’unité logique locale. Le nom est retourné sous la forme d’une chaîne EBCDIC de 17 octets, composée du NETID, d’un point et du nom lu. Le nom est rembourré à droite avec des espaces EBCDIC.

reserve3
Champ réservé.

user_id
Paramètre fourni. Indique la user_id fournie par le tp de lancement dans la demande d’allocation. Le nom est fourni sous la forme d’une chaîne EBCDIC de 10 octets, rembourrée à droite avec des espaces EBCDIC.

prot_luw_id
Paramètre retourné. Contient l’identificateur d’unité de travail logique protégée pour la transaction dans laquelle le TP participe, si la conversation a été allouée avec le point de synchronisation de niveau de synchronisation .

Plusieurs TPS peuvent être impliqués dans une transaction. Cet identificateur, qui est affecté au nom du TP qui lance la transaction, permet à la conversation qui compose la transaction d’être connectée logiquement.

Les prot_luw_id peuvent être représentées sous forme de structure luw_id_overlay avec les champs suivants :

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

Longueur de 1 octet du nom lu complet de l’unité logique du TP d’origine.

luw_id.fqla_name

Nom complet de l’unité logique pour le TP d’origine. Le nom est retourné sous la forme d’une chaîne EBCDIC de 17 octets, composée du NETID, d’un point et du nom lu. Si la longueur du nom est inférieure à 17 octets, les numéros d’instance et de séquence suivent immédiatement. (Notez qu’en raison de cela, vous ne devez pas utiliser les champs de la structure luw_id_overlay pour accéder à ces valeurs. Celles-ci sont fournies uniquement pour la compatibilité).

luw_id.instance

Chaîne de 6 octets générée de manière unique par l’unité logique pour le TP d’origine.

luw_id.sequence

Nombre de 2 octets qui indique le segment d’unité de travail. (Cette valeur est toujours définie sur 1, si le point de synchronisation n’est pas pris en charge.)

Si la longueur prot_luw_id est inférieure à 26 octets, elle est rembourrée à droite avec des espaces EBCDIC.

Pwd
Paramètre fourni. Contient le mot de passe de la user_id du tp de lancement dans la demande d’allocation. Le mot de passe est fourni sous la forme d’une chaîne EBCDIC de 10 octets, complétée à droite avec des espaces EBCDIC.

Codes de retour

AP_OK
Code de retour principal ; le verbe exécuté avec succès.

AP_PARAMETER_CHECK
Code de retour principal ; le verbe n’a pas été exécuté en raison d’une erreur de paramètre.

AP_BAD_TP_ID

Code de retour secondaire ; la valeur de tp_id ne correspondait pas à un identificateur TP attribué par APPC.

AP_COMM_SUBSYSTEM_ABENDED
Code de retour principal ; indique l’une des conditions suivantes :

  • Le nœud utilisé par cette conversation a rencontré un ABEND.

  • La connexion entre le tp et le nœud PU 2.1 a été interrompue (erreur LAN).

  • Le SnaBase sur l’ordinateur du TP a rencontré un ABEND.

    L’administrateur système doit examiner le journal des erreurs pour déterminer la raison de l’ABEND.

    AP_COMM_SUBSYSTEM_NOT_LOADED
    Code de retour principal ; un composant requis n’a pas pu être chargé ou arrêté lors du traitement du verbe. Ainsi, la communication n’a pas pu avoir lieu. Contactez l’administrateur système pour obtenir une action corrective.

    AP_INVALID_VERB_SEGMENT
    Code de retour principal ; le VCB s’étend au-delà de la fin du segment de données.

    AP_STACK_TOO_SMALL
    Code de retour principal ; la taille de la pile de l’application est trop petite pour exécuter le verbe. Augmentez la taille de la pile de votre application.

    AP_TP_BUSY
    Code de retour principal ; le TP local a émis un appel à APPC pendant que APPC a traité un autre appel pour le même TP. Cela peut se produire si le TP local a plusieurs threads et que plusieurs threads émettent des appels APPC à l’aide du même tp_id.

    AP_UNEXPECTED_DOS_ERROR
    Code de retour principal ; le système d’exploitation a retourné une erreur à APPC lors du traitement d’un appel APPC à partir du TP local. Le code de retour du système d’exploitation est retourné via le secondary_rc. Il apparaît dans l’ordre d’échange d’octets Intel. Si le problème persiste, consultez l’administrateur système.

Remarques

Ce verbe est lié au TP plutôt qu’à une conversation de spécification, de sorte que le TP peut émettre le verbe dans n’importe quel état. Il n’y a aucune modification d’état.

Le membre luw_id contient des champs pour fqla_name_len (longueur du nom lu complet de l’unité logique d’origine du TP), fqla_name (nom complet de l’unité logique à l’origine du TP), instance (générée de manière unique par l’unité logique d’origine du TP) et séquence (toujours définie sur 1 et indiquant le segment d’unité de travail).