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 l’opération allouée 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 de l’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é par le biais de variables de registre ou d’environnement. APPC correspond au paramètre tp_name du verbe RECEIVE_ALLOCATE avec le nom TP spécifié par l’allocation entrante, qui est générée par MC_ALLOCATE ou allouée 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 comporter des caractères du type AE EBCDIC jeu de caractères :

  • Lettres majuscules et minuscules

  • Chiffres de 0 à 9

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

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

    La Convention SNA est qu’un nom de service TP 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 de type AE EBCDIC.

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

    conv_id
    Paramètre retourné. Fournit l’identificateur de conversation. Il identifie la conversation APPC établie entre les deux TPs de partenaire.

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

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

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

  • AP_SYNCPT spécifie que les TPs peuvent utiliser le traitement de confirmation de point de synchronisation de niveau 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' allouer. 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 du partenaire, à l’aide de MC_ALLOCATE ou de l' allocation (si le TP partenaire définit le paramètre de sécurité MC_ALLOCATE ou allouer à AP_PGM ou AP_SAME). Il s’agit d’un type AE chaîne de caractères EBCDIC.

    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é logique du partenaire (qui a initié 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 à allouer dans le TP du partenaire. Il s’agit du nom d’un ensemble de caractéristiques de mise en réseau définies lors de la configuration. Le MODE_NAME est un type chaîne de caractères EBCDIC.

    reserv3
    Un champ réservé.

    conv_group_id
    Identificateur du groupe de conversations.

    fqplu_name
    Ce paramètre retourné fournit le nom d’unité logique complet.

    pip_incoming
    Ce paramètre facultatif fourni et retourné n’est applicable que si les 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 les 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 qu’elle corresponde à 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 émettant 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 en attente à la fois dans une 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 TPs 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 le TP appelé émet des RECEIVE_ALLOCATE et qu’une allocation entrante correspondante (résultant d' MC_ALLOCATE ou d' allocations émises par l’appel de TP) n’est pas présente, le TP appelé attend jusqu’à ce que l’allocation entrante arrive ou que le verbe expire. La valeur du délai d’attente est définie par l’administrateur système.

Host Integration Server prend également en charge les fonctions de RECEIVE_ALLOCATE_EX et de RECEIVE_ALLOCATE_EX_END APPC, afin de simplifier la conception et l’implémentation de certains programmes de transaction programmes appelables. cette fonction permet à une application appc de recevoir toutes les demandes d’attachement FMH-5 entrantes reçues par Host Integration Server sur une unité logique 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 LU 6.2. quand une application APPC appelle RECEIVE_ALLOCATE (par opposition à RECEIVE_ALLOCATE_EX), Host Integration Server gère la fonctionnalité de gestionnaire d’attachement.

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