Cette transaction permet de saisir des expressions SQL de jointures.
L'unicité est contrôlée sur l'ensemble métier - langue - vue - colonne - ordre. Pour les expressions de jointures, la colonne n'est jamais renseignée.
Une jointure est le lien entre au moins deux tables.
Les différents signes de calcul, parenthèses, fonctions et fonctions Décisionnel peuvent être utilisés.
Cependant, la saisie de la formule de calcul est libre (le nombre de parenthèses ouvrantes, fermantes n'est pas contrôlé, le nombre de paramètres passés à une fonction ou une procédure n'est pas vérifié).
Les contrôles sont effectués dans les générateurs et plugins.
Les jointures externes sont gérées avec la chaîne de caractères "+=".
Données
Métier
Langue
Référence les diverses langues définies comme occurrences du paramètre LANGUE.
Proposition de la langue du métier par défaut en création.
Vue
Code défini dans la gestion Définition de vue (GDVUE), unique pour un métier et une langue.
Ordre
Cette information est numérique, proposée de 10 en 10, elle donne l'ordre des enregistrements pour un métier, langue, vue, colonne (colonne nulle dans le cas des jointures et des filtres).
Cet ordre doit être positif dans le cas d'une jointure et d'un filtre.
Colonne
Zone non accessible.
Application
Application du métier.
Propriétaire
Non géré.
Moteur SGBDR
Permet d'indiquer si l'expression est spécifique à un moteur SGBDR ou commune à tous. Si un moteur est précisé, il doit avoir été défini comme occurrence du paramètre MOTGWCOL.
Cardinalité
Cette zone permettait de gérer les cardinalités de la jointure pour un ancien produit BI, zone désormais inutile.
Toutefois, on garde la possibilité de saisir la nature de l'expression de jointure (cas jointure externe) avec les formats suivants :
011n, 0111, 0n11, 0n1n, 1111, 1n11, 111n, 1n1n avec le caractère 0 pour une jointure externe et n pour une multiple cardinalité.
Produit
Permet d'indiquer si l'expression est spécifique à un produit ou commune à tous.
Si un produit est précisé, il doit avoir été défini comme occurrence du paramètre PRDGWSQL.
Expression
Code alphanumérique sur 240 caractères définissant l'expression de jointure.
L'expression de jointure peut être enregistrée sur plusieurs lignes.
Tout mot utilisé :
- doit être défini en tant que colonne de la base de données (dans la table GTTRC) ;
- doit exister dans les fonctions (GDFON) :
- fonctions spécifiques du SGBD : code égal à 0 et produit égal à "B",
- fonctions standard ;
- doit être une fonction propre au moteur. Dans ce cas, les colonnes doivent toujours être préfixées.
Exemple : to-char ( t1.col1 ) = nvl ( t2.col2 , 'x' ).
Quelques règles :
La saisie des décimales doit être au format 25 / 10 au lieu de 2.5.
Le séparateur de mot est le caractère espace.
Les colonnes ne sont pas autorisées dans les expressions de jointures. La saisie via le mot-clé Select est contrôlée.
Les caractères ^, [, § , ' (sauf pour gérer une chaîne de caractères) et ?, ne doivent pas être utilisés.
Les caractères qui définissent les jointures externes (du style (+), * ou outer join), sont remplacés par l'indicateur "+=" quel que soit le produit utilisé. Cet indicateur "+=" doit être présent sur la première partie de la première jointure.
Exemple de jointures Adresse commande - Commande :
Adr_Cde.tieoetia += sacda.ticsacda and Adr_Cde.numoetia += sacda.tacsacda
La première "partie" d'une expression de jointure ne doit pas faire référence à une constante.
Site
Indique s'il s'agit d'un métier référence (site égal à "Q") ou d'un métier client (site égal à "C").
Type d'expression
Non accessible, égal à "J" dans le cas d'une expression de jointure.
Paramètres standard
Genre
Paramètres associés au mnémonique (voir aussi : Principe de l'association)
PR1
Type d'expression :
- "E" pour une expression de colonne ;
- "C" pour une clause ;
- "J" pour une jointure ;
- "F" pour un filtre.
PRM
La zone colonne est :
- "O" : à renseigner ;
- "N" : non accessible.