Aller au contenu

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

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.