API Base de donnée Liste des membres d'un fichier : + QUSLMBR (V2R10) Liste les formats d'un fichier : + QUSLRCD (V2R10) Liste des zones d'un fichier : + QUSLFLD (V2R10) Pour toutes ces API voir le cours £APILIST. Nouveautés V2R20. Liste les relations B de D. : QDBLDBR Extraction d'enregistrements : QQQQRY --! Structres complexes Retrouve informations/fichier : QDBRTVFD --! à manipuler en C. (pour QQQQRY) |
Liste les relations B de D. : + QDBLDBR (V2R10) - CHAR(20) <-USRSPC(10c)-><-biblio(10c)--> - CHAR(8) Format API (DBRL0100 à 0300) - CHAR(20) <--fich(10c)-><-biblio(10c)-> un nom . un nom *ALL . ou *LIBL, *CURLIB . *USRLIBL, *ALLUSR . *ALL - CHAR(10) Membre . un nom . *FIRST . *LAST . *ALL - CHAR(10) Format . un nom . *ALL - CHAR(?) zone de retour d'erreur |
Et la possibiblité de définir ses propres ressources sous contrôle de validation (commitment control) Il faut définir une ressource sous contrôle de validation en lui associant un paramètre de 80 c. et un pgm d'exit. A chaque action du control de validation (commit ou rollback) le pgm d'exit sera appellé et recevra les 80 c. (entre autre) Ajouter une ressource : QTNADDCR - BIN(4,0) zone de retour (à utiliser en fin avec QNTRMVCR) - CHAR(10) nom de la ressource - CHAR(20) nom qualifé du pgm d'exit - CHAR(80) informations à envoyer au pgm d'exit Peut être O depuis V2R30 - CHAR(1) appel du pgm à l'IPL (doit être N) - CHAR(??) code erreur |
Enlever une ressource : QTNRMVCR - BIN(4,0) zone de retour reçue de QTNADDCR - CHAR(??) code erreur Informations sur le contrôle de validation QTNRCMTI - CHAR(??) variable en retour (format CMTI0100: ) 1 à 4 BIN(4,0) octets renvoyés 5 à 8 BIN(4,0) octets valides 9 à 9 CHAR(1) status I=inactif,L=actif(local) R=actif(remote),A=actif 10 19 CHAR(10) verrouillage sans ressource - BIN(4,0) lg de la variable en retour - CHAR(8) format = CMTI0100 - CHAR(??) code erreur |
Le pgm d'exit reçoit deux paramètres 1/ les informations liées à la ressource (80 c.) 2/ une structure composée comme suit: 1 à 4 BIN(4) lg des infos (toujours 32) 5 à 5 CHAR(1) commit (C) ou rollback (R) 6 à 6 CHAR(1) Appel lors de l'IPL (toujours N) 7 à 10 CHAR(4) réservé 11 à 11 CHAR(1) état du processus (job) lors de l'appel '0' processus n'est PAS en phase de fin '1' processus en phase de fin NORMALE '2' processus en phase de fin ANORMALE 12 à 31 CHAR(20) réservé |
Retrouver le nom système à partir du nom long + QDBRTVSN (V4) - CHAR(20) <-nomPF(10c)-><-biblio(10c)--> valeur retournée - CHAR(128) nom long - BIN(4) longeur du nom long - CHAR(10) Bibliothèque dans laquelle cherche . un nom . *LIBL . *CURLIB - CHAR(??) Code erreur standard |
Retrouver le source SQL + QSQGNDDL (V5) - structure 582 c. de long (voir ci-dessous) - BIN(4) longueur de la structure - CHAR(8) FORMAT . SQLR0100 - CHAR(??) Code erreur standard cette API génère le source SQL d'un élément base de données (table, vue..) elle regénère le source au format SQL, même si le fichier a été créé par SDD, en générant un source permettant de recréer un objet le plus proche possible de l'original. |
Format SQLR0100 - CHAR(258) nom de l'élément base de données - CHAR(258) bibliothèque - CHAR(10) type d'élément : . TABLE . VIEW . INDEX . ALIAS . CONSTRAINT . FUNCTION . PROCEDURE . SCHEMA . TRIGGER . TYPE - CHAR(10) fichier source - CHAR(10) bibliothèque du fichier source - CHAR(10) membre source |
- BIN(4) gravité maximale admise 0 aucune erreur n'est admise 10 à 40 : niveau de gravité admis. - CHAR(1) remplacement du source '0' : écriture en ajout dans le membre source '1' : remplacement du membre source - CHAR(1) option de formatage '0' : aucun caractère spécial n'est généré '1' : ajout des caractères fin de ligne et tabulation. - CHAR(3) format de la date (ISO, USA, EUR, YMD, MDY, DMY) - CHAR(1) séparateur de la date - CHAR(3) format de l'heurer (ISO, USA, EUR, HMS) - CHAR(1) séparateur de l'heure |
- CHAR(3) convention d'appellation 'SYS' : le qualifiant est le '/' 'SQL' : le qualifiant est le '.' - CHAR(1) marque décimale (en France : ',') - CHAR(1) option de standard '0' : les extensions pour DB2/400 sont générées '1' : les instructions doivent être conformes aux std DB2 '1' : les instructions doivent être conformes aux std SQL - CHAR(1) option pour instructions DROP '0' : ne pas générer les instructions DROP '1' : il faut générer les instructions DROP - BIN(4) niveau de gravité à partir duquel un message est généré dans le source |
- CHAR(1) option pour commentaires '0' : les instructions COMMENT ON ne sont pas générées '1' : les instructions COMMENT ON sont générées (invalide avec option de standrd = '2') - CHAR(1) option pour générer une entête '0' : une entête ne doit pas être générée. '0' : une entête doit être générée dan le source Exemple: .......................................................... : -- Générer SQL : : -- Version : V5R1M0 010525 : : -- Généré le : 14/06/02 15:52:24 : : -- Base données relationn. : AS400 : : -- Option normes : DB2 UDB AS/400 : : : : CREATE TABLE BDVIN1/VINS ( : : .../... : :........................................................: |