Gérer les Exits et les appels externes

Cette section introduit les exits et les appels externes ainsi que la façon de les programmer.

Les appels externes et les exits sont utilisés pour :

  • Élargir l’exécution d’une vacation en lui permettant de faire référence à des données externes au paramétrage
  • Répéter une action et pouvoir l’appliquer à tous ou à un large sous-ensemble des CRE et des ME

Un appel externe est une fonction programmable appelée par les commandes du Langage de Manipulation des Données dans les règles de traduction et de modification. Un seul module de type appel externe est disponible.

Un exit est une fonction programmable appelée depuis un point fixe dans la cinématique d’une vacation de traduction. Plusieurs exits sont disponibles et leurs points d’appel sont explicités dans le document.

Les sources de ces fonctions sont situés dans le répertoire des exits (ou la bibliothèque SRCLIB sur MVS) de votre environnement d'exécution de Rule Engine. Les exits et appels externes peuvent être écrits en C ou en COBOL, selon les fonctions. La liste des exits disponibles dépend du type de mise en œuvre (mode JMS, mode MQSeries ou mode fichier).

Lors d'une vacation, vous pouvez activer plusieurs exits dans les 2 langages (C et COBOL). Pour activer les modules souhaités, il suffit de renseigner le mot-clé associé de la façon suivante :

  • yes_c pour activer le module en langage C
  • yes_cobol pour le module COBOL
  • yes_rdj53 pour activer le module en langage COBOL, compatible avec la version RDJ 1.5.3.2.

Chaque exit est codé dans un fichier source à part et porte un nom spécifique. Dans certains cas, une fonction donnée peut exister dans les 2 langages et porter le même nom mais une extension différente.

Certains champs alphanumériques peuvent avoir différentes descriptions selon le langage de programmation et le format (Latin ou UTF-16).

Langage/Manager

ASCII/EBCDIC

UTF-16

C

char

wchar_t

COBOL

PIC X

PIC N

Il en résulte que l’instruction MOVE sera différente dans les formats Latin et UTF-16.

Exemple :

  • Latin format :
    • MOVE 'NOMEXIT'  TO L-CRE (956:7).
    • MOVE REC-L10TYPTRT) TO REC-L10ZONERR.
  • UTF-16 format :
    • MOVE N'NOMEXIT' TO L-CRE (956:7).
    • MOVE FUNCTION NATIONAL-OF(REC-L10TYPTRT-X) TO REC-L10ZONERR.
Note   REC1-L10TYPTRT-X constitue la redéfinition alphanumérique du champ numérique REC-L10TYPTRT

Related Links