Variables et macros de MPD

Les requêtes SQL enregistrées dans les éléments du fichier de définition de SGBD utilisent diverses variables de MPD, qui sont écrites entre signes pourcent. Ces variables sont remplacées par des valeurs de votre modèle lors de la génération de scripts, et sont évaluées pour créer des objets PowerAMC lors du reverse engineering.

Par exemple, dans la requête suivante, la variable %TABLE% sera remplacée par le code de la table créée :
CreateTable = create table %TABLE%
Remarque : Vous pouvez utiliser librement ces variables dans vos propres requêtes, mais vous ne pouvez pas changer la méthode de leur évaluation (c'est-à-dire que l'évaluation de %TABLE% ne pourra produire que le code d'une table). Vous pouvez également accéder à n'importe quelle propriété d'objet en utilisant le GTL (voir Personnalisation de la génération à l'aide du langage de génération par template) ainsi que les noms publics disponibles via le métamodèle public PowerAMC (voir Métamodèle public PowerAMC).

L'évaluation des variables dépend des paramères et du contexte. Par exemple, la variable %COLUMN% ne peut pas être utilisées dans une requête Create Tablespace, car elle n'est valide que dans le contexte d'une colonne.

Ces variables peuvent être utilisées pour tous les objets qui prennent en charge ces concepts :

Variable

Commentaire

%COMMENT%

Commentaire de l'objet ou son nom (si aucun commentaire n'est défini)

%OWNER%

Code généré de l'utilisateur possédant l'objet ou son parent. Vous ne devez pas utiliser cette variable pour les requêtes sur les objets répertoriés dans les boîtes de dialogue de reverse engineering direct, car leur propriétaire n'est alors pas encore défini

%DBPREFIX%

Préfixe de base de données des objets (nom de la base + '.' si la base de données est définie)

%QUALIFIER%

Qualifiant de l'objet entier (préfixe de la base + préfixe du propriétaire)

%OPTIONS%

Texte SQL définissant les options physiques pour l'objet

%OPTIONSEX%

Texte analysé définissant les options physiques de l'objet

%CONSTNAME%

Nom de contrainte de l'objet

%CONSTRAINT%

Corps de la contrainte SQL de l'objet. Exemple : (A <= 0) AND (A >= 10)

%CONSTDEFN%

Définition de contrainte de colonne. Exemple : constraint C1 checks (A>=0) AND (A<=10)

%RULES%

Concaténation d'expression serveur des règles de gestion associée à l'objet

%NAMEISCODE%

True si le nom et le code de l'objet (table, colonne, index) sont identiques (spécifique AS/400)

%TABLQUALIFIER%

Qualifiant de la table parent (préfixe de base de données + préfixe de propriétaire)

%TABLOWNER%

Code généré de l'utilisateur propriétaire de la table parent