Interfaces de programmation Bull DPS 7000 Guide de l'utilisateur Configuration et utilisation de /HOST7 GCOS 7 Logiciel Sujet : Ce manuel explique comment configurer et utiliser le produit /HOST7. Il s'agit d'un logiciel Bull permettant à une application TUXEDO sous UNIX d'utiliser les transactions et les données d'une application TDS sous GCOS 7. Observations : Version du logiciel : GCOS 7 AP/HPS à partir de la version V6 (à partir de TS6152) Date : Novembre 1995 Bull S.A. CEDOC Atelier de reproduction 331, Avenue Patton BP 428 49005 ANGERS Cedex FRANCE 47 F2 30UT Rev01 Bull HN Information Systems Inc. Publication Order Entry MA30/843 300 Concord Road Billerica, MA 01821 U.S.A. Copyright Bull S.A., 1995 Toutes les marques citées sont la propriété de leurs titulaires respectifs. Vos suggestions sur la forme et le fond de ce manuel seront les bienvenues. Une feuille destinée à recevoir vos remarques se trouve à la fin du présent manuel. La loi du 11 mars 1957, complétée par la loi du 3 juillet 1985, interdit les copies ou reproductions destinées à une utilisation collective. Toute représentation ou reproduction intégrale ou partielle faite par quelque procédé que ce soit, sans consentement de l'auteur ou de ses ayants cause, est illicite et constitue une contrefaçon sanctionnée par les articles 425 et suivants du code pénal. Ce document est fourni à titre d'information seulement. Il n'engage pas la responsabilité de Bull S.A. en cas de dommages résultant de son application. Des corrections ou modifications au contenu de ce document peuvent intervenir sans préavis ; des mises à jour ultérieures les signaleront éventuellement aux destinataires. Préface OBJET DU MANUEL Ce manuel explique comment configurer et utiliser les composants GCOS 7 de /HOST7. Sa lecture doit être associée à celle du manuel TUXEDO /Host Guide, qui décrit les composants UNIX de /HOST7. Remarque : Du point de vue de TUXEDO, /HOST7 est "l'instanciation" GCOS7/TDS du produit /Host. Dans la documentation TUXEDO, il est appelé "Extension de /Host". UTILISATEURS CONCERNES • Administrateur TDS et administrateurs de réseau responsables de la configuration des composants GCOS 7 de /HOST7. La connaissance de TDS, XCP2 et NETGEN est un prérequis. • Les programmeurs d'applications TDS responsables de la programmation de transactions TDS pour le compte de clients TUXEDO. La connaissance du COBOL ou du langage C sous GCOS 7 est un prérequis. 47 F2 30UT Rev01 iii Configuration et utilisation de /HOST7 BIBLIOGRAPHIE GCOS 7 Cette bibliographie est fournie à titre indicatif. Pour plus de précisions (disponibilité du manuel en français, numéro de révision, indice de mise à jour), veuillez vous adresser à CEDOC. TDS : TDS - Guide de l'administrateur (V6) ............................................................... 47 F2 20UT TDS Administrator's Guide (V6) .......................................................................47 A2 20UT TDS - Guide du programmeur (V6).................................................................. 47 F2 21UT TDS Cobol Programmer's Manual (V6)............................................................47 A2 21UT TDS - Guide de l'administrateur (V7) ............................................................... 47 F2 32UT TDS Administrator's Guide (V7) .......................................................................47 A2 32UT TDS - Manuel du programmeur (V7)................................................................ 47 F2 33UT TDS Programmer's Manual (V7) ......................................................................47 A2 33UT TDS/C - Guide du programmeur ...................................................................... 47 F2 07UT TDS C Language Programmer's Manual .........................................................47 A2 07UT Haute disponibilité (HA) - Guide de l'administrateur ........................................ 47 F2 23UT High Availability Administrator's guide .............................................................47 A2 23UT Communications : CPI-C/XCP2 - Guide de l'utilisateur ................................................................. 47 F2 14UT CPI-C/XCP2 User's Guide ...............................................................................47 A2 14UT Réseaux - Concepts et génération...................................................................47 F2 71UC Networks: Overview and Generation .............................................................. 47 A2 71UC Réseaux ISO - Concepts et génération ...........................................................47 F2 91UC ISO Networks: Overview and Generation ....................................................... 47 A2 91UC Réseaux - Concepts.........................................................................................47 F2 92UC Networks Overview ......................................................................................... 47 A2 92UC Génération de réseaux.....................................................................................47 F2 93UC Network Generation ........................................................................................ 47 A2 93UC iv 47 F2 30UT Rev01 Préface BIBLIOGRAPHIE UNIX TUXEDO : TUXEDO /Host Guide ...................................................................................... 86 A2 58AT TUXEDO System /Host for GCOS Guide ....................................................... 86 A2 56CD TUXEDO SRB.................................................................................................86 A2 58WF TUXEDO EXTENSION SRB ................................................................ CD-ROM (DPX/20) TUXEDO Product Overview............................................................................. 86 A2 49AT TUXEDO Reference Manual............................................................................ 86 A2 61AT TUXEDO Administrator's Guide ....................................................................... 86 A2 50AT TUXEDO Programmer's Guide ........................................................................ 86 A2 52AT TUXEDO Cobol Guide ..................................................................................... 86 A2 60AT TUXEDO FML Guide ....................................................................................... 86 A2 54AT TUXEDO Application Development Guide....................................................... 86 A2 51AT Communications : CPI-C/OSI Administrator's Guide ..................................................................... 86A2 92QP CPI-C Programmer's Guide ............................................................................. 86A2 91QP Dans ce manuel, les références des manuels GCOS 7 sont citées sous forme abrégée (4 derniers caractères alphanumériques). 47 F2 30UT Rev01 v Configuration et utilisation de /HOST7 STRUCTURE DU MANUEL Chapitre 1 GENERALITES SUR /HOST7... Fournit un aperçu des concepts et du fonctionnement de /HOST7. Chapitre 2 CONFIGURATION /HOST7. DES COMPOSANTS GCOS 7 DE Décrit les procédures de configuration d'une application TDS et des communications XCP2 nécessaires à /HOST7. Chapitre 3 PROGRAMMATION D'UNE TRANSACTION TDS POUR UN CLIENT TUXEDO Décrit les structures de données, les fonctions et les règles de programmation des transactions de service TDS. Chapitre 4 CONTROLE D'ACTIVITE DE LA PASSERELLE TDS Explique comment obtenir des historiques en traitement par lots et l'affichage en ligne des informations concernant l'utilisation de la passerelle TDS. Annexe A FORMAT D'ARTICLE DU FICHIER HOST Présente la description d'article du fichier HOST. Annexe B MESSAGES D'ERREUR ET REPONSES /HOST7 Fournit la liste des messages de la passerelle TDS et des commandes maîtresses TDS, des messages d'erreur du compte rendu d'exécution HOST7 et des codes d'erreur envoyés à TUXEDO. Annexe C EXEMPLE COBOL D'UNE TRANSACTION DE SERVICE TDS Fournit un exemple de transaction TDS programmée en COBOL comme service pour TUXEDO. vi 47 F2 30UT Rev01 Préface LISTE DE CONVENTIONS D'ECRITURE GCL/JCL Les conventions d'écriture utilisées dans ce manuel pour la syntaxe des commandes maîtresses TDS, des commandes GCL et des ordres JCL sont les suivantes : ELEMENT Les majuscules indiquent une valeur littérale à introduire telle quelle. A noter que, dans la pratique, cette convention peut être abandonnée au profit des minuscules. élément Les minuscules indiquent une valeur non littérale. Il s'agit d'une valeur à fournir par l'utilisateur. En général, le type et la longueur maximale de la valeur sont spécifiés : déc2 nom8 nombre entier de 2 chiffres maximum nom de 8 caractères maximum Dans certains cas, le format de la valeur est précisé : jjmmaa date Dans d'autres cas, il s'agit d'une description de la valeur : classe-appareils volume ELEMENT Un élément souligné représente la valeur implicite. {} Les accolades indiquent que l'utilisateur doit choisir une valeur parmi celles présentées. [] Les crochets indiquent un élément facultatif. Un élément ne figurant pas entre crochets est obligatoire. =*# Caractères spéciaux à introduire tels quels. Exemple 1 : [ TDS = { nom4 | #WTDS } ] Ce paramètre est facultatif. Vous pouvez spécifier : • TDS=TD08 (par exemple) • aucune valeur (la valeur implicite TDS=#WTDS est prise en compte) • TDS=#WTDS (identique à la valeur implicite) Exemple 2 : REPORT = { D | S } Ce paramètre est obligatoire. Vous devez spécifier REPORT=D ou REPORT=S. 47 F2 30UT Rev01 vii Configuration et utilisation de /HOST7 viii 47 F2 30UT Rev01 Table des matières 1. Généralités sur /HOST7.................................................................................... 1-1 1.1 MODÈLE CLIENT/SERVEUR .................................................................................... 1-2 1.2 LOGICIELS NÉCESSAIRES ...................................................................................... 1-4 1.3 CONCEPTS FONDAMENTAUX ET COMPOSANTS ................................................ 1-5 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 Passerelles TDS ........................................................................................................ Fichier HOST ............................................................................................................. Passerelles natives ................................................................................................... Types de tampon STRING, CARRAY et VIEW ........................................................ Communications entre passerelles......................................................................... 1-5 1-7 1-7 1-7 1-8 1.4 RÉCAPITULATION DES FONCTIONS UTILISATEUR DE /HOST7 ......................... 1-9 2. Configuration des composants GCOS 7 de /HOST7 ........................... 2-1 2.1 ALLOCATION DU FICHIER HOST ............................................................................ 2-2 2.2 GÉNÉRATION DE TDS .............................................................................................. 2-3 2.2.1 2.2.2 2.2.3 2.2.4 Clause HOST GATEWAY .......................................................................................... Clause MESSAGE-LENGTH ..................................................................................... Clause MAXIMUM XCP2-WAITTIME ........................................................................ Passerelles TDS en environnement HA .................................................................. 2-3 2-4 2-4 2-4 2.3 ASSIGNATION DU FICHIER HOST........................................................................... 2-5 2.4 CONFIGURATION DE XCP2...................................................................................... 2-6 47 F2 30UT Rev01 ix Configuration et utilisation de /HOST7 2.4.1 2.4.2 Fichier PPCLOG ........................................................................................................ Exemple de génération de réseau ........................................................................... 2-6 2-6 2.5 LANCEMENT DE /HOST7.......................................................................................... 2-8 3. Programmation d'une transaction TDS pour un client TUXEDO .................................................................................... 3-1 3.1 CORRESPONDANCE ENTRE TYPES DE DONNÉES TUXEDO ET TDS ............... 3-2 3.1.1 3.1.2 3.1.3 Types de tampon....................................................................................................... Conversion des tampons ......................................................................................... Données décimales condensées (dec_t) ................................................................ 3-2 3-2 3-4 3.2 ECHANGE DE DONNÉES.......................................................................................... 3-5 3.2.1 3.2.2 3.2.3 3.2.4 Verbe RECEIVE (COBOL) ......................................................................................... Verbe SEND (COBOL)............................................................................................... Macro Receive (langage C) ...................................................................................... Macro Send (langage C) ........................................................................................... 3-5 3-7 3-9 3-10 3.3 RÈGLES DE PROGRAMMATION ............................................................................. 3-11 3.4 ACCÈS PROGRAMME AUX INFORMATIONS SUR LA PASSERELLE TDS.......... 3-13 3.4.1 3.4.2 Procédure DISPLAY-GATEWAY (COBOL) .............................................................. Macro h_dgwt_status (langage C)........................................................................... 3-13 3-15 3.5 CONSÉQUENCES DES DÉFAILLANCES ET RELANCES A CHAUD ..................... 3-16 3.6 SÉCURITÉ ET CODES D'AUTORISATION D'ACCÈS.............................................. 3-17 4. Contrôle d'activité de la passerelle TDS ................................................... 4-1 4.1 HISTORIQUE DE L'ACTIVITÉ DE LA PASSERELLE TDS....................................... 4-1 4.2 ACTIVITÉ COURANTE DE LA PASSERELLE TDS.................................................. 4-4 x 47 F2 30UT Rev01 Table des matières Annexes A. Format d'article du fichier HOST .................................................................. A-1 A.1 FORMAT EN COBOL................................................................................................. A-1 A.2 FORMAT EN LANGAGE C ........................................................................................ A-2 B. Messages d'erreur et réponses /HOST7 ................................................... B-1 B.1 MESSAGES DE LA PASSERELLE TDS ................................................................... B-1 B.2 MESSAGES DES COMMANDES MAÎTRESSES ("MASTER") TDS........................ B-3 B.3 MESSAGES D'ERREUR GENERÉS PAR PRINT_HOST_FILE ............................... B-4 B.4 CODES D'ERREUR ENVOYES PAR LA PASSERELLE TDS A TUXEDO............... B-6 C. Exemple COBOL de transaction de service TDS .................................. C-1 Glossaire .................................................................................................................................. g-1 Index ................................................................................................................................... 47 F2 30UT Rev01 i-1 xi Configuration et utilisation de /HOST7 Illustrations Figures 1-1 1-2 1-3 1-4 2-1 3-1 4-1 4-2 Modèle client/serveur de /HOST7 ............................................................................... Exemple de configuration /HOST7.............................................................................. Fonctionnement d'une passerelle TDS ....................................................................... Communications entre passerelles ............................................................................. Procédure de lancement de /HOST7 .......................................................................... Exemple de structures VIEW et COBOL correspondantes ........................................ Exemple d'historique généré par la commande PRINT_HOST_FILE ........................ Exemple d'écran affiché par la commande DISPLAY_TDS_GATEWAY ................... 1-2 1-3 1-5 1-8 2-8 3-4 4-2 4-5 Primitives ATMI ........................................................................................................... Types de données : correspondance entre langage C TUXEDO et langages COBOL et C sous GCOS 7 ................................................. Types de données : correspondance entre COBOL TUXEDO et langages COBOL et C sous GCOS 7 ....................................... 1-10 Tableaux 1-1 3-1 3-2 xii 3-3 3-3 47 F2 30UT Rev01 1. Généralités sur /HOST7 /HOST7 permet à une application TUXEDO sous UNIX d'utiliser les transactions et les données d'une application TDS sous GCOS 7. TUXEDO est disponible sur les systèmes DPX/20 et ESCALA ; TDS (Transaction Driven Subsystem) est le sous-système transactionnel disponible sur les systèmes DPS 7000. Avec /HOST7, vous pouvez : • étendre votre application TUXEDO afin de tirer parti de la puissance de GCOS 7 ; • intégrer vos opérations TDS existantes à l'environnement UNIX-TUXEDO. Un exemple type d'utilisation de /HOST7 est une application bancaire TUXEDO demandant la mise à jour d'un compte, géré dans l'environnement GCOS 7, sur lequel s'effectue des prélèvements à l'aide d'une carte de crédit. S'il existe déjà des transactions TDS pour effectuer ces mises à jour, il est aisé de les modifier pour coopérer avec TUXEDO. 47 F2 30UT Rev01 1-1 Configuration et utilisation de /HOST7 1.1 MODELE CLIENT/SERVEUR /HOST7 permet d'étendre le modèle client/serveur de TUXEDO à l'environnement GCOS 7. A pp lica tio n T U X E D O P asse re lle n ative clie nt U N IX A pp lica tio n T D S T ra nsa ctio n de se rvice P asserelle TD S GCOS 7 Figure 1-1. Modèle client/serveur de /HOST7 Dans le modèle client/serveur de /HOST7 : • L'application TUXEDO est le "client" et l'application TDS le "serveur". • Le programmeur TUXEDO écrit un client qui demande un "service", tandis que le programmeur TDS écrit une transaction qui le fournit (transaction de service). Leurs programmes échangent des données dans des formats compatibles, mais, par ailleurs, ils sont parfaitement indépendants l'un vis à vis de l'autre. • Les communications de données sont prises en charge par des "serveurs passerelles" et sont complètement transparentes pour le client TUXEDO et la transaction de service TDS. Les communications entre un client TUXEDO et une transaction TDS s'effectuent via deux serveurs passerelles situés aux deux extrémités du lien de communications. Côté UNIX, la passerelle est appelée "passerelle native" ("native gateway") et côté GCOS 7 "passerelle TDS" ("TDS gateway"). Du point de vue d'UNIX, la passerelle TDS est également considérée comme une passerelle étrangère, distante ou hôte. A condition d'avoir une passerelle native et une passerelle TDS par lien de communications : • une application TUXEDO peut communiquer avec diverses applications TDS ; • plusieurs applications TUXEDO peuvent communiquer avec la même application TDS. 1-2 47 F2 30UT Rev01 Généralités sur /HOST7 La figure 1-2 présente un exemple de configuration réunissant deux applications TUXEDO (APP1 et APP2) et trois applications TDS (TDS1, TDS2 et TDS3). A pp lication U N IX - T U X E D O : A P P 2 A pp lication U N IX -T U X E D O : A P P 1 c lie n t c lie n t NGW 1 NGW 3 TGW 1 TGW 3 TD S 2 GCOS 7 c lie n t NGW 1 NGW 2 TGW 1 TGW 2 TD S 3 TD S 1 GCOS 7 Figure 1-2. Exemple de configuration /HOST7 47 F2 30UT Rev01 1-3 Configuration et utilisation de /HOST7 1.2 LOGICIELS NECESSAIRES DPS 7000 : • GCOS 7 - V6 (à partir de TS6152) • CPI-C/XCP2 • option accès ISO/DSA sur CNS7 ou DNS ou MAINWAY ESCALA : • AIX 4.1 • CPI-C/OSI Pour en savoir plus, voir le document TUXEDO EXTENSIONS Software Release Bulletin. 1-4 47 F2 30UT Rev01 Généralités sur /HOST7 1.3 1.3.1 CONCEPTS FONDAMENTAUX ET COMPOSANTS Passerelles TDS Une passerelle TDS ("TDS gateway") est une transaction système capable de : • • • • lancer les transactions utilisateur TDS pour le compte de TUXEDO ; envoyer les données structurées générées par la transaction à TUXEDO ; fournir des informations en ligne concernant la configuration et l'utilisation de /HOST7 ; consigner, dans le fichier HOST, des informations concernant chaque demande de service TUXEDO. GCOS 7 TDS U N IX TUXEDO C P I _ C G e stion de s services T R A N S A C T IO N Transaction utilisateur G estion des services A D M IN IS TR A TIO N P A S S E R E LL E T D S F ich ie r H O S T Figure 1-3. Fonctionnement d'une passerelle TDS Comme tous les serveurs, une passerelle TDS doit être lancée pour pouvoir traiter les demandes de service et arrêtée après la dernière demande. Ces deux opérations sont effectuées, à la demande de l'administrateur TUXEDO, par la passerelle native ("native gateway"). 47 F2 30UT Rev01 1-5 Configuration et utilisation de /HOST7 Après lancement, une passerelle TDS peut gérer les services "transaction" pour le client TUXEDO et les services "administration" pour l'administrateur TUXEDO. De même, elle peut consigner des informations concernant ces demandes dans le fichier HOST, pour que l'administrateur TDS puisse en disposer (voir ci-dessous). Gestion des services "transaction" Ces services sont demandés par le client TUXEDO. La demande indique un nom de service et est généralement accompagnée de données utilisateur TUXEDO. La passerelle native ("native gateway") met en correspondance le nom de service avec le nom d'une transaction utilisateur TDS. Cette information est ensuite transmise à la passerelle TDS ("TDS gateway"). Cette dernière lance la transaction utilisateur TDS demandée, puis lui transmet les données TUXEDO. A la fin de la transaction utilisateur TDS, la passerelle TDS envoie à TUXEDO les données générées par cette transaction. Gestion des services "administration" Ces services sont demandés par l'administrateur TUXEDO responsable du lancement et de la surveillance des passerelles native et TDS. Les demandes sont traitées par la passerelle native et consignées par la passerelle TDS comme demandes de service dans le fichier HOST. Les noms de services d'administration consignés par la passerelle TDS sont de type : 1-6 BOOT Demande de connexion de la passerelle native à la passerelle TDS (commande tmboot). SHUTDOWN Demande de déconnexion de la passerelle native de la passerelle TDS (commande tmshutdown). PRINTHOST Demande d'informations de disponibilité de la passerelle TDS (commande printdomain). STATS Demande d'informations statistiques concernant l'utilisation de la passerelle TDS (commande stats). RECONNECT Demande de reconnexion de la passerelle native à la passerelle TDS (commande reconnectdomain). Cette demande peut survenir après une défaillance de TDS ou une rupture des communications entre les deux passerelles (native et TDS). Par exemple, dans le cas d'une défaillance de TDS, l'administrateur TUXEDO peut reconnecter la passerelle native à la passerelle TDS, une fois cette dernière relancée. 47 F2 30UT Rev01 Généralités sur /HOST7 1.3.2 Fichier HOST Le fichier HOST sert à enregistrer l'activité de la passerelle TDS. Les informations concernant chaque demande de service émise par TUXEDO y sont consignées (date, heure, état service effectué ou non, noms de service, longueur de tampon, type de tampon...). Le fichier HOST est facultatif. S'il n'est ni alloué ni assigné, l'administrateur ne peut tout simplement pas obtenir d'historique en traitement par lots ("batch") concernant l'activité de la passerelle TDS. 1.3.3 Passerelles natives Les passerelles natives ("native gateway") sont les composants UNIX de /HOST7. Elles fournissent les noms des services (transactions TDS) disponibles dans l'environnement GCOS 7. Les noms de services sont consignés par l'administrateur TUXEDO dans le fichier UBBCONFIG et associés aux noms de transactions TDS dans le fichier INITFILE (voir TUXEDO Administrator's Guide). Lorsqu'un client TUXEDO demande un service, la passerelle native adresse cette demande et les données associées à la passerelle TDS. Elle assure la conversion des données TUXEDO au format EBCDIC requis par TDS, ainsi que celle des données émises par TDS au format ASCII requis par TUXEDO. Les passerelles natives sont créées au moyen de la commande buildgateway. Leur configuration s'effectue comme celle de tout autre serveur TUXEDO. 1.3.4 Types de tampon STRING, CARRAY et VIEW Les applications TUXEDO échangent des données via des tampons ("buffer") de quatre types différents : STRING, CARRAY, VIEW et FML. Toutefois, lors de ses échanges avec la passerelle TDS, la passerelle native n'utilise que les trois suivants : STRING Tableau de caractères non-Nuls terminés par le caractère Nul. Il s'agit d'un tampon autodéfini. CARRAY Tableau d'octets non interprétés, éventuellement Nuls. Il s'agit d'un tampon autodéfini. VIEW Structure de données similaire à une structure C ou à une donnée groupe COBOL. Il s'agit d'un tampon nécessitant un fichier de description. Le tampon de type FML est converti en structure VIEW par la passerelle native. 47 F2 30UT Rev01 1-7 Configuration et utilisation de /HOST7 1.3.5 Communications entre passerelles Les communications entre la passerelle native et la passerelle TDS sont gérées par CPIC/OSI du côté UNIX et par CPI-C/XCP2 côté GCOS 7. CPI-C est l'interface de programmation commune pour les communications définie par X/OPEN. CPI-C/OSI côté UNIX et CPI-C/XCP2 côté GCOS 7 sont des produits distincts. /HOST7 ne peut être utilisé que s'ils sont installés et configurés. Les demandes de service s'effectue au moyen des verbes TUXEDO standard tpcall, tpacall et tpforward. Elles sont ensuite : • • • • interprétées comme verbes CPI-C par la passerelle native ; transmises au réseau par le serveur OSI-XCP2 ; transmises à la passerelle TDS via l'interface CPI-C/XCP2 ; et enfin, transmises pour traitement à la transaction utilisateur TDS. U N IX GCOS 7 TUXEDO TD S C lient TU X E D O Transaction utilisateur tpcall R E C E IV E P A S S E R E LL E N A T IV E SEND EGI P A S S E R E L LE T D S C P I-C C P I-C C P I-C /O S I C P I-C /X C P 2 (P ID ) DSA IS O Figure 1-4. Communications entre passerelles Les termes CPI-C, XCP2, PID... sont définis dans le glossaire. 1-8 47 F2 30UT Rev01 Généralités sur /HOST7 1.4 RECAPITULATION DES FONCTIONS UTILISATEUR DE /HOST7 Administrateur TDS : • Paramètres TP7PREP permettant l'allocation du fichier HOST (voir le chapitre 2). • Clause HOST GATEWAY de TDS permettant la déclaration des passerelles TDS lors de la génération de TDS (voir le chapitre 2). • Commande GCL PRINT_HOST_FILE permettant d'obtenir un rapport en traitement par lots ("batch") de l'historique des demandes de service (voir le chapitre 4). • Commande maîtresse ("MASTER") TDS DISPLAY_GATEWAY_STATUS permettant la visualisation rapide de l'état courant de la passerelle TDS, du nom de ses correspondants, ainsi que d'un court résumé du traitement des demandes de service (voir le chapitre 4) Programmeur d'applications TDS : • Structures de données en langage C et COBOL permettant l'échange de données avec TUXEDO (voir le chapitre 3). • Procédure COBOL "DISPLAY-GATEWAY" et macro h_dgwt_status en langage C permettant l'accès aux informations relatives à la passerelle TDS (voir le chapitre 3). Administrateur TUXEDO : • Commande buildgateway permettant de créer des passerelles natives. • Commande printservice de tmadmin permettant d'obtenir le nom d'un service tel qu'il est connu par le TDS distant. • Commandes printdomain et stats de tmadmin permettant d'obtenir l'état de la passerelle TDS et des informations relatives à son activité. • Commande reconnectdomain de tmadmin permettant de reconnecter la passerelle native à la passerelle TDS après défaillance de TDS ou une rupture de communications entre passerelles. Pour plus de détails, voir les manuels TUXEDO /Host Guide et TUXEDO Reference Manual. 47 F2 30UT Rev01 1-9 Configuration et utilisation de /HOST7 Programmeur d'applications TUXEDO : La programmation de clients et de serveurs en environnement /HOST7 est très proche de celle des autres clients et serveurs TUXEDO. Il existe trois contraintes à respecter : • Les données transmises par le client TUXEDO doivent être convertibles par la passerelle native au format compatible avec TDS. Les programmeur TUXEDO et TDS doivent s'entendre au préalable sur les types de données à utiliser. • Lorsque le verbe tpbegin est émis, les verbes tpcall et tpacall doivent être utilisés avec l'indicateur TPNOTRAN. • Seules peuvent être employées les primitives standard ATMI (Application Transaction Management Interface) suivantes : Tableau 1-1. Primitives ATMI Interface application tpinit tpterm In te rfa ce g e stio n d e s ta m p o n s tpalloc tprealloc tp fre e tptypes C om m unications R P C tpcall tpacall tpgetreply tpgetprio tpsetprio R outines de service tpreturn tpforw ard Pour plus de détails, voir les manuels TUXEDO /Host Guide et TUXEDO Reference Manual. 1-10 47 F2 30UT Rev01 2. Configuration des composants GCOS 7 de /HOST7 Côté GCOS 7 : Les principales opérations à effectuer sont les suivantes : • • • • allocation du fichier HOST (facultatif), génération de TDS, assignation du fichier HOST (s'il a été alloué), configuration de XCP2. Les modifications de TDS et les opérations concernant le fichier HOST incombent à l'administrateur TDS. La configuration de XCP2 incombe conjointement aux administrateurs de réseaux UNIX et GCOS 7. Côté UNIX : Les principales opérations à effectuer sont les suivantes : • création des passerelles natives (commande buildgateway), • déclaration des serveurs passerelles natives ("native gateway") et des services TDS (fichier UBBCONFIG), • définition des variables d'environnement des passerelles natives (fichiers ENVFILE), • configuration des communications CPI-C/OSI. Pour plus de détails, voir les manuels TUXEDO /HOST Guide et CPI-C/OSI Administrator's Guide. 47 F2 30UT Rev01 2-1 Configuration et utilisation de /HOST7 2.1 ALLOCATION DU FICHIER HOST Pour une réservation automatique, vous pouvez utiliser l'ordre JCL TP7PREP en spécifiant les paramètres suivants : HOST = Y [ HOSTSZ = { déc2 | 1 } ] [ HOSTMD = { vol | ONMD } ] [ HOSTDVC = { app | ONDVC } ] HOST HOST=Y alloue le fichier HOST sous le nom nom-tds.HOST. Si le fichier est catalogué, l'attribut SHARE prend automatiquement la valeur SHARE=NORMAL. HOSTSZ Taille du fichier en cylindres (valeur par défaut = 1 cylindre). HOSTMD Nom du volume disque. HOSTDVC Classe d'appareil. Vous pouvez aussi employer un utilitaire de gestion de fichiers JCL ou GCL (par exemple, la commande GCL BUILD_FILE) pour spécifier les caractéristiques suivantes : Organisation CISIZE RECSIZE RECFORM Clé primaire UFAS séquentiel indexé 4096 200 Variable (V) (1,8) Taille du fichier HOST L'espace requis par le fichier HOST est proportionnel au nombre total de demandes de services "transaction" et de services "administration" reçu par l'ensemble des passerelles de l'application TDS. taille en octets = 200 * (demandes de services "transaction" + demandes de services "administration") Taille d'incrément du fichier HOST Lorsque le fichier HOST est alloué au moyen de TP7PREP, sa taille d'incrément est de 1 cylindre. Le nombre maximal d'extensions dynamiques est de 15. Lorsque le fichier HOST est saturé • le code d'erreur 30024 est enregistré dans le fichier TUXEDO ULOG ; • aucune autre information n'est consignée dans le fichier HOST tant qu'il n'a pas été nettoyé par l'administrateur TDS. 2-2 47 F2 30UT Rev01 Configuration des composants GCOS 7 de /HOST7 2.2 GENERATION DE TDS • Modifier le fichier source STDS au moyen des éditeurs GCOS 7 (TEXT EDIT ou FSE). Le fichier STDS doit comporter une clause HOST GATEWAY par passerelle TDS à déclarer (voir ci-dessous). • Vérifier la valeur de MESSAGE-LENGTH et de MAXIMUM XCP2-WAITTIME (voir cidessous). • Générer TDS au moyen de TP7GEN. Pour plus de détails, voir le Guide de l'administrateur TDS. 2.2.1 Clause HOST GATEWAY La syntaxe est la suivante : HOST GATEWAY IS {nom8}. La ou les clauses HOST GATEWAY doivent figurer juste avant la première clause USE (si elle est spécifiée), après la clause MAXIMUM XCP2 WAIT-TIME. Le nom spécifié dans la clause HOST GATEWAY doit correspondre à celui déclaré par le paramètre TDSGATEWAY du fichier ENVFILE correspondant (voir TUXEDO /HOST Guide.) Le nombre maximal de passerelles TDS pouvant être déclarées par application TDS est de 100. Exemple : TDS SECTION. PROGRAM-ID TX03. SIMULTANEITY IS 3. HOST GATEWAY IS TX03-GW. TRANSACTION SECTION. MESSAGE "HSTOPENC" ASSIGN TO...... MESSAGE "HSTBALAC" ASSIGN TO...... MESSAGE "CRDTC" ASSIGN TO...... 47 F2 30UT Rev01 2-3 Configuration et utilisation de /HOST7 2.2.2 Clause MESSAGE-LENGTH Si les données TUXEDO sont trop longues pour la passerelle TDS, la demande échoue. Pour éviter ce problème, spécifier : MESSAGE-LENGTH >= MAXDATALEN + 200 MAXDATALEN est la longueur de données maximale définie côté TUXEDO dans le fichier ENVFILE correspondant (voir TUXEDO /HOST Guide). 2.2.3 Clause MAXIMUM XCP2-WAITTIME Cette clause spécifie la temporisation des verbes CPI-C émis par les passerelles TDS. La valeur par défaut convient généralement ; dans le cas contraire, voir le Guide de l'administrateur TDS. 2.2.4 Passerelles TDS en environnement HA Les passerelles TDS peuvent être générées dans une application TDS s'exécutant dans un environnement HA (c'est-à-dire surveillée par CMSC). Dans le cas d'un basculement (TAKEOVER), lorsque l'application TDS est relancée automatiquement sur un système de secours (BACKUP), les pools de sessions XCP2 sont réouverts automatiquement. Pour plus de détails, voir le Guide de l'administrateur Haute disponibilité. 2-4 47 F2 30UT Rev01 Configuration des composants GCOS 7 de /HOST7 2.3 ASSIGNATION DU FICHIER HOST Pour une assignation statique, ajouter l'ordre ASSIGN au JCL d'exécution TDS de l'utilisateur : ASSIGN H_HOST, nom-tds.HOST, ACCESS=WRITE; Pour une assignation dynamique, employer la commande maîtresse ("MASTER") TDS OPEN_TDS_FILE : OTF IFN=H_HOST EFN=nom-tds.HOST; Dans les deux cas, s'il s'agit d'un fichier non catalogué, vous devez spécifier le volume et la classe d'appareil associés. Remarque : Si la valeur de l'attribut SHARE du fichier HOST est NORMAL, vous devez désassigner le fichier pour pouvoir lancer en traitement par lots PRINT_HOST_FILE (voir le chapitre 4). Ne pas oublier que SHARE=NORMAL si l'allocation du fichier et son catalogage ont été effectués au moyen de TP7PREP. Afin d'éviter de désassigner le fichier HOST, dans le cas où une lecture "sale" (non consolidée) est admissible, vous pouvez spécifier SHARE=ONEWRITE en procédant comme suit : • Pour un fichier HOST catalogué, employer la commande MODIFY_FILE avant de lancer TDS. • Pour un fichier HOST non catalogué : - 47 F2 30UT Rev01 en cas d'assignation statique, modifier l'ordre ASSIGN dans le JCL d'exécution ; en cas d'assignation dynamique, utiliser la commande maîtresse ("MASTER") TDS OPEN_TDS_FILE ; modifier l'ordre ASSIGN du JCL TP7HOST dans SYS.HSLLIB avant d'émettre la commande PRINT_HOST_FILE (il s'agit d'une contrainte temporaire). 2-5 Configuration et utilisation de /HOST7 2.4 CONFIGURATION DE XCP2 1. Allocation du fichier PPCLOG au moyen de TP7PREP. 2. Déclaration des noms d'objets XCP2 au moyen des directives NETGEN. Pour plus de détails, voir le Guide de l'utilisateur CPI-C/XCP2. A NOTER Les administrateurs de réseaux UNIX et GCOS 7 doivent se concerter pour choisir des noms d'objets XCP2 qui correspondent. 3. 2.4.1 Configuration de la passerelle ISO/DSA (PID). Voir les manuels Concepts et génération de réseaux et Concepts et génération de réseaux ISO. Fichier PPCLOG Ce fichier système est obligatoire lorsque TDS utilise XCP2. Pour obtenir des informations concernant son allocation, voir le Guide de l'administrateur TDS. 2.4.2 Exemple de génération de réseau L'exemple suivant présente les directives NETGEN nécessaires à la configuration des communications de TDS (TD08) et XCP2. TDSWKS NAME=TD08 TMSESS=5 XCP2WKS=TDS8; COMM '*********************************************************'; COMM '** X2TDS8: REMOTE LU NAME under UNIX **'; COMM '*********************************************************'; XCP2WKS 2-6 NAME=TDS8, MAILBOX=X2TDS8, SERVER=1, SESS_CHECK=1, SESS_VERIFIED_ACCEPTED=1, SESS_USERID=MANDATORY, CONV_CHECK=1, CONV_VERIFIED_ACCEPTED=1, CONV_USERID=OPTIONAL, MAXTX=10; 47 F2 30UT Rev01 Configuration des composants GCOS 7 de /HOST7 XCP2COR NAME=LOCTDS8, SESS=BPCC, MAILBOX=X2TDS8, PARALLEL=1, SYNC_LEVEL=CONFIRM; COMM '*********************************************************'; COMM '** DPX2TDS8: LOCAL LU NAME under UNIX **'; COMM '*********************************************************'; XCP2COR NAME=DPX2TDS8, SESS=BK23, MAILBOX=DPX2TDS8, PARALLEL=1, SYNC_LEVEL=CONFIRM; COMM '*********************************************************'; COMM '** DPXA00L3: MODE NAME under UNIX **' COMM '*********************************************************'; POOL NAME=DPXAOOL3, XCP2COR=DPX2TDS8, XCP2WKS=TDS8, MAXSESS=10, MIN_WINNER_SOURCE=6, MIN_WINNER_TARGET=1 WINNER_AUTO=6, DRAIN_SOURCE=0 DRAIN_TARGET=0, SESS_XCP2WKS_SECURITY=1, SESS_VERIFIED_ACCEPTED=1, SESS_USERID=OPTIONAL, CONV_XCP2WKS_SECURITY=1, CONV_CHECK=0, CONV_VERIFIED_ACCEPTED=1, CONV_USERID=NONE, SYNC_LEVEL=CONFIRM; Remarque : • La sécurité au niveau session est définie pour le pool XCP2 DPXAOOL3. En effet, le nom de XCP2COR qui correspond à celui de la LU locale sous UNIX doit être enregistré dans le catalogue de site GCOS 7. • L'administrateur du système GCOS 7 doit faire figurer les informations suivantes dans le catalogue de site : - l'application TDS (MODIFY_PROJECT NAME=projet ADDAPPL=TD08/codes d'autorisation) - la boîte à lettres XCP2 (MODIFY_PROJECT NAME=projet ADDAPPL=X2TDS8/codes d'autorisation) - l'utilisateur DPX2TDS8 (CREATE_USER NAME=projet.DPX2TDS8) • Le paramètre MAXTX de la directive XCP2WKS limite le nombre de transactions admises par TDS. Pour spécifier ce paramètre, vous devez tenir compte du nombre de demandes qui peuvent être reçues simultanément de TUXEDO. 47 F2 30UT Rev01 2-7 Configuration et utilisation de /HOST7 2.5 LANCEMENT DE /HOST7 Après avoir terminé la configuration de /HOST7, côté UNIX et côté GCOS 7, effectuer les opérations suivantes : U N IX GCOS 7 1. 2. A ctiver le serveur O S I/X C P 2 3. O uvrir le pool configuré D ém arrer TD S S i l'ouve rture du p ool est réussie la liaison entre le serveur O S I/X C P 2 et TD S est correcte et opérationnelle. 4. Lancer l'applicatio n TU X E D O . Le m essag e "started" est ém is, si la pa sserelle native dém arre avec su ccès. Le m essa ge TX 81 s'affiche au term in al m aître . S i le m essage "faile d" s'affiche , vérifier les param ètres de sé curité X C P 2, com m e suit : S i type d e p ro te ctio n = 0 --> V érifie r q ue X C P 2 P O O L d a n s N E T G E N co m p orte : C O N V _C H E C K = 0 C O N V _U S E R ID = N O N E S i type de protection = 2, fourn ir un nom d'utilisateur et son m ot de passe C et utilisateur do it être enregistré dan s le catalogue de site. Le projet par défaut de l'u tilisate ur doit être associé à la boîte aux lettres X C P 2 du TD S . V érifier q u e X C P 2 P O O L co m p o rte dans N ETG E N : C O NV_CH EC K=0 C O N V _ U S E R ID = M A N D A T O R Y Figure 2-1. Procédure de lancement de /HOST7 2-8 47 F2 30UT Rev01 3. Programmation d'une transaction TDS pour un client TUXEDO Ce chapitre décrit les éléments /HOST7 impliqués dans la programmation des transactions de service TDS. Les points traités sont les suivants : • • • • • correspondance entre les types de données TUXEDO et TDS, verbes TDS et structures de données pour l'échange de données avec TUXEDO, règles de programmation, accès programmé aux informations sur la passerelle TDS ("TDS gateway"), protection et codes d'autorisation d'accès. Remarque : La programmation des transactions de service TDS peut se faire en COBOL ou en langage C sous GCOS 7. Pour plus d'informations sur la programmation TDS, consultez les ouvrages suivants : • TDS/COBOL - Manuel du programmeur, • TDS/C - Guide du programmeur. 47 F2 30UT Rev01 3-1 Configuration et utilisation de /HOST7 3.1 CORRESPONDANCE ENTRE TYPES DE DONNEES TUXEDO ET TDS Lorsqu'un client TUXEDO demande un service TDS, le message est transmis de la passerelle native ("native gateway") dans des "tampons typés". Pour les demandes de services utilisateur, TUXEDO utilise les quatre types de tampons ("buffer") suivants : STRING, CARRAY, VIEW et FML. Pour la description détaillée de ces types de tampon, voir les manuels TUXEDO Programmer's Guide et FML Guide. La passerelle native est chargée de convertir les types de données TUXEDO en structures de données exploitables par un système TDS, et les données issues d'un système TDS en données interprétables par une application TUXEDO. 3.1.1 Types de tampon Un client TUXEDO doit envoyer un tampon ("buffer") dont le type est attendu par le service TDS. Les services TDS peuvent traiter tous les types de tampon TUXEDO sauf le type FML, qui n'existe pas en environnement GCOS 7. Si un client TUXEDO envoie un tampon FML, ce dernier est converti en un tampon VIEW par la passerelle native ("native gateway"). De même, le service TDS peut envoyer tout type de tampon, sauf le type FML. Si un tampon VIEW est envoyé en retour et que le type attendu était FML, le tampon VIEW est converti en FML par la passerelle native. 3.1.2 Conversion des tampons La passerelle native ("native gateway") convertit le contenu des tampons de requêtes et de réponses du format TUXEDO au format GCOS 7, et inversement. 3-2 tampons STRING Ces tampons sont convertis de code ASCII en code EBCDIC, et vice versa. Le programmeur TDS ne doit pas oublier que les tampons de ce type arrivent avec un caractère de fin Nul et doivent être envoyés en retour avec ce même caractère de fin, les blancs de droite étant significatifs dans l'environnement natif. tampons CARRAY Ce type de tampon ne fait pas l'objet d'une conversion. Il sert à envoyer des données binaires que le service concerné devra interpréter. tampons VIEW La conversion de ce type de tampon se fait élément par élément en fonction de la définition de la structure VIEW, qui peut contenir des éléments de type STRING, CARRAY, dec_t (voir plus loin "Données décimales condensées") et des données en langage C de type char[ ], float et double. Voir les tableaux 3-1 et 3-2 pour la correspondance entre les types de données natives et GCOS 7. La composition d'une structure VIEW est définie par l'utilisateur. 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO tampons FML Les tampons FML sont convertis en tampons VIEW par la passerelle native, puis convertis comme des tampons de type VIEW. La conversion n'est possible que si le tampon FML inclut la chaîne de caractères "VIEWNAME". Cette dernière contient le nom de la structure VIEW en laquelle le tampon FML peut être converti. Les tampons VIEW en provenance de TDS sont reconvertis en tampons FML si, et seulement si, le tampon attendu est de type FML. Les tableaux ci-dessous l'environnement /HOST7. répertorient les types de données utilisables dans Tableau 3-1. Types de données : correspondance entre langage C TUXEDO et langages COBOL et C sous GCOS 7 C TU X ED O S T R IN G CARRAY char [n] short lo ng flo a t do u ble d e c_ t (x ,y) CO B O L G C O S 7 P IC X (n) d é fin i p ar l'u tilisa te ur P IC X (n ) C O M P -1 C O M P -2 C O M P -9 C O M P -1 0 P IC S 9((2x-(y+ 1))V 9(y) C O M P -3 C G CO S 7 char [n] d é fin i p ar l'u tilisa te ur char [n] short lo n g float d ou b le a u cu n e co rre sp o n d a n ce Tableau 3-2. Types de données : correspondance entre COBOL TUXEDO et langages COBOL et C sous GCOS 7 C O B O L U N IX P IC S 9(9) C O M P -5 P IC S 9(4) C O M P -5 P IC X (n) CO B O L G CO S 7 C O M P -2 C O M P -1 P IC X (n) C G CO S 7 lo n g short char [n] Les données GCOS 7 correspondant à des éléments de structure VIEW ne doivent pas comporter la clause COBOL SYNC ; en effet, elle spécifie un cadrage des données défini à la mise en oeuvre, que la passerelle native ne peut pas assurer. Les données GCOS 7 correspondant à des chaînes de caractères dans les structures VIEW comportent des caractères nuls en fin de chaîne. 47 F2 30UT Rev01 3-3 Configuration et utilisation de /HOST7 3.1.3 Données décimales condensées (dec_t) Pour pouvoir employer des données décimales condensées COBOL dans l'environnement TUXEDO, un nouveau type de données, "dec_t", est utilisé dans la structure VIEW. A noter qu'il n'existe pas de type de données correspondant à dec_t en langage C GCOS 7. La longueur d'une zone de type dec_t est représentée par deux nombres séparés par une virgule. Le nombre de gauche correspond au nombre total d'octets occupés par le nombre décimal et celui de droite au nombre de chiffres à droite de la virgule décimale. Par exemple, en appliquant la formule fournie par le tableau 3-1, une données dec_t de longueur 6,4 correspond à une zone PIC S9(7)V9(4) en COBOL GCOS 7. La figure 3-1 donne la définition d'une structure VIEW comportant des données de type dec_t et la structure correspondante en COBOL GCOS 7. VIEW debt_cro #type cname long acctid dec_t amount string status 01 fbname C_ACCOUNT_ID C_AMOUNT C_STATUS INPUT-RECORD. 05 INPUT-ACCOUNT-ID 05 INPUT-CHARGE-AMOUNT 05 INPUT-STATUS count 1 1 1 flag - size 4,2 80 null 0 0.0 - COMP-2. PIC S9(5)V9(2) COMP-3. PIC X(80). Figure 3-1. Exemple de structures VIEW et COBOL correspondantes Pour plus de détails concernant l'utilisation de dec_t sous TUXEDO, voir le manuel TUXEDO /Host Guide. 3-4 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO 3.2 ECHANGE DE DONNEES "receive" et "send" sont les principaux verbes TDS permettant de programmer une routine TPR comme transaction de service de TUXEDO. Ceux-ci servent traditionnellement à communiquer avec des terminaux. Toutefois, dans le cas de transactions de service, ils permettent de communiquer avec une passerelle TDS ("TDS gateway"). A NOTER La programmation d'une transaction de service TDS est semblable à celle d'une transaction pour un terminal. 3.2.1 Verbe RECEIVE (COBOL) Le verbe COBOL suivant permet de recevoir des données de TUXEDO : RECEIVE cd-INPUT MESSAGE INTO HOST-RECV-AREA. cd-INPUT Structure contenant : - en paramètres d'entrée, des informations nécessaires à la réception du message ; - en paramètres de sortie, des informations renseignant sur l'exécution du verbe RECEIVE, la provenance du message. Elle doit être déclarée par la rubrique CD ... FOR INPUT de la COMMUNICATION SECTION de la TPR. La structure CD-INPUT est initialisée comme dans une instruction RECEIVE à partir d'un terminal. • • • HOST-RECV-AREA 47 F2 30UT Rev01 Le paramètre d'entrée "symbolic queue" prend la valeur spécifiée pour SYMBOLIC-QUEUE dans la section TDSSTORAGE. Le paramètre de sortie "symbolic source" fournit le nom du correspondant qui envoie le message. Le programme doit transférer (MOVE) cette valeur dans le paramètre "symbolic destination" de la structure CD-OUTPUT spécifiée par le verbe SEND. Le paramètre de sortie "status key" fournit le résultat du verbe RECEIVE. Une valeur différente de 00 signifie que le verbe a échoué. Nom de la structure à recevoir. Elle doit être déclarée à l'aide de l'instruction COBOL "COPY HOST-RECV-AREA". La bibliothèque nom-tds.COBOL doit figurer dans le JCL de compilation (valeur de INLIB). 3-5 Configuration et utilisation de /HOST7 L'instruction COPY HOST-RECV-AREA fournit les déclarations du paramètre HOSTSND-LG et de la structure HOST-RECV-AREA sous la forme suivante : 01 HOST-SND-LG 01 HOST-RECV-AREA. 02 HOST-SERVICE-NAME 02 HOST-RECV-STATUS 02 FILLER 02 HOST-BUFTYPE 02 FILLER 02 HOST-UDATA-LEN 02 HOST-UDATA COMP-2 VALUE 84. PIC X(32). COMP-2. COMP-2. PIC X(6). PIC X(34). COMP-2. PIC X(30000). A noter qu'il est possible de modifier le préfixe "HOST" et la longueur de la zone UDATA lors de la déclaration, par exemple : COPY HOST-RECV-AREA REPLACING LEADING "HOST" BY "MONPREFIX" =30000= BY =500= Description de la zone HOST-RECV-AREA : HOST-SERVICE-NAME Nom de la transaction courante telle qu'elle est connue sous TUXEDO. HOST-RECV-STATUS Etat du verbe RECEIVE. 0 = Réussite de RECEIVE. 10 = Echec de RECEIVE. 21 = Aucune donnée disponible, la valeur de HOST-UDATALEN est zéro. A noter que la valeur 0 équivaut à une valeur 0 en zone STATUS KEY. Cette dernière fait partie de la structure de communication CD-INPUT utilisée avec le verbe RECEIVE. En cas d'échec de ce verbe (valeur 10), la zone STATUS KEY doit être examinée pour en connaître la raison précise. 3-6 HOST-BUFTYPE Type de tampon envoyé par TUXEDO. Les valeurs possibles sont "VIEW", "STRING" et "CARRAY". HOST-UDATA-LEN Longueur des données reçues de TUXEDO. HOST-UDATA Données utilisateur reçues de TUXEDO. 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO 3.2.2 Verbe SEND (COBOL) Le verbe COBOL suivant permet d'envoyer des données à TUXEDO : SEND cd-OUTPUT FROM HOST-SEND-AREA WITH EGI. cd-OUTPUT Structure contenant : - en paramètres d'entrée, des informations nécessaires à l'envoi du message ; - en paramètres de sortie, des informations renseignant sur l'exécution du verbe SEND. Elle doit être déclarée par la rubrique CD ... FOR OUTPUT dans la COMMUNICATION SECTION de la TPR. La structure CD-OUTPUT est initialisée comme dans une instruction SEND vers un terminal. • • • • HOST-SEND-AREA La valeur du paramètre d'entrée "destination count" est égale à 1. La valeur du paramètre d'entrée "text length" correspond à la longueur totale des données à envoyer. La valeur du paramètre d'entrée "symbolic destination" est le nom du correspondant qui reçoit le message. Le paramètre de sortie "status key" fournit le résultat du verbe SEND. Une valeur différente de 00 signifie que le verbe a échoué. Nom de la structure à envoyer. Elle doit être déclarée à l'aide de l'instruction COBOL "COPY HOST-SEND-AREA". La bibliothèque nom-tds.COBOL doit figurer dans le JCL de compilation (valeur de INLIB). Format de la structure HOST-SEND-AREA : 01 HOST-SEND-AREA REDEFINES HOST-RECV-AREA. 02 FILLER PIC X(32). 02 HOST-RETURN-VALUE COMP-2. 02 HOST-USER-VALUE COMP-2. 02 HOST-SBUFTYPE PIC X(6). 02 HOST-VIEW-NAME PIC X(30). 02 FILLER PIC X(4). 02 HOST-SDATA-LEN COMP-2. 02 HOST-SDATA PIC X(30000). A noter qu'il est possible de modifier le préfixe "HOST" et la longueur de la zone SDATA lors de la déclaration, par exemple : COPY HOST-SEND-AREA REPLACING LEADING "HOST" BY "MONPREFIX" =30000= BY =500= 47 F2 30UT Rev01 3-7 Configuration et utilisation de /HOST7 Description de la zone HOST-SEND-AREA : HOST-RETURN-VALUE Etat de la transaction. 0 : Réussite du service (code retour de tpcall = 0). 1 : Echec du service (code retour de tpcall = -1). Si la valeur est différente de 1 ou de 0, la transaction s'arrête prématurément (code de retour tpcall = -1). A noter que si la zone HOST-SDATA comporte des données, elles sont transmises au client TUXEDO, que le service aboutisse ou non. HOST-USER-VALUE Valeur envoyée en retour au client TUXEDO (reçue dans la variable TPURCODE). Il peut s'agir, par exemple, d'un type d'erreur particulier défini d'un commun accord par les programmeurs TUXEDO et TDS. HOST-SBUFTYPE Type de tampon envoyé en retour à TUXEDO dans la zone HOST-SDATA. Les valeurs possibles sont "VIEW", "STRING" et "CARRAY". HOST-VIEW-NAME Nom de la structure VIEW qui correspond à la structure de données envoyée en retour à TUXEDO. Le programmeur TUXEDO doit fournir le nom de la structure VIEW au programmeur TDS. Cette zone doit être initialisée si la valeur de HOSTBUFTYPE est VIEW. HOST-SDATA-LEN Longueur des données de la zone HOST-SDATA à envoyer en retour à TUXEDO. La valeur fournie ne doit pas dépasser la valeur mise dans la clause MESSAGE LENGTH spécifiée dans STDS lors de la génération de TDS. La longueur de la partie fixe de HOST-SEND-AREA (HOSTSEND-AREA sans la zone de données HOST-SDATA) est fournie par HOST-SND-LG lors de l'instruction "COPY HOST-RECV-AREA". La valeur de HOST-SND-LG ajoutée à celle de HOST-SDATA-LEN permet d'obtenir la longueur totale des données à envoyer par le verbe SEND. HOST-SDATA 3-8 Données à envoyer en retour à TUXEDO. 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO 3.2.3 Macro Receive (langage C) La macro en langage C suivante permet de recevoir des données de TUXEDO : { h_receive (&cdin,&nom_zone_récept,taille,état); } cdin Cette structure est de type CD_INPUT. Pour plus de détails, voir ci-dessus l'équivalent COBOL RECEIVE. nom_zone_récept Structure de réception des données. Elle est de type H_RECV_AREA. Le type H_RECV_AREA est déclaré dans le fichier HOST_H de la bibliothèque SYS.C.INCLUDE ; la directive #include <host.h> permet d'y accéder. taille Paramètre d'entrée. Entier court correspondant à la taille de mémoire disponible pour la réception des données, désignée par nom_zone_récept. état Paramètre de sortie. Caractère indiquant le résultat de la macro h_receive . Pour plus d'informations concernant les fichiers à inclure et les valeurs littérales, voir le manuel TDS/C - Guide du programmeur (07UT). Format de la structure H_RECV_AREA : typedef struct { char host_service_name [32]; long host_recv_status; long rfu1; char host_buftype [6]; char rfu2 [34]; long host_udata_len; char host_udata [30000]; } H_RECV_AREA; Pour plus de détails sur ces différentes zones, voir la structure utilisée dans le verbe COBOL RECEIVE, décrite précédemment. 47 F2 30UT Rev01 3-9 Configuration et utilisation de /HOST7 3.2.4 Macro Send (langage C) La macro en langage C suivante permet d'envoyer des données à TUXEDO : { h_send (&cdout,&nom_zone_émett,niveau,H_SEND_NONE,0, H_SEND_BEFORE); } cdout Cette structure est de type CD_OUTPUT. Pour plus de détails, voir ci-dessus l'équivalent COBOL SEND. nom_zone_émett Structure contenant les données à envoyer. Elle est de type H_SEND_AREA. Ce dernier est déclaré dans le fichier HOST_H de la bibliothèque SYS.C.INCLUDE ; la directive #include <host.h> permet d'y accéder. niveau Caractère indiquant le type d'instruction SEND (EMI, ESI ou EGI). Pour plus de détails concernant les fichiers à inclure et les valeurs littérales, voir le manuel TDS/C - Guide du programmeur (07UT). Format de la structure H_SEND_AREA : typedef struct { char rfu3 [32]. long host_return_value; long host_user_value; char host_buftype [6]; char host_view_name [30]; char rfu4 [4]; long host_sdata_len; char host_sdata [30000]; } H_SEND_AREA; Pour plus de détails sur ces zones, voir la structure utilisée dans le verbe COBOL SEND, décrite précédemment. 3-10 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO 3.3 REGLES DE PROGRAMMATION • Une transaction programmée pour TUXEDO doit exécuter une instruction RECEIVE avant d'émettre une instruction SEND EGI (comme lors de la programmation pour un terminal). • Une transaction programmée pour TUXEDO ne doit exécuter qu'une seule instruction SEND EGI de type non formaté pour envoyer des données à TUXEDO. Sinon, la valeur "F1" est positionnée dans la zone STATUS KEY de la structure CD-OUTPUT de la transaction. • Il est possible de mettre des fragments de données dans un tampon ("buffer") au moyen de l'instruction SEND ESI. La zone HOST-SDATA-LEN doit être initialisée avec la longueur totale obtenue par la concaténation de tous les fragments de données. Dans une transaction s'exécutant pour le compte de TUXEDO, toute instruction SEND EMI est automatiquement transformée en instruction SEND ESI. • Une transaction s'arrête prématurément avec émission du code retour UBUGERR lorsque TDS détecte l'une ou l'autre des erreurs suivantes : 1. Un type de tampon incorrect est indiqué dans la zone HOST-BUFTYPE. 2. Aucune valeur n'est fournie dans la zone HOST-VIEW-NAME alors qu'un tampon de type VIEW est spécifié. 3. Les données fournies en retour à TUXEDO dépassent 30.000 octets. 4. La valeur de la zone HOST-RETURN-VALUE est différente de 0 ou de 1. Le code retour UBUGERR correspond à une valeur hexadécimale de 186B dans la zone ABORT-CODE de la TDS-STORAGE. • Les transactions peuvent comporter une routine ON-ABORT-TPR. Cette dernière peut également exécuter une instruction SEND EGI pour envoyer des données à TUXEDO. Si la routine ON-ABORT-TPR aboutit, le client TUXEDO reçoit un code d'erreur TPERRNO = TPESCVCFAIL. La variable TPURCODE contient la valeur positionnée dans HOST-USER-VALUE par la routine ON-ABORT-TPR. Les données éventuelles sont envoyées à TUXEDO. Si la routine ON-ABORT-TPR ne parvient pas à envoyer de données en raison d'un type de tampon incorrect, d'une zone HOST-VIEW-NAME à blanc ou d'une longueur de donnée incorrecte, les événements suivants se produisent : - 47 F2 30UT Rev01 La routine ON-ABORT-TPR s'arrête prématurément avec le code retour UBUGERR. Le client TUXEDO reçoit le code d'erreur TPERRNO = TPEOTYPE ou TPERRNO = TPESVCERR, en fonction du type d'erreur. 3-11 Configuration et utilisation de /HOST7 Si la routine ON-ABORT-TPR échoue pour une autre raison, le code d'erreur TPERRNO correspond, pour le client TUXEDO, à celui généré avant le lancement de la routine ON_ABORT-TPR. • Les transactions peuvent être programmées au moyen de tout service ou de toute procédure TDS. Ainsi, une transaction peut faire appel à IDS/II, à ORACLE, à XCP2 ou générer dynamiquement (spawning) une transaction destinée à un autre correspondant. Les seules contraintes à respecter sont celles liées à l'utilisation des verbes SEND/RECEIVE. 3-12 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO 3.4 ACCES PROGRAMME AUX INFORMATIONS SUR LA PASSERELLE TDS Pour ce faire, vous pouvez utiliser : • la procédure COBOL CALL "DISPLAY-GATEWAY", • la macro en langage C h_dgwt_status. 3.4.1 Procédure DISPLAY-GATEWAY (COBOL) Syntaxe : CALL "DISPLAY-GATEWAY" USING paramètre-1 paramètre-2. Paramètres : paramètre-1 La structure d'entrée/sortie correspondante est la suivante : 01 GATEWAY. 02 GATEWAY-NAME 02 GATEWAY-STATUS 88 BOOTED 88 SHUTDOWN 88 RECONNECT 88 INIT 02 GATEWAY-APPLID 02 GATEWAY-SRV-GROUP 02 GATEWAY-MACHINE-ID 02 GATEWAY-P-LU-NAME 02 GATEWAY-P-LU-MODE 02 GATEWAY-REQUESTS 02 GATEWAY-OK 02 GATEWAY-FAILURES 02 GATEWAY-ACTIVE PIC X(8). PIC X. VALUE "B". VALUE "S". VALUE "R". VALUE "I". PIC X(31). PIC X(31). PIC X(31). PIC X(12). PIC X(8). COMP-2. COMP-2. COMP-2. COMP-1. L'instruction COBOL "COPY HOST-GATEWAY" permet de déclarer cette structure à partir du fichier HOST-GATEWAY de la bibliothèque nom-tds.COBOL. La description des zones est fournie ci-après. paramètre-2 Fournit le résultat de l'appel DISPLAY-GATEWAY. Les trois valeurs possibles sont : 0 1 2 Echec de l'appel. Passerelle inconnue. Aucune passerelle générée. Description de zone de paramètre -1 : GATEWAY-NAME 47 F2 30UT Rev01 Paramètre d'entrée comportant le nom de la passerelle TDS ("TDS gateway") pour laquelle des informations sont demandées. 3-13 Configuration et utilisation de /HOST7 GATEWAY-STATUS Paramètre de sortie fournissant l'état courant de la passerelle. "I" correspond à l'état initial avant la première demande de lancement. "B" signifie que la passerelle a été lancée par TUXEDO et peut recevoir des demandes. "S" signifie que la passerelle a été arrêtée par TUXEDO et ne peut plus recevoir de demandes. "R" signifie qu'une rupture de communication avec TUXEDO s'est produite et que TDS en attend le rétablissement par TUXEDO. Cet état est forcé pour toutes les passerelles après une pseudo-relance silencieuse de TDS ou pour celles affectées par la fermeture d'un pool de sessions. 3-14 GATEWAY-APPLID Nom de l'application TUXEDO, tel qu'il est déclaré dans le fichier TUXEDO ENVFILE. GATEWAY-SRV-GROUP Nom du groupe de serveurs TUXEDO, tel qu'il est déclaré dans le fichier de configuration TUXEDO UBBCONFIG. GATEWAY-MACHINE-ID Nom de la machine sur laquelle s'exécute le groupe de serveurs TUXEDO précédent, telle qu'elle est déclarée dans le fichier de configuration TUXEDO UBBCONFIG. GATEWAY-P-LU-NAME Nom de la LU (XCP2COR pour GCOS 7) employée par la passerelle TDS. GATEWAY-P-LU-MODE Nom du mode XCP2 (XCP2POOL pour GCOS 7) utilisé par la passerelle TDS. GATEWAY-REQUESTS Nombre de demandes de service "transaction" reçues par la passerelle TDS. GATEWAY-OK Nombre de services "transaction" exécutés avec succès. GATEWAY-FAILURES Nombre de services "transaction" ayant échoué. GATEWAY-ACTIVE Nombre de services couramment actifs pour la passerelle TDS. 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO 3.4.2 Macro h_dgwt_status (langage C) Format : h_dgwt_status(passerelle,état); Paramètres : passerelle Structure d'entrée/sortie de type H_GATEWAY_DESCRIPTION. Le type H_GATEWAY_DESCRIPTION est déclaré dans le fichier HOST_H de la bibliothèque SYS.C.INCLUDE ; la directive #include <host.h> permet d'y accéder. état Caractère contenant le résultat de la macro h_dgwt_status. Format de la structure H_GATEWAY_DESCRIPTION : typedef struct { char name [8]; char status; char applid[31]; char srv_group[31]; char machine_id[31]; char p_lu_name[12]; char p_lu_mode[8]; long requests; long ok; long fails; long active; } H_GATEWAY_DESCRIPTION; Pour une description de chaque zone, voir la structure COBOL expliquée précédemment. 47 F2 30UT Rev01 3-15 Configuration et utilisation de /HOST7 3.5 CONSEQUENCES DES DEFAILLANCES ET RELANCES A CHAUD Toute transaction s'exécutant pour le compte de TUXEDO s'arrête prématurément en cas de relance à chaud de TDS et n'est donc pas relancée à partir du dernier point de consolidation. A NOTER Les passerelles natives et TDS utilisent le traitement transactionnel coopératif qui permet l'échange de données entre homologues. Aussi, en cas de relance à chaud de TDS ou de rupture de communication entre TDS et TUXEDO, aucune resynchronisation au niveau de l'unité de consolidation ne peut-elle être effectuée. Après une défaillance, des incohérences peuvent donc exister entre les données consolidées sous TDS et sous TUXEDO. Il s'agit là d'un point important que les programmeurs TDS et TUXEDO ne doivent pas oublier. A la suite d'une relance à chaud de TDS, l'état de chaque passerelle est forcé à RECONNECT ("R"). Après la fermeture d'un pool, l'état des passerelles utilisant le pool est forcé à "R" ; l'état des autres passerelles n'est pas modifié. Si le pool a été fermé, l'administrateur TDS ou TUXEDO doit le réouvrir. L'administrateur TUXEDO doit émettre la commande tmboot (en cas de défaillance de la passerelle native) ou la commande reconnectdomain de tmadmin pour reconnecter les passerelles. L'état de la passerelle TDS passe à "B" (lancée). 3-16 47 F2 30UT Rev01 Programmation d'une transaction TDS pour un client TUXEDO 3.6 SECURITE ET CODES D'AUTORISATION D'ACCES Les codes d'autorisation de la transaction sont comparés pour vérification aux codes d'autorisation d'accès associés au projet/boîte aux lettres ("mailbox") XCP2 spécifiés dans le SITE.CATALOG. Les contrôles n'ont lieu que si : • sous GCOS 7, les paramètres de sécurité du pool sont définis dans NETGEN, comme dans l'exemple suivant : - CONV-USERID=MANDATORY, - CONV-CHECK=0 ; • sous UNIX, les paramètres de sécurité SIDE_INFORMATION de la façon suivante : sont définis dans la structure - type de sécurité = 2 ; - nom et mot de passe d'un utilisateur connu du SITE.CATALOG de GCOS 7 dont le projet par défaut est associé à la boîte aux lettres ("mailbox") XCP2. 47 F2 30UT Rev01 3-17 Configuration et utilisation de /HOST7 3-18 47 F2 30UT Rev01 4. Contrôle d'activité de la passerelle TDS 4.1 HISTORIQUE DE L'ACTIVITÉ DE LA PASSERELLE TDS La commande GCL PRINT_HOST_FILE permet d'obtenir un historique en traitement par lots ("batch"). Cette commande lance un traitement par lots ("batch") qui lit le contenu du fichier HOST. Ce fichier doit être accessible, sous le nom nom-tds.HOST (voir "Allocation du fichier HOST", au chapitre 2). Si l'attribut SHARE=NORMAL a été défini, le fichier HOST doit être désassigné avant l'exécution de la commande PRINT_HOST_FILE. Pour plus de détails, voir le paragraphe "Contraintes" plus loin dans ce chapitre. Syntaxe : { PRINT_HOST_FILE } { } { PHF } TDS = nom4 GWNM = { nom8 | * } REPORT = { D | S } [ SDATE = jjmmaa ] [ EDATE = jjmmaa ] [ MD = nom6 ] [ DVC = classe-app ]; 47 F2 30UT Rev01 4-1 Configuration et utilisation de /HOST7 Paramètres : TDS Nom de l'application TDS. GWNM Nom de la passerelle TDS. GWNM=* représente toutes les passerelles. REPORT REPORT=D demande un compte rendu détaillé (avec récapitulatif). REPORT=S demande seulement le récapitulatif. SDATE et EDATE Respectivement, dates début et fin de la période couverte par le compte rendu. Implicitement, le compte rendu commence au premier lancement de passerelle et prend fin à la date courante. MD et DVC Respectivement, volume et classe d'appareil associés au fichier journal "nom-tds.HOST". Ces deux paramètres doivent être spécifiés si le fichier HOST n'est pas catalogué. Exemple : Soit un fichier journal TDS1.HOST, alloué, catalogué avec SHARE=NORMAL, puis désassigné. La commande : PRINT_HOST_FILE TDS=TDS1 GWNM=* REPORT=D; génère un historique détaillé (dès le premier lancement de passerelle jusqu'à l'heure courante) de toutes les passerelles appartenant à l'application TDS1. TUXEDO system/HOST7 activity report. Date Time status TUXEDO service name TDS tx name 10/Jul/1992 10/Jul/1992 10/Jul/1992 10/Jul/1992 10/Jul/1992 10/Jul/1992 14:11:01 14:12:01 14:12:21 14:59:01 14:59:01 15:59:01 pass pass pass pass pass pass boot openc serv1 debtc openc shutdown boot openc mytx debtc openc shutdown Input buffer Output buffer length type length 0 0 50 view 238 1000 string 300 8 view 125 50 view 238 0 0 Application name type view view view view bankapp bankapp payapp bankapp bankapp bankapp Processing summary. TUXEDO service name boot openc serv1 debtc shutdown Total requests 1 2 1 1 1 Pass 1 2 1 1 1 Fail 0 0 0 0 0 Unknown 0 0 0 0 0 Input buffer type Output buffer type (view) (string) (carray) (view) (string) (carray) 0 2 0 1 0 0 0 1 0 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 0 0 0 0 0 0 Figure 4-1. Exemple d'historique généré par la commande PRINT_HOST_FILE 4-2 47 F2 30UT Rev01 Contrôle d'activité de la passerelle TDS Contraintes : Si le fichier HOST est doté de l'attribut SHARE=NORMAL, exécutez les opérations suivantes : • avant de lancer PRINT_HOST_FILE, désassigner le fichier HOST en exécutant la commande maîtresse ("MASTER") TDS CLOSE_TDS_FILE DEASSIGN=1 ; • Une fois l'exécution de PRINT_HOST_FILE terminée, réassigner le fichier HOST en exécutant la commande maîtresse TDS OPEN_TDS_FILE pour que l'enregistrement des informations relatives à la passerelle TDS puisse reprendre. Si le fichier HOST est doté de l'attribut SHARE=ONEWRITE (voir le paragraphe "Allocation du fichier HOST", au chapitre 2), il n'est pas nécessaire de le désassigner, sachant que, dans ce cas, il y a un risque de lectures "sales" non consolidées au niveau de l'historique. Codes retour : Voir l'annexe B. 47 F2 30UT Rev01 4-3 Configuration et utilisation de /HOST7 4.2 ACTIVITÉ COURANTE DE LA PASSERELLE TDS La commande maîtresse ("MASTER") DISPLAY_TDS_GATEWAY permet d'obtenir un écran renseignant sur l'activité courante de la passerelle TDS ("TDS gateway"). Syntaxe : { DISPLAY_TDS_GATEWAY } { } { DGTW } GWNM = { nom8 | * } [ TDS = { nom4 | #WTDS } ] ; Paramètres : 4-4 GWNM Nom de la passerelle TDS. GWNM=* affiche le nom de toutes les passerelles, sans autre information. TDS Nom de l'application TDS. Implicitement, valeur courante de la variable GCL #WTDS. 47 F2 30UT Rev01 Contrôle d'activité de la passerelle TDS Exemple : S: DTGW GWNM=TDSGATE3; -------------------------------------------- TDS = TD08 15:46:24 JUL 27, 1993 ----HOST GATEWAY STATUS ---------------------------------------------GATEWAY NAME : TDSGATE3 STATUS : BOOTED APPLICATION ID : BANKAPP BOS/TP SVR GROUP : tdsgate2 BOS/TP MACHINE ID : gypse PARTNER LU NAME : DPX2TDS8 PARTNER MODE NAME : DPXA00L3 NO. OF SERVICES : 18 SUCCESSFUL : 12 FAILED : 4 ACTIVE : 2 Figure 4-2. Exemple d'écran affiché par la commande DISPLAY_TDS_GATEWAY PARTNER LU NAME PARTNER MODE NAME Nom d'unité logique (LU) locale sous UNIX ou nom du correspondant XCP2 (XCP2COR) sous GCOS 7 (NETGEN). Nom de mode sous UNIX ou de POOL sous GCOS 7 (NETGEN). Les noms de XCP2COR et XCP2POOL peuvent être utilisés en entrée pour la commande TDS LIST_COR_POOL pour obtenir des informations sur les sessions entre les passerelles natives ("native gateway") et TDS ("TDS gateway"). 47 F2 30UT Rev01 4-5 Configuration et utilisation de /HOST7 4-6 47 F2 30UT Rev01 A. Format d'article du fichier HOST La description d'article fournie dans cette annexe est particulièrement utile à l'administrateur TDS qui souhaite programmer une version personnalisée des statistiques d'activité d'une passerelle TDS ("TDS gateway"), notamment pour l'établissement de statistiques /HOST7. A.1 FORMAT EN COBOL 01 HOST-REC. 02 RECORD-INDEX 02 DATE-REC 02 TIME-REC 02 SERVICE-NAME 02 BSERVICE-NAME 02 APPLID 02 MASTER-MACHINE 02 SERVER-GROUP-NAME 02 STATUS 02 SUBCODE 02 BUFTYPE-INPUT 02 BUFTYPE-LG 02 BUFTYPE-OUTPUT 02 OBUFTYPE-LG 02 GATEWAY-NAME PIC X(8). PIC X(6). PIC X(6). PIC X(8). PIC X(15). PIC X(30). PIC X(30). PIC X(30). PIC X. COMP-1. PIC X. COMP-1. PIC X. COMP-1. PIC X(8). RECORD-INDEX Clé primaire du fichier HOST utilisé par la passerelle TDS. DATE-REC Date (format AAMMJJ) de réception de la demande TUXEDO. TIME-REC Heure (format HHMMSS) de réception de la demande TUXEDO. SERVICE-NAME Nom TDS du service "transaction" ou "administration" demandé par TUXEDO. Dans ce dernier cas, les noms de service possibles sont : "BOOT", "SHUTDOWN", "PRINTHOST", "RECONNECT" et "STATS". BSERVICE-NAME Nom du service TDS tel qu'il est connu de TUXEDO. APPLID Identificateur de l'application TUXEDO. MASTER_MACHINE Identificateur de la machine maîtresse ("MASTER") pour l'application TUXEDO. 47 F2 30UT Rev01 A-1 Configuration et utilisation de /HOST7 A.2 SERVER-GROUP-NAME Identificateur du groupe de serveurs, défini dans le fichier UBBCONFIG sous TUXEDO (voir le guide TUXEDO /HOST). STATUS Résultat du service désigné ci-dessus : "0" pour une exécution normale, "1" pour un échec et "2" pour un état inconnu. SUBCODE Motif de l'échec notifié par STATUS = "1". Voir au paragraphe "Codes d'erreur envoyés par la passerelle TDS à TUXEDO" dans l'annexe B. BUFTYPE-INPUT Type de tampon reçu par la passerelle TDS : "V" pour VIEW, "S" pour STRING et "C" pour CARRAY. BUFTYPE-LG Longueur des données reçues de TUXEDO. BUFTYPE-OUTPUT Type de tampon envoyé à TUXEDO : "V" pour VIEW, "S" pour STRING et "C" pour CARRAY. OBUFTYPE-LG Longueur des données envoyées à TUXEDO. GATEWAY-NAME Nom de la passerelle TDS. FORMAT EN LANGAGE C struct hostrec { char record_index[8]; char date_rec [6]; char time_rec [6]; char service_name [8]; char bservice_name [15]; char applid [30]; char master_machine [30]; char server_group_name [30]; char status; short subcode; char buftype_input; int buftype_lg; char buftype_output; int obuftype_lg; char gateway_name [8]; } hostrec; La description de chacune de ces zones est donnée dans la partie relative au format COBOL. A-2 47 F2 30UT Rev01 B. Messages d'erreur et réponses /HOST7 B.1 MESSAGES DE LA PASSERELLE TDS Les messages énumérés ci-dessous sont enregistrés dans l'historique TDS (JOR) et envoyés au terminal maître : MV50 COMMUNICATION ERROR IN HOST GATEWAY INTERNAL STATUS=nnn-nnn RC=cccccccc->id-sic,code retour Type : Avertissement. Signification : En cours de communication avec une passerelle TUXEDO, la passerelle TDS a reçu un code d'anomalie. La valeur nnn-nnn permet d'identifier l'appel CPI-C dans le code de la passerelle TDS concernée : la première partie est formée d'un numéro identifiant l'appel de façon unique et la seconde du code retour CPI-C. Remarque : Le code retour 27 signifie que, pendant l'exécution du service, une session du pool a été déconnectée, probablement en raison d'un temps de réponse trop long de la part de GCOS 7 détecté côté UNIX. Intervention : MV51 Vérifiez que les pools de sessions XCP2 entre votre passerelle TDS ("TDS gateway") et les passerelles natives ("native gateway") TUXEDO sont intacts. Si aucune anomalie n'est détectée au niveau des sessions, contactez le centre de service. WARNING HOST FILE NOT ASSIGNED OR OPEN RC=cccccccc->id-sic,code retour Type : Avertissement. Signification : Un serveur passerelle TUXEDO a envoyé une demande BOOT, mais le fichier HOST n'est pas prêt à recevoir les informations sur la passerelle TDS. Intervention : Vérifiez que le fichier nom-tds.HOST a été alloué et assigné au TDS. 47 F2 30UT Rev01 B-1 Configuration et utilisation de /HOST7 MV52 TOO LARGE BUFFER RECEIVED BY HOST GATEWAY: RCVD=xxxxx MAX ALLOWED=xxxxx (La passerelle hôte a reçu un tampon trop important : Reçu=xxxxx Maximum admis=xxxxx) Type : Avertissement. Signification : Les données envoyées avec la demande TUXEDO dépassent la longueur de message (MESSAGE-LENGTH) défini dans STDS. Intervention : Augmentez la taille spécifiée par la clause MESSAGELENGTH dans votre STDS. MV53 /HOST7 FUNCTION IS NOT AVAILABLE (Fonction /HOST7 non disponible) Type : Avertissement. Signification : /HOST7 n'est pas installé sur votre système. TX81 TDS: nom-tds, HOST GATEWAY `nom-passerelle' BOOTED BY BOS-TP/id-appl (La passerelle hôte indiquée a été lancée pour l'application TDS indiquée par l'application TUXEDO spécifiée) Type : Informatif. Signification : Réception TUXEDO. Intervention : Aucune. TX81 d'une demande de lancement émise par TDS: nom-tds, HOST GATEWAY 'nom-passerelle' SHUTDOWN BY BOS-TP/id-appli (La passerelle hôte indiquée a été arrêtée pour l'application indiquée par l'application TUXEDO spécifiée) Type : Informatif. Signification : Réception d'une demande d'arrêt émise par TUXEDO. Intervention : Aucune. TX81 TDS: nom-tds, HOST GATEWAY `nom-passerelle' RECONNECTED BY BOS-TP/id-appli (La passerelle hôte indiquée a été reconnectée pour l'application TDS indiquée par l'application TUXEDO spécifiée) B-2 47 F2 30UT Rev01 Messages d'erreur et réponses /HOST7 B.2 Type : Informatif. Signification : Réception d'une demande de reconnexion des passerelles émise par TUXEDO. Intervention : Aucune. MESSAGES DES COMMANDES MAITRESSES ("MASTER") TDS TX82 TDS: nom-tds, UNKNOWN GATEWAY `nom-passerelle' (La passerelle indiquée pour l'application TDS spécifiée est inconnue") Type : Informatif. Signification : La passerelle spécifiée dans la commande maîtresse ("MASTER") DISPLAY_TDS_GATEWAY n'est pas connue de TDS. TX83 TDS: nom-tds, NO HOST GATEWAY(S) GENERATED (Aucune passerelle hôte générée) Type : Informatif. Signification : Aucune clause HOST GATEWAY ne figure dans le fichier source STDS. 47 F2 30UT Rev01 B-3 Configuration et utilisation de /HOST7 B.3 MESSAGES D'ERREUR GENERES PAR PRINT_HOST_FILE TV90 ron.ssn ERROR IN THE OPTIONS SUPPLIED BY THE PRINT_HOST_FILE GCL (Options erronées dans la commande PRINT_HOST_FILE) Type : Avertissement. Signification : La commande GCL PRINT_HOST_FILE spécifiée sur votre système est erronée. Intervention : Contactez le centre de service. TV91 ron.ssn UNABLE TO OPEN HOST FILE : RC=cccccccc->idsic,code retour (Impossible d'ouvrir le fichier HOST) Type : Informatif. Signification : Le fichier HOST ne parvient pas à s'ouvrir lors de l'exécution de la commande PRINT_HOST_FILE. A noter que le fichier HOST a été assigné avec le nom nom-tds.HOST dans le JCL associé à la commande. Intervention : Vérifiez le fichier nom-tds.HOST. TV92 ron.ssn THE HOST FILE IS EMPTY OR HAS NO MATCHING RECORDS (Le fichier HOST est vide ou ne contient aucun des articles recherchés) Type : Informatif. Signification : Le fichier nom-tds.HOST ne contient pas d'article ou les articles qu'il contient portent une date antérieure à celle spécifiée par le paramètre SDATE (date début) dans la commande PRINT_HOST_FILE. Intervention : Spécifiez une autre date SDATE dans la commande PRINT_HOST_FILE, si le fichier HOST n'est pas vide. TV93 ron.ssn NO RECORDS IN THE HOST FILE MATCHED THE INPUT PARAMETERS (Aucun article du fichier HOST ne correspond aux paramètres d'entrée) B-4 Type : Informatif. Signification : Le fichier nom-tds.HOST ne contient aucun article correspondant aux paramètres spécifiés par la commande PRINT_HOST_FILE : dates début et fin, nom de la passerelle TDS ("TDS gateway"). Intervention : Vérifiez, dans le compte rendu SYSOUT du travail traitement par lots /HOST7, les valeurs spécifiées par la commande PRINT_HOST_FILE. 47 F2 30UT Rev01 Messages d'erreur et réponses /HOST7 TV94 ron.ssn ERROR IN DATE VALUES (START DATE SHOULD BE BEFORE THE END DATE) (Dates erronées : la date début doit être antérieure à la date fin) Type : Informatif. Signification : La date début (SDATE) spécifiée à la commande PRINT_HOST_FILE est postérieure à la date fin (EDATE). TV95 ron.ssn INVALID START DATE SPECIFIED ON THE PRINT_HOST_FILE COMMAND (La date début spécifiée dans la commande PRINT_HOST_FILE est erronée) Type : Informatif. TV96 ron.ssn INVALID END DATE SPECIFIED ON THE PRINT HOST FILE COMMAND (La date fin spécifiée dans la commande PRINT_HOST_FILE est erronée) Type : Informatif. TV97 ron.ssn INTERNAL ERROR IN HOST7 REPORT JOB (REASON = nn): RC=cccccccc->id-sic, code retour (Erreur interne lors de l'exécution de PRINT_HOST_FILE) Type : Avertissement. Signification : Selon le message TV90. Intervention : Contactez le centre de service. 47 F2 30UT Rev01 B-5 Configuration et utilisation de /HOST7 B.4 CODES D'ERREUR ENVOYES PAR LA PASSERELLE TDS A TUXEDO Les valeurs suivantes sont envoyées par la passerelle TDS ("TDS gateway") à la passerelle native ("native gateway"). Elles sont ajoutées à la valeur "sous-code" dans le message de la passerelle native : TDS gateway: retcode nn subcode nn appcode nn et consignées dans le fichier TUXEDO ULOG. B-6 30009 TUXEDO internal error: invalid data received from TUXEDO. 30010 TUXEDO internal error: request must be TMADMIN or a service call. 30011 No gateway entry found for the received APPLID, SERVER GROUP and MACHINE ID. This might be the result of a service call before a tmboot. 30012 Gateway already associated with another native gateway request queue. 30013 TDS internal error in JPPC interface. 30014 BOOT failure. 30015 Gateway already booted. 30016 Gateway is not booted. 30017 Gateway name specified in the TDSGATEWAY parameter of the ENVFILE is not known to TDS. 30018 No TDS gateways are available. Either the gateway statement of the STDS is missing, or the /HOST7 product is not available on your system. 30019 Server group not specified in stats command. 30020 stats command cannot find matched server group. 30021 Invalid service request; (requested TX is not part of the TDS generation or insufficient authority codes). 30022 User transaction finished without sending any data to be returned to TUXEDO. 30023 Unable to write to the HOST history file. 30024 No space left on the HOST history file. 30025 Requested transaction aborted. 30026 Application transaction returns TPFAIL to client. 30027 Invalid buffer type returned by the requested transaction; valid types are VIEW, STRING and CARRAY. 47 F2 30UT Rev01 Messages d'erreur et réponses /HOST7 30028 The requested transaction specified an invalid `return-value' in the HOST-SEND-AREA structure (voir le chapitre 3). 30029 The requested transaction tried to return a data length greater than 30000 or less than 0. 47 F2 30UT Rev01 B-7 Configuration et utilisation de /HOST7 B-8 47 F2 30UT Rev01 C. Exemple COBOL de transaction de service TDS ** Copyright : (c) 1993 by BULL Information Systems Ltd *************************************************************************************** * 1.OPEN A CREDIT CARD ACCOUNT PROGRAM * * INPUT: THIS PROGRAM TAKES THE FOLLOWING FIELDS: * LAST-NAME, FIRST-NAME, MID-INIT, SSN, ADDRESS, PHONE, AND ACCOUNT-TYPE * * OUTPUT: THIS PROGRAM WILL RETURN THE FOLLOWING FIELDS: * ACCOUNT-ID, CREDIT-LINE, BALANCE AND STATLIN. *************************************************************************************** * IDENTIFICATION DIVISION. PROGRAM-ID. OPENC01. AUTHOR. BOSTP. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. DPS7. OBJECT-COMPUTER. DPS7. SPECIAL-NAMES. SWITCH-10 IS DISP-OFF ON IS DISP-ON. INPUT-OUTPUT SECTION. FILE-CONTROL. COPY SELECT-VACCT. DATA DIVISION. FILE SECTION. COPY FD-VACCT. / * WORKING-STORAGE SECTION. * 01 TEMP-STORAGE-Q PIC X(12) VALUE "VACCTIDQ". * 01 ACCOUNT-ID-Q-STATUS PIC X VALUE "Y". 88 NEW-ACCOUNT-ID-Q VALUE "Y". 88 OLD-ACCOUNT-ID-Q VALUE "N". * 01 ACCOUNT-ID-FOUND-SW PIC X VALUE "N". 88 ACCOUNT-ID-FOUND VALUE "Y". 88 ACCOUNT-ID-NOT-FOUND VALUE "N". * 01 ACCOUNT-FULL-SW PIC X VALUE "N". 88 ACCOUNT-FULL VALUE "Y". 88 ACCOUNT-NOT-FULL VALUE "N". * 01 V-MIN-ACCOUNT-ID COMP-2 VALUE 100000. * 01 V-MAX-ACCOUNT-ID COMP-2 VALUE 499999. * 47 F2 30UT Rev01 C-1 Configuration et utilisation de /HOST7 **************************************************************************** * Input data flow received from BOS-TP since open_aci view. **************************************************************************** 01 INPUT-RECORD. 05 LAST-NAME PIC X(20). 05 FIRST-NAME PIC X(20). 05 MID-INIT PIC X. 05 STREET-ADDRESS PIC X(30). 05 TOWN-ADDRESS PIC X(30). 05 SSN PIC X(11). 05 PHONE PIC X(12). 05 ACCOUNT-TYPE PIC X. * **************************************************************************** * Output data flow sent towards BOS-TP, to be mapped on open_aco view. * This view includes mio system fields such as: * - FORMNAM: name of the form mio will display * - STATLIN: message mio will display on the form status line. **************************************************************************** 01 OUTPUT-RECORD. 05 LAST-NAME PIC X(20) VALUE SPACES. 05 FIRST-NAME PIC X(20) VALUE SPACES. 05 MID-INIT PIC X VALUE SPACE. 05 STREET-ADDRESS PIC X(30) VALUE SPACES. 05 TOWN-ADDRESS PIC X(30) VALUE SPACES. 05 SSN PIC X(11) VALUE SPACES. 05 PHONE PIC X(12) VALUE SPACES. 05 ACCOUNT-TYPE PIC X VALUE SPACE. 05 OUTPUT-ACCOUNT-ID COMP-2 VALUE ZERO. 05 CREDIT-LINE PIC S9(5)V99 COMP-3. 05 BALANCE PIC S9(5)V99 COMP-3. 05 STATLIN PIC X(80) VALUE SPACES. 05 FORMNAM PIC X(7) VALUE "HCOPEN". * 01 OUTPUT-RECORD-LENGTH COMP-2 VALUE 238. * 01 C-LG COMP-2 VALUE 4. 01 C-STATUS PIC X VALUE SPACE. 88 C-STATUS-OK VALUE "0". 88 C-STATUS-NOTOK VALUE "1". * COPY TDS-WORKING-STORAGE. * COPY TDS-CRTAPP. * COPY TDS-RPC. / * SEND AND RECEIVE AREAS TAKEN FROM THE tdsname.COBOL FILE. * COPY HOST-RECV-AREA. COPY HOST-SEND-AREA. / * LINKAGE SECTION. COPY TDS-STORAGE. COPY CONSTANT-STORAGE. 01 TRANSACTION-STORAGE. 02 TERMINAL-SYMB-SOURCE PIC X(12). / * COMMUNICATION SECTION. CD CD-IN FOR INPUT SYMBOLIC QUEUE IS SQI MESSAGE DATE IS MDI MESSAGE TIME IS MTI SYMBOLIC SOURCE IS SSI TEXT LENGTH IS TLI END KEY IS EKI STATUS KEY IS SKI MESSAGE COUNT IS MCI. CD CD-OUT FOR OUTPUT DESTINATION COUNT IS DCO TEXT LENGTH IS TLO STATUS KEY IS SKO ERROR KEY IS EKO SYMBOLIC DESTINATION IS SDO. / C-2 47 F2 30UT Rev01 Exemple COBOL de transaction de service TDS PROCEDURE DIVISION USING TDS-STORAGE CONSTANT-STORAGE TRANSACTION-STORAGE. COPY TDS-DECL-EX. 000-MAIN-LINE-ROUTINE SECTION. ML-01. * PERFORM 100-HOUSE-KEEPING. MOVE SYMBOLIC-QUEUE TO SQI. MOVE 500 TO TLI. * **************************************************************************** * Receive the message from BOS-TP **************************************************************************** RECEIVE CD-IN MESSAGE INTO HOST-RECV-AREA NO DATA MOVE 1 TO HOST-RETURN-VALUE MOVE 4315 TO HOST-USER-VALUE GO TO 900-TRETURN. ML-02. MOVE SSI TO TERMINAL-SYMB-SOURCE. MOVE HOST-RECV-STATUS TO TUXEDO-ATMI-RETURN-CODE. IF TPSUCCESS NEXT SENTENCE ELSE MOVE 1 TO HOST-RETURN-VALUE IF TPESVCERR MOVE 4314 TO HOST-USER-VALUE GO TO 900-TRETURN ELSE MOVE 4315 TO HOST-USER-VALUE GO TO 900-TRETURN. **************************************************************************** * Perform the requested service **************************************************************************** PERFORM 200-GET-INPUT-DATA. PERFORM 300-GET-ACCOUNT-ID. PERFORM 310-CHECK-ACCOUNT-ID. PERFORM 320-OPEN-ACCOUNT. PERFORM 500-WRITE-TS-Q. / **************************************************************************** * Initialize the output data to be sent back **************************************************************************** 400-WRITE-OUTPUT-RECORD SECTION. WO-001. MOVE CORRESPONDING INPUT-RECORD TO OUTPUT-RECORD. MOVE CREDIT-LINE OF ACCOUNT-RECORD TO CREDIT-LINE IN OUTPUT-RECORD. MOVE BALANCE OF ACCOUNT-RECORD TO BALANCE IN OUTPUT-RECORD. WO-999. EXIT. / * 410-MOVE-TO-TRETURN-AREA SECTION. MT-001. MOVE 0 MOVE ZEROES MOVE "VIEW" MOVE "open_aco" MOVE OUTPUT-RECORD-LENGTH MOVE OUTPUT-RECORD MT-999. EXIT. / * 47 F2 30UT Rev01 TO TO TO TO TO TO HOST-RETURN-VALUE. HOST-USER-VALUE. HOST-SBUFTYPE OF HOST-VIEW-NAME OF HOST-SDATA-LEN OF HOST-SDATA OF HOST-SEND-AREA. HOST-SEND-AREA. HOST-SEND-AREA. HOST-SEND-AREA. C-3 Configuration et utilisation de /HOST7 900-TRETURN SECTION. TR-001. PERFORM 910-PROCESS-APP-ERROR-CODE. MOVE SSI TO TERMINAL-SYMB-SOURCE SDO. MOVE 1 TO DCO. * LENGTH OF DATA TO BE SENT IS THE LENGTH OF HOST-SND-AREA * HEADER PLUS THE LENGTH OF USER DATA. ADD OUTPUT-RECORD-LENGTH HOST-SND-LG GIVING TLO. * **************************************************************************** * Send the message towards BOS-TP **************************************************************************** SEND CD-OUT FROM HOST-SEND-AREA WITH EGI. IF SKO NOT = "00" CALL "ABORT". TR-999. MOVE SPACES TO NEXT-TPR. * EXIT PROGRAM. / * 100-HOUSE-KEEPING SECTION. HK-001. INITIALIZE HOST-RECV-AREA. MOVE ZEROES TO HOST-USER-VALUE. MOVE 0.00 TO CREDIT-LINE IN OUTPUT-RECORD. MOVE 0.00 TO BALANCE IN OUTPUT-RECORD. HK-999. EXIT. / * 200-GET-INPUT-DATA SECTION. GI-001. MOVE HOST-UDATA OF HOST-RECV-AREA TO INPUT-RECORD. IF ACCOUNT-TYPE OF INPUT-RECORD NOT EQUAL TO "V" MOVE 1 TO HOST-RETURN-VALUE MOVE 4401 TO HOST-USER-VALUE. IF HOST-RETURN-VALUE = 1 GO TO 900-TRETURN. MOVE CORRESPONDING INPUT-RECORD TO ACCOUNT-RECORD. GI-999. EXIT. / * 300-GET-ACCOUNT-ID SECTION. GA-001. * GETTING LAST ACCOUNT ID FROM COMMON STORAGE QUEUE CALL "CREAD-COMMON" USING TEMP-STORAGE-Q OUTPUT-ACCOUNT-ID C-LG C-STATUS. IF C-STATUS-NOTOK MOVE 1 TO HOST-RETURN-VALUE MOVE 4410 TO HOST-USER-VALUE ELSE IF OUTPUT-ACCOUNT-ID = 0 MOVE "Y" TO ACCOUNT-ID-Q-STATUS ELSE MOVE "N" TO ACCOUNT-ID-Q-STATUS. IF HOST-RETURN-VALUE = 1 GO TO 900-TRETURN. GA-999. EXIT. / * 310-CHECK-ACCOUNT-ID SECTION. CA-001. * IF OPEN THE FIRST ACCOUNT IF NEW-ACCOUNT-ID-Q MOVE "N" TO ACCOUNT-ID-Q-STATUS MOVE V-MIN-ACCOUNT-ID TO OUTPUT-ACCOUNT-ID IN OUTPUT-RECORD CALL "CWRITE-COMMON" USING TEMP-STORAGE-Q OUTPUT-ACCOUNT-ID C-LG C-STATUS IF C-STATUS-NOTOK MOVE 1 TO HOST-RETURN-VALUE MOVE 4410 TO HOST-USER-VALUE. IF HOST-RETURN-VALUE = 1 GO TO 900-TRETURN. * ELSE NOT OPEN FIRST TIME, BUT CHECK IF ACCOUNT FILE IS FULL IF OLD-ACCOUNT-ID-Q AND ACCOUNT-NOT-FULL AND OUTPUT-ACCOUNT-ID NOT < (V-MAX-ACCOUNT-ID - 1) C-4 47 F2 30UT Rev01 Exemple COBOL de transaction de service TDS MOVE "Y" TO ACCOUNT-FULL-SW MOVE V-MIN-ACCOUNT-ID TO OUTPUT-ACCOUNT-ID IN OUTPUT-RECORD * ELSE IF ACCOUNT FILE IS FULL ELSE IF OLD-ACCOUNT-ID-Q AND ACCOUNT-FULL MOVE 1 TO HOST-RETURN-VALUE MOVE 4408 TO HOST-USER-VALUE GO TO 900-TRETURN. * ELSE NOT NEW ACCOUNT RECORD, INCREMENT ACCOUNT-ID BY 1 ADD 1 TO OUTPUT-ACCOUNT-ID IN OUTPUT-RECORD. MOVE OUTPUT-ACCOUNT-ID TO TEMP2-ACCOUNT-ID TEMP-ACCOUNT-ID. MOVE REAL-ACCOUNT-ID TO V-ACCOUNT-ID READ VACCT RECORD INTO ACCOUNT-RECORD KEY IS V-ACCOUNT-ID INVALID KEY GO TO CA-003. CA-002. IF FILE-STATUS = "00" MOVE "Y" TO ACCOUNT-ID-FOUND-SW GO TO CA-004. MOVE 1 TO HOST-RETURN-VALUE. IF FILE-STATUS1 = "4" MOVE 4425 TO HOST-USER-VALUE ELSE MOVE 4420 TO HOST-USER-VALUE. GO TO 900-TRETURN. CA-003. MOVE "N" TO ACCOUNT-ID-FOUND-SW. CA-004. * * IF THE ACCOUNT EXISTS ALREADY, TRY THE NEXT ONE. * IF ACCOUNT-ID-FOUND PERFORM 500-WRITE-TS-Q GO TO CA-001. CA-999. EXIT. / * 320-OPEN-ACCOUNT SECTION. OA-001. MOVE 2500.00 TO CREDIT-LINE IN ACCOUNT-RECORD. MOVE 0.00 TO BALANCE IN ACCOUNT-RECORD. MOVE OUTPUT-ACCOUNT-ID OF OUTPUT-RECORD TO ACCOUNT-ID IN ACCOUNT-RECORD. WRITE V-ACCOUNT-RECORD FROM ACCOUNT-RECORD INVALID KEY MOVE VACCT-STATUS TO FILE-STATUS GO TO OA-003. OA-002. IF FILE-STATUS = "00" GO TO OA-999. OA-003. MOVE 1 TO HOST-RETURN-VALUE. IF FILE-STATUS1 = "4" MOVE 4425 TO HOST-USER-VALUE ELSE IF FILE-STATUS = "24" MOVE 4408 TO HOST-USER-VALUE ELSE IF FILE-STATUS1 = "2" MOVE 4411 TO HOST-USER-VALUE ELSE MOVE 4409 TO HOST-USER-VALUE. GO TO 900-TRETURN. OA-999. EXIT. / * 500-WRITE-TS-Q SECTION. WT-001. * SAVE THE CURRENT ACCOUNT-ID TO COMMON STORAGE QUEUE CALL "CWRITE-COMMON" USING TEMP-STORAGE-Q OUTPUT-ACCOUNT-ID C-LG C-STATUS IF C-STATUS-NOTOK MOVE 1 TO HOST-RETURN-VALUE MOVE 4410 TO HOST-USER-VALUE GO TO 900-TRETURN. 47 F2 30UT Rev01 C-5 Configuration et utilisation de /HOST7 WT-002. PERFORM 400-WRITE-OUTPUT-RECORD . PERFORM 410-MOVE-TO-TRETURN-AREA . PERFORM 900-TRETURN . WT-999. EXIT. / * 910-PROCESS-APP-ERROR-CODE SECTION. PA-001. IF HOST-USER-VALUE = 4401 MOVE "APPERROR: NO SUCH ACCOUNT TYPE " TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4314 MOVE "APPERROR: FAILED RECEIVE" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4315 MOVE "APPERROR: NO DATA AVAILABLE ON RECEIVE" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4408 MOVE "APPERROR: CREDIT CARD DATABASE IS FULL" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4409 MOVE "APPERROR: WRITE TO TDS ACCOUNT FILE ERROR - INVALID KEY" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4410 MOVE "APPERROR: COMMON STORAGE NOT DEFINED IN STDS" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4411 MOVE "APPERROR: SOCIAL SECURITY NUMBER USED BY ANOTHER ACCOUNT" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4420 MOVE "APPERROR: SERIOUS ERROR WHILE READING THE ACCOUNT FILE" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 4425 MOVE "APPERROR: ACCOUNT-FILE IS NOT OPENED IN READ OR WRITE" TO STATLIN OF OUTPUT-RECORD ELSE IF HOST-USER-VALUE = 0 MOVE "ACCOUNT IS ADDED SUCCESSFULLY" TO STATLIN OF OUTPUT-RECORD. IF HOST-RETURN-VALUE = 1 MOVE 0 TO OUTPUT-ACCOUNT-ID OF OUTPUT-RECORD. MOVE "VIEW" TO HOST-SBUFTYPE OF HOST-SEND-AREA. MOVE "open_aco" TO HOST-VIEW-NAME OF HOST-SEND-AREA. MOVE OUTPUT-RECORD-LENGTH TO HOST-SDATA-LEN OF HOST-SEND-AREA. MOVE OUTPUT-RECORD TO HOST-SDATA OF HOST-SEND-AREA. PA-999. EXIT. / ************************************** 2. COPY FILES CONTENT: ************************************** SELECT-VACCT: SELECT EXTERNAL VACCT ASSIGN VACCT ORGANIZATION UFF INDEXED ACCESS DYNAMIC RECORD KEY IS V-ACCOUNT-ID ALTERNATE RECORD KEY IS V-SSN FILE STATUS IS VACCT-STATUS. FD-VACCT: LABEL RECORD STANDARD. 01 V-ACCOUNT-RECORD. 05 V-ACCOUNT-ID 05 V-CREDIT-LINE 05 V-BALANCE 05 V-LAST-NAME 05 V-FIRST-NAME 05 V-MID-INIT 05 V-STREET-ADDRESS 05 V-TOWN-ADDRESS 05 V-SSN 05 V-PHONE 05 V-ACCOUNT-TYPE PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC TDS-WORKING-STORAGE: 77 VACCT-STATUS PIC X(2). C-6 X(4). S9(5)V99 COMP-3. S9(5)V99 COMP-3. X(20). X(20). X. X(30). X(30). X(11). X(12). X. 47 F2 30UT Rev01 Exemple COBOL de transaction de service TDS TDS-CRTAPP: 01 ACCOUNT-RECORD. 05 ACCOUNT-ID PIC X(4). 05 CREDIT-LINE PIC S9(5)V99 COMP-3. 05 BALANCE PIC S9(5)V99 COMP-3. 05 LAST-NAME PIC X(20). 05 FIRST-NAME PIC X(20). 05 MID-INIT PIC X. 05 STREET-ADDRESS PIC X(30). 05 TOWN-ADDRESS PIC X(30). 05 SSN PIC X(11). 05 PHONE PIC X(12). 05 ACCOUNT-TYPE PIC X. 01 FILE-STATUS PIC X(2) VALUE "00". 01 FILLER REDEFINES FILE-STATUS. 02 FILE-STATUS1 PIC X. 02 FILE-STATUS2 PIC X. 01 TEMP2-ACCOUNT-ID COMP-2. 01 FILLER REDEFINES TEMP2-ACCOUNT-ID. 02 REAL-ACCOUNT-ID PIC X(4). TDS-RPC: 01 TUXEDO-ATMI-RETURN-CODE 88 TPSUCCESS 88 TPESVCERR 88 TPENODATA COMP-2 VALUE ZEROES. VALUE 0. VALUE +10. VALUE +21. TDS-DECL: DECLARATIVES. VACCT-ERROR SECTION. USE AFTER ERROR PROCEDURE ON VACCT. VE-001. DISPLAY "ERROR ON FILE VACCOUNT STATUS = " VACCT-STATUS. MOVE VACCT-STATUS TO FILE-STATUS. VE-999. EXIT. END DECLARATIVES. ********************************************************************************************* 3. BOS-TP VIEW FILES CONTENT FOR OPEN_ACI AND OPEN_ACO VIEWS: ********************************************************************************************* open_aci.v: VIEW open_aci $ /* Input View structure for open credit account mapped on INPUT-RECORD structure */ #type cname fbname count flag size null string string char string string string char END lname fname midinit address ssn phone acctype LAST_NAME FIRST_NAME MID_INIT ADDRESS SSN PHONE C_ACCT_TYPE 1 1 1 1 1 1 1 S S S S S S S 20 20 60 11 12 - "abcdefghijklmnopq " "" "" "" "" "" "" open_aco.v: VIEW open_aco $ /* Output View structure for open credit account mapped on OUTPUT-RECORD #type cname fbname count flag size null string string char string string string char long dec_t dec_t string string END lname fname midinit address ssn phone acctype acctid crtline balance ermsg retscr 47 F2 30UT Rev01 LAST_NAME FIRST_NAME MID_INIT ADDRESS SSN PHONE C_ACCT_TYPE C_ACCOUNT_ID C_CAMOUNT C_BAMOUNT STATLIN FORMNAM 1 1 1 1 1 1 1 1 1 1 1 1 F F F F F F F F F F F F 20 20 60 11 12 4,2 4,2 80 7 structure */ "" "" "" "" "" "" "" 0 "" "" C-7 Glossaire /HOST7 Logiciel Bull permettant à une application TUXEDO sous UNIX d'utiliser les transactions et les données d'une application TDS sous GCOS 7. Dans l'environnement TUXEDO, il est appelé "Extension de /Host". basculement (takeover) Opération manuelle ou automatique permettant de relancer un système DPS 7000 sur un système DPS 7000 de secours, ceci dans le cadre de la Haute disponibilité (HA). client Processus qui génère des demandes de service prises en charge par TUXEDO et reçoit des réponses de TUXEDO à ces demandes. CPI-C (Common Programming Interface for Communications) Interface permettant aux systèmes conformes aux normes X/OPEN de communiquer avec des systèmes mettant en oeuvre le protocole LU6.2 SNA ou XCP2. DPS 7000 (Bull Data Processing System) Système de traitement de l'information Bull sous GCOS 7. DPX/n (Bull Unix Data Processing systems) Système de traitement de l'information Bull sous UNIX. DSA (Distributed Systems Architecture) Architecture de systèmes distribués Bull permettant l'interconnexion de systèmes homogènes ou hétérogènes. Extension de /Host Voir /HOST7. 47 F2 30UT Rev01 g-1 Configuration et utilisation de /HOST7 FSE (Full Screen Editor) Editeur plein écran disponible sous GCOS 7. GCL (GCOS 7 Command Language) Langage de commande de GCOS 7. GCOS 7 (General Comprehensive Operating System) Système d'exploitation du DPS 7000. IOF (Interactive Operating Facility) Moniteur interactif disponible sous GCOS 7. JCL (Job Control Language) Langage de gestion des travaux disponible sous GCOS 7. JOR (Job Occurrence Report) Rapport d'exécution. LIBMAINT Utilitaire de gestion des bibliothèques et de leurs sous-fichiers sous GCOS 7. passerelle (gateway) Dispositif de communication entre environnements différents. passerelle TDS (TDS gateway) Serveur passerelle disponible dans un système TDS exécuté sous GCOS 7. PID (Plug ISO/DSA) Prise ISO/DSA. Il s'agit d'une passerelle permettant la conversion d'une session ISO en session DSA et vice versa. serveur Processus qui reçoit des demandes de service d'un client ou d'un autre serveur et distribue les services demandés. g-2 47 F2 30UT Rev01 Glossaire STDS (Source TDS) Fichier source de bibliothèque contenant les spécifications de génération de TDS TDS (Transaction Driven Subsystem) Sous-système transactionnel de GCOS 7. TP7GEN Utilitaire de génération de TDS. TP7PREP Utilitaire d'affectation de place et d'initialisation pour tous les fichiers nécessaires à un système TDS. UBBCONFIG Nom attribué par défaut au fichier de configuration ASCII d'une application TUXEDO. UNIX Système d'exploitation (marque déposée d'OSF). XCP2 (Extended Cooperative protocol Level 2) Protocole DSA équivalent au protocole IBM LU.2. Utilisé pour la communication interprogramme dans un réseau ISO/DSA. 47 F2 30UT Rev01 g-3 Configuration et utilisation de /HOST7 g-4 47 F2 30UT Rev01 Index A Administrateur TDS contrôle de passerelle TDS 4-1 fonctions /HOST7 1-9 modification et génération de TDS 2-3 Administrateur TUXEDO commande printdomain 1-6 commande stats 1-6 commande tmboot 1-6 Commande tmshutdown 1-6 reconnectdomain (commande) 1-6 reconnexion des communications entre passerelles 1-6 visualisation de la disponibilité de la passerelle TDS 1-6 visualisation des statistiques concernant l'utilisation de la passerelle TDS 1-6 Affectation fichier HOST 1-7 Affectation du fichier HOST 2-5 Affichage activité de passerelle TDS 4-1 Allocation fichier PPCLOG 2-6 architecture HOST7 1-8 Arrêt prématuré d'une transaction 3-11 Arrêt prématuré d'une transaction TDS 3-11 B Boîtes aux lettres XCP2 buildgateway (commande) 3-17 1-9 C CARRAY (type de tampon) Catalogue de site Client TUXEDO 47 F2 30UT Rev01 1-7 3-17 codes d'erreur émis par passerelle TDS B-6 Clients TUXEDO programmation 1-10 CNS7 1-4 COBOL types de données 3-3 verbe RECEIVE 3-5 verbe SEND 3-7 code d'erreur voir message d'erreur B-1 Codes d'autorisation 2-7, 3-17 Codes d'erreurs renvoyés à TUXEDO B-6 Codes retour UBUGERR 3-11 Commande maîtresse TDS messages B-3 Commande PRINT_HOST_FILE codes retour B-4 Communications longueur des messages 2-4 temporisation 2-4 communications Voir communications entre passerelles 1-8 Communications entre passerelles 1-8 exemple de configuration (figure) 1-3 interruption 3-16 reconnexion 1-6 Communications XCP2 environnement HA 2-4 niveau de simultanéité maximal 2-7 Compte rendu d'activité /HOST7 B-4 Configuration de TDS 2-3 Configuration des communications XCP2 2-6 Consolidation 3-16 Conversion d'ASCII en EBCDIC 1-7 Conversion d'EBCDIC en ASCII 1-7 Conversion de données 1-7, 3-2 CPI-C, communication entre passerelles 1-8 CPI-C/OSI 1-8 logiciel nécessaire 1-4 CPI-C/XCP2 1-8 Création i-1 Configuration et utilisation de /HOST7 passerelles natives passerellesTDS 1-9 2-3 Génération de réseau (exemple) Génération de TDS D dec_t type de données Défaillances de TDS Défaillances des communications entre passerelles demande de service consignation Demandes de service gestion noms tpcall, tpacall, tpforward (verbes) Demandes de service d'arrêt Demandes de service de lancement Demandes de service stats Demandes de services administration Demandes de services transaction DISPLAY-GATEWAY, procédure d'appel (COBOL) DNS Données décimales condensées 3-4 3-16 1-6 1-7 1-6 1-6 1-8 1-6 1-6 1-6 1-6 1-6 3-13 1-4 3-4 E ENVFILE (fichiers) paramètre MAXDATALEN ENVILE (fichiers) paramètre TDSGATEWAY Environnement HA Envoi de données à TUXEDO Etat technique 2-4 2-3 2-4 3-7, 3-10 1-4 Fichier HOST format d'article (C) format d'article (COBOL) fichier journal Voir fichier HOST: Fichier SYSTEMLOG FML (type de tampon) Fonctions /HOST7 pour l'administrateur TUXEDO Fonctions /HOST7 pour le programmeur TDS fonctions d'administration Fonctions de programmation fonctions utilisateur 2-6 2-3 H h_dgwt_status (macro C) 3-15 h_receive (macro C) 3-9 H_RECV_AREA (structure C) 3-9 h_send (macro C) 3-10 H_SEND_AREA (structure C) 3-10 Haute disponibilité Voir Environnement HA: 2-4 historique Voir fichier HOST 1-7 HOST affectation du fichier 1-7, 2-5 caractéristiques du fichier 2-2 réservation de place pour le fichier 2-2 statut de partage du fichier 2-5 taille du fichier 2-2 HOST (fichier) 1-7 HOST GATEWAY (clause),syntaxe 2-3 HOST_RECV_AREA (structure COBOL) 3-5 HOST_SEND_AREA (structure COBOL) 3-7 HOST7 fichier journal Voir fichier HOST 1-7 fonctions de programmation 1-9 fonctions utilisateurs 1-9 procédure de lancement 2-8 procédures de configuration 2-1 I IDS2 3-12 INIT (fichier) 1-7 Interface de programmation commune pour les communications Voir CPI-C 1-8 F i-2 G A-2 A-1 1-7 B-6 1-7 1-9 1-9 1-9 1-9 1-9 L Lancement de /HOST7 2-8 Langage C h_send (macro) 3-10 types de données 3-3 langage C macro h_receive 3-9 Logiciel nécessaires pour /HOST7 1-4 Longueur des donnésVoir longueur des messages: 2-4 47 F2 30UT Rev01 Index M MAXIMUM XCP2-WAITTIME (clause) Message d'erreur commande maîtresse message d'erreur passerelle TDS Message MV50 Message MV51 Message MV52 Message MV53 Message TV90 Message TV91 message TV92 Message TV93 Message TV94 Message TV95 Message TV96 Message TV97 Message TX81 Message TX82 Message TX83 MESSAGE-LENGTH (clause) Mode partenaire Modèle client/serveur Modification catalogue de site Modification de TDS 2-4 B-3 B-1 B-1 B-1 B-2 B-2 B-4 B-4 B-4 B-4 B-5 B-5 B-5 B-5 B-2 B-3 B-3 2-4 4-5 1-2 2-7 2-3 N Noms d'utilisateur partenaire 3-17 O Option accès ISO/DSA ORACLE 1-4 3-12 P Paramètres de sécurité des pools 3-17 Passerelle TDS codes d'erreur renvoyés à TUXEDO B-6 programmation des accès 3-13 passerelle TDS messages d'erreur B-1 Passerelles distantes 1-2 Passerelles étrangères 1-2 Passerelles hôtes 1-2 Passerelles natives 1-7 conversion de données 1-7 création 1-7, 1-9 Passerelles TDS consignation des demandes de service1-7 47 F2 30UT Rev01 création 2-3 demandes de service d'arrêt 1-6 demandes de service de lancement 1-6 état reconnect 3-16 exemple de déclaration 2-3 gestion de services transaction 1-6 gestion des services administration 1-6 informations de disponibilité 1-6 nombre maximal 2-3 noms 2-3 statistiques relatives à l'utilisation 1-6 Pools de session paramètres de sécurité 3-17 pools de session fermeture 3-16 PPCLOG (fichier) 2-6 Préparation de TDS 2-2, 2-6 printdomain (commande) 1-9 printservice (commande) 1-9 Protection au niveau session 2-7 R RECEIVE (verbe COBOL) 3-5 Réception de données de TUXEDO 3-9 Réception des données émises par TUXEDO 3-5 reconnectdomain (commande) 1-6, 1-9 Reconnexion des communications entre passerelles 1-6 Reconnexion des passerelles TDS 1-6 Règles de programmation pour TDS 3-11 Relances à chaud 3-16 Réseau Voir communications entre passerelles 1-8 Réseaux ISO/DSA 2-6 Réservation de place pour le fichier HOST2-2 Rubriques du catalogue de site 2-7 S SEND (instruction EGI) SEND (instruction ESI) SEND (verbe COBOL) Serveurs passerelles Session protection SPAWN stats (commande) STDS (unités origine de TDS) STRING (type de tampon Structures de données 3-11 3-11 3-7 1-2 2-7 3-12 1-9 2-3 1-7 3-5 i-3 Configuration et utilisation de /HOST7 configuration XCP2COR, nom XCP2POOL, nom T Tampon CARRAY conversion FML STRING VIEW Tampon typé 2-6 4-5 4-5 3-2 3-2 3-2 3-2 3-2 voir type de tampon: 3-2 1-7 tampons TDS préparation 2-2, 2-6 Temporisation (TIMEOUT) 2-4 tmadmin (commande) 1-9 TP7PREP allocation de PPCLOG 2-6 paramètres de réservation de place pour le fichier HOST 2-2 tpacall (verbe) 1-8 tpcall (verbe) 1-8 tpforward (verbe) 1-8 Transaction TDS exemple en COBOL C-1 programmation pour TUXEDO 3-1 Transactions TDS envoi de données (C) 3-10 envoi de données (COBOL) 3-7 nombre maximal admis par XCP2 2-7 réception de données (C) 3-9 réception de données (COBOL) 3-5 règles de programmation 3-11 Transactions TDS transactions arrêts prématurés 3-16 TUXEDO types de tampons 1-7 Type de tampon 3-2 U UBBCONFIG (fichier) UBUGERR (code retour) Utilisateur partenaire 1-7 3-11 4-5 V VIEW exemple de correspondance avec COBOL VIEW (type de tampon) 3-4 1-7 X XCP2 i-4 1-8 47 F2 30UT Rev01