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.