PRESENTATION DE RDJ Eléments essentiels

PRESENTATION DE RDJ
Eléments essentiels
PRESENTATION DE RDJ
Eléments essentiels
Assistance
Technique
Informatique
Rédacteur : Bernard NGUYEN
© Copyright 2009 - tous droits réservés à UTiGROUP.
page 1
Table des matières
A. NOTION DE RDJ ET SON UTILITE POUR LE SYSTEME D’INFORMATION .....................................................................3
A1. Formatage des données ...................................................................................................................................................5
A2. Fonctions de contrôle ......................................................................................................................................................5
A3. Constitution de fichiers de données.................................................................................................................................5
A.3.1. Récupération des informations..................................................................................................................... 5
A.3.2. Transcodage des informations ...................................................................................................................... 6
A.3.3. Déduction........................................................................................................................................................ 6
A4. Messages d’erreurs .........................................................................................................................................................6
B. PRINCIPALES COMPOSANTES DU PARAMETRAGE .............................................................................................................7
B1. Format d’entrée...............................................................................................................................................................7
B2. Format de sortie ..............................................................................................................................................................8
B3. Les objets de garnissage................................................................................................................................................10
B.3.1. La composition d’une règle ......................................................................................................................... 14
B.3.2. La table et les appels en table...................................................................................................................... 16
B.3.3. La variable. Les pré-calculs ........................................................................................................................ 17
B.3.4. IF … THEN … ELSE .................................................................................................................................. 17
B4. Normes d’intégrité - dictionnaires.................................................................................................................................21
B5. Le LMD ou Langage de Manipulation des Données .....................................................................................................22
B6. Les fonctions comptables : ............................................................................................................................................33
B7. Les imports : ..................................................................................................................................................................35
C. EXEMPLES D’UTILISATION DE RDJ ........................................................................................................................................36
page 2
Assistance
Technique
Informatique
A. Notion de RDJ et son utilité pour le système d’information
RDJ, abréviation de ‘’Règles Du Jeu’’, est un progiciel répondant aux objectifs majeurs suivants :
•
•
•
•
•
permettre l’intégration de solutions comptables dans les systèmes d’information
faciliter la justification des écritures comptables (piste d’audit)
interpréter (traduire) des actes de gestion en écritures comptables et/ ou autres données
alimenter en données les bases comptables et réglementaires
assurer un suivi technique et fonctionnel des données d'alimentation traitées, afin de détecter au
plus vite les anomalies éventuelles
RDJ peut donc prendre en charge les traitements sur les données nécessaires lors de la communication
entre les différentes applications du système d'information comptable et/ou réglementaire d'une entreprise.
Fonctionnellement, RDJ gère donc les flux de données issus d'une application, les contrôle, les enrichit, les
transforme (transcoder, additionner, soustraire, …), avant de fournir les données nécessaires à d'autres
applications du système d'information (systèmes de synthèse).
Dans le cas de l'ajout d'une nouvelle application dans le système d'information, il n'est pas nécessaire de
modifier les applications du système central, pour intégrer cette nouvelle application, car il suffit de
paramétrer RDJ pour qu'il assure l'interface entre cette nouvelle application et celles existantes.
page 3
Assistance
Technique
Informatique
Voici un exemple d’architecture faisant appel à RDJ pour ‘’normaliser’’ les échanges (source : manuel de
référence RDJ) :
page 4
Assistance
Technique
Informatique
A1. Formatage des données
Le formatage des données, consiste pour le paramétreur à indiquer à RDJ la structure des flux
d’entrée et de sortie. Il peut y avoir plusieurs flux d’entrée (suivant le nombre d’applications de gestion)
et plusieurs flux de sortie (comptable, réglementaire, statistique,…).
Le formatage consiste en fait à définir les ensembles de données utilisées par les différents types de
règles qui vont être paramétrés.
Un format est composé de champs : c’est un ensemble organisé de champs tels qu'ils doivent être
perçus par Règles Du Jeu.
Les types de données du format sont :
-
A : Alphanumérique,
N : Numérique,
S : Signé,
D : Date.
A2. Fonctions de contrôle
RDJ comporte une fonction d’audit, dont la mise en œuvre permet de fabriquer un historique des
déroulements des traitements, afin de pouvoir justifier ultérieurement de l'origine d'un paramétrage
donné.
Cet historique est mis à la disposition de l’utilisateur, qui doit fabriquer des outils de consultation de cet
historique, en fonction de ses propres besoins.
L'objectif est, par exemple, de savoir, à partir d’une référence back office contenue dans un flux (fichier)
d’entrée à RDJ, quelles données (terme de ME ou Mouvement Elémentaire) ont été fabriquées en
sortie de RDJ.
Inversement, il permet de retrouver les références back office à partir d’une donnée fabriquée par RDJ.
RDJ fait pour cela une photographie des données essentielles d'un enregistrement. Le principe
consiste à extraire certains champs (paramétrés pour cette règle) et à les chaîner pour constituer la
trace d'audit.
RDJ attribue un identifiant de compostage à chaque enregistrement (d'entrée ou de sortie) qui doit
être audité.
Cet identifiant de compostage permet d'identifier de façon unique la trace qui lui correspond.
La règle d'audit est définie par un ensemble de champs à extraire, pour constituer la trace d'audit. Au
moins un champ doit être défini pour une version de règle d'audit.
A3. Constitution de fichiers de données
A.3.1. Récupération des informations
RDJ peut récupérer toute information contenue dans un des fichiers d’entrée que l’interface prend en
charge, que cette information soit numérique, alphanumérique ou de type date.
page 5
Assistance
Technique
Informatique
A.3.2. Transcodage des informations
RDJ offre la possibilité de transformer une information du flux d’entrée, en une donnée de valeur
différente en sortie de RDJ.
La plupart du temps, et pour des raisons de contrôle, ce transcodage se fait à travers d’une table, afin
que RDJ puisse signaler une valeur absente en entrée de cette table.
Exemple : Table ‘’type d’opération’’
valeur
d'entrée
achat
vente
prêt
emprunt
valeur
de sortie
01
02
03
04
Ainsi, lorsque dans une ligne du fichier d’entrée à RDJ, dans le champ « type d’opération », il y aura
la valeur ‘’vente’’, RDJ affectera dans le champ de sortie correspondant au type d’opération, la valeur
‘’02’’.
A.3.3. Déduction
Il s’agit d’une variante plus avancée du transcodage, puisque le paramétreur peut, par exemple,
souhaiter mettre une valeur par défaut dans les autres cas, ou appliquer d’autres règles
d’alimentation des champs du format de sortie.
Pour reprendre l’exemple précédent, on peut très bien demander à RDJ, lorsque le type d’opération
n’est pas présent dans la table ‘’type d’opération’’, non pas de rejeter la ligne du fichier d’entrée, mais
de mettre une valeur par défaut (par exemple ‘’00’’) ou encore un message d’erreur (voir point A.4).
A4. Messages d’erreurs
Le moteur de traduction gère, tout au long du traitement l'intégrité des fichiers traités.
Cela signifie que les produits résultant d’un traitement sont générés uniquement si aucune anomalie de
traitement ou de contrôle n'est décelée au cours du traitement.
Ces données sont générées quand toutes les règles du traitement, appliquées à tous les champs, de
toutes les lignes (appelés, CRE –compte rendu d’évènement- pour la partie comptable, et CRI –compte
rendu d’inventaire- ou CRS -compte rendu de stock- pour la partie gestion) des fichiers et tous les
contrôles internes à RDJ, sont sans erreur.
Un CRE ou CRS ou CRI est dit « en anomalie de traduction » (traitement RDJ) si au moins une partie
de la traduction est en erreur (par exemple, valeur d’entrée inexistante dans la table).
Les produits issus des phases sans erreur restent valides et sont générés en sortie.
Cet enregistrement doit être recyclé (nouveau traitement, illustré ci-dessous. Source : manuel de
référence RDJ), après correction, pour l'application de tous les traitements qui lui sont associés.
page 6
Assistance
Technique
Informatique
B. Principales composantes du paramétrage
B1. Format d’entrée
La première étape dans la mise en place de RDJ consiste à définir les entrées à prendre en compte.
Exemple (dans la réalité, le format est beaucoup plus long) :
Num
Nom
libellé
Position
Longueur
1
CH0001
CDR
1
5
2
CH0002
COMPTE
6
10
3
CH0003
DEVISE
16
3
4
CH0004
TIERS
19
8
5
CH0005
INSTRUMENT
27
9
6
CH0006
REF_BO
36
18
7
CH0007
REF_FO
54
18
8
CH0008
CODE_ISIN
72
18
9
CH0009
REF_MONTAG
90
18
10
CH0010
DATE_NEGO
108
8
Les entrées sont issues de systèmes opérationnels (Système de gestion de Portefeuille, Paie, Gestion
des opérations de titres)
Les entrées de RDJ sont appelées des CRE, CRI, CRS,… suivant les cas.
Chaque enregistrement représente un ensemble d'informations homogènes, rendant compte d'un
événement déterminé, survenu dans une application en amont de RDJ.
Le format reflète donc l'ordonnancement et la description des données de l'enregistrement telles
qu'elles sont perçues par RDJ lors de son exécution.
page 7
Assistance
Technique
Informatique
Chaque champ du format est caractérisé par :
- un nom, qui permet de l'invoquer dans les phrases de garnissage et les conditions
- une nature (numérique, alphanumérique, date)
- une longueur
B2. Format de sortie
La deuxième étape dans la mise en place de RDJ consiste à définir les sorties à renseigner.
Exemple (dans la réalité, le format est beaucoup plus long) :
Num
Nom
libellé
Position
Longueur
1
RP0001
CDR
1
5
2
RP0002
COMPTE
6
10
3
RP0003
DEVISE
16
3
4
RP0004
TIERS
19
8
5
RP0005
INSTRUMENT
27
9
6
RP0006
REFERENCE
36
18
Les sorties vont alimenter des systèmes de synthèses comptables ou financier (comptabilité générale,
comptabilité analytique, base réglementaire, …)
Les sorties de RDJ sont appelées des Mouvements Elémentaires (ME).
Chaque ME représente un ensemble homogène d'informations, à destination d'une application en aval
de RDJ. Un ME est composé d'un seul enregistrement.
Remarque :
Il est possible d’intégrer dans RDJ un format à partir d’un fichier Excel, par exemple (fonction d’import).
Ci-dessous, un graphe sur les statuts applicables à un format RDJ (source : manuel de référence RDJ):
page 8
Assistance
Technique
Informatique
page 9
Assistance
Technique
Informatique
B3. Les objets de garnissage
Le Garnissage est l'ensemble du paramétrage, permettant d'alimenter les champs d'un enregistrement
final à partir des champs d'un enregistrement initial.
Lors de la traduction, le remplissage des champs de l'enregistrement final suit l'ordre alphabétique des
noms de champs.
Cet ordre génère automatiquement un numéro, qui repère le champ garni : ce numéro s'appelle l'ordre
de garnissage.
Le garnissage est l'ensemble des opérations permettant de modifier les champs de l'enregistrement.
Seuls les champs qui doivent être modifiés sont à garnir ; la valeur des autres champs est inchangée.
La Traduction par RDJ consiste à construire des ME à partir des CRE, CRI ou CRS.
Cette construction peut être effectuée grâce aux fonctions suivantes :
- l’agrégation,
- l’enrichissement,
- la transformation.
L'agrégation permet de rassembler, en un seul, plusieurs enregistrements de même nature. Elle
s'applique sur des enregistrements possédant des critères identiques et permet, selon les options
choisies, de calculer des sommes, des moyennes, des dénombrements, ...
L'enrichissement (par une Base Tiers par exemple) permet d'apporter des informations
supplémentaires à celles déjà contenues dans les enregistrements.
La transformation permet de construire un ensemble de ME, à partir des informations contenues dans
un enregistrement de CRE, CRI, CRS.
Cette construction s'effectue grâce à un langage utilisateur mettant en œuvre des fonctions de calculs
arithmétiques, de transferts de données, d'accès à des données extérieures, ...
D'autre part, certaines fonctions de suivi de la construction peuvent être mises en oeuvre :
- le contrôle,
- l’audit.
Le contrôle permet de vérifier les enregistrements, pour éventuellement les rejeter afin de les corriger
et de les recycler en traduction.
L'audit permet de photographier les enregistrements à un instant donné de la traduction. Ces
photographies peuvent ensuite être conservées, pour pouvoir témoigner du cheminement d'une
traduction exécutée à une date donnée, sur un CRE donné.
Le graphique ci-dessous (source : manuel de référence RDJ) illustre la description précédente :
page 10
Assistance
Technique
Informatique
page 11
Assistance
Technique
Informatique
De même que les CRE, CRI, CRS sont soumis à des traitements spécifiques, les ME (Mouvements
Elémentaires) sont aussi soumis à ses propres traitements, comme le décrit le graphe ci-dessous
(source : manuel de référence RDJ).
page 12
Assistance
Technique
Informatique
Par ailleurs, certains contrôles appliqués aux flux d’entrée de RDJ, peuvent être appliquées sur les ME
générés en sortie, résultats de la traduction de CRE, CRI, CRS:
- le contrôle comptable
- le contrôle d'équilibre
Le contrôle comptable permet de vérifier la correction de certaines données comptables contenues
dans les ME.
Le contrôle d'équilibre permet de vérifier un équilibre (ou un déséquilibre) sur un ensemble
d’écritures comptables, en fonction de certains critères.
page 13
Assistance
Technique
Informatique
B.3.1. La composition d’une règle
Il existe dans RDJ deux types de règles :
Règle de modification :
La règle de modification fournit un service d'enrichissement des données d'un enregistrement de
CRE, CRI, CRS.
Cette mise à jour s'effectue par le Garnissage des champs de l'enregistrement à partir des données
contenues dans ce même enregistrement. Ce garnissage est paramétré grâce au langage spécifique à
RDJ (LMD ou Langage de Manipulation de Données).
Cette règle effectue un enrichissement de l'enregistrement :
-
soit en renseignant des champs vides,
soit en modifiant des champs déjà renseignés.
Une règle de modification s'applique sur un seul enregistrement de CRE, CRS, CRI à la fois, pour
produire un seul enregistrement modifié à chaque exécution.
Règle de traduction :
La règle de traduction fournit un service de transformation des données d'un enregistrement de CRE,
pour générer un ou plusieurs ME.
Cette génération s'effectue par le Garnissage des champs de chaque ME à partir des données
contenues dans l'enregistrement de CRE, CRS, CRI.
Ce garnissage est paramétré grâce au Langage de Manipulation des Données de RDJ, appelé LMD.
Une règle de traduction s'applique à un seul enregistrement de CRE, CRI, CRS à la fois, et produit des
ME à chaque exécution en respectant des consignes de génération, appelées schémas.
Les ME ou Mouvement Elémentaire :
Chaque ME est défini par :
-
un numéro d'ordre,
un et un seul format,
une condition de génération (facultative),
le garnissage de chacun de ses champs (champs vides par défaut).
Le numéro d'ordre d'un ME permet de le citer dans les schémas qui doivent le générer.
La condition de génération de ME est un préalable à la création du ME décrit : le ME n'est généré
que si la condition de génération est vérifiée.
Elle est facultative : lorsque la condition de génération d'un ME n'est pas précisée, le ME est toujours
généré (s'il est cité dans le schéma exécuté).
Elle s'exprime en utilisant le LMD.
Chaque champ (garni ou utilisé pour un garnissage) est identifié par son nom dans le format de
l'enregistrement.
page 14
Assistance
Technique
Informatique
Le garnissage utilise des champs de l'enregistrement de CRE, CRI, CRS, des contenus de tables et
des résultats d'appels externes en les faisant intervenir dans des combinaisons de :
-
calculs arithmétiques,
affectations,
concaténations,
accès en tables,…
Langage de Manipulation des Données :
Le Langage de Manipulation des Données est l'outil de codification des garnissages, des schémas et
des conditions, utilisé pour renseigner les champs d'un enregistrement final.
Chaque phrase de garnissage ou de condition comprend :
-
des opérandes : noms (ou partie) de champs, constantes, valeurs récupérées dans des
tables,
des séparateurs : parenthèses, point-virgules, espaces, ...
des opérateurs : cités ci-dessous.
Les opérateurs proposés par le LMD peuvent être combinés dans les phrases de garnissage ou de
condition. Ils offrent les possibilités suivantes :
-
transfert de champs ou de constantes,
concaténation de champs et de constantes,
calculs arithmétiques (addition, soustraction, division, multiplication),
comparaisons de champs entre eux ou avec des constantes,
paramétrage de conditions,
extraction de parties de champs ou de dates,
fonctions de manipulation de dates :
nombre de jours entre 2 dates,
extraction du quantième d'une date,
prise en compte de la date système,
calcul d'une date plus ou moins N jours,…
-
utilisation de tables,
utilisation des valeurs d'environnement de RDJ,
activation d'appel externe personnalisé par des fonctions privilégiées
mise en anomalie du CRE, CRI , CRS traité par la règle
fonctions de reformatage des données.
Chacun de ces opérateurs est paramétré par un mot réservé et doit respecter une syntaxe précise, qui
est vérifiée lors de la saisie des phrases.
page 15
Assistance
Technique
Informatique
B.3.2. La table et les appels en table
La structure d'une table contient les colonnes Argument et Valeur.
La structure d'une table est définie par :
-
-
son nom,
la description de la colonne Argument :
• sa nature (Alphanumérique, Numérique, Date),
• sa longueur
la description de la colonne Valeur :
• sa nature (Alphanumérique, Numérique, Date),
• sa longueur.
Le contenu d'une table est composé d'un nombre variable de postes de table.
Chaque poste de table est composé :
-
d’un argument : c'est la valeur du critère de recherche dans la table,
d’un ensemble de valeurs associées à des périodes de validité différentes : l'une d'elle
constitue la réponse à la recherche dans la table à une date donnée. Chaque période de
validité est définie par une date de début et une date de fin de validité.
Un ensemble (argument, date de début de validité, date de fin de validité, valeur) constitue une version
de poste de table.
Il faut qu'à un argument de recherche, pour une date précise, corresponde au plus une valeur associée.
Il est possible de définir pour la table une valeur par défaut, qui sera restituée dans le cas d'une
recherche infructueuse.
Les fonctions d'utilisation des tables dans le LMD sont les suivantes :
-
contrôle d'existence d'un argument en fonction de la date selon laquelle les traitements
s'effectuent,
contrôle d'existence d'un argument en fonction d'une date spécifiée,
récupération de la valeur associée à l'argument en fonction de la date selon laquelle les
traitements s'effectuent,
récupération de la valeur associée à l'argument en fonction d'une date spécifiée,
extraction d'une partie de la valeur associée à l'argument en fonction de la date selon
laquelle les traitements s'effectuent,
extraction d'une partie de la valeur associée à l'argument en fonction d'une date spécifiée.
Récupération de la valeur d'un poste
$ACCTAB ( TABLEREF ; ZONECRE1 )
Récupération partielle de la valeur d'un poste
NBJMOIS $EXTTAB ( DEFMOIS ; "0011002N" ; $MONTH ( DATEMVT ) )
page 16
Assistance
Technique
Informatique
B.3.3. La variable. Les pré-calculs
Pour éviter de répéter plusieurs fois la même expression dans les phrases de garnissage, les
conditions de génération de ME ou les conditions de schéma, il est possible de gérer des pré-calculs
ou des variables pour la règle de traduction.
Un pré-calcul de règle de traduction est défini par :
- un nom,
- une nature (alphanumérique, numérique, date, ...),
- une longueur en nombre de caractères,
- une phrase de garnissage (obligatoire).
La phrase de garnissage d'un pré-calcul est l'expression qui permet de calculer sa valeur. Elle
s'exprime en utilisant le LMD.
Les pré-calculs définis pour une règle de traduction peuvent être utilisés pour exprimer le garnissage
des ME, les conditions de génération de ME, ou les conditions de schémas ; ils sont identifiés par leur
nom.
Lors de l'exécution de la règle de traduction, les pré-calculs ne seront effectués que si la condition des
pré-calculs est vérifiée. Cette condition s'exprime en utilisant le LMD. Elle est facultative.
Les variables et pré-calculs, définis par ailleurs peuvent être utilisés (comme un champ
d'enregistrement de CRE) ou modifiées :
-
dans les conditions :
•
•
•
•
-
de schémas,
de génération de ME,
de modification d'enregistrement,
de pré-calculs,
dans les garnissages :
•
•
•
•
de champs de ME,
de champs d'enregistrements modifiés,
de pré-calculs,
de variables.
Selon leur fréquence d'initialisation, elles sont réinitialisées à différents moments du traitement.
Exemple de variable :
@NBR_ME := NB_GENE*2
B.3.4. IF … THEN … ELSE
C’est une des syntaxes les plus utilisées dans RDJ.
Elle permet de définir une action à partir d’une condition, et l’on peut faire une imbrication de conditions et
d’actions.
IF ZONECRI = ‘’01’’ THEN ‘’AA’’
ELSE IF ZONECRI = ‘’02’’ THEN ‘’BB’’
ELSE IF ZONECRI = ‘’03’’ THEN ‘’CC’’
page 17
Assistance
Technique
Informatique
page 18
Assistance
Technique
Informatique
Voici un exemple concret de paramétrage RDJ (version française) contenant la condition IF …
THEN…ELSE (source : manuel de référence RDJ) :
page 19
Assistance
Technique
Informatique
Une fois le paramétrage réalisé, il doit être exporté vers le serveur de test, comme l’illustre le graphe cidessous (source : manuel de référence RDJ) :
page 20
Assistance
Technique
Informatique
B4. Normes d’intégrité - dictionnaires
Il existe des normes en matière de paramétrage, qui permettent d’avoir une cohérence des données RDJ.
-
Un objet ne peut être supprimé que s'il n'est pas utilisé par d'autres objets.
-
Un objet ne peut être utilisé pour décrire un autre objet que s’il n'est pas en cours de modification.
Par exemple, un champ du dictionnaire peut être utilisé pour décrire un format seulement si, à cet
instant, le champ lui-même et le type de données sur lequel il s'appuie, ne sont pas en cours de
modification.
-
De même, un objet ne peut être modifié que s’il n'intervient pas dans la description d'un objet en
cours de modification, et s’il n'utilise pas, dans sa description, un objet en cours de modification. Par
exemple, tant qu'une version de règle de traduction est en cours de modification, le format sur lequel
elle s'appuie ne peut pas être modifié, mais il peut être visualisé.
-
Toute modification d'un objet influence automatiquement la description de tous les objets qui lui font
référence, directement ou non. Par exemple, l'ajout d'un champ dans une version de format est
directement répercuté dans la structure des ME définis sur cette version de format.
Dans le même ordre d’idée, l’existence de dictionnaires participe à la normalisation des données.
En effet, l'utilisation des dictionnaires de types de données et de champs permet de normer et de
centraliser la description des informations de l'entreprise dans le progiciel.
Les dictionnaires permettent de décrire l'information une seule fois, pour la rendre utilisable par tous les
objets qui en ont besoin, en limitant ainsi les descriptions multiples et incompatibles.
Par exemple, plusieurs utilisateurs amenés à décrire la même information dans des formats différents la
définissent exactement de la même façon s'ils utilisent le même champ du dictionnaire.
L'utilisation du dictionnaire réduit le nombre d'objets décrits, en évitant les répétitions.
Une utilisation systématique des dictionnaires garantit la cohérence des descriptions des informations de
l'entreprise dans le progiciel.
En effet, RDJ répercute automatiquement la modification d'un champ du dictionnaire sur tous les formats
qui l'utilisent, ainsi que la modification d'un type de données sur tous les champs, tables et règles de
traduction qui l'utilisent.
Une fonction du langage est généralement écrite sous la forme :
(OPERANDE1) <OPERATEUR> (OPERANDE2)
Exemples : CHAMP1 + CHAMP2
CHAMPNUM * 15
Cependant, certaines fonctions (accès en table, recherche ou contrôle par appel externe, calculs de date…)
s'écrivent sous la forme :
<OPERATEUR> ( PARAMETRE1 ; PARAMETRE2 )
Exemples : $ACCTAB ( TABLE ; ARGUMENT )
$NBDAYS ( DATE ; DATE2 )
$ENV ("SENDER ")
page 21
Assistance
Technique
Informatique
B5. Le LMD ou Langage de Manipulation des Données
Le LMD (Langage de Manipulation des Données) permet d'exprimer les paramétrages RDJ, destinés à
fabriquer les ME (Mouvement Elémentaire) par les règles de traduction ou les enregistrements de CRE,
CRI, CRS modifiés par les règles de modification.
Chaque fonction du langage est symbolisée par un mot ou un signe réservé, appelé opérateur, auquel sont
associés, selon la syntaxe de la fonction :
-
un ou plusieurs opérandes
-
un ou plusieurs paramètres
Cette syntaxe est ensuite contrôlée par le progiciel RDJ, à l'issue de la saisie des phrases.
Dans un garnissage, les relations entre les différentes fonctions sont symbolisées par des séparateurs,
comme les parenthèses ou les espaces, qui imposent un ordre d'exécution aux traitements.
En l'absence de parenthèses, un ordre implicite est respecté :
-
de gauche à droite en respectant la priorité arithmétique pour les opérateurs de calcul. La
multiplication ( * ) et la division ( / ) sont exécutées avant l'addition ( + ) et la soustraction (- ),
-
de droite à gauche pour les autres opérateurs.
A noter que la longueur maximale d'une phrase est de 1200 caractères (espaces inclus), sauf pour les
conditions d'exécution de schémas, où cette longueur maximale est de 455 caractères.
La longueur maximale des constantes utilisées dans les phrases est de :
-
256 caractères pour un schéma
-
356 caractères pour l'ensemble des garnissages associés à un ME.
Voici la synthèse des principales fonctions utilisables dans les garnissages (=paramétrages) de RDJ :
La concaténation de données :
Cette fonction permet d'assembler, bout à bout, plusieurs valeurs initiales.
Syntaxe : OPERANDE1 & OPERANDE2
Exemples :
ZONECRE3 "LIBELLE1" & CHAMP5 & $ACCTAB (TABLEREF;CHAMP5)
ZONECRE3 est le résultat de la concaténation du libellé alphanumérique "LIBELLE1", de la valeur du
champ d'enregistrement CHAMP5 et de la valeur de poste associée à la valeur de CHAMP5 dans la table
TABLEREF
page 22
Assistance
Technique
Informatique
L’extraction d'éléments d'une date :
Ces fonctions permettent d'extraire d'un champ date :
-
la valeur du jour : c'est la fonction $DAY
-
la valeur du mois : c'est la fonction $MONTH
-
la valeur de l'année sur 2 caractères (nombre dizaine et unité de l'année) : c'est la fonction $YEAR
-
la valeur de l'année sur 4 caractères : c'est la fonction $YEAR4.
Syntaxe :
$DAY (OPERANDE1) $MONTH (OPERANDE1)
$YEAR (OPERANDE1) $YEAR4 (OPERANDE1)
Les parenthèses sont obligatoires, OPERANDE1 est une date.
Paramètres :
OPERANDE1 peut être :
-
un champ d'enregistrement
-
un pré-calcul.
Pour les fonctions $DAY, $MONTH, $YEAR, le type de données de OPERANDE1 doit obligatoirement être
D (date) ou N (de longueur compatible avec une date, c'est à dire N(6), N(7) ou N(8))
Pour la fonction $YEAR4, le type de données de OPERANDE1 doit obligatoirement être D(8) ou N(8).
Exemples :
CHAMPME1 $DAY (DATECRE1)
CHAMPCRE2 $YEAR (DATECREBIS)
CHAMPME3 $MONTH (DATECRE2)
CHAMPME4 $YEAR4 (DATECRE2)
Calcul du nombre de jours entre deux dates :
Cette fonction permet de fournir le nombre de jours réels entre deux dates (sans notion de jours ouvrés ou
ouvrables).
Syntaxe :
$NBDAYS ( OPERANDE1 ; OPERANDE2 )
Les parenthèses et le point-virgule sont obligatoires, OPERANDE1 et OPERANDE2 sont des dates.
Paramètres :
Les types de données de OPERANDE1 et OPERANDE2 doivent obligatoirement être D (date) ou N (de
longueur compatible avec une date, c'est à dire N(6), N(7) ou N(8)).
Exemples :
Champ récepteur Garnissage
CHAMPME1 $NBDAYS ( DTNAISS ; $SYSDATE )
page 23
Assistance
Technique
Informatique
L’extraction partielle d'un champ :
Cette fonction permet d'extraire une partie d'un champ d'enregistrement de CRE, sans avoir à le redéfinir.
Syntaxe : l'extraction est définie par les paramètres qui suivent le nom du champ à traiter.
CHAMPCRE ("PPPPLLLT")
-
Les parenthèses et les doubles guillemets sont obligatoires
-
CHAMPCRE est un champ d'enregistrement de CRE
-
PPPP est la position dans le champ à partir de laquelle l'extraction doit être effectuée (4 caractères
numériques)
-
LLL est la longueur de la zone à extraire dans le champ (3 caractères numériques)
-
T est le type de données de la zone à extraire dans le champ (A, N, D).
Exemples
CODEPOST ADR_VILLE ("0001005N")
DPT_NAISS NUMSECU ("0006002N")
Les calculs arithmétiques :
Ces fonctions permettent d'effectuer des calculs arithmétiques : addition, soustraction, division,
multiplication.
Syntaxes :
Addition : OPERANDE1 + OPERANDE2
Soustraction : OPERANDE1 - OPERANDE2
Division : OPERANDE1 / OPERANDE2
Multiplication : OPERANDE1 * OPERANDE2
OPERANDE1 et OPERANDE2 sont des nombres.
Exemple de calcul de MT_ASS :
IF TX_ASS <> 0
THEN MT_ASS1 + MT_ASS2 + MT_ASS3 +MT_ASS4 + MT_ASS5
ELSE $ACCTAB ( ASSURANCE ; CATPRET )
Opérateurs logiques et de comparaisons :
Ces opérateurs sont utilisables dans toutes les conditions des phrases du langage.
Syntaxes :
Egalité : OPERANDE1 = OPERANDE2
Différence : OPERANDE1 <> OPERANDE2
Supériorité stricte : OPERANDE1 > OPERANDE2
page 24
Assistance
Technique
Informatique
Infériorité stricte : OPERANDE1 < OPERANDE2
Supériorité : OPERANDE1 >= OPERANDE2
Infériorité : OPERANDE1 <= OPERANDE2
Les opérateurs "différence", "supériorité" et "infériorité" comportent des doubles signes (respectivement <>,
>=, <=). Ces doubles signes doivent être obligatoirement collés (sans espace).
OPERANDE1 et OPERANDE2 sont des nombres.
Inclusion : ( EXPRESSION1 ) AND ( EXPRESSION2 )
Exclusion : ( EXPRESSION1 ) OR ( EXPRESSION2 )
Les expressions doivent obligatoirement être délimitées par des parenthèses lors de l'utilisation de AND et
OR. Un espace est obligatoirement requis de chaque côté des opérateurs.
EXPRESSION1 et EXPRESSION2 sont des expressions de comparaisons.
Exemples de calcul de ZONECREFIN :
IF ( CPT <> 963521 ) THEN ZONECRE2&"956AAA"
ELSE "963"&ZONECRE2&"XXX"
Garnissage conditionnel :
Cette fonction permet d'introduire des conditions dans le garnissage d'un champ récepteur.
Syntaxe : IF <CONDITION> THEN <EXPRESSION1> ELSE <EXPRESSION2>
Paramètres :
CONDITION est une expression utilisant les opérateurs de comparaison et les opérateurs logiques,
EXPRESSION1 et EXPRESSION2 sont des expressions de garnissage pouvant combiner les différentes
fonctions du langage. Leurs types de données doivent être compatibles, puisque destinés à renseigner le
même champ récepteur.
EXPRESSION1 est appliquée si CONDITION est vraie.
EXPRESSION2 est appliquée si CONDITION est fausse.
Exemples de calcul de REFME1 :
IF $ACCTAB ( TAB03 ; CODEVTRDJ) <> " "
THEN $ACCTAB ( TAB03 ; CODEVTRDJ)
ELSE CDAINIT
Si le poste de table est renseigné, sa valeur est reportée dans le champ récepteur, sinon, la valeur du
champ CDAINIT est reportée dans le champ récepteur
On peut enchaîner les conditions :
IF cond1 THEN expression1 ELSE IF cond2 THEN expression2 ELSE expression3
Les conditions sont testées l'une après l'autre :
page 25
Assistance
Technique
Informatique
-
expression1 est exécutée si cond1 est vraie
-
cond2 est testée uniquement si cond1 est fausse
-
expression2 est exécutée si cond1 est fausse et si cond2 est vraie
-
expression3 est exécutée si cond1 et cond2 sont fausses.
On peut imbriquer les conditions :
IF cond1 THEN IF cond2 THEN expression1 ELSE expression2 ELSE expression3
Toutes les conditions sont testées :
-
expression1 est exécutée si cond1 et cond2 sont vraies
-
expression2 est exécutée si cond1 est vraie et si cond2 est fausse
-
expression3 est exécutée si cond1 et cond2 sont fausses.
Mise en anomalie du CRE :
Cette fonction met en anomalie le CRE en cours de traitement. Son utilisation permet de contrôler
l'enregistrement de CRE.
Elle est utilisée dans les conditions de garnissage ou de génération pour mettre le CRE en anomalie dans
les cas où certaines conditions rencontrées sont remplies, et correspondent à une anomalie de
fonctionnement dans le système.
Syntaxe :
$ERR (EXPRESSION)
Les parenthèses sont obligatoires.
Paramètres :
-
Le résultat de EXPRESSION permet de renseigner le message d'erreur associé à la mise en anomalie
-
La longueur du message d'erreur généré ne peut pas excéder 50 caractères. Si cette limite est
dépassée, le message d'anomalie est tronqué.
Exemples pour le champ REFME1 :
IF REFCRE3 = $ACCTAB ( TABLEREF ; ZONECRE1 )
THEN REFCRE3&ZONECRE1
ELSE $ERR ( "REFERENCE INEXISTANTE : "&REFCRE3 )
Dans le cas où la valeur de REFCRE3 n'est pas référencée en table TABLEREF, le CRE est mis en
anomalie avec le message "REFERENCE INEXISTANTE : "associé à la valeur de REFCRE3
Condition de génération de ME ou de modification d'enregistrement :
Ces fonctions permettent de définir des conditions de déclenchement de la génération de ME ou de la
modification d'enregistrement.
Syntaxe :
La fonction est implicite.
La condition est renseignée dans la fenêtre Condition de la règle de traduction et de modification. Il n'y a
qu'une expression, qui est la condition à vérifier pour générer le ME ou pour modifier l'enregistrement.
page 26
Assistance
Technique
Informatique
EXPRESSION1
Paramètres :
EXPRESSION1 est une expression utilisant les opérateurs logiques et de comparaison. Elle peut utiliser
des champs d'enregistrements de CRE, des constantes, des valeurs de tables, des pré-calculs et des
variables.
Exemples de condition de génération de ME :
( $ACCTAB ( TABLEREF ; CATPRET ) > 310 ) AND
(NOMINAL >= 500000 )
Le ME est généré si le résultat d'accès en table est strictement supérieur à 310 et la valeur de NOMINAL
est supérieure à 500000.
Condition de modification d'enregistrement :
(REFCRE1 = " ") OR (REFDEF > 100)
L'enregistrement de CRE est modifié si REFCRE1 contient des espaces, ou si la valeur de REFDEF est
strictement supérieure à 100.
Si la condition de génération de ME n'est pas vérifiée, le ME associé n'est pas créé. La traduction passe à
la création du ME suivant dans la liste des ME du schéma.
De même, si la condition de modification d'enregistrement n'est pas vérifiée, l'enregistrement de CRE n'est
pas modifié et la traduction passe à l'exécution de la règle suivante paramétrée pour le CRE en cours de
traitement.
Les accès en table :
Pour contrôle de l'argument selon la DAR (Date d’Application des Règles) ou une date précise :
Cette fonction permet de vérifier l'existence en table d'un argument donné en fonction de la DAR.
L'argument est considéré comme existant, s'il existe un poste de table dont la période de validité contient la
DAR.
Si cet argument existe, sa valeur est fournie en retour de la fonction.
Si l'argument n'existe pas, le CRE est mis en anomalie lors de sa traduction.
Syntaxe :
$CHECKTAB ( NOMTABLE ; OPERANDE1 )
-
Les parenthèses et le point-virgule sont obligatoires,
-
NOMTABLE est le nom d'une table existante,
-
OPERANDE1 est une expression dont la valeur sert d'argument de recherche dans la table citée.
Paramètres :
OPERANDE1 peut être :
-
un champ d'enregistrement,
-
une valeur constante,
-
une valeur en table,
-
un pré-calcul,
-
une variable.
page 27
Assistance
Technique
Informatique
Le type de données de OPERANDE1 doit obligatoirement être identique à celui défini pour l'argument dans
la structure de la table.
Caractéristiques du champ récepteur :
Le type de données du champ récepteur doit être compatible avec celui de la valeur défini dans la structure
de la table.
Exemple pour le champ ZONEME1 :
IF $CHECKTABD ( TABLEREF ; ZONECRE1 ;$SYSDATE ) = ZONECRE1
THEN ZONECRE1&VALDEFCRE
Pour récupération de la valeur du poste selon la DAR ou une date précise :
Cette fonction permet d'obtenir la valeur d'un poste de table en fonction d'un argument et de la DAR. Le
poste sélectionné est celui dont la période de validité contient la DAR.
Si le poste existe, sa valeur est restituée.
Si le poste n'existe pas, la mise en anomalie du CRE suit les normes définies dans le tableau expliquant les
combinaisons de paramétrage.
Syntaxe :
$ACCTAB ( NOMTABLE ; OPERANDE1 )
-
Les parenthèses et le point-virgule sont obligatoires
-
NOMTABLE est le nom d'une table existante
-
OPERANDE1 est une expression, dont la valeur sert d'argument de recherche dans la table citée.
Exemple pour le champ ZONEME1 :
$ACCTAB ( TABLEREF ; ZONECRE1 )
Pour récupération partielle de la valeur du poste selon la DAR ou une date précise :
Cette fonction est une variante de la fonction précédente.
Elle permet d'obtenir une partie de la valeur d'un poste de table en fonction d'un argument et de la DAR.
Le poste sélectionné est celui dont la période de validité contient la DAR.
Si le poste existe, une partie de sa valeur est restituée.
Si le poste n'existe pas, la mise en anomalie du CRE suit les normes définies dans le tableau expliquant les
combinaisons de paramétrage.
Syntaxe :
$EXTTAB ( NOMTABLE ; "PPPPLLLT" ; OPERANDE1)
-
Les parenthèses et le point-virgule sont obligatoires
-
NOMTABLE est le nom d'une table existante
page 28
Assistance
Technique
Informatique
-
PPPP est la position dans la valeur de table à partir de laquelle l'extraction doit être effectuée
(4 caractères numériques)
-
LLL est la longueur de la zone à extraire dans la valeur de table (3 caractères numériques)
-
T est le type de données de la zone à extraire (A, N, D)
-
OPERANDE1 est une expression, dont la valeur sert d'argument de recherche dans la table citée.
Exemple pour le champ NMJMOIS :
$EXTTAB ( DEFMOIS ; "0011002N" ; $MONTH ( DATEMVT ) )
Utilisation et modification des variables :
Les variables définies par ailleurs peuvent être utilisées (comme un champ d'enregistrement de CRE) ou
modifiées :
-
dans les conditions :
-
de schémas
de génération de ME
de modification d'enregistrement
de pré-calculs
dans les garnissages :
de champs de ME
de champs d'enregistrements modifiés
de pré-calculs
de variables.
Selon leur fréquence d'initialisation, elles sont réinitialisées à différents moments du traitement.
Syntaxe :
-
L'utilisation de la variable s'effectue en préfixant son nom par le caractère @ dans les expressions qui
l'utilisent.
-
La modification de la variable s'effectue par affectation d'une valeur à celle-ci.
-
L'affectation est symbolisée par les symboles deux points et égalité (:=). Ces deux symboles doivent
impérativement être collés (sans espace).
-
L'affectation de valeur à une variable peut être combinée à un garnissage de champ. Dans ce cas, elle
est séparée des instructions de garnissage par une virgule (,).
@VARIABLE
@VARIABLE := EXPRESSION1 , EXPRESSION2
-
VARIABLE est le nom d'une variable existante
-
EXPRESSION1 est l'expression de garnissage de la variable VARIABLE
-
L'ensemble (deux-points égalité) est obligatoire pour désigner une affectation de valeur à la variable
-
La virgule est obligatoire pour séparer l'affectation de variable de l'expression de garnissage.
-
EXPRESSION2 est l'expression de garnissage du champ récepteur (dans le ME ou l'enregistrement
modifié) ou l'expression de condition.
Exemple d’une variable REF_CLI :
@REF_CLI := IF $ENV ( "FIRSTGROUP" ) = "1"
THEN CRECLI , @REF_CLI&NUM_FACT
@REF_CLI est renseigné par CRECLI si c'est le début du lot. concaténation de @REF_CLI et NUM_FACT
page 29
Assistance
Technique
Informatique
On peut combiner le garnissage d'un champ et la modification d'une ou plusieurs variables.
Cela permet de stocker les informations dans les variables exactement au moment où l’on est sûr de la
validité des traitements associés.
L'affectation de valeurs à une variable lors d'un garnissage de champ se fait invariablement avant ou après
ce garnissage, selon les besoins du traitement.
L’utilisation de pré-calculs :
Un pré-calcul contient le résultat d'une expression réutilisable plusieurs fois dans la création des ME
associés à une règle de traduction.
Son utilisation se limite à l’application de la règle de traduction, à un enregistrement.
Il est symbolisé par un champ dans le format d'appui de la règle (sous réserve de disposer de l'espace
suffisant dans la définition du format).
Cela signifie que ce format d'appui ne doit pas utiliser la totalité des 4000 caractères autorisés, pour pouvoir
déclarer des pré-calculs.
Dans le cas contraire, l'utilisation de pré-calculs n'est pas possible.
Le pré-calcul défini pour une règle est ensuite utilisé comme un champ normal d'enregistrement de CRE
dans les garnissages :
-
de champs de ME
de variables.
Syntaxe :
Il n'y a pas de syntaxe particulière; le pré-calcul s'utilise comme un champ d'enregistrement.
Le garnissage du pré-calcul s'effectue dans l'onglet Expression associé au pré-calcul.
On peut définir plusieurs pré-calculs pour une règle. La limite de définition de ces pré-calculs est fixée par
l'espace disponible dans le format par rapport au maximum de 4000 caractères.
-
Si, par exemple, le format d'appui utilise 4000 caractères, aucun pré-calcul ne peut être défini
Si, par exemple, le format d'appui utilise 3000 caractères, 1000 caractères sont disponibles pour définir
et garnir des pré-calculs.
Les séparateurs :
Les différents garnissages sont différenciés par des séparateurs réservés, dont l'utilisation dépend du type
d'opérateur : l'espace, les parenthèses, le point-virgule, les doubles guillemets, les deux points, la virgule, le
caractère @.
L'espace est obligatoire dans les cas d'utilisation des mots réservés, pour les isoler des noms de champs
utilisés : AND, OR, IF, THEN, ELSE.
Dans les autres cas, leur utilisation n'est pas obligatoire. Cependant, elle facilite la compréhension des
phrases.
page 30
Assistance
Technique
Informatique
Le nombre d'espaces entre deux éléments d'une expression n'a pas d'influence sur la signification de la
phrase ; plusieurs espaces consécutifs équivalent à un seul espace séparateur. Cependant, chaque espace
est compté comme un caractère de l'expression.
Exemples :
L'expression A + B occupe 7 caractères. Elle produit le même résultat que l'expression A + B, qui occupe
5 caractères, ou que l'expression A+B, qui occupe 3 caractères.
L'utilisation des espaces favorise donc la lisibilité ; par contre, ils peuvent être supprimés dans le cas d'un
garnissage particulièrement long, pour gagner de la place.
Les parenthèses :
Elles sont obligatoires pour délimiter :
-
-
les paramètres des fonctions :
d'accès en table comme $ACCTAB
de recherche ou contrôle par appel externe comme $SEARCH ou $CHECK
de calculs et manipulations de dates comme $DAY, $MONTH
d'utilisation des valeurs d'environnement d'une vacation : $ENV
de mise en anomalie d'un CRE : $ERR
les expressions des conditions (utilisation de AND et OR) :
Par exemple :
IF ( A <> B ) OR ( A < 28000 ) est une expression correcte
IF A <> B OR A < 28000 est une expression incorrecte.
Elles sont aussi utilisées pour forcer la priorité de certains traitements :
-
dans les conditions : IF ( ( MONT1 > 1500 ) OR ( MONT2 < 5000 ) ) AND ( CDDEVISE = "FRF" )
THEN…
-
dans les calculs arithmétiques : ( A + B ) / 4
Quand elles sont utilisées, le nombre de parenthèses ouvrantes doit être égal à celui des parenthèses
fermantes. Si ce n'est pas le cas, l'expression est rejetée lors de son analyse.
Les expressions contenant des parenthèses peuvent être imbriquées les unes dans les autres.
Ces imbrications sont appelées des niveaux de profondeur de parenthèses.
Une expression peut contenir au maximum 20 niveaux de profondeur.
Dans les cas où elles ne modifient pas les priorités des opérations, elles sont facultatives. Cependant, leur
utilisation peut faciliter la compréhension des phrases.
page 31
Assistance
Technique
Informatique
Le point-virgule :
Il est obligatoire pour séparer les paramètres, quand ceux-ci sont multiples, pour les fonctions :
-
d'accès en table
-
de recherche ou contrôle par appel externe
-
de calculs et manipulations de dates
Les doubles guillemets :
Ils sont obligatoires pour délimiter les valeurs constantes de type alphanumérique.
Exemple : "LIBELLE DE LA REFERENCE XX111"
Les deux points :
Associés au signe "égalité", ils sont obligatoires pour désigner une attribution de valeur à une variable.
Exemple : @VARIABLE := @VARIABLE + QTECDE
La virgule :
Elle est obligatoire pour séparer l'attribution de valeur à une variable, d'une phrase de garnissage associée
à un champ récepteur.
Exemple : @QTE_TOT := @QTE_TOT + QTECDE , QTECDE * ( MTHT + MTTVA )
Le caractère @ :
Il est obligatoire pour désigner une variable dans les attributions ou phrases de garnissage.
Exemple : @VARIABLE := @VARIABLE+QTECDE , @QTE_TOT * (MTHT+MTTVA)
Dans les autres cas, il n'est pas utilisé et ne signifie rien.
page 32
Assistance
Technique
Informatique
B6. Les fonctions comptables :
L’utilisation systématique de RDJ pour traiter la production des schémas comptables permet une
centralisation de l’ensemble des règles comptables retenues par l’entreprise.
En conséquence, au delà des aspects techniques liés à l’alimentation des flux comptables, RDJ devient
une base de connaissance directement exploitable par les comptables pour produire :
-
les livres de procédures (aujourd’hui construits manuellement par les services financiers) à partir
des règles paramétrées et de jeux d’essais représentatifs des différents cas de gestion.
-
les journaux comptables justifiant les écritures produites par l’exécution d’une interface
-
les états de synthèse ou de détail facilitant les travaux des équipes fonctionnelles dans leur travail
quotidien.
Les restitutions comptables proposées par RDJ sont les suivantes :
-
un journal comptable standard : il est édité en fin d’exécution d’une vacation ou à l’issue d’une
simulation dans l’atelier et s’applique exclusivement aux écritures comptables détaillées (avant
agrégation).
-
une zone d'échange, contentant des données comptables paramétrables, permettant aux
utilisateurs de construire des états qui leur conviennent et en particulier un livre des procédures
comptables.
Les données présentes dans le journal comptable peuvent être paramétrées dans les règles de suivi
définies dans Rule Designer, comme l’illustre le graphique ci-dessous (source : manuel de référence RDJ).
page 33
Assistance
Technique
Informatique
page 34
Assistance
Technique
Informatique
B7. Les imports :
Les imports permettent d'effectuer le lien entre les ERP (comme SAP) et RDJ.
Ils permettent d'intégrer dans Rule Designer la description de formats provenant d'applications externes à
RDJ. Cette intégration s'effectue à partir de fichiers de définitions spécifiques aux applications externes.
Les imports permettent de traiter :
-
les formats d'accès à Oracle Application
-
les formats d'accès à SAP
-
des formats provenant d'un fichier de définition COBOL
Les imports sont mis en œuvre dans Rule Designer, via l'utilisation de fonctions d'import.
L'import crée automatiquement :
-
les types de données nécessaires à la création des champs
-
le dictionnaire des champs (avec vérification de conflits éventuels avec le dictionnaire de champs
déjà présent)
-
les formats.
page 35
Assistance
Technique
Informatique
C. Exemples d’utilisation de RDJ
Accès en table :
$ACCTAB ( TABLE ; ARGUMENT )
Calcul du nombre de jours entre deux dates :
$NBDAYS ( DATE ; DATE2 )
Extraction partielle d'un champ (numéro de sécurité sociale) :
DPT_NAISS NUMSECU ("0006002N")
Calculs arithmétiques :
MT_TTC MT_HT ( 1 + TXPAYS )
Opérateurs logiques et de comparaison :
IF ( CPT <> 963521 ) THEN ZONECRE2&"956AAA"
ELSE "963"&ZONECRE2&"XXX"
Garnissage conditionnel :
IF $ACCTAB ( TAB03 ; CODEVTRDJ) <> " "
THEN $ACCTAB ( TAB03 ; CODEVTRDJ) ELSE CDAINIT
Si le poste de table est renseigné, sa valeur est reportée dans le champ récepteur, sinon, la valeur
du champ CDAINIT est reportée dans le champ récepteur
CHAMPCRE1 IF CDAPPLI = $ACCTAB ( APPLIREF ; REF2 ) THEN REF2
CHAMPCRE1 est renseigné avec la valeur de REF2 si la valeur de CDAPPLI est référencée dans
la table APPLIREF. Dans le cas contraire, CHAMPCRE1 contient des espaces.
CHAMPME8 IF (CRT3 = "DCC") THEN CRTLETTR ELSE
IF (CRT3 = "VIT") THEN CRT8
CHAMPME8 est renseigné avec :
- la valeur de CRTLETTR si la valeur de CRT3 est DCC,
- la valeur de CRT8 si la valeur de CRT3 est VIT,
- des espaces pour toute autre valeur de CRT3.
Mise en anomalie du CRE :
IF REFCRE3 = $ACCTAB ( TABLEREF ; ZONECRE1 )
THEN REFCRE3&ZONECRE1
ELSE $ERR ( "REFERENCE INEXISTANTE : "&REFCRE3 )
Dans le cas où la valeur de REFCRE3 n'est pas référencée en table TABLEREF, le CRE est mis
en anomalie avec le message "REFERENCE INEXISTANTE : "associé à la valeur de REFCRE3.
page 36
Assistance
Technique
Informatique
Condition de génération de ME ou de modification d'enregistrement :
Ces fonctions permettent de définir des conditions de déclenchement de la génération de ME ou de la
modification d'enregistrement.
condition de génération de ME ( $ACCTAB ( TABLEREF ; CATPRET ) > 310 ) AND
( NOMINAL >= 500000 )
Le ME est généré si le résultat d'accès en table est strictement supérieur à 310 et la valeur de
NOMINAL est supérieure à 500000 condition de modification d'enregistrement
(REFCRE1 = " ") OR (REFDEF > 100)
L'enregistrement de CRE est modifié si REFCRE1 contient des espaces, ou si la valeur de
REFDEF est strictement supérieure à 100
On terminera par deux graphiques (sources : manuel de référence RDJ) résumant les éléments essentiels
que l’on peut retenir de cette présentation de RDJ:
page 37
Assistance
Technique
Informatique
Ci-dessous enfin un schéma illustrant les enchaînements pour un traitement de traduction RDJ :
page 38
Assistance
Technique
Informatique