Partager via


RECEIVE_ALLOCATE

Le verbe RECEIVE_ALLOCATE est émis par le programme de transaction appelé (TP) pour confirmer que le tp appelé est prêt à commencer une conversation avec le TP appelant qui a émis ALLOCATE ou MC_ALLOCATE.

La structure suivante décrit le bloc de contrôle de verbe (VCB) utilisé par le verbe RECEIVE_ALLOCATE .

Syntaxe

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

Membres

opcode
Paramètre fourni. Spécifie le code d’opération de verbe, AP_RECEIVE_ALLOCATE.

opext
Paramètre fourni. Spécifie l’extension d’opération de verbe, AP_BASIC_CONVERSATION.

reserv2
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 dépendent du verbe APPC émis. Pour connaître les codes d’erreur valides de ce verbe, consultez Codes de retour.

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 dépendent du verbe APPC émis. Pour connaître les codes d’erreur valides de ce verbe, consultez Codes de retour.

tp_name
Paramètre fourni. Fournit le nom du TP local. La valeur de tp_name doit correspondre au nom TP configuré via des variables de registre ou d’environnement. APPC fait correspondre le paramètre tp_name du verbe RECEIVE_ALLOCATE au nom TP spécifié par l’allocation entrante, qui est généré par MC_ALLOCATE ou ALLOCATE dans le TP appelant.

Ce paramètre est une chaîne de caractères EBCDIC de 64 octets qui respecte la casse. Le paramètre tp_name peut se composer de caractères du jeu de caractères EBCDIC de type AE :

  • Lettres majuscules et minuscules

  • Nombres 0 à 9

  • Caractères spéciaux $, #et point (.)

    Si tp_name est inférieur à 64 octets, utilisez des espaces EBCDIC (0x40) pour le placer à droite.

    La convention SNA est qu’un nom TP de service peut comporter jusqu’à quatre caractères. Le premier caractère est un octet hexadécimal compris entre 0x00 et 0x3F. Les autres caractères proviennent du jeu de caractères EBCDIC de type AE.

    tp_id
    Paramètre retourné. Identifie le TP local.

    conv_id
    Paramètre retourné. Fournit l’identificateur de conversation. Il identifie la conversation établie par APPC entre les deux fournisseurs de services partenaires.

    sync_level
    Paramètre retourné. Spécifie le niveau de synchronisation de la conversation. Il détermine si les fournisseurs de services peuvent demander une confirmation de réception des données et confirmer la réception des données.

  • AP_NONE spécifie que le traitement de confirmation ne sera pas utilisé dans cette conversation.

  • AP_CONFIRM_SYNC_LEVEL spécifie que les fournisseurs de services peuvent utiliser le traitement de confirmation dans cette conversation.

  • AP_SYNCPT spécifie que les fournisseurs de services peuvent utiliser le traitement de confirmation de niveau de synchronisation 2 dans cette conversation.

    conv_type
    Paramètre retourné. Spécifie le type de conversation choisi par le tp partenaire, à l’aide de MC_ALLOCATE ou d’ALLOCATION. Les valeurs possibles sont les suivantes :

    AP_BASIC_CONVERSATION

    AP_MAPPED_CONVERSATION

    User_id
    Paramètre retourné. Fournit l’identificateur d’utilisateur spécifié par le tp partenaire, à l’aide de MC_ALLOCATE ou d’ALLOCATION (si le tp partenaire a défini le paramètre de sécurité du verbe MC_ALLOCATE ou ALLOCATE sur AP_PGM ou AP_SAME). Il s’agit d’une chaîne de caractères EBCDIC de type AE.

    lu_alias
    Paramètre retourné. Fournit l’alias par lequel l’unité logique locale (LU) est connue du TP local. Il s’agit d’une chaîne de caractères ASCII.

    plu_alias
    Paramètre retourné. Fournit l’alias par lequel l’unité lu partenaire (qui a lancé l’allocation entrante) est connue du TP local. Il s’agit d’une chaîne de caractères ASCII.

    mode_name
    Paramètre retourné. Fournit le nom de mode spécifié par MC_ALLOCATE ou ALLOCATE dans le tp partenaire. Il s’agit du nom d’un ensemble de caractéristiques réseau définies lors de la configuration. Le mode_name est une chaîne de caractères EBCDIC de type A.

    reserv3
    Un champ réservé.

    conv_group_id
    Identificateur de groupe de conversation.

    fqplu_name
    Ce paramètre retourné fournit le nom lu complet.

    pip_incoming
    Ce paramètre facultatif fourni et retourné s’applique uniquement si des services de point de synchronisation sont requis.

    Pour le paramètre fourni :

    AP_YES si TP accepte les données PIP.

    AP_NO si TP n’accepte pas les données PIP.

    Pour le paramètre retourné :

    AP_YES si les données PIP sont disponibles.

    AP_NO si les données PIP ne sont pas disponibles.

    syncpoint_rqd
    Ce paramètre indique si des services de point de synchronisation sont requis.

    AP_YES si le point de synchronisation est requis.

    AP_NO si le point de synchronisation n’est pas requis.

    reserv4
    Un champ réservé.

Codes de retour

AP_OK
Code de retour principal ; indique que le verbe s’est exécuté correctement.

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

AP_UNDEFINED_TP_NAME

Code de retour secondaire ; le nom tp n’a pas été configuré correctement.

AP_STATE_CHECK
Code de retour principal ; le verbe n’a pas été exécuté, car il a été émis dans un état non valide.

AP_ALLOCATE_NOT_PENDING

Code de retour secondaire ; APPC n’a pas trouvé d’allocation entrante (à partir du TP appelant) pour correspondre à la valeur de tp_name, fournie par RECEIVE_ALLOCATE. RECEIVE_ALLOCATE a attendu l’allocation entrante et fini par expirer.

AP_INVALID_PROCESS

Code de retour secondaire ; le processus d’émission RECEIVE_ALLOCATE était différent de celui démarré par APPC.

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

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

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

  • Le processus SnaBase qui se déroule sur l’ordinateur du programme transactionnel a rencontré un abandon (ABEND).

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

    AP_CONV_BUSY
    Code de retour principal ; il ne peut y avoir qu’un seul verbe de conversation à la fois sur n’importe quelle conversation.

    AP_THREAD_BLOCKING
    Code de retour principal ; indique que le thread appelant se trouve déjà dans un appel de blocage.

    AP_COMM_SUBSYSTEM_NOT_LOADED
    Code de retour principal ; indique qu’il n’a pas été possible de charger un composant requis ou d’y mettre fin lors du traitement du verbe. Par conséquent, la communication n’a pas pu être établie. Contactez l’administrateur système pour mettre en place une action corrective.

    AP_INVALID_VERB_SEGMENT
    Code de retour principal ; indique que le bloc de contrôle de verbe s’étend au-delà de la fin du segment de données.

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

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

Notes

Il doit s’agir du premier verbe APPC émis par le TP appelé. L’état initial est RESET. Si le verbe s’exécute correctement (primary_rc est AP_OK), l’état devient RECEIVE.

En réponse à ce verbe, APPC établit une conversation entre les deux fournisseurs de services et génère un identificateur TP pour le TP appelé et un identificateur de conversation. Ces identificateurs sont des paramètres requis pour les verbes APPC suivants.

Si les problèmes tp appelés RECEIVE_ALLOCATE et qu’une allocation entrante correspondante (résultant de MC_ALLOCATE ou d’ALLOCATION émise par le TP appelant) n’est pas présente, le TP appelé attend que l’allocation entrante arrive ou que le verbe expire. La valeur de délai d’attente est définie par l’administrateur système.

Host Integration Server prend également en charge les fonctions RECEIVE_ALLOCATE_EX et RECEIVE_ALLOCATE_EX_END APPC, afin de simplifier la conception et l’implémentation de certains programmes de transaction appelants. Cette fonction permet à une application APPC de recevoir toutes les demandes d’attachement FMH-5 entrantes reçues par Host Integration Server sur une lu APPC locale spécifique, ce qui permet à une application d’agir en tant que « gestionnaire d’attachement ». Un gestionnaire d’attachement est un programme qui gère une demande d’attachement FMH-5 entrante pour démarrer une conversation LU6.2. Lorsqu’une application APPC appelle RECEIVE_ALLOCATE (par opposition à RECEIVE_ALLOCATE_EX), Host Integration Server gère la fonctionnalité du gestionnaire d’attachement.

Pour plus d’informations sur le gestionnaire d’attachement, consultez RECEIVE_ALLOCATE_EX.