CRTSQLPKG
Créer un module SQL
En bref
La commande CRTSQLPKG (Créer un module SQL) permet de créer (ou de recréer) un module SQL sur une base de données relationnelle, à partir d'un programme SQL réparti existant.
CRTSQLPKG se lit CRT
(Créer) + SQLPKG.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CRTSQLPKG PGM(…)
Paramètres
-
PGMProgramme obligatoire -
RDBBase de données relationnelle -
USERUtilisateur RDB -
PASSWORDMot de passe utilisateur RDB -
DFTRDBCOLCollection par défaut -
OBJTYPEType d'objet -
MODULEListe des modules -
TEXTTexte 'descriptif' -
GENLVLNiveau de gravité -
REPLACERemplacement -
OPTIONOptions pour liste source -
PRTFILEFichier imprimante
Astuce : dans une session 5250, tapez CRTSQLPKG puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non
La commande CRTSQLPKG (Créer un module SQL) permet de créer (ou de recréer) un module SQL sur une base de données relationnelle, à partir d'un programme SQL réparti existant. Un programme distribué SQL est un programme qui a été créé en précisant le paramètre Base de données relationnelle (RDB) pour une commande CRTSQLxxx (où xxx = CBL, CBLI, CI, CPPI, PLI, RPG ou RPGI).
Pour plus d'informations, consultez le manuel Rubriques de programmation SQL DB2 for i dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| PGM | Programme | Nom d'objet qualifié | Obligatoire, positionnel 1 |
| Qualificatif 1: Programme | Nom | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB | ||
| RDB | Base de données relationnelle | Nom simple, *PGM | Facultatif, positionnel 2 |
| USER | Utilisateur RDB | Nom, *CURRENT | Facultatif |
| PASSWORD | Mot de passe utilisateur RDB | Valeur caractère, *NONE, ' ' | Facultatif |
| DFTRDBCOL | Collection par défaut | Nom, *PGM, *NONE | Facultatif |
| OBJTYPE | Type d'objet | *PGM, *SRVPGM | Facultatif |
| MODULE | Liste des modules | Valeurs uniques: *ALL Autres valeurs (jusqu'à 256 répétitions): Nom |
Facultatif |
| TEXT | Texte 'descriptif' | Valeur caractère, *PGMTXT, *BLANK | Facultatif |
| GENLVL | Niveau de gravité | 0-40, 10 | Facultatif |
| REPLACE | Remplacement | *YES, *NO | Facultatif |
| OPTION | Options pour liste source | *LIST, *ERRLIST | Facultatif |
| PRTFILE | Fichier imprimante | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Fichier imprimante | Nom, QSYSPRT | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB |
Programme (PGM)
Indique le nom du programme pour lequel est créé le module SQL. Il doit s'agir d'un programme distribué SQL, créé à l'aide d'une des commandes CRTSQLxxx (où xxx = CBL, CBLI, CI, CPPI, PLI, RPG ou RPGI).
Qualificatif 1 : Programme
- nom
- Indiquez le nom du programme pour lequel le module SQL doit être créé.
Qualificatif 2 : Bibliothèque
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le programme est recherché dans la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme bibliothèque en cours du travail, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque contenant le programme.
Base de données relationnelle (RDB)
Indique la base de données relationnelle dans laquelle est créé le module SQL.
- *PGM
- Le nom de la base de données relationnelle utilisée est celui indiqué au paramètre Base de données relationnelle (RDB) de la commande CRTSQLxxx (où xxx = CBL, CBLI, CI, CPPI, PLI, RPG ou RPGI) qui a créé le programme, à l'origine.
- nom
- Indiquez le nom de la base de données relationnelle dans laquelle le module SQL doit être créé. Utilisez la commande WRKRDBDIRE (Gérer postes répertoire RDB) pour afficher les noms de bases de données relationnelles admis pour ce paramètre.
Utilisateur RDB (USER)
Indique le nom d'utilisateur envoyé au système éloigné lors du démarrage de la conversation.
- *CURRENT
- Le nom d'utilisateur associé au travail en cours est utilisé.
- nom
- Indiquez le nom d'utilisateur utilisé pour le travail demandeur d'application.
Mot de passe utilisateur RDB (PASSWORD)
Indique le mot de passe à utiliser sur le système éloigné.
- *NONE
- Aucun mot de passe n'est envoyé. Le nom d'utilisateur indiqué pour le paramètre Utilisateur RDB (USER) n'est pas admis si cette valeur est précisée.
- valeur-alphanumérique
- Indiquez le mot de passe associé au nom d'utilisateur indiqué pour le paramètre USER. Une valeur à blanc pour le mot de passe est traitée de la même manière que la valeur *NONE.
Collection par défaut (DFTRDBCOL)
Indique le nom de schéma à utiliser pour les noms non qualifiés de tables, de vues, d'index, de modules SQL, d'alias, de contraintes, de programmes externes, de groupes de noeuds et de déclencheurs. Ce paramètre ne s'applique qu'aux instructions SQL statiques du module.
- *PGM
- Le nom de schéma utilisé est celui indiqué pour le paramètre Collection par défaut (DFTRDBCOL) de la commande CRTSQLxxx (où xxx = CBL, CBLI, CI, CPPI, PLI, RPG ou RPGI) utilisée pour créer le programme pour lequel un module SQL est en cours de création.
- *NONE
- L'option Convention d'appellation indiquée pour le paramètre Options de précompilation (OPTION) de la commande CRTSQLxxx (où xxx = CBL, CBLI, CI, CPPI, PLI, RPG ou RPGI) qui a servi pour précompiler le programme est utilisée pour déterminer le nom du schéma.
- nom
- Indiquez le nom de schéma utilisé pour les tables non qualifiées, les vues, les index, les modules SQL, les alias, les contraintes, les programmes externes, les groupes de noeuds et les déclencheurs.
Type d'objet (OBJTYPE)
Indique le type de programme pour lequel un module SQL est créé.
- *PGM
- Créez un module SQL à partir du programme indiqué au paramètre Programme (PGM).
- *SRVPGM
- Créez un module SQL à partir du programme de service indiqué pour le paramètre PGM.
Liste des modules (MODULE)
Indique une liste de modules dans un programme lié.
Valeurs particulières
- *ALL
- Un module SQL est créé pour tous les modules du programme. Un message d'erreur est envoyé si aucun des modules du programme ne contient d'instructions SQL ou si aucun des modules n'est un programme réparti.
Autres valeurs (jusqu'à 256 répétitions)
- nom
- Indiquez les modules du programme pour lequel le module SQL doit être créé. S'il existe plus de 256 modules nécessitant un module SQL, vous devez utiliser plusieurs commandes CRTSQLPKG. 1024 modules au maximum peuvent se trouver dans un programme comprenant au moins un module contenant une instruction SQL.
Les noms de modules en double dans un même programme sont admis. Cette commande considère chacun des modules du programme ; si la valeur *ALL ou encore le nom du module est indiqué pour le paramètre MODULE, le traitement se poursuit afin de déterminer s'il est nécessaire de créer un module SQL. Si le module est créé à l'aide de SQL et si le paramètre Base de données relationnelle (RDB) est précisé dans la commande de précompilation, un module SQL est créé pour le module. Le module SQL est associé au module du programme lié.
Texte 'descriptif' (TEXT)
Indique une brève description du module SQL et de sa fonction.
- *PGMTXT
- Le texte provient du programme pour lequel le module SQL est créé.
- *BLANK
- Aucun texte n'est indiqué.
- 'descriptif'
- Indiquez, entre apostrophes, un texte de 50 caractères au maximum.
Niveau de gravité (GENLVL)
Indique le niveau de gravité maximum admis pour les erreurs détectées lors de la création d'un module SQL. Si le niveau de gravité d'une ou de plusieurs erreurs est supérieur à celui indiqué, le module n'est pas créé.
- 10
- Le niveau de gravité maximum est 10.
- 0-40
- Indiquez le niveau de gravité maximum.
Remplacement (REPLACE)
Indique si un module SQL existant dans la bibliothèque indiquée est remplacé par le nouveau module SQL de même nom.
- *YES
- Un module SQL existant est remplacé par le nouveau module SQL de même nom.
- *NO
- Un module SQL existant de même nom n'est pas remplacé ; le nouveau module SQL n'est pas créé.
Options pour liste source (OPTION)
Indique l'option relative à la liste générée par la commande.
- *LIST
- Une liste complète avec le contenu de la source et toutes les erreurs est générée. Si aucune erreur n'est détectée durant la création, cette liste n'est pas générée.
- *ERRLIST
- Une liste complète est générée uniquement si un nombre d'erreurs supérieur à celui indiqué au paramètre GENLVL est détecté lors du traitement.
Fichier imprimante (PRTFILE)
Indique le fichier imprimante dans lequel s'inscrit la liste des erreurs survenues au cours de la création du module SQL. Si aucune erreur n'est détectée durant la création, cette liste n'est pas générée.
Qualificatif 1 : Fichier imprimante
- QSYSPRT
- La liste des erreurs survenues au cours de la création du module SQL est dirigée vers le fichier imprimante, QSYSPRT, fourni par IBM.
- nom
- Indiquez le nom du fichier imprimante dans lequel s'inscrit la liste des erreurs survenues lors de la création du module SQL.
Qualificatif 2 : Bibliothèque
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le fichier imprimante est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque dans laquelle se trouve le fichier imprimante.
Exemples
CRTSQLPKG PGM(PAYROLL) RDB(SYSTEMA) TEXT('Payroll Program')
Cette commande permet de créer un module SQL à partir du programme distribué SQL PAYROLL sur la base de données relationnelle SYSTEMA.
Messages d'erreur
Messages *ESCAPE
- SQL9004
- Echec de la création du module SQL.
- SQL9006
- DB2 Query Mgr and SQL DevKit ne sont pas au même niveau que le système d'exploitation.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.