Aller au contenu

CRTSQLRPG

Créer un programme SQL RPG

En bref

La commande CRTSQLRPG (Créer un programme RPG SQL) appelle le précompilateur SQL qui précompile le source RPG contenant les instructions SQL, crée un membre source temporaire et appelle éventuellement le compilateur RPG pour compiler le programme.

CRTSQLRPG se lit CRT (Créer) + SQLRPG. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CRTSQLRPG PGM(…)

Paramètres

Astuce : dans une session 5250, tapez CRTSQLRPG 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 QSQL)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non

La commande CRTSQLRPG (Créer un programme RPG SQL) appelle le précompilateur SQL qui précompile le source RPG contenant les instructions SQL, crée un membre source temporaire et appelle éventuellement le compilateur RPG pour compiler le programme.

Si le paramètre RDB (Base de données relationnelle) est indiqué et si un programme est créé, un module SQL sera créé au niveau de la base de données relationnelle spécifiée.

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, *CURLIB
SRCFILE Fichier source Nom d'objet qualifié Facultatif, positionnel 2
Qualificatif 1: Fichier source Nom, QRPGSRC
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
SRCMBR Membre source Nom, *PGM Facultatif, positionnel 3
COMMIT Contrôle de validation *CHG, *ALL, *CS, *NONE, *RR, *UR, *RS, *NC Facultatif
RDB Base de données relationnelle Nom simple, *LOCAL, *NONE Facultatif
TEXT Texte 'descriptif' Valeur caractère, *SRCMBRTXT, *BLANK Facultatif
USER Utilisateur RDB Nom, *CURRENT Facultatif
PASSWORD Mot de passe utilisateur RDB Valeur caractère, *NONE, ' ' Facultatif
OPTION Options de précompilation Values (jusqu'à 14 répétitions): *NOSRC, *NOSOURCE, *SRC, *SOURCE, *XREF, *NOXREF, *GEN, *NOGEN, *COMMA, *PERIOD, *JOB, *SYSVAL, *SECLVL, *NOSECLVL, *SEQSRC, *NOSEQSRC, *LSTDBG, *NOLSTDBG, *SQL, *SYS, *NOEXTIND, *EXTIND, *SYSTIME, *NOSYSTIME Facultatif
TGTRLS Edition cible Nom simple, *CURRENT, *PRV Facultatif
INCFILE Fichier INCLUDE Nom d'objet qualifié Facultatif
Qualificatif 1: Fichier INCLUDE Nom, *SRCFILE
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
ALWCPYDTA Copie des données admise *OPTIMIZE, *YES, *NO Facultatif
CLOSQLCSR Fermer le curseur SQL *ENDPGM, *ENDSQL, *ENDJOB Facultatif
ALWBLK Groupage admis *ALLREAD, *NONE, *READ Facultatif
DLYPRP Différer PREPARE *NO, *YES Facultatif
CONACC Résolution accès simultanés *DFT, *CURCMT, *WAIT Facultatif
GENLVL Niveau de gravité 0-40, 10 Facultatif
DATFMT Format de date *JOB, *USA, *ISO, *EUR, *JIS, *MDY, *DMY, *YMD, *JUL Facultatif
DATSEP Séparateur de date *JOB, '/', '.', ',', '-', ' ', *BLANK Facultatif
TIMFMT Format d'heure *HMS, *USA, *ISO, *EUR, *JIS Facultatif
TIMSEP Séparateur d'heure *JOB, ':', '.', ',', ' ', *BLANK Facultatif
REPLACE Remplacement *YES, *NO Facultatif
RDBCNNMTH Méthode de connexion RDB *DUW, *RUW Facultatif
DFTRDBCOL Collection par défaut Nom, *NONE Facultatif
DYNDFTCOL Collection par déf dynamique *NO, *YES Facultatif
SQLPKG Module Nom d'objet qualifié Facultatif
Qualificatif 1: Module Nom, *PGM
Qualificatif 2: Bibliothèque Nom, *PGMLIB
SQLPATH Chemin SQL Valeurs uniques: *NAMING, *LIBL
Autres valeurs (jusqu'à 268 répétitions): Nom
Facultatif
SQLCURRULE Règles SQL *DB2, *STD Facultatif
SAAFLAG Marquage SQL IBM *NOFLAG, *FLAG Facultatif
FLAGSTD Marquage ANS *NONE, *ANS Facultatif
PRTFILE Fichier imprimante Nom d'objet qualifié Facultatif
Qualificatif 1: Fichier imprimante Nom, QSYSPRT
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
USRPRF Profil utilisateur *NAMING, *USER, *OWNER Facultatif
DYNUSRPRF Profil utilisateur dynamique *USER, *OWNER Facultatif
SRTSEQ Séquence de tri Valeurs uniques: *JOB, *HEX, *JOBRUN, *LANGIDUNQ, *LANGIDSHR
Autres valeurs: Nom d'objet qualifié
Facultatif
Qualificatif 1: Séquence de tri Nom
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
LANGID Identificateur de langue Valeur caractère, *JOB, *JOBRUN Facultatif
TOSRCFILE Vers le fichier source Nom d'objet qualifié Facultatif
Qualificatif 1: Vers le fichier source Nom, QSQLTEMP
Qualificatif 2: Bibliothèque Nom, QTEMP, *LIBL, *CURLIB
DECRESULT Options de résultat décimal Liste d'éléments Facultatif
Élément 1: Précision maximale 31, 63
Élément 2: Echelle maximale 0-63, 31
Élément 3: Echelle de division minimale 0-9, 0
DECFLTRND Mode arrondi décimal virg flot *HALFEVEN, *HALFUP, *DOWN, *CEILING, *FLOOR, *HALFDOWN, *UP Facultatif
COMPILEOPT Options de compilation Valeur caractère, *NONE Facultatif

Programme (PGM)

Indique le programme à créer.

C'est un paramètre obligatoire.

Qualificatif 1 : Programme

nom
Indiquez le nom du programme à créer.

Qualificatif 2 : Bibliothèque

*CURLIB
Le programme C compilé est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas définie dans la liste des bibliothèques, QGPL est utilisée par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle se trouve le programme compilé.

Fichier source (SRCFILE)

Indique le fichier source contenant les instructions du source RPG et les instructions SQL.

Qualificatif 1 : Fichier source

QRPGSRC
Le fichier source QRPGSRC contient le programme source RPG.
nom
Indiquez le nom du fichier source contenant le programme source RPG.

Qualificatif 2 : Bibliothèque

*LIBL
La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
*CURLIB
La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
nom
Indiquez le nom de la bibliothèque sur laquelle doit s'effectuer la recherche.

Membre source (SRCMBR)

Indique le membre de fichier source contenant le source en entrée. Ce paramètre n'est utilisé que lorsque le fichier source indiqué au paramètre SRCFILE (Fichier source) est un fichier base de données.

*PGM
Le membre de fichier source portant le même nom que le programme indiqué pour le paramètre PGM (Programme) contient le source en entrée.
nom
Indiquez le nom du membre du fichier source contenant le source en entrée.

Contrôle de validation (COMMIT)

Indique si les instructions SQL du programme compilé sont exécutées sous contrôle de validation. Cette option n'a aucun effet sur les fichiers désignés par le source en langage hôte. Les seuls éléments affectés sont les tables SQL, vues SQL, modules SQL, séquences SQL, alias SQL, types SQL, procédures SQL, fonctions SQL, index SQL, schémas SQL et déclencheurs SQL désignés par les instructions SQL.

*CHGou*UR
Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Les modifications invalidées effectuées dans d'autres travaux peuvent être visualisées.
*CS
Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Une ligne sélectionnée mais non mise à jour est verrouillée jusqu'à la sélection de la ligne suivante. Vous ne pouvez pas visualiser les modifications invalidées effectuées dans d'autres travaux.
*ALL ou *RS
Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes sélectionnées, mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Vous ne pouvez pas visualiser les modifications invalidées effectuées dans d'autres travaux.
*NONE ou *NC
Le contrôle de validation n'est pas utilisé. Les modifications invalidées effectuées dans d'autres travaux peuvent être visualisées. Si l'instruction SQL DROP SCHEMA est incluse dans le programme, vous devez indiquer *NONE ou *NC. Si une base de données relationnelle est identifiée pour le paramètre Base de données relationnelle (RDB) et si cette base de données se trouve sur un système autre qu'un IBM i, il n'est pas possible d'indiquer *NONE ou *NC.
*RR
Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes sélectionnées, mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Vous ne pouvez pas visualiser les modifications invalidées effectuées dans d'autres travaux. Toutes les tables désignées par les instructions SELECT, UPDATE, DELETE et INSERT sont exclusivement verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction).

Base de données relationnelle (RDB)

Indique le nom de la base de données relationnelle où doit être créé le module SQL.

*LOCAL
Le programme créé est un programme SQL réparti. Les instructions SQL auront accès à la base de données locale. Le module SQL n'est pas créé dans le cadre du processus de précompilation. La commande CRTSQLPKG (Créer un module SQL) peut être utilisée.
*NONE
Le module SQL n'est pas créé. L'objet programme n'est pas un programme réparti et la commande CRTSQLPKG (Créer un module SQL) ne peut pas être utilisée.
nom
Indiquez le nom de la base de données relationnelle dans laquelle le nouveau module SQL doit être créé. Le programme créé est un programme SQL réparti, même lorsque le nom de la base de données locale est indiqué. Les instructions SQL auront accès à la base de données locale.

Texte 'descriptif' (TEXT)

Indique le texte qui décrit brièvement le programme et ses fonctions.

*SRCMBRTXT
Le texte est extrait du membre du fichier source utilisé pour créer le programme. Si le fichier source est un fichier spoule en entrée ou un fichier unité, ce texte est à blanc.
*BLANK
Aucun texte n'est spécifié.
'description'
Entrez un texte de 50 caractères maximum, entre apostrophes.

Utilisateur RDB (USER)

Indique le nom d'utilisateur envoyé au système éloigné au commencement de l'échange. Ce paramètre n'est valide que lorsque Base de données relationnelle (RDB) est spécifié.

*CURRENT
Le nom d'utilisateur associé au travail en cours est utilisé.
nom
Indiquez le nom d'utilisateur qui sera utilisé par le serveur de l'application.

Mot de passe utilisateur RDB (PASSWORD)

Indique le mot de passe à utiliser pour le système éloigné. Ce paramètre n'est valide que lorsque Base de données relationnelle (RDB) est spécifié.

*NONE
Aucun mot de passe n'est envoyé. Lorsque cette valeur est indiquée, vous ne pouvez pas spécifier de nom d'utilisateur au paramètre USER (Utilisateur RDB).

Remarque :La valeur *NONE revient à laisser à blanc la zone de mot de passe.

mot-de-passe
Entrez le mot de passe du nom d'utilisateur indiqué pour le paramètre Utilisateur RDB (USER).

Options de précompilation (OPTION)

Indique si les options suivantes sont utilisées lors de la précompilation du programme source RPG. Si une option est indiquée plus d'une fois, ou si deux options sont en conflit, c'est la dernière option indiquée qui est utilisée.

Options de liste source :

*NOSRC ou *NOSOURCE
Le précompilateur ne produit pas de sortie imprimée du source, sauf si des erreurs sont détectées lors de la précompilation ou de la création de module.
*SRC ou *SOURCE
Le précompilateur produit une sortie imprimée du source.

Options de références croisées :

*NOXREF
Le précompilateur ne produit pas de liste de références croisées de noms.
*XREF
Le précompilateur produit une liste de références croisées entre les éléments apparaissant dans votre programme et les numéros des instructions faisant référence à ces éléments. Ces informations sont générées dans le cadre de la liste de précompilation.

Options d'appel du compilateur en langage hôte :

*GEN
Le précompilateur appelle le compilateur RPG. Si le nom d'une base de données relationnelle est indiqué pour le paramètre RDB (invite Base de données relationnelle) et si la compilation aboutit, un module SQL est également créé.
*NOGEN
Le précompilateur n'appelle pas le compilateur RPG. Aucun programme ou module SQL n'est créé.

Options de symbole décimal :

*JOB
La représentation du séparateur décimal indiqué pour le travail lors de la précompilation est utilisée.

Remarque :Si QDECFMT indique que la valeur utilisée comme séparateur décimal est la virgule, les constantes numériques des listes (les clauses SELECT et VALUES, par exemple) doivent être séparées par une virgule suivies d'un espace. Par exemple, VALUES(1,1, 2,23, 4,1) est équivalent à VALUES(1.1,2.23,4.1) où le point représente le symbole décimal.

*SYSVAL
Le caractère utilisé comme symbole décimal dans les constantes numériques est déterminé par la valeur système QDECFMT. Ce symbole décimal (point) est également utilisé pour transtyper une valeur numérique en caractère.

Remarque :Si le caractère spécifié par QDECFMT est une virgule, toutes les constantes numériques d'une liste (comme par exemple dans les clauses SELECT ou VALUES) doivent être séparées par une virgule suivie d'un blanc. Par exemple, VALUES(1,1, 2,23, 4,1) est équivalent à VALUES(1.1,2.23,4.1) où le point représente le symbole décimal.

*PERIOD
Pour les constantes numériques utilisées dans les instructions SQL, le symbole décimal est représenté par un point. Ce symbole décimal (point) est également utilisé pour transtyper une valeur numérique en caractère.
*COMMA
Dans les constantes numériques, le symbole décimal est représenté par une virgule. Toutes les constantes numériques d'une liste (comme dans les clauses SELECT ou VALUES) doivent être séparées par une virgule suivie d'un blanc. Par exemple, VALUES(1,1, 2,23, 4,1) est équivalent à VALUES(1.1,2.23,4.1) où le point représente le symbole décimal.

Options de convention d'appellation :

*SYS
Indique que la convention d'appellation du système est utilisée (nom-bibliothèque/nom-fichier).
*SQL
Indique que la convention d'appellation SQL est utilisée (nom-schéma.nom-table).

Si une base de données relationnelle est identifiée pour le paramètre Base de données relationnelle (RDB) et si cette base de données se trouve sur un système autre qu'un IBM i, vous devez indiquer *SQL comme convention d'appellation.

Options de message de deuxième niveau :

*NOSECLVL
Les descriptions des textes de deuxième niveau ne sont pas ajoutées à la liste.
*SECLVL
Les textes de deuxième niveau contenant des données de remplacement sont ajoutés à la liste pour tous les messages.

Options de vue de liste de débogage :

*NOLSTDBG
Les informations d'erreur et de débogage ne sont pas générées.
*LSTDBG
Le précompilateur SQL génère une vue de liste ainsi que les informations d'erreur et de débogage requises pour cette vue.

Remarque :Vous ne pouvez utiliser *LSTDBG que si votre programme est compilé à l'aide des outils client.

Option de numérotation du source :

*NOSEQSRC
Le membre du fichier source créé dans QSQLTEMP1 ou QSQLTEMP comporte les mêmes numéros de séquence que le programme source original lu par le précompilateur.
*SEQSRC
Le membre du fichier source créé dans QSQLTEMP1 ou QSQLTEMP comporte des numéros de séquence commençant à 000001 et incrémentés de 000001.

Options d'indicateurs étendus :

*NOEXTIND
La prise en charge des indicateurs étendus n'est pas activée.
*EXTIND
La prise en charge des indicateurs étendus est activée.

Options d'heure système :

*SYSTIME
Indique que les références aux tables temporelles de période système dans les instructions SQL statiques et dynamiques sont affectées par la valeur du registre spécial CURRENT TEMPORAL SYSTEM_TIME.
*NOSYSTIME
Indique que les références aux tables temporelles de période système dans les instructions SQL statiques et dynamiques ne sont pas affectées par la valeur du registre spécial CURRENT TEMPORAL SYSTEM_TIME.

Edition cible (TGTRLS)

Niveau d'édition du système d'exploitation sous lequel vous utiliserez l'objet en cours de création.

Lorsque vous indiquez une valeur pour l'édition-cible, le format VxRxMx vous permet de préciser le niveau d'édition, où Vx est la version, Rx, l'édition et Mx, le niveau de modification. Par exemple, V5R3M0 désigne la version 5, édition 3, modification 0.

Les valeurs admises dépendent de la version, de l'édition et du niveau de modification du système d'exploitation et sont modifiées à chaque nouvelle édition. Pour obtenir la liste des valeurs d'édition cible admises, appuyez sur F4 à l'invite de ce paramètre de commande.

*CURRENT
L'objet doit être utilisé sur un système d'exploitation au même niveau d'édition que celui en cours sur votre système. Il pourra également être utilisé sur un système équipé d'une édition suivante du système d'exploitation.
*PRV
L'objet sera utilisé sur la version précédente du système d'exploitation, au niveau de modification 0. Il pourra également être utilisé sur un système équipé d'une édition suivante du système d'exploitation.
édition-cible
Indiquez le niveau d'édition au format VxRxMx. L'objet pourra être utilisé sur un système équipé de l'édition indiquée ou de toute édition suivante.

Fichier INCLUDE (INCFILE)

Indique le fichier source contenant les membres à inclure dans le programme à l'aide de l'instruction SQL INCLUDE.

Valeurs uniques

*SRCFILE
Le fichier source qualifié que vous avez entré pour le paramètre SRCFILE (Fichier source) contient les membres de fichier source indiqués dans une instruction SQL INCLUDE.

Qualificatif 1 : Fichier INCLUDE

nom
Indiquez le nom du fichier source contenant les membres source indiqués dans les instructions SQL INCLUDE.

La longueur des enregistrements du fichier source indiqué ici ne doit pas être inférieure à celle du fichier source indiqué au paramètre SRCFILE (Fichier source).

Qualificatif 2 : Bibliothèque

*LIBL
La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
*CURLIB
La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
nom
Indiquez le nom de la bibliothèque dans laquelle est placé le fichier source.

Copie des données admise (ALWCPYDTA)

Indique si une copie des données peut être utilisée lors de l'exécution de l'instruction SELECT.

*OPTIMIZE
Le système détermine s'il va utiliser les données extraites directement de la base de données ou une copie de ces données. La méthode la plus efficace sera choisie. Si la valeur du paramètre COMMIT (Contrôle de validation) n'est pas *NONE, le paramètre ALWBLK (Groupage admis) doit avoir pour valeur *ALLREAD, dans la mesure du possible, pour obtenir les meilleures performances.
*YES
Une copie des données peut être utilisée uniquement si cela est nécessaire.
*NO
La copie des données n'est pas utilisée. Si une copie temporaire est nécessaire pour lancer la requête, un message d'erreur s'affiche.

Fermer le curseur SQL (CLOSQLCSR)

Indique quand les curseurs SQL sont implicitement fermés, quand les instructions SQL préparées sont implicitement supprimées, et quand les verrouillages LOCK TABLE sont déverrouillés. Les curseurs SQL sont explicitement fermés à l'aide de l'instruction SQL CLOSE, COMMIT (sans HOLD), ROLLBACK (sans HOLD) ou CONNECT (Type 1).

*ENDPGM
Les curseurs SQL sont fermés et les instructions SQL préparées sont supprimées à la fin du programme. Les verrouillages LOCK TABLE sont libérés à la fin du premier programme SQL de la liste d'appel des programmes.
*ENDSQL
Les curseurs SQL restent ouverts entre les appels et les lignes peuvent être appelées sans qu'il soit nécessaire de lancer une autre instruction SQL OPEN. L'un des programmes situés plus haut dans la liste d'appel doit avoir lancé au moins une instruction SQL. Les curseurs SQL sont fermés, les instructions SQL préparées sont supprimées, et les verrouillages LOCK TABLE sont libérés lorsque le premier programme SQL de la liste d'appel des programmes est terminé. Si vous indiquez *ENDSQL pour le premier programme SQL de la liste, le programme est traité comme si *ENDPGM était indiqué.
*ENDJOB
Les curseurs SQL restent ouverts entre les appels et peuvent être appelés sans qu'il soit nécessaire de lancer une autre instruction SQL OPEN. Les programmes situés plus haut dans la liste d'appel n'ont pas à avoir lancé des instructions SQL. Les curseurs SQL sont laissés ouverts, les instructions SQL préparées sont conservées et les verrouillages TABLE LOCK sont maintenus lorsque le premier programme SQL de la liste d'appel des programmes est terminé. Les curseurs SQL sont fermés, les instructions SQL préparées sont supprimées, et les verrouillages TABLE LOCK sont libérés une fois le travail terminé.

Groupage admis (ALWBLK)

Indique si le gestionnaire des bases de données peut procéder à un groupage d'enregistrements et dans quelle mesure ce groupage est possible pour les curseurs en lecture seule.

*ALLREAD
Les lignes sont groupées pour les curseurs en lecture seule. Tous les curseurs d'un programme qui sont explicitement impossibles à modifier sont ouverts en vue d'un traitement en lecture seule, même si le programme comporte des instructions EXECUTE ou EXECUTE IMMEDIATE.

Le fait d'indiquer *ALLREAD :

  • Permet le groupage d'enregistrements pour tous les curseurs en lecture seule.
  • Peut permettre d'améliorer les performances de la plupart des curseurs en lecture seule contenus dans les programmes, mais limite les requêtes dans les cas suivants :
    • Si la valeur *ALLREAD est indiquée, la commande d'invalidation ROLLBACK, une instruction ROLLBACK d'un langage hôte ou l'instruction ROLLBACK HOLD SQL, ne permettent pas de repositionner les curseurs en lecture seule.
    • Vous ne pouvez pas mettre à jour une ligne de curseur par le lancement dynamique d'une instruction positionnée UPDATE ou DELETE (au moyen de EXECUTE IMMEDIATE, par exemple), sauf si l'instruction DECLARE du curseur comporte la clause FOR UPDATE.
*NONE
Les lignes ne sont pas groupées pour une extraction de données au moyen de curseurs.

Le fait d'indiquer *NONE :

  • garantit que l'extraction est effectuée à partir des données en cours.
  • est susceptible de réduire le temps nécessaire à l'extraction de la première ligne de données pour une requête.
  • empêche le gestionnaire de la base de données d'extraire un bloc de lignes de données non utilisé par le programme lorsque seules les premières lignes d'une requête sont extraites avant fermeture de cette dernière.
  • peut porter atteinte à l'efficacité d'une requête lorsque celle-ci extrait un grand nombre de lignes.
*READ
Les enregistrements sont groupés pour une extraction de données en lecture seule effectuée au moyen de curseurs dans les cas suivants :
  • *NONE est indiqué pour le paramètre COMMIT (Contrôle de validation). Cette valeur signifie que le contrôle de validation n'est pas utilisé.
  • Le curseur est défini avec la clause FOR READ ONLY, ou bien aucune instruction dynamique n'est susceptible d'exécuter une instruction UPDATE ou DELETE positionnée pour ce curseur.

Différer PREPARE (DLYPRP)

Indique si la validation d'une instruction dynamique PREPARE est différée jusqu'à l'exécution d'une instruction OPEN, EXECUTE ou DESCRIBE. Le fait de différer la validation permet d'améliorer les performances en éliminant toute validation superflue.

*NO
La validation de l'instruction dynamique n'est pas différée. Le plan d'accès est validé au moment de la préparation de l'instruction dynamique. Lorsque l'instruction dynamique est utilisée dans une instruction OPEN ou EXECUTE, le plan d'accès est revalidé. Les droits sur les objets référencés dans l'instruction dynamique pouvant être modifiés, ou ces objets pouvant ne plus exister, vous devez toujours effectuer une vérification de SQLCODE et SQLSTATE après avoir lancé une instruction OPEN ou EXECUTE afin de vous assurer que l'instruction dynamique est toujours correcte.
*YES
La validation de l'instruction dynamique est différée jusqu'à l'utilisation d'une instruction dynamique dans une instruction SQL OPEN, EXECUTE ou DESCRIBE. Le plan d'accès est validé au moment de la préparation de l'instruction. Si vous attribuez la valeur *YES à ce paramètre pour les programmes précompilés, vous devez effectuer une vérification de SQLCODE et SQLSTATE après avoir lancé une instruction OPEN, EXECUTE ou DESCRIBE afin de vous assurer que l'instruction dynamique est correcte.

Remarque :Si vous indiquez *YES, les performances ne sont pas améliorées si l'instruction PREPARE comporte la clause INTO ou si une instruction DESCRIBE utilise l'instruction dynamique avant qu'un OPEN ne soit produit pour cette instruction.

Résolution accès simultanés (CONACC)

Indique comment le gestionnaire de la base de données doit traiter les conflits de verrous d'enregistrement pour les données en cours de mise à jour.

*DFT
Indique que l'option d'accès simultané n'est pas définie explicitement pour ce programme. La valeur effective au moment de l'appel du programme est utilisée. Celle-ci se définit à l'aide de l'option SQL_CONCURRENT_ACCESS_RESOLUTION du fichier d'options de requête QAQQINI.
*CURCMT
Indique au gestionnaire de la base de données d'utiliser si possible les données actuellement validées, en cas de conflits des verrous d'enregistrement pour les requêtes en lecture seule. Ceci ne s'applique que si le niveau de validation est *CS.
*WAIT
Indique au gestionnaire de la base de données d'attendre les résultats en cas de conflits des verrous d'enregistrement.

Niveau de gravité (GENLVL)

Indique si le compilateur est appelé ou non, selon la gravité des messages générés suite aux erreurs détectées par le précompilateur SQL. Si ces erreurs sont générées avec un niveau de gravité supérieur à la valeur indiquée pour ce paramètre, le compilateur n'est pas appelé.

Si le paramètre RDB (Base de données relationnelle) est indiqué et si le niveau de gravité des messages générés lors de la création du module est supérieur au niveau indiqué pour ce paramètre, le module SQL n'est pas créé.

10
Le compilateur n'est pas appelé si les messages du précompilateur SQL d'un niveau de gravité supérieur à 10 sont générés.
0-40
Indiquez le niveau de gravité maximal des messages du précompilateur SQL à considérer pour vérifier si le compilateur est appelé ou non.

Format de date (DATFMT)

Indique le format utilisé pour les colonnes résultat réservées aux dates. Toutes les zones date de sortie sont renvoyées avec le format que vous avez indiqué. Pour les chaînes date en entrée, la valeur indiquée est utilisée pour vérifier si le format de la date est correct.

Remarque :Pour les chaînes date en entrée, les formats *USA, *ISO, *EUR et *JIS sont toujours corrects.

Si vous vous connectez à une base de données relationnelle qui se trouve sur un système autre qu'un IBM i, vous devez utiliser le format *USA, *ISO, *EUR ou *JIS.

*JOB
Le format de date utilisé est celui défini pour le travail lors de la précompilation ou lors de la création d'une nouvelle session SQL interactive.

Lancez la commande DSPJOB (Afficher l'état d'un travail) pour connaître le format de date en cours pour le travail.

*USA
Le format de date US mm/jj/aaaa est utilisé.
*ISO
Le format de date ISO (International Organization for Standardization) aaaa-mm-jj est utilisé.
*EUR
Le format de date européen jj.mm.aaaa est utilisé.
*JIS
Le format de date JIS (Japanese Industrial Standard) aaaa-mm-jj est utilisé.
*MDY
Le format de date mm/jj/aa est utilisé.
*DMY
Le format de date jj/mm/aa est utilisé.
*YMD
Le format de date aa/mm/jj est utilisé.
*JUL
Le format de date aa/jjj (calendrier Julien) est utilisé.

Séparateur de date (DATSEP)

Indique le séparateur à utiliser pour les colonnes résultat réservées aux dates.

Remarque :Ce paramètre est utilisé uniquement lorsque *JOB, *MDY, *DMY, *YMD ou *JUL sont indiqués pour le paramètre DATFMT (Format de date).

*JOB
Le séparateur de date est celui défini pour le travail lors de la précompilation, lors de la création d'une nouvelle session interactive SQL ou lors de l'exécution de la commande RUNSQLSTM (Exécuter l'instruction SQL).

Lancez la commande DSPJOB (Afficher l'état d'un travail) pour connaître le séparateur de date en cours pour le travail.

'/'
Une barre oblique est utilisée comme séparateur de date.
'.'
Un point est utilisé comme séparateur de date.
'-'
Un tiret est utilisé comme séparateur de date.
','
Une virgule est utilisée comme séparateur de date.
' ' ou *BLANK
Un blanc, ' ', est utilisé comme séparateur de date.

Format d'heure (TIMFMT)

Indique le format utilisé pour les colonnes résultat d'heure. Toutes les zones heure de sortie sont renvoyées avec le format que vous avez indiqué. Pour les chaînes heure en entrée, la valeur indiquée est utilisée pour vérifier si le format de l'heure est correct.

Remarque :Les chaînes de type heure en entrée utilisant les formats *USA, *ISO, *EUR et *JIS sont toujours correctes.

Si vous vous connectez à une base de données relationnelle qui se trouve sur un système autre qu'un IBM i, vous devez utiliser le format *USA, *ISO, *EUR, *JIS ou *HMS avec un signe point ou deux-points comme séparateur d'heure.

*HMS
Le format d'heure hh:mm:ss est utilisé.
*USA
Le format d'heure américain hh:mmxx est utilisé, xx correspondant à AM ou PM.
*ISO
Le format d'heure ISO (International Organization for Standardization) hh.mm.ss est utilisé.
*EUR
Le format d'heure européen hh.mm.ss est utilisé.
*JIS
Le format d'heure JIS (Japanese Industrial Standard) hh:mm:ss est utilisé.

Séparateur d'heure (TIMSEP)

Indique le séparateur utilisé pour les colonnes résultat réservées aux heures.

Remarque :Ce paramètre est utilisé uniquement lorsque *HMS est indiqué pour le paramètre TIMFMT (Format d'heure).

*JOB
Le séparateur d'heure utilisé est celui défini pour le travail lors de la précompilation, lors de la création d'une nouvelle session SQL interactive ou lors de l'exécution de RUNSQLSTM.

Lancez la commande DSPJOB (Afficher l'état d'un travail) pour connaître le séparateur de date en cours pour le travail.

':'
Un signe deux-points est utilisé comme séparateur d'heure.
'.'
Un point est utilisé comme séparateur d'heure.
','
Une virgule est utilisée comme séparateur d'heure.
' ' ou *BLANK
Un blanc, ' ', est utilisé comme séparateur d'heure.

Remplacement (REPLACE)

Indique si un programme ou module SQL est créé alors qu'un programme ou module SQL du même nom existe dans la même bibliothèque. La valeur est passée à la commande CRTxxxPGM (où xxx est le langage du programme en cours de création) et à la commande de création d'un module SQL (CRTSQLPKG) si le paramètre Base de données relationnelle (RDB) est indiqué.

*YES
Un programme ou module SQL est créé. Tout programme ou module SQL du même nom existant dans la bibliothèque indiquée est placé dans QRPLOBJ. Les droits accordés sur le module SQL existant s'appliquent au nouveau module.
*NO
Un programme ou module SQL n'est pas créé lorsqu'un programme ou module du même nom existe déjà dans la bibliothèque indiquée.

Méthode de connexion RDB (RDBCNNMTH)

Indique les syntaxes utilisées pour les instructions CONNECT.

*DUW
Les syntaxes CONNECT (Type 2) permettent de prendre en charge l'unité d'oeuvre répartie. Des instructions CONNECT consécutives aux bases de données relationnelles supplémentaires n'entraînent pas l'arrêt des connexions précédentes.
*RUW
Les syntaxes CONNECT (Type 1) permettent de prendre en charge l'unité d'oeuvre éloignée. Des instructions CONNECT consécutives entraînent l'arrêt de la connexion précédente avant l'établissement d'une nouvelle connexion.

Collection par défaut (DFTRDBCOL)

Indique le nom de l'identificateur de schéma utilisé pour les noms non qualifiés de tables, vues, index, modules SQL, alias, contraintes, programmes externes, groupes de noeuds et déclencheurs. Ce paramètre ne s'applique qu'aux instructions SQL statiques.

*NONE
La convention d'appellation indiquée pour le paramètre OPTION (Options de précompilation) est utilisée.
nom
Entrez le nom de l'identificateur de schéma qui va remplacer la convention d'appellation indiquée pour le paramètre Options de précompilation (OPTION).

Collection par déf dynamique (DYNDFTCOL)

Indique si le nom de schéma par défaut spécifié au paramètre Collection par défaut (DFTRDBCOL) est également utilisé pour les instructions dynamiques.

*NO
La valeur indiquée au paramètre Collection par défaut (DFTRDBCOL) pour les noms non qualifiés de tables, vues, index, modules SQL, alias, contraintes, programmes externes, groupes de noeuds et déclencheurs n'est pas utilisée pour les instructions SQL dynamiques. La convention d'appellation indiquée pour le paramètre OPTION (Options de précompilation) est utilisée.
*YES
Le nom de schéma indiqué au paramètre Collection par défaut (DFTRDBCOL) est utilisé pour les noms non qualifiés de tables, vues, index, modules SQL, alias, contraintes, programmes externes, groupes de noeuds et déclencheurs dans les instructions SQL dynamiques.

Module (SQLPKG)

Indique le nom et la bibliothèque du module SQL qui doit être créé dans la base de données relationnelle éloignée indiquée au paramètre RDB (Base de données relationnelle) de cette commande.

Qualificatif 1 : Module

*PGM
Le nom du module SQL est identique à celui du programme.
nom
Indiquez le nom du module SQL. Si le système éloigné n'est pas un IBM i, ce nom ne doit pas dépasser 8 caractères.

Qualificatif 2 : Bibliothèque

*PGMLIB
Le module SQL est placé dans la schéma portant le même nom que la bibliothèque du programme.
nom
Indiquez le nom du schéma où doit être placé le module SQL. Si le système éloigné n'est pas un IBM i, ce nom ne doit pas dépasser 8 caractères.

Chemin SQL (SQLPATH)

Chemin à utiliser pour rechercher des procédures, des fonctions, et des types définis par l'utilisateur dans des instructions SQL statiques.

*NAMING
Le chemin utilisé dépend de la convention d'appellation indiquée pour le paramètre OPTION (Options de précompilation).

Pour l'appellation *SYS, le chemin utilisé est *LIBL (liste de bibliothèques en cours lors de l'exécution).

Pour l'appellation *SQL, le chemin utilisé est "QSYS", "QSYS2", "SYSPROC", "SYSIBMADM", "IDutilisateur", où "IDutilisateur" est la valeur du registre spécial USER. Si un nom de schéma est indiqué pour le paramètre Collection par défaut (DFTRDBCOL), il est utilisé à la place de l'ID utilisateur.

*LIBL
Le chemin utilisé est la liste de bibliothèques générée lors de l'exécution.
nom
Indiquez un ou plusieurs noms de schéma. Vous pouvez en indiquer 268 au maximum.

Règles SQL (SQLCURRULE)

Indique la sémantique utilisée pour les instructions SQL.

*DB2
Les règles établies pour Db2 sont utilisées par défaut comme sémantique des instructions SQL. La sémantique suivante varie en fonction de cette option :

Les constantes hexadécimales sont considérées comme des données de type caractères

Les constantes de chaîne graphique Unicode sont de type UCS-2 (CCSID 13488).

Les affectations aux variables et paramètres SQL dans le corps d'une routine ou d'un déclencheur utilisent les règles d'affectation d'extraction.

Lorsque la description d'une instruction SELECT dans une structure SQLDA et SQLN est plus petite que le nombre requis d'entrées SQLVAR, SQLSTATE 01005 est renvoyé uniquement si la table des résultats contient des objets LOB ou des fichiers de type UDT.

*STD
Les règles établies par les normes SQL ISO et ANSI sont utilisées par défaut comme sémantique des instructions SQL. La sémantique suivante varie en fonction de cette option :

Les constantes hexadécimales sont considérées comme des données binaires.

Les constantes de chaîne graphique Unicode sont de type UTF-16 (CCSID 1200).

Les affectations aux variables et paramètres SQL dans le corps d'une routine ou d'un déclencheur utilisent les règles d'affectation de stockage.

Lorsque la description d'une instruction SELECT dans une structure SQLDA et SQLN est plus petite que le nombre requis d'entrées SQLVAR, SQLSTATE 01005 est toujours renvoyé.

Marquage SQL IBM (SAAFLAG)

Indique la fonction de marquage SQL IBM. Ce paramètre vous permet de marquer les instructions SQL afin de vérifier leur conformité à la syntaxe SQL IBM.

*NOFLAG
Aucun contrôle n'est effectué pour vérifier la conformité des instructions SQL à la syntaxe SQL IBM.
*FLAG
Un contrôle est effectué pour vérifier la conformité des instructions SQL à la syntaxe SQL IBM.

Marquage ANS (FLAGSTD)

Indique si les instructions non standard sont marquées. Ce paramètre vous permet de marquer les instructions SQL afin de vérifier leur conformité au niveau de base des normes ISO/IEC 9075-2003.

*NONE
Aucun contrôle n'est effectué pour vérifier si les instructions SQL sont conformes aux normes ANSI.
*ANS
Des contrôles sont effectués pour vérifier si les instructions SQL sont conformes aux normes.

Fichier imprimante (PRTFILE)

Indique le fichier imprimante à utiliser pour la liste en sortie du précompilateur.

Qualificatif 1 : Fichier imprimante

QSYSPRT
Le fichier en sortie du précompilateur est placé dans le fichier imprimante QSYSPRT, fourni par IBM. La longueur d'enregistrement du fichier QSYSPRT est 132. Si vous indiquez un fichier dont la longueur d'enregistrement est inférieure à 132, des informations seront perdues.
nom
Indiquez le nom du fichier imprimante dans lequel est placé le résultat de la précompilation.

Qualificatif 2 : Bibliothèque

*LIBL
La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
*CURLIB
La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
nom
Indiquez le nom de la bibliothèque dans laquelle est placé le fichier imprimante.

Profil utilisateur (USRPRF)

Indique le profil utilisateur associé à l'exécution du programme compilé et du module SQL, y compris le droit dont dispose l'un ou l'autre de ces objets sur chacun des objets figurant dans les instructions SQL statiques. Le profil du propriétaire ou de l'utilisateur permet de contrôler l'accès aux objets.

*NAMING
Le profil utilisateur est déterminé par la convention d'appellation. S'il s'agit de la convention *SQL, USRPRF(*OWNER) est utilisé. S'il s'agit de la convention *SYS, USRPRF(*USER) est utilisé.
*USER
Le profil de l'utilisateur qui exécute le programme ou le module SQL est utilisé.
*OWNER
Les profils du propriétaire et de l'utilisateur sont associés à l'exécution du programme ou du module SQL.

Profil utilisateur dynamique (DYNUSRPRF)

Indique le profil utilisateur utilisé dans les instructions SQL dynamiques.

*USER
Les instructions SQL locales dynamiques sont lancées sous le profil de l'utilisateur du programme. Les instructions SQL réparties et dynamiques sont lancées sous le profil du travail du serveur de l'application.
*OWNER
Les instructions SQL locales dynamiques sont lancées sous le profil du propriétaire du programme. Les instructions dynamiques SQL réparties sont lancées sous le profil du propriétaire du module SQL.

Séquence de tri (SRTSEQ)

Indique la table de classement à utiliser pour les comparaisons de caractères des instructions SQL.

Remarque :*HEX doit apparaître sur ce paramètre pour les applications réparties dont le serveur n'est pas un IBM i.

Valeurs uniques

*JOB
La valeur SRTSEQ du travail est utilisée.
*JOBRUN
La valeur SRTSEQ du travail est extraite quand le programme est lancé. Pour les applications réparties, SRTSEQ(*JOBRUN) est admis seulement si LANGID(*JOBRUN) a été également indiqué.
*LANGIDUNQ
La table de tri à poids uniques est utilisée pour la langue indiquée au paramètre LANGID (Identificateur de langue).
*LANGIDSHR
La table de tri à poids partagés est utilisée pour la langue indiquée au paramètre LANGID.
*HEX
Une table de séquence de tri n'est pas utilisée. Les valeurs hexadécimales des caractères servent à définir la séquence de tri.

Qualificatif 1 : Séquence de tri

nom
Indiquez le nom de la table de séquence de tri à utiliser avec ce programme.

Qualificatif 2 : Bibliothèque

*LIBL
La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
*CURLIB
La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
nom
Indiquez le nom de la bibliothèque sur laquelle doit s'effectuer la recherche.

Identificateur de langue (LANGID)

Indique l'identificateur de langue à utiliser quand SRTSEQ(*LANGIDUNQ) ou SRTSEQ(*LANGIDSHR) sont spécifiés.

*JOB
La valeur LANGID du travail est extraite pendant la précompilation.
*JOBRUN
La valeur LANGID du travail est extraite quand le programme est lancé. Pour les applications réparties, la valeur LANGID(*JOBRUN) n'est admise que si la valeur SRTSEQ(*JOBRUN) est également indiquée.
identificateur-langue
Indique l'identificateur de langue que le programme doit utiliser.

Vers le fichier source (TOSRCFILE)

Indique le fichier source devant recevoir le membre source en sortie traité par le précompilateur SQL. Si le fichier source indiqué n'est pas trouvé, il est créé. Le membre en sortie portera le même nom que celui indiqué au paramètre Objet (OBJ) ou Programme (PGM).

Qualificatif 1 : Vers le fichier source

QSQLTEMP
Le fichier source QSQLTEMP est utilisé.
nom
Indiquez le nom du fichier source devant contenir le membre source en sortie.

Qualificatif 2 : Bibliothèque

QTEMP
La bibliothèque QTEMP est utilisée.
*LIBL
La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours. Si le fichier n'est pas trouvé, il est créé dans la bibliothèque en cours.
*CURLIB
La recherche s'effectue dans la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
nom
Indiquez le nom de la bibliothèque devant contenir le fichier source en sortie.

Options de résultat décimal (DECRESULT)

Indique la précision maximale, l'échelle maximale et l'échelle de division minimale devant être utilisée lors des opérations décimales, par exemple une opération arithmétique décimale. Les limites spécifiées s'appliquent uniquement aux types de données NUMERIC et DECIMAL.

Elément 1 : Précision maximale

31
La précision maximale (longueur) qui doit être renvoyée par les opérations décimales est de 31 chiffres.
63
La précision maximale (longueur) qui doit être renvoyée par les opérations décimales est de 63 chiffres.

Elément 2 : Echelle maximale

31
L'échelle maximale (nombre de chiffres à droite du séparateur décimal) devant être renvoyée par les opérations décimales est de 31 chiffres.
0-63
Indiquez l'échelle maximale (nombre de chiffres à droite du séparateur décimal) devant être renvoyée par les opérations décimales. Cette valeur est comprise entre 0 et la précision maximale.

Elément 3 : Echelle de division minimale

0
L'échelle de division minimale n'est pas utilisée.
0-9
Indiquez l'échelle maximum (nombre de chiffres à droite du séparateur décimal) devant être renvoyée par les opérations décimales. La valeur ne peut pas dépasser l'échelle maximale. Si 0 est indiqué comme nombre maximal de décimales, le nombre de décimales de division minimale n'est pas utilisé.

Mode arrondi décimal virg flot (DECFLTRND)

Indique le mode d'arrondi en virgule flottante décimale utilisé pour les instructions SQL.

*HALFEVEN
Arrondi au plus près ; en cas d'équidistance, l'arrondi s'effectue de telle sorte que le dernier chiffre soit pair. Si les chiffres éliminés représentent plus de la moitié (0,5) de la valeur du chiffre situé à leur gauche, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur). S'ils représentent moins de la moitié, le coefficient obtenu n'est pas ajusté (en d'autres termes, les chiffres éliminés sont ignorés). Enfin, en cas de moitié exacte, le coefficient obtenu reste inchangé si son dernier chiffre est pair et ce coefficient est est augmenté de 1 (arrondi au chiffre supérieur) si son dernier chiffre est impair (de façon à obtenir un chiffre pair).
*HALFUP
Arrondi au plus près ; en cas d'équidistance, arrondi au chiffre supérieur. Si les chiffres éliminés représentent une valeur égale ou supérieure à la moitié (0,5) de la valeur du chiffre situé à leur gauche, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur). Dans le cas contraire, les chiffres éliminés sont ignorés.
*DOWN
Arrondi en tendant vers 0 (troncature). Les chiffres éliminés sont ignorés.
*CEILING
Arrondi vers plus l'infini. Si tous les chiffres éliminés sont des zéros ou si le signe est négatif, le résultat reste inchangé, aux chiffres éliminés près. Dans le cas contraire, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur).
*FLOOR
Arrondi vers moins l'infini. Si tous les chiffres éliminés sont des zéros ou si le signe est positif, le résultat reste inchangé, aux chiffres éliminés près. Sinon, le signe est négatif et le coefficient obtenu doit être augmenté de 1.
*HALFDOWN
Arrondi au plus près ; en cas d'équidistance, arrondi au chiffre inférieur. Si les chiffres éliminés représentent plus de la moitié (0,5) de la valeur du chiffre situé à leur gauche, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur). Sinon, si les chiffres éliminés représentent une valeur égale ou inférieure à 0,5, ces chiffres sont ignorés.
*UP
Arrondi en s'éloignant de 0. Si tous les chiffres éliminés sont des zéros, le résultat reste inchangé aux chiffres éliminés près. Dans le cas contraire, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur).

Options de compilation (COMPILEOPT)

Indique les autres paramètres à utiliser dans la commande du compilateur. La chaîne COMPILEOPT est ajoutée à la commande du compilateur générée par le précompilateur. Aucune validation de la chaîne n'est effectuée. La commande du compilateur génère une erreur si un paramètre est incorrect. Pour obtenir la liste des paramètres générés par le précompilateur pour la commande du compilateur, reportez vous à la rubrique Rubriques de programmation SQL DB2 for i dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/. L'utilisation d'un mot clé transmis au compilateur par le précompilateur entraîne l'échec de la commande en raison de paramètres en double.

*NONE
Aucun autre paramètre ne sera utilisé dans la commande du compilateur.
valeur de type caractère
Entrez un texte de 5000 caractères au maximum, entre apostrophes.

Exemples

CRTSQLRPG   PGM(JONES/ARBR5)
            TEXT('Créances Branche 5')

Cette commande exécute le précompilateur SQL afin de précompiler le source RPG et stocker le source modifié dans le membre ARBR5 du fichier source QSQLTEMP dans la bibliothèque QTEMP. Le compilateur RPG est appelé pour créer le programme ARBR5 dans la bibliothèque JONES à l'aide du membre source créé par le précompilateur SQL.

Messages d'erreur

Messages *ESCAPE

SQL9001
La précompilation SQL n'a pas abouti.
SQL9002
Paramètres TGTRLS non concordants pour précompilation SQL et compilation &7.
SQL9003
Le compilateur &7 n'est pas au niveau de version approprié pour le source SQL.
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.