Accéder aux tables internes AccountingIntegrator

Dans les exits, lorsque vous accédez à des Tables par RDJTAB, le RuleEngine ouvre les fichiers Table en début de vacation et les ferme à la fin. Vous pouvez faire un appel aux Tables dans tous les exits et les appels externes par appel au module RDJTAB situé dans la DLL utilisée pour l’accès aux Tables. Cette DLL est également appelée lorsqu’il s'agit de faire des accès standards aux Tables dans les Règles de Traduction.

Plateforme Nom du répertoire DLL

Windows

$RDJ_HOME/bin

librdjges.dll

UNIX

$RDJ_HOME/bin

librdj ges.suff (librairie partagée)

z/OS

&RDJHOME.. EXELIB

RDJgesDL

Les données échangées

L’accès au module RDJTAB est écrit en COBOL ou C selon le langage utilisé dans les exits utilisateur ou les appels externes.

Les champs des données d’entrée/sortie sont listés dans les fichiers du répertoire exit :

  • fichier de <clause copy> LRDJTAB pour COBOL
  • fichier <header> rdjtabh.h pour le langage C

Données en ENTRÉE

Nom en COBOL Nom en langage C Type de donnée / longueur Utilisation

LXTYPTAB

sTypTab

Alphanumérique / 1

Type de Table :

  • S : uniquement accès à une table courte
  • L : uniquement accès à une table longue
  • Blanc : la table courte est accédée la première. Si l’argument n’est pas trouvé ET que l’indicateur de contrôle de table est vide, alors on accède à la table longue.

LXNOMTAB

sNomTab

Alphanumérique / 8

Nom de la Table

LXARGUMENT

sArgument

Alphanumérique / 128

Nom de l’argument

Longueur :

  • Tables courtes : 17 caractères maximum.
  • Tables longues : 128 caractères maximum.

LXDTARG

sDtArg

Alphanumérique / 7

Argument date (SAAMMJJ), par défaut la date du jour

Aucun contrôle n’est effectué sur la date mais celle-ci doit être antérieure à la date d'expiration.

Données en SORTIE

Nom en COBOL Nom en langage C Type de donnée / longueur Utilisation

LXTYPTAB

sTypTab

Alphanumérique / 1

Type de Table :

  • S : Table courte trouvée
  • L : Table longue trouvée

LXCDACC

sCdAcc

Alphanumérique / 1

Code d’accès rapide :

  • O : pour accès rapide
  • N : autrement

LXCDRETOUR

sCdRetour

Alphanumérique / 1

Code retour :

  • 0 (TAB_nEntryFound): entrée trouvée
  • 1 (TAB_nEntryNotFound): autrement

LXTABVAL

sTabVal

Alphanumérique / 256

Valeur attendue

LXLGARG

sLgArg

Alphanumérique / 4

Longueur des arguments de la Table

LXLGVAL

sLgVal

Alphanumérique / 4

Longueur des valeurs de la Table

LXCLARG

sClArg

Alphanumérique / 1

Classe des arguments de la Table

LXCLVAL

sClVal

Alphanumérique / 1

Classe des valeurs de la Table

LXCDERR

sCdErr

Alphanumérique / 7

Code erreur :

  • Blanc : poste trouvé
  • 0001580: Table non trouvée
  • 0001623: Poste non trouvé

LXCDVALDEF

sCdValDef

Alphanumérique / 1

Indicateur de valeur par défaut :

  • O : si le poste trouvé correspond à la valeur par défaut de la table
  • N : autrement

LXCTRLTAB

sCtrlTab

Alphanumérique /1

Indicateur de contrôle de Table

Le contrôle de table ne s’applique que si le poste n'est pas trouvé ('O','N' ou espace '.')

Remarque :

  • Une Table mise à jour par la procédure rdjmaj est une table courte OU une table longue mais jamais les deux à la fois.
  • Si un poste n’est pas trouvé, il est recommandé de ne pas laisser vide le paramètre “indicateur de contrôle de Table” dans la définition de la table de façon à pouvoir tester s’il y a erreur ('O') ou pas ('N').

Mise en œuvre

Dans les exits Cobol ou l’appel externe ITR501 :

  • Ajoutez la ligne suivante dans la section <Working-Storage> :
    COPY LRDJTAB.
  • Appelez le module RDJTAB dans les différents processus.
    Pour plus d’information, reportez-vous dans les Annexes à l’exemple qui appelle RDJTAB en langage COBOL.

Dans les exits C ou l’appel externe ITR501 :

  • Ajoutez la ligne suivante dans la description générale :
    "#include "rdjtabh.h"

Appelez le module RDJTAB dans les différents processus.
Pour plus d’information, reportez-vous dans les Annexes à l’exemple qui appelle RDJTAB en langage C.

Related Links