Up ! Query et Up ! MaxDB - Dictionnaire de données et de traitements - Version procédurale

Ce programme exécute interroge le dictionnaire de données et de traitements de Max DB de Sap.

Le fichier source est ${UPS_HOME}/upsqry/demo/${UPS_LANGUAGE}/maxdb3.upl.

Cet exemple n'utilise pas les instructions de l'extension d'Up ! 5GL pour Up ! Query. Les objets sémantiques sont construits dynamiquement.

Pour exécuter, le script ${UPS_HOME}/upsqry/demo/french/maxdb.sql doit être chargé pour la connexion scott/tiger.

Mode compilé

Commande de compilation

upscmp Source=maxdb3.upl

Commande d'exécution

maxdb3 ConnexionMaxDB=scott/tiger@MonServeur/NSP

Mode interprété

upssng Source=maxdb3.upl ConnexionMaxDB=scott/tiger@MonServeur/NSP

Fichier source

Source Composant "Exemple d'emploi d'Up ! MaxDB" Version 4.0.0;

ImporterModule
/************/
Procedure ListerLesCatalogues(MaConnexionSql : Nul Ou IConnexionSql)
/******************************************************************/
Variable
/******/
Debut Ecran.Ecrire("ListerCatalogues");
Ecran.Ecrire("================");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerCatalogues("scott"));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesSchemas(MaConnexionSql : Nul Ou IConnexionSql)
/***************************************************************/
Variable
/******/
Debut
Ecran.Ecrire("ListerSchemas");
Ecran.Ecrire("=============");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerSchemas("scott"));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesColonnes(MaConnexionSql : Nul Ou IConnexionSql, NomCatalogue : Nul Ou Caractere, /*************************************************************************************************/
Variable
/******/
Debut
Ecran.Ecrire("ListerColonnes");
Ecran.Ecrire("--------------");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerColonnesTables("scott", NomCatalogue, NomSchema, NomTable));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesClesPrimaires(MaConnexionSql : Nul Ou IConnexionSql, NomCatalogue : Nul Ou Caractere, /******************************************************************************************************/
Variable
/******/
Debut Ecran.Ecrire("ListerClesPrimaires");
Ecran.Ecrire("-------------------");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerClesPrimaires("scott", NomCatalogue, NomSchema, NomTable));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesClesEtrangeres(MaConnexionSql : Nul Ou IConnexionSql, NomCatalogue : Nul Ou Caractere, /*******************************************************************************************************/
Variable
/******/
Debut
Ecran.Ecrire("ListerClesEtrangeres");
Ecran.Ecrire("--------------------");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerClesEtrangeres("scott", NomCatalogue, NomSchema, NomTable));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesIndex(MaConnexionSql : Nul Ou IConnexionSql, NomCatalogue : Nul Ou Caractere, /**********************************************************************************************/
Variable
/******/
Debut
Ecran.Ecrire("ListerClesIndex");
Ecran.Ecrire("---------------"); MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerIndex("scott", NomCatalogue, NomSchema, NomTable));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesTables(MaConnexionSql : Nul Ou IConnexionSql)
/**************************************************************/ Variable
/******/
Debut
Ecran.Ecrire("ListerTables");
Ecran.Ecrire("============");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerTables("scott"));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesParametres(MaConnexionSql : Nul Ou IConnexionSql, NomCatalogue : Nul Ou Caractere, /***************************************************************************************************/
Variable
/******/
Debut
Ecran.Ecrire("ListerParametres");
Ecran.Ecrire("---------------");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerParametresProcedures("scott", NomCatalogue, NomSchema, NomProcedure));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Procedure ListerLesProcedures(MaConnexionSql : Nul Ou IConnexionSql)
/******************************************************************/
Variable
/******/
Debut
Ecran.Ecrire("ListerProcedures");
Ecran.Ecrire("================");
MonResultatSql=ResultatRequeteSql(MaConnexionSql.ListerProcedures("scott"));
Si MonResultatSql.NbEnregistrements>0 Alors Fin Si
Fin Procedure

Principal
/*******/
Variable
/******/
Debut
MaConnexionSql=ConnexionDb2("scott", "tiger");
Si MaConnexionSql.ListerCataloguesSupporte Alors Sinon Fin Si
Ecran.Ecrire(");
Si MaConnexionSql.ListerSchemasSupporte Alors Sinon Ecran.Ecrire("ListerSchemas() non supporte."); Fin Si
Ecran.Ecrire(");
Si MaConnexionSql.ListerTablesSupporte Alors Sinon Fin Si
Ecran.Ecrire(");
Si MaConnexionSql.ListerProceduresSupporte Alors Sinon Fin Si
Ecran.Ecrire(");
Fin Principal

Résultat de l'exécution

ListerCatalogues() non supporte. ListerSchemas ============= - SCOTT - ListerTables ============ - SCOTT - DEPT - Table - Departements ListerColonnes -------------- DEPTNO - Entier(10) - Numero du departement DNAME - Caractere(14) - Nom du departement LOC - Nul Ou Caractere(13) - Lieu du departement ListerClesPrimaires ------------------- PRIMARY_KEY - Non unique - DEPTNO - 1 ListerClesEtrangeres -------------------- ListerClesIndex --------------- ----------- - SCOTT - EMP - Table - Employes ListerColonnes -------------- EMPNO - Entier(10) - Numero de l'employe ENAME - Caractere(10) - Nom de l'employe JOB - Nul Ou Caractere(9) - Profession de l'employe MGR - Nul Ou Entier(10) - Numero du superieur hierarchique de l'employe HIREDATE - Nul Ou Date(10) - Date d'embauche de l'employe SAL - Nul Ou Reel(16) - Salaire de l'employe COMM - Nul Ou Reel(16) - Commission de l'employe DEPTNO - Entier(10) - Numero du departement de l'employe ListerClesPrimaires ------------------- PRIMARY_KEY - Non unique - EMPNO - 1 ListerClesEtrangeres -------------------- FK_EMP_DEPTNO - DEPTNO - DEPT.DEPTNO ListerClesIndex --------------- ----------- - SCOTT - EMP_DESC - Table - Description des employes ListerColonnes -------------- EMPNO - Entier(10) - Numero de l'employe DESCRIPTION - Nul Ou Caractere - Description de l'employe ListerClesPrimaires ------------------- PRIMARY_KEY - Non unique - SYSKEY - 1 ListerClesEtrangeres -------------------- FK_EMP_DESC_EMPNO - EMPNO - EMP.EMPNO ListerClesIndex --------------- ----------- - SCOTT - EMP_PICT - Table - Photos des employes ListerColonnes -------------- EMPNO - Entier(10) - Numero de l'employe PICTURE - Nul Ou Caractere - Photo de l'employe ListerClesPrimaires ------------------- PRIMARY_KEY - Non unique - SYSKEY - 1 ListerClesEtrangeres -------------------- FK_EMP_PICT_EMPNO - EMPNO - EMP.EMPNO ListerClesIndex --------------- ----------- - SCOTT - S_DEPT - Synonyme - Departements - SCOTT - S_EMP - Synonyme - Employes - SCOTT - V_DEPT - Vue - ? - SCOTT - V_EMP - Vue - ? ListerProcedures ================ MAFONCTION - Fonction - ListerParametres --------------- NUMERODEPARTEMENT - Entier(10) - Entree - MAFONCTION - Reel(16) - Sortie - ----------- MAPROCEDURE - Procedure - ListerParametres --------------- NUMERODEPARTEMENT - Entier(10) - Entree - SALAIREMIN - Reel(16) - Sortie - SALAIREMAX - Reel(16) - Sortie - -----------