Commande CL IBM i (AS/400)
CRTBNDCBL
Créer un programme COBOL lié
En bref
La commande CRTBNDCBL permet, en une seule étape, de compiler un programme source ILE COBOL et d'obtenir un programme exécutable.
CRTBNDCBL se lit CRT
(Créer) + BNDCBL.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CRTBNDCBL
Paramètres
-
PGMProgramme -
SRCFILEFichier source -
SRCMBRMembre source -
SRCSTMFFichier communication source -
GENLVLNiveau gravité pour génération -
TEXTTexte 'descriptif' -
OUTPUTSortie -
OPTIONOptions de compilation -
CVTOPTOptions de conversion -
MSGLMTLimite de messages -
DBGVIEWOption de vue de débogage -
DBGENCKEYClé de chiffrement de débogage -
OPTIMIZENiveau d'optimisation -
FLAGSTDMarquage FIPS -
EXTDSPOPTOptions d'affichage étendu -
FLAGGravité pour marquage -
REPLACERemplacement du programme -
USRPRFProfil utilisateur -
AUTDroits -
LINKLITLittéral de lien -
SIMPLEPGMProgramme simple -
TGTRLSEdition cible -
SRTSEQSéquence de tri -
LANGIDIdentificateur de langue -
ENBPFRCOLCollecte performances possible -
BNDDIRRépertoire de liage -
STGMDLModèle d'espace mémoire -
ACTGRPGroupe d'activation -
PRFDTADonnées de profilage -
CCSIDID codé de jeu de caractères -
NTLCCSIDCCSID national -
ARITHMETICMode arithmétique -
NTLPADCHARCaractère de remplissage -
LICOPTOptions microcode sous licence -
INCDIRInclusion répertoire -
PGMINFOInfos interface programme -
INFOSTMFFichier interface programme -
DEFINEDéfinir des noms -
TGTCCSIDTARGET CCSID
Astuce : dans une session 5250, tapez CRTBNDCBL 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 QDEVTOOLS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non
La commande CRTBNDCBL permet, en une seule étape, de compiler un programme source ILE COBOL et d'obtenir un programme exécutable. Vous pouvez l'utiliser en mode interactif, en mode par lots ou dans un programme CL.
Tous les noms d'objet indiqués pour la commande CRTBNDCBL doivent respecter les conventions d'appellation du serveur.
Vous trouverez ci-après la description des paramètres de la commande CRTBNDCBL.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| PGM | Programme | Nom d'objet qualifié | Facultatif, positionnel 1 |
| Qualificatif 1: Programme | Nom, *PGMID | ||
| Qualificatif 2: Bibliothèque | Nom, *CURLIB | ||
| SRCFILE | Fichier source | Nom d'objet qualifié | Facultatif, positionnel 2 |
| Qualificatif 1: Fichier source | Nom, QCBLLESRC | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB | ||
| SRCMBR | Membre source | Nom, *PGM | Facultatif, positionnel 3 |
| SRCSTMF | Fichier communication source | Chemin d'accès | Facultatif |
| GENLVL | Niveau gravité pour génération | 0-30, 30 | Facultatif |
| TEXT | Texte 'descriptif' | Valeur caractère, *SRCMBRTXT, *BLANK | Facultatif |
| OUTPUT | Sortie | *PRINT, *NONE | Facultatif, positionnel 4 |
| OPTION | Options de compilation | Values (jusqu'à 50 répétitions): *SOURCE, *NOSOURCE, *SRC, *NOSRC, *NOXREF, *XREF, *GEN, *NOGEN, *NOSEQUENCE, *SEQUENCE, *NOVBSUM, *VBSUM, *NONUMBER, *NUMBER, *LINENUMBER, *NOMAP, *MAP, *NOOPTIONS, *OPTIONS, *QUOTE, *APOST, *NOSECLVL, *SECLVL, *PRTCORR, *NOPRTCORR, *MONOPRC, *NOMONOPRC, *RANGE, *NORANGE, *NOUNREF, *UNREF, *NOSYNC, *SYNC, *NOCRTF, *CRTF, *NODUPKEYCHK, *DUPKEYCHK, *NOINZDLT, *INZDLT, *NOBLK, *BLK, *STDINZ, *NOSTDINZ, *STDINZHEX00, *NODDSFILLER, *DDSFILLER, *NOIMBEDERR, *IMBEDERR, *STDTRUNC, *NOSTDTRUNC, *NOCHGPOSSGN, *CHGPOSSGN, *NOEVENTF, *EVENTF, *MONOPIC, *NOMONOPIC, *NOCRTARKIDX, *CRTARKIDX | Facultatif, positionnel 5 |
| CVTOPT | Options de conversion | Values (jusqu'à 8 répétitions): *NOVARCHAR, *VARCHAR, *NODATETIME, *DATETIME, *NOPICXGRAPHIC, *PICXGRAPHIC, *NOPICGGRAPHIC, *PICGGRAPHIC, *NOFLOAT, *FLOAT, *NODATE, *DATE, *NOTIME, *TIME, *NOTIMESTAMP, *TIMESTAMP, *NOCVTTODATE, *CVTTODATE, *NOPICNGRAPHIC, *PICNGRAPHIC | Facultatif |
| MSGLMT | Limite de messages | Liste d'éléments | Facultatif |
| Élément 1: Nombre de messages | 0-9999, *NOMAX | ||
| Élément 2: Niveau de gravité maximal | 0-30, 30 | ||
| DBGVIEW | Option de vue de débogage | Liste d'éléments | Facultatif |
| Élément 1: Vue de débogage | *STMT, *SOURCE, *LIST, *ALL, *NONE | ||
| Élément 2: Vue de liste condensée | *NOCOMPRESSDBG, *COMPRESSDBG | ||
| DBGENCKEY | Clé de chiffrement de débogage | Valeur caractère, *NONE | Facultatif |
| OPTIMIZE | Niveau d'optimisation | *NONE, *BASIC, *FULL, *NEVER | Facultatif |
| FLAGSTD | Marquage FIPS | Values (jusqu'à 2 répétitions): *NOFIPS, *MINIMUM, *INTERMEDIATE, *HIGH, *NOOBSOLETE, *OBSOLETE | Facultatif |
| EXTDSPOPT | Options d'affichage étendu | Values (jusqu'à 3 répétitions): *DFRWRT, *NODFRWRT, *UNDSPCHR, *NOUNDSPCHR, *ACCUPDALL, *ACCUPDNE | Facultatif |
| FLAG | Gravité pour marquage | 0-99, 0 | Facultatif |
| REPLACE | Remplacement du programme | *YES, *NO | Facultatif |
| USRPRF | Profil utilisateur | *USER, *OWNER | Facultatif |
| AUT | Droits | Nom, *LIBCRTAUT, *ALL, *CHANGE, *USE, *EXCLUDE | Facultatif |
| LINKLIT | Littéral de lien | *PGM, *PRC | Facultatif |
| SIMPLEPGM | Programme simple | *YES, *NO | Facultatif |
| TGTRLS | Edition cible | Nom simple, *CURRENT, *PRV | Facultatif |
| SRTSEQ | Séquence de tri | Valeurs uniques: *HEX, *JOB, *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, *JOBRUN, *JOB | Facultatif |
| ENBPFRCOL | Collecte performances possible | Valeurs uniques: *PEP Autres valeurs: Liste d'éléments |
Facultatif |
| Élément 1: Niveau de collecte | *FULL, *ENTRYEXIT | ||
| BNDDIR | Répertoire de liage | Valeurs uniques: *NONE Autres valeurs (jusqu'à 50 répétitions): Nom d'objet qualifié |
Facultatif |
| Qualificatif 1: Répertoire de liage | Nom | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB, *USRLIBL | ||
| STGMDL | Modèle d'espace mémoire | *INHERIT, *SNGLVL, *TERASPACE | Facultatif |
| ACTGRP | Groupe d'activation | Nom, *STGMDL, *NEW, *CALLER | Facultatif |
| PRFDTA | Données de profilage | *NOCOL, *COL | Facultatif |
| CCSID | ID codé de jeu de caractères | Entier, *JOBRUN, *HEX, *JOB | Facultatif |
| NTLCCSID | CCSID national | Entier, 13488 | Facultatif |
| ARITHMETIC | Mode arithmétique | *NOEXTEND, *EXTEND31, *EXTEND31FULL, *EXTEND63 | Facultatif |
| NTLPADCHAR | Caractère de remplissage | Liste d'éléments | Facultatif |
| Élément 1: Simple octet vers national | Valeur caractère, *DEFAULT | ||
| Élément 2: Double octet vers national | Valeur caractère, *DEFAULT | ||
| Élément 3: National vers national | Valeur caractère, *DEFAULT | ||
| LICOPT | Options microcode sous licence | Valeur caractère | Facultatif |
| INCDIR | Inclusion répertoire | Values (jusqu'à 32 répétitions): Chemin d'accès, *NONE | Facultatif |
| PGMINFO | Infos interface programme | Liste d'éléments | Facultatif |
| Élément 1: Générer | *NO, *PCML | ||
| Élément 2: Emplacement | *STMF, *MODULE, *ALL | ||
| INFOSTMF | Fichier interface programme | Chemin d'accès | Facultatif |
| DEFINE | Définir des noms | Values (jusqu'à 32 répétitions): Chemin d'accès, *NONE | Facultatif |
| TGTCCSID | TARGET CCSID | 1-65534, *SRC, *JOB | Facultatif |
Programme (PGM)
Indique le nom et la bibliothèque de l'objet programme en cours de création. Ces noms doivent respecter les conventions d'appellation du serveur. Les valeurs possibles sont les suivantes :
- *PGMID
- Le nom du programme compilé provient du paragraphe PROGRAM-ID dans le programme source ILE COBOL. Lorsque SIMPLEPGM(*NO) est indiqué, le nom de l'objet programme compilé provient du paragraphe PROGRAM-ID du premier programme source ILE COBOL de la séquence de programmes source (plusieurs unités de compilation dans un seul membre de fichier source).
- nom-programme
- Indiquez le nom du programme compilé ILE COBOL. Si vous indiquez un nom de programme pour ce paramètre et compilez une séquence de programmes source en précisant SIMPLEPGM(*YES), le premier programme de la séquence utilise ce nom. Tous les autres programmes utilisent le nom indiqué au paragraphe PROGRAM-ID du programme source ILE COBOL correspondant.
Les valeurs possibles pour la bibliothèque sont les suivantes :
- *CURLIB
- L'objet programme créé est stocké dans la bibliothèque en cours. Si vous n'en avez défini aucune, QGPL est utilisée par défaut.
- nom-bibliothèque
- Entrez le nom de la bibliothèque dans laquelle l'objet programme que vous créez doit être stocké.
Fichier source (SRCFILE)
Indique le nom du fichier source et de la bibliothèque contenant le code source ILE COBOL à compiler. La longueur maximale des enregistrements du fichier source est de 92. Les valeurs possibles sont les suivantes :
- QCBLLESRC
- Indique que le fichier source, QCBLLESRC, contient le source ILE COBOL à compiler.
- nom-fichier-source
- Indiquez le nom du fichier source contenant le source ILE COBOL à compiler.
Les valeurs possibles pour la bibliothèque sont les suivantes :
- *LIBL
- La bibliothèque contenant le fichier source est recherchée dans la liste des bibliothèques.
- *CURLIB
- La bibliothèque en cours est utilisée. Si vous n'en avez défini aucune, QGPL est utilisée par défaut.
- nom-bibliothèque
- Entrez le nom de la bibliothèque du fichier source.
Membre source (SRCMBR)
Indique le nom du membre contenant le code source ILE COBOL à compiler. Vous pouvez préciser ce paramètre uniquement si le fichier source référencé au paramètre SRCFILE est un fichier base de données. Les valeurs possibles sont les suivantes :
- *PGM
- Le membre du fichier source dont le nom est identique à celui du programme indiqué au paramètre PGM est utilisé.
Si vous n'indiquez aucun nom de programme au paramètre PGM, le compilateur utilise le premier membre source du fichier source base de données.
- nom-membre-fichier-source
- Indiquez le nom du membre contenant le code source ILE COBOL.
Fichier communication source (SRCSTMF)
Indique le nom du chemin d'accès du fichier STREAM qui contient le code source ILE COBOL à compiler.
Le nom du chemin d'accès peut être soit complet soit relatif. Un nom de chemin d'accès complet commence par '/'; un nom de chemin d'accès relatif commence par un caractère différent de '/'.
S'il est qualifié de complet, le nom de chemin d'accès est en entier. S'il est qualifié de relatif, le nom de chemin d'accès est complété par le nom du répertoire de travail en cours.
Les paramètres SRCMBR et SRCFILE ne peuvent pas être indiqués avec le paramètre SRCSTMF.
Niveau gravité pour génération (GENLVL)
Indique le niveau de gravité dont dépend la création d'un objet module. Il s'agit du niveau de gravité des messages générés lors de la compilation. Ce paramètre s'applique individuellement à chaque unité de compilation du membre du fichier source. Même si une unité de compilation échoue, les unités suivantes sont compilées.
Les valeurs possibles sont les suivantes :
- 30
- Aucun objet programme n'est créé s'il se produit des erreurs dont le niveau de gravité est égal ou supérieur à 30.
- niveau-gravité
- Entrez un nombre à un ou deux chiffres compris entre 0 et 30 afin de définir le niveau de gravité conditionnant la création d'un objet programme. Aucun objet programme n'est créé en cas d'erreurs dont le niveau de gravité est égal ou supérieur à celui-ci.
Texte 'descriptif' (TEXT)
Permet d'entrer un texte décrivant brièvement le programme et sa fonction.
- *SRCMBRTXT
- La description du membre de fichier base de données contenant le code source ILE COBOL est utilisée pour décrire l'objet programme. Si le source provient d'un fichier unité ou d'un fichier en ligne, *SRCMBRTXT est équivalent à *BLANK.
- *BLANK
- Aucun texte n'est indiqué.
- description
- Entrez un texte décrivant brièvement le programme et sa fonction. La longueur maximale du texte est de 50 caractères SBCS délimités par des apostrophes. Ces dernières ne sont pas comptées dans la chaîne des 50 caractères.
Sortie (OUTPUT)
Indique si la liste de compilation est générée ou non. Les valeurs possibles sont les suivantes :
- La liste de compilation est générée. Si un membre est en cours de compilation, le nom du fichier de sortie est identique à celui du membre. Si un fichier STREAM est en cours de compilation et que la valeur *PGMID est indiquée au paramètre PGM, le nom du fichier de sortie est COBOLPGM00. Sinon, il possède le même nom que le programme.
- *NONE
- Aucune liste de compilation n'est générée.
Options de compilation (OPTION)
Indique les options à utiliser lorsque le code source ILE COBOL est compilé.
Les options indiquées dans l'instruction PROCESS du programme source ILE COBOL sont prioritaires par rapport aux options correspondantes du paramètre OPTION.
Les valeurs possibles du paramètre OPTION sont les suivantes :
- *SOURCE ou *SRC
- Le compilateur produit une liste source composée du programme source ILE COBOL et de tous les messages d'erreur générés lors de la compilation.
- *NOSOURCE ou *NOSRC
- Le compilateur ne génère pas la partie source de la liste. Si celle-ci ne vous est pas nécessaire, utilisez cette option car elle permet de réduire la durée de la compilation.
- *NOXREF
- Le compilateur ne génère pas la liste de références croisées du programme source ILE COBOL.
- *XREF
- Le compilateur génère la liste de références croisées du programme source ILE COBOL.
- *GEN
- Le compilateur crée un objet programme après la compilation du source ILE COBOL.
- *NOGEN
- Le compilateur ne crée pas d'objet programme après la compilation du programme source ILE COBOL. Vous pouvez indiquer cette option si vous souhaitez seulement obtenir les messages d'erreur ou les listes.
- *NOSEQUENCE
- Les erreurs de séquence ne sont pas recherchées dans les numéros de référence.
- *SEQUENCE
- Les erreurs de séquence sont recherchées dans les numéros de référence. Pour éviter ces erreurs, précisez l'option *LINENUMBER.
- *NOVBSUM
- Les décomptes des utilisations de verbes ne sont pas imprimés.
- *VBSUM
- Les décomptes des utilisations de verbes sont imprimés.
- *NONUMBER
- Les numéros de séquence du fichier source sont utilisés pour les numéros de référence.
- *NUMBER
- Les numéros de séquence fournis par l'utilisateur (colonnes 1 à 6) sont utilisés pour les numéros de référence.
- *LINENUMBER
- Les numéros de séquence créés par le compilateur sont utilisés pour les numéros de référence. Cette option combine le code source du programme ILE COBOL et le code source introduit par les instructions COPY dans une séquence numérotée consécutivement. Utilisez cette option si vous précisez un marquage FIPS (Federal Information Processing Standards) ou SAA.
- *NOMAP
- Le compilateur ne liste pas la mappe de division des données.
- *MAP
- Le compilateur liste la mappe de division des données.
- *NOOPTIONS
- Les options actives ne sont pas listées pour cette compilation.
- *OPTIONS
- Les options actives sont listées pour cette compilation.
- *QUOTE
- Indique que le guillemet (") est utilisé comme délimiteur pour les littéraux non numériques, hexadécimaux et Booléens. Cette option signifie également que la constante figurative QUOTE a la valeur EBCDIC d'un guillemet.
- *APOST
- Indique que l'apostrophe (') est utilisée comme délimiteur pour les littéraux non numériques, hexadécimaux et Booléens. Cette option signifie également que la constante figurative QUOTE a la valeur EBCDIC d'une apostrophe.
- *NOSECLVL
- Le texte du message de deuxième niveau n'est pas listé pour cette compilation.
- *SECLVL
- Le texte du message de deuxième niveau est listé pour cette compilation dans la section messages de la liste, ainsi que le texte d'erreur de premier niveau.
- *PRTCORR
- Des lignes de commentaire sont insérées dans la liste de compilation. Elles indiquent quels sont les éléments primaires inclus à la suite de l'utilisation de l'expression CORRESPONDING.
- *NOPRTCORR
- Les lignes de commentaire ne sont pas insérées dans la liste de compilation lorsque l'expression CORRESPONDING est utilisée.
- *MONOPRC
- Le nom de programme (un littéral ou un mot) trouvé dans le paragraphe PROGRAM-ID, les instructions CALL, CANCEL ou SET ENTRY et l'en-tête END PROGRAM est converti en lettres majuscules (casse unique) et les conventions d'appellation lui sont appliquées.
- *NOMONOPRC
- Le nom de programme (un littéral ou un mot) trouvé dans le paragraphe PROGRAM-ID, les instructions CALL, CANCEL ou SET ENTRY et l'en-tête END PROGRAM n'est pas converti en lettres majuscules (pas de casse unique) et les conventions d'appellation ne lui sont pas appliquées. Cette option permet d'utiliser les caractères spéciaux non admis en COBOL standard dans la cible CALL.
- *RANGE
- Lors de l'exécution, les plages d'indices sont vérifiées, mais pas celles des index. Les opérations de sous-chaîne générées par le compilateur et la modification des références sont également vérifiées.
Le contenu des éléments date et heure est vérifié afin de s'assurer que leur format est correct et qu'ils représentent une date, une heure ou un horodatage valides.
- *NORANGE
- Les plages ne sont pas vérifiées lors de l'exécution.
Remarque :L'option *RANGE génère un code de vérification des plages d'indices. Par exemple, elle vous garantit que vous ne tentez pas d'accéder à l'élément 21 d'un tableau n'en comportant que 20.
L'option *NORANGE ne génère pas de code de vérification des plages d'indices. Avec cette option, l'exécution du code est plus rapide.
- *NOUNREF
- Les éléments de données non référencés ne sont pas inclus dans le programme compilé. Ceci permet de réduire la quantité de mémoire utilisée et de compiler un programme plus volumineux. Lors du débogage, si l'option *NOUNREF a été choisie, vous ne pouvez pas consulter un élément de données non référencé ou l'attribuer. Les éléments de données non référencés apparaissent dans les listes de références croisées générées par l'option OPTION (*XREF).
- *UNREF
- Les éléments de données non référencés sont inclus dans le programme compilé.
- *NOSYNC
- La vérification de la clause SYNCHRONIZED est uniquement syntaxique.
- *SYNC
- La clause SYNCHRONIZED est traitée par le compilateur. La clause SYNCHRONIZED provoque l'alignement d'un élément de données de telle manière que l'extrémité à droite figure sur la frontière naturelle de la mémoire. La frontière naturelle de la mémoire est la frontière 4 octets, 8 octets ou 16 octets la plus proche dans la mémoire en fonction de la longueur et du type des données stockées. Pour pouvoir réaliser cet alignement, de la mémoire supplémentaire est réservée dans une position adjacente à l'élément synchronisé. Chaque élément de données primaire décrit comme SYNCHRONIZED est aligné sur la frontière naturelle de la mémoire qui lui a été allouée.
- *NOCRTF
- Les fichiers disque non disponibles au moment d'une opération d'ouverture (OPEN) ne sont pas créés dynamiquement.
- *CRTF
- Les fichiers disque non disponibles au moment d'une opération d'ouverture (OPEN) sont créés dynamiquement.
Remarque :La longueur d'enregistrement maximale d'un fichier créé dynamiquement est de 32 766. Les fichiers indexés ne seront pas créés dynamiquement même si l'option *CRTF a été précisée.
- *NODUPKEYCHK
- Ne recherche pas les clés primaires et de remplacement en double des fichiers INDEXED.
- *DUPKEYCHK
- Recherche les clés primaires et de remplacement en double des fichiers INDEXED.
- *NOINZDLT
- Les fichiers relatifs à accès séquentiel ne sont pas initialisés avec les enregistrements supprimés lors de l'opération de fermeture (CLOSE) s'ils ont été ouverts pour l'opération OUTPUT. La frontière des enregistrements est déterminée par le nombre d'enregistrements écrits au moment de l'opération OPEN OUTPUT. Les opérations OPEN suivantes permettent uniquement un accès jusqu'à la frontière des enregistrements.
- *INZDLT
- Les fichiers relatifs à accès séquentiel sont initialisés avec les enregistrements supprimés lors de l'opération de fermeture (CLOSE) s'ils ont été ouverts pour l'opération OUTPUT. Les enregistrements actifs des fichiers ne sont pas affectés. La frontière des enregistrements est définie comme la taille du fichier pour les opérations OPEN suivantes.
- *NOBLK
- Le compilateur permet uniquement le groupage des fichiers à accès SEQUENTIAL ne comportant aucune instruction START. La clause BLOCK CONTAINS, si elle est indiquée, n'est pas prise en compte, sauf pour les fichiers bande.
- *BLK
- Lorsque *BLK est utilisé et qu'une clause BLOCK CONTAINS est précisée, le compilateur permet le groupage des fichiers à accès DYNAMIC et SEQUENTIAL comportant une instruction START. Le groupage n'est pas autorisé pour les fichiers de type RELATIVE ouverts pour les opérations en sortie. La clause BLOCK CONTAINS détermine le nombre d'enregistrements à grouper.
Lorsque *BLK est utilisé et qu'aucune clause BLOCK CONTAINS n'est précisée, le compilateur permet uniquement le groupage des fichiers à accès SEQUENTIAL ne comportant aucune instruction START. Le système d'exploitation détermine le nombre d'enregistrements à grouper.
- *STDINZ
- Dans le cas des éléments ne comportant aucune clause VALUE, le compilateur utilise les valeurs par défaut pour initialiser les éléments de données.
- *NOSTDINZ
- Dans le cas des éléments ne comportant aucune clause VALUE, le compilateur ne prend pas les valeurs par défaut pour initialiser les éléments de données.
- *STDINZHEX00
- Dans le cas des éléments ne comportant aucune clause VALUE, le compilateur utilise le zéro hexadécimal pour initialiser les éléments de données.
- *NODDSFILLER
- Si aucune zone correspondante n'est trouvée par une instruction COPY DDS, aucune description de zone n'est générée.
- *DDSFILLER
- Si aucune zone correspondante n'est trouvée par une instruction COPY DDS, une description de zone FILLER à un seul caractère, "07 FILLER PIC X", est toujours créée.
- *NOIMBEDERR
- Les messages d'erreur ne sont pas inclus dans la section liste source de la liste de compilation. Ils apparaissent uniquement dans la section réservée aux messages d'erreur.
- *IMBEDERR
- Les messages d'erreur de premier niveau sont inclus dans la section liste source de la liste de compilation, immédiatement à la suite de la ligne erronée. Ils apparaissent également dans la section réservée aux messages d'erreur.
- *STDTRUNC
- Cette option s'applique uniquement aux données USAGE BINARY. Lorsque *STDTRUNC est sélectionnée, les données USAGE BINARY sont tronquées au nombre de chiffres indiqué dans la clause PICTURE de la zone de réception BINARY.
- *NOSTDTRUNC
- Cette option s'applique uniquement aux données USAGE BINARY. Lorsque *NOSTDTRUNC est sélectionnée, les zones de réception BINARY sont tronquées à la frontière correspondant au demi-mot, au mot entier ou au mot double. Les zones d'envoi BINARY sont également traitées en tant que demi-mots, mots entiers ou mots doubles. De cette façon, la totalité du contenu binaire de la zone est significative. En outre, l'instruction DISPLAY convertit la totalité du contenu d'une zone BINARY, sans troncature.
- *NOCHGPOSSGN
- La valeur hexadécimale F est utilisée comme signe positif par défaut pour les données numériques étendues et condensées. Il s'agit de la valeur par défaut du système d'exploitation.
- *CHGPOSSGN
- La valeur hexadécimale C est utilisée comme signe positif par défaut pour les données numériques étendues et condensées. Elle s'applique à tous les résultats des instructions MOVE, ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE et INITIALIZE, ainsi qu'aux résultats de la clause VALUE.
- *NOEVENTF
- Ne crée pas de fichier événements destiné aux outils client. Les outils client utilisent ce fichier pour le suivi des erreurs intégré. Un fichier événements est normalement généré lorsque vous créez un module ou un programme dans les outils client.
- *EVENTF
- Crée un fichier événements destiné aux outils client. Ce fichier événements est créé en tant que membre dans le fichier EVFEVENT, dans la bibliothèque où doit être stocké l'objet module ou programme créé. Si le fichier EVFEVENT n'existe pas, il est créé automatiquement. Le nom de membre du fichier événements est le même que celui de l'objet en cours de création.
Les outils client utilisent ce fichier pour le suivi des erreurs intégré. Un fichier événements est normalement généré lorsque vous créez un module ou un programme dans les outils client.
- *MONOPIC
- La chaîne de caractères PICTURE est convertie en lettres majuscules.
- *NOMONOPIC
- Le symbole monétaire utilisé dans la chaîne de caractères PICTURE nécessite le respect Maj/min. Autrement dit, dans une chaîne de caractères PICTURE les lettres minuscules correspondant aux majuscules qui constituent les symboles PICTURE A, B, E, G, N, P, S, V, X, Z, CR et DB sont équivalentes à leur représentation en majuscules dans ce type de chaîne. Aucune autre lettre minuscule n'est équivalente à sa représentation correspondante en majuscules.
- *NOCRTARKIDX
- Les index de clés d'enregistrement de remplacement (ARK) temporaires ne sont pas créés si les enregistrements permanents sont introuvables.
- *CRTARKIDX
- Les index de clés d'enregistrement de remplacement (ARK) temporaires sont créés si les enregistrements permanents sont introuvables.
Options de conversion (CVTOPT)
Indique la façon dont le compilateur gère les types de zone suivants : date, heure, horodatage, et alphanumérique à longueur variable et en virgule flottante, transmis à votre programme à partir de fichiers à description externe via COPY DDS. Les valeurs possibles sont les suivantes :
- *NOVARCHAR
- Les zones de longueur variable sont déclarées en tant que zones FILLER.
- *VARCHAR
- Les zones de longueur variable sont déclarées en tant qu'éléments de groupe et sont accessibles au programme source ILE COBOL.
- *NODATETIME
- Les zones de type date, heure et horodatage sont déclarées en tant que zones FILLER.
- *DATETIME
- Des noms d'éléments de données COBOL sont attribués aux zones de type date, heure et horodatage en fonction de leurs noms DDS. La catégorie des éléments de données COBOL est alphanumérique, sauf si l'un des paramètres CVTOPT a la valeur *DATE, *TIME ou *TIMESTAMP. Dans ce cas, la catégorie de l'élément de données COBOL est de type date, heure ou horodatage, respectivement.
- *NOPICXGRAPHIC
- Considérations DBCS : non applicable.
- *PICXGRAPHIC
- Considérations DBCS : non applicable.
Considérations DBCS : non applicable.
- *PICGGRAPHIC
- Considérations DBCS : non applicable.
Considérations DBCS : non applicable.
- *NOPICGGRAPHIC
- Considérations DBCS : non applicable.
- *NOFLOAT
- Les zones en virgule flottante sont déclarées en tant que zones FILLER avec pour USAGE BINARY.
- *FLOAT
- Les zones en virgule flottante sont insérées dans le programme avec leur nom DDS et un USAGE COMP-1 (simple précision) ou COMP-2 (double précision). Ces zones sont rendues accessibles au programme source ILE COBOL.
- *NODATE
- Les zones de type heure DDS sont déclarées comme éléments de données COBOL de catégorie alphanumérique ; par exemple :
06 FILLER PIC X(10).
Le nom de l'élément de données COBOL est déterminé par le paramètre *NODATETIME/*DATETIME CVTOPT.
- *DATE
- Les zones de type date DDS sont déclarées comme éléments de données COBOL de catégorie date ; par exemple :
06 FILLER FORMAT DATE 'àY-%m-%d'.
Le nom de l'élément de données COBOL est déterminé par le paramètre *NODATETIME/*DATETIME CVTOPT.
- *NOTIME
- Les zones de type heure DDS sont déclarées comme éléments de données COBOL de catégorie alphanumérique ; par exemple :
06 FILLER PIC X(10).
Le nom de l'élément de données COBOL est déterminé par le paramètre *NODATETIME/*DATETIME CVTOPT.
- *TIME
- Les zones de type heure DDS sont déclarées comme éléments de données COBOL de catégorie heure ; par exemple :
06 FILLER FORMAT TIME '%H:%M:%S'.
Le nom de l'élément de données COBOL est déterminé par le paramètre *NODATETIME/*DATETIME CVTOPT.
- *NOTIMESTAMP
- Les zones de type horodatage DDS sont déclarées comme éléments de données COBOL de catégorie alphanumérique, par exemple :
06 FILLER PIC X(10).
Le nom de l'élément de données COBOL est déterminé par le paramètre *NODATETIME/*DATETIME CVTOPT.
- *TIMESTAMP
- Les zones de type horodatage DDS sont déclarées comme éléments de données COBOL de catégorie horodatage, par exemple :
06 FILLER FORMAT TIMESTAMP '%H:%M:%S'.
Le nom de l'élément de données COBOL est déterminé par le paramètre *NODATETIME/*DATETIME CVTOPT.
- *NOCVTTODATE
- Les types de données DDS auxquels le mot clé DATFMT est associé (à l'exception du type de données de date DDS) sont déclarés dans ILE COBOL en fonction de leur type DDS d'origine.
- *CVTTODATE
- Les types de données DDS auxquels le mot clé DATFMT est associé (à l'exception des types de données de date DDS) sont déclarés dans ILE COBOL en tant que types de données de date.
- *NOPICNGRAPHIC
- Considérations DBCS : non applicable.
- *PICNGRAPHIC
- Considérations DBCS : non applicable.
Limite de messages (MSGLMT)
Indique le nombre maximal de messages d'un niveau de gravité donné admis pour chaque unité de compilation avant l'arrêt de la compilation. Dès qu'une unité de compilation atteint ce maximum de messages, la compilation s'arrête pour tout le membre source.
Par exemple, si vous indiquez un nombre maximal de messages égal à 3 et un niveau de gravité égal à 20, la compilation s'arrête s'il se produit trois erreurs (ou plus) d'un niveau de gravité de 20 ou plus. Si aucun message n'atteint ou ne dépasse le niveau de gravité indiqué, la compilation se poursuit quel que soit le nombre d'erreurs survenues.
- nombre-messages
- Indique le nombre maximal de messages. Les valeurs possibles sont les suivantes :
- *NOMAX
- La compilation se poursuit jusqu'à la fin quel que soit le nombre des erreurs détectées.
- nombre-maximal
- Indique le nombre maximal de messages atteignant ou dépassant le niveau de gravité indiqué à partir duquel la compilation s'arrête. Les valeurs admises sont comprises entre 0 et 9999.
- niveau-gravité-message
- Indique le niveau de gravité à partir duquel la compilation s'arrête. Les valeurs possibles sont les suivantes :
- 30
- La compilation s'arrête si le nombre d'erreurs d'un niveau de gravité égal ou supérieur à 30 dépasse le nombre maximal de messages indiqué.
- niveau-gravité
- Entrez un nombre à un ou deux chiffres compris entre 0 et 30 afin de définir le niveau de gravité entraînant l'arrêt de la compilation. La compilation s'interrompt si le nombre d'erreurs dont le niveau de gravité est égal ou supérieur à celui-ci dépasse le nombre maximal de messages indiqué.
Option de vue de débogage (DBGVIEW)
Indique les options définissant les vues du programme source ou de la liste générée disponibles pour le débogage du programme compilé et si la vue de liste de débogage est condensée ou non.
- vue-débogage
- Indiquez les vues qui doivent être disponibles pour débogage. Les valeurs possibles sont les suivantes :
- *STMT
- Le programme compilé peut être débogué à l'aide de noms symboliques et de numéros d'instruction.
- *SOURCE
- Le membre source principal, ainsi que les membres source copiés et inclus via des instructions COPY, possèdent des vues source disponibles pour le débogage du programme compilé. Ces dernières sont disponibles uniquement si les membres proviennent de fichiers source base de données locaux. Ne modifiez pas les membres et ne les supprimez pas dans l'intervalle entre la compilation et le débogage.
- *LIST
- Une vue de liste, qui affiche le code source après le traitement de toute instruction COPY ou REPLACE, sera rendue disponible pour le débogage du module compilé. Cette option permet d'augmenter la taille du module compilé, sans affecter les performances d'exécution de celui-ci.
Lorsque les options de compilation correspondantes sont demandées, la vue de liste peut comprendre la liste des références croisées, la mappe de division de données et le nombre d'utilisations des instructions. Par exemple, elle comprend une liste des références croisées si OPTION(*XREF) est spécifié.
Les vues de liste peuvent être générées quelle que soit la provenance des membres source principaux ou copiés. Elles ne sont pas affectées par les modifications ou la suppression des membres source à la suite de la compilation.
- *ALL
- Equivaut à combiner *STMT, *SOURCE et *LIST.
- *NONE
- Le programme compilé ne peut pas être débogué. Ceci réduit la taille du programme compilé, mais n'affecte pas ses performances d'exécution. Lorsque cette option est indiquée, il est impossible d'effectuer un cliché formaté.
- compression-vue-liste
- Indique si la vue de liste est condensée ou non lorsque la valeur *LIST ou *ALL est spécifiée dans la vue de débogage. Les valeurs possibles sont les suivantes :
- *NOCOMPRESSDBG
- La vue de liste n'est pas condensée.
- *COMPRESSDBG
- La vue de liste est condensée lorsque la valeur *LIST ou *ALL est spécifiée dans la vue de débogage.
Clé de chiffrement de débogage (DBGENCKEY)
Indique la clé de chiffrement utilisée pour chiffrer la source du programme intégrée dans les vues de débogage.
- *NONE
- Aucune clé de chiffrement n'est indiquée.
- valeur-caractère
- Indiquez la clé utilisée pour chiffrer la source du programme intégrée dans les vues de débogage stockées dans l'objet module. La longueur de la clé peut être comprise entre 1 et 16 octets. Une clé dont la longueur est comprise entre 1 et 15 octets peut passer à 16 octets, des blancs étant utilisés pour le chiffrement. Spécifier une clé de longueur nulle revient à spécifier *NONE.
Si la clé contient des caractères non invariants sur toutes les pages de codes, il appartient à l'utilisateur de vérifier que le système cible utilise la même page de codes que le système source ; sinon, il est possible que la clé ne corresponde pas et que le déchiffrement échoue. Si la clé de chiffrement doit être tapée sur des systèmes utilisant des pages de codes différentes, la clé devra si possible être constituée de caractères invariants pour toutes les pages de codes EBCDIC.
Niveau d'optimisation (OPTIMIZE)
Indique le niveau d'optimisation du programme.
Remarque :L'utilisateur peut remplacer le niveau d'optimisation du module objet à l'aide de la commande CHGPGM sans devoir recompiler le programme source, sauf si la valeur d'option *NEVER a été sélectionnée.
Les valeurs possibles sont les suivantes :
- *NONE
- Aucune optimisation n'est effectuée sur le programme compilé. Le temps de compilation est minimisé lorsque cette option est utilisée. Elle permet d'afficher et de modifier les variables lors du débogage.
- *BASIC
- Une optimisation partielle (au niveau du bloc local uniquement) est effectuée sur le programme compilé. Cette option permet d'afficher les variables pendant le débogage, mais pas de les modifier.
- *FULL
- Une optimisation complète (au niveau global) est effectuée sur le programme compilé. Elle augmente la durée de la compilation, mais génère un code optimal. Cette option permet d'afficher les variables pendant le débogage, mais pas de les modifier. Les valeurs des variables affichées peuvent ne pas être les valeurs en cours et certaines variables peuvent ne pas être affichables.
- *NEVER
- Aucune optimisation n'est effectuée sur le programme compilé et son optimisation ne pourra pas être modifiée ultérieurement.
Marquage FIPS (FLAGSTD)
Indique les options du marquage FIPS. Sélectionnez l'option *LINENUMBER afin de vous assurer que les numéros de référence utilisés dans les messages FIPS sont uniques. Les valeurs possibles sont les suivantes :
- *NOFIPS
- Le programme source ILE COBOL ne comporte pas de marquage FIPS.
- *MINIMUM
- Marquage FIPS pour sous-ensemble minimal et supérieur.
- *INTERMEDIATE
- Marquage FIPS pour sous-ensemble intermédiaire et supérieur.
- *HIGH
- Marquage FIPS pour sous-ensemble élevé.
- *NOOBSOLETE
- Les éléments de langage obsolètes ne sont pas marqués.
- *OBSOLETE
- Les éléments de langage obsolètes sont marqués.
Options d'affichage étendu (EXTDSPOPT)
Indique les options à utiliser pour les instructions étendues ACCEPT et DISPLAY pour les E-S de poste de travail. Les valeurs possibles sont les suivantes :
- *DFRWRT
- Les instructions étendues DISPLAY sont retenues en mémoire tampon jusqu'à ce qu'une instruction étendue ACCEPT soit détectée ou que la mémoire tampon soit pleine.
Le contenu de la mémoire tampon est envoyé à l'écran lorsque l'instruction étendue ACCEPT est détectée ou lorsque la mémoire tampon est pleine.
- *NODFRWRT
- Les instructions étendues DISPLAY sont exécutées au fur et à mesure qu'elles sont détectées.
- *UNDSPCHR
- Les caractères affichables et non affichables sont gérés par les instructions étendues ACCEPT et DISPLAY.
- *NOUNDSPCHR
- Seuls les caractères affichables sont gérés par les instructions étendues ACCEPT et DISPLAY.
Vous devez utiliser cette option pour les claviers-écrans reliés aux contrôleurs éloignés 3174 et 3274, mais pouvez aussi l'utiliser pour des postes de travail locaux. Vos données doivent se composer uniquement de caractères affichables. Si elles comportent des valeurs inférieures à la valeur hexadécimale 20, vous risquez d'obtenir des résultats imprévisibles, notamment des formats d'affichage inattendus et éventuellement des erreurs graves.
- *ACCUPDALL
- Tous les types de données sont préaffichés dans les instructions étendues ACCEPT, que l'expression UPDATE soit présente ou non.
- *ACCUPDNE
- Seules les données numériques éditées sont préaffichées dans les instructions étendues ACCEPT ne contenant pas l'expression UPDATE.
Gravité pour marquage (FLAG)
Indique le niveau de gravité minimal des messages apparaissant dans la liste de compilation. Les valeurs possibles sont les suivantes :
- 0
- Tous les messages apparaissent dans la liste de compilation.
- niveau-gravité
- Entrez un nombre à un ou deux chiffres indiquant le niveau minimal de gravité des messages que vous souhaitez voir figurer dans la liste de compilation. Les messages dont le niveau de gravité est égal ou supérieur à la valeur précisée apparaîtront dans la liste de compilation.
Remplacement du programme (REPLACE)
Indique si un nouveau programme est créé lorsqu'il existe un programme du même nom dans la bibliothèque indiquée ou implicite. Les objets module intermédiaires créés lors du traitement de la commande CRTBNDCBL ne sont pas soumis aux spécifications REPLACE et sont associés à l'option implicite REPLACE(*NO) pour la bibliothèque QTEMP. Les objets module intermédiaires sont supprimés lorsque la commande CRTBNDCBL a terminé le traitement. Les valeurs possibles du paramètre REPLACE sont les suivantes :
- *YES
- Un nouveau programme est créé et remplace tout programme du même nom dans la bibliothèque indiquée ou implicite. Le programme existant est transféré dans la bibliothèque QRPLOBJ.
- *NO
- Aucun nouveau programme n'est créé s'il existe déjà un programme du même nom dans la bibliothèque indiquée ou implicite. Le programme existant n'est pas remplacé, un message s'affiche et la compilation s'arrête.
Profil utilisateur (USRPRF)
Indique le profil utilisateur devant exécuter l'objet programme créé. Le profil du propriétaire ou de l'utilisateur du programme permet d'exécuter le programme et de vérifier les objets que ce dernier peut utiliser, ainsi que les droits dont il dispose sur chacun de ces objets. Ce paramètre n'est pas mis à jour si le programme existe déjà. Pour modifier la valeur de USRPRF, supprimez le programme et recompilez-le en indiquant la valeur appropriée (ou, si les objets *MODULE qui le constituent existent, lancez la commande CRTPGM).
Les valeurs possibles sont les suivantes :
- *USER
- Le profil de l'utilisateur du programme est sélectionné lors de l'exécution du programme.
- *OWNER
- Les profils du propriétaire et de l'utilisateur du programme sont tous les deux sélectionnés lors de l'exécution du programme. Les ensembles communs de droits sur les objets de ces deux profils sont utilisés pour rechercher les objets et y accéder lors de l'exécution du programme. Les objets créés lors de l'exécution du programme appartiennent à l'utilisateur du programme.
Droits (AUT)
Indique les droits accordés aux utilisateurs ne possédant pas de droits spécifiques sur l'objet programme, ne figurant pas dans la liste d'autorisation ou dont le groupe ne dispose d'aucun droit spécifique sur l'objet programme. Vous pouvez modifier les droits de tous les utilisateurs ou de certains d'entre eux seulement après la création du programme, à l'aide de la commande GRTOBJAUT (Accorder droits sur un objet) ou RVKOBJAUT (Révoquer droits sur un objet).
Les valeurs possibles sont les suivantes :
- *LIBCRTAUT
- Les droits publics sur l'objet sont définis par le mot clé CRTAUT de la bibliothèque cible qui doit contenir l'objet programme créé. Cette valeur est déterminée lors de la création du programme. Si la valeur CRTAUT de la bibliothèque est modifiée après la création du programme, la nouvelle valeur n'affecte pas les objets existants.
- *ALL
- Fournit les droits permettant d'effectuer toutes les opérations sur l'objet programme, sauf celles réservées au propriétaire ou définies par les droits de gestion de la liste d'autorisation. L'utilisateur peut gérer l'existence du programme, définir sa sécurité, le modifier et exécuter des fonctions de base, mais ne peut en modifier la propriété.
- *CHANGE
- Fournit la totalité des droits sur les données et les droits permettant d'effectuer toutes les opérations sur l'objet programme, sauf celles réservées au propriétaire ou définies par les droits sur l'objet et les droits de gestion de l'objet. L'utilisateur peut modifier l'objet et exécuter des fonctions de base.
- *USE
- Fournit des droits opérationnels sur l'objet et des droits en lecture. L'utilisateur peut effectuer des opérations de base sur l'objet mais ne peut pas le modifier.
Remarque :Un utilisateur doit disposer des droits *USE sur un programme pour pouvoir obtenir un cliché formaté des variables de celui-ci. Pour permettre un cliché des variables, ce programme doit également comporter des informations observables.
Si vous ne souhaitez pas que certains utilisateurs puissent effectuer un cliché des variables, accordez-leur uniquement les droits *OBJOPR et *EXECUTE sur le programme. Ces utilisateurs pourront ainsi appeler le programme mais pas effectuer un cliché de ses variables. Utilisez les commandes EDTOBJAUT, GRTOBJAUT ou RVKOBJAUT pour modifier les droits du programme créé.
Si vous voulez qu'aucun utilisateur ne puisse effectuer de cliché des variables, exécutez la commande CHGPGM afin de supprimer les informations observables.
- *EXCLUDE
- L'utilisateur ne peut pas accéder à l'objet programme.
- nom-liste-autorisation
- Nom de la liste d'autorisation, répertoriant les utilisateurs et les droits, à laquelle le programme est ajouté. L'objet programme est protégé par cette liste. Les droits publics sur l'objet programme sont définis par *AUTL. La liste d'autorisation doit exister sur le système lorsque la commande CRTBNDCBL est émise. Pour créer votre propre liste d'autorisation, utilisez la commande CRTAUTL.
Littéral de lien (LINKLIT)
Indique le type de liens de la cible "littérale" CALL/CANCEL externe et la cible SET ENTRY. Pour les listes de la cible "littérale" CALL/CANCEL externe spécifique et de la cible SET ENTRY, vous pouvez substituer une autre valeur à cette option en incluant la phrase suivante dans le paragraphe SPECIAL-NAMES :
LINKAGE TYPE IS nom-système FOR liste-cible.
Les valeurs possibles de LINKLIT sont les suivantes :
- *PGM
- La cible de CALL/CANCEL ou de SET ENTRY est un objet programme.
- *PRC
- La cible de CALL/CANCEL ou de SET ENTRY est une procédure ILE.
Programme simple (SIMPLEPGM)
Indique si un objet PGM est créé pour chacune des unités de compilation de la séquence des programmes source. Cette option n'est possible que si le membre source en entrée de cette commande contient une séquence de programmes source qui génèrent plusieurs modules. Si ce n'est pas le cas et que vous indiquez cette option, elle n'est pas prise en compte. Les valeurs possibles sont les suivantes :
- *YES
- Un objet programme est créé pour chacune des unités de compilation de la séquence des programmes source. Si REPLACE(*NO) est précisé et qu'il existe déjà un objet programme du même nom associé à une unité de compilation de la séquence des programmes source, cet objet programme n'est pas remplacé et la compilation se poursuit à partir de l'unité de compilation suivante.
- *NO
- Un seul objet programme est créé à partir de toutes les unités de compilation de la séquence, la première unité de compilation représentant l'entrée programme. Avec SIMPLEPGM(*NO), si l'un des programmes source de la séquence ne parvient pas à générer de module, aucun des programmes source suivants de la séquence n'en générera.
Edition cible (TGTRLS)
Indique l'édition du système d'exploitation sur lequel vous souhaitez utiliser l'objet programme en cours de création. Dans les exemples fournis pour les valeurs *CURRENT et *PRV, et lorsque vous définissez une valeur pour l' édition-cible , le format VxRxMx est utilisé pour spécifier l'édition, Vx étant la version, Rx, l'édition et, Mx, le niveau de modification. Par exemple, V2R3M0 signifie version 2, édition 3, niveau de modification 0.
Les valeurs admises pour ce paramètre varient d'une édition à une autre. Les valeurs possibles sont les suivantes :
- *CURRENT
- L'objet sera utilisé avec l'édition du système d'exploitation en cours sur le système. Par exemple, si votre système est doté de la V2R3M5 et que vous indiquez *CURRENT, l'objet sera utilisé sur un système doté de la V2R3M5. Il peut également être utilisé sur un système doté d'une édition postérieure à celle du système d'exploitation installé.
Remarque :Si votre système est doté de la V2R3M5 et que l'objet doit être utilisé sur un système doté de la V2R3M0, indiquez TGTRLS(V2R3M0) au lieu de TGTRLS(*CURRENT).
- *PRV
- L'objet sera utilisé avec l'édition précédente, niveau de modification 0 du système d'exploitation. Par exemple, si le système est doté de la V2R3M5 et que vous indiquez *PRV, l'objet sera utilisé sur un système doté de la V2R2M0. Il peut également être utilisé sur un système doté d'une édition postérieure à celle du système d'exploitation installé.
- édition-cible
- Indiquez le niveau de l'édition au format VxRxMx. L'objet pourra être utilisé sur un système doté de l'édition spécifiée ou d'une édition postérieure à celle du système d'exploitation installé.
Les valeurs admises dépendent de la version, de l'édition et du niveau de modification en cours et varient avec chaque nouvelle édition. Si vous indiquez un niveau d' édition cible antérieur au plus ancien niveau d'édition pris en charge par cette commande, un message d'erreur est émis pour vous indiquer la plus ancienne édition prise en charge.
Remarque :Il se peut que la version en cours de la commande prenne en charge des options qui ne sont pas disponibles dans les éditions précédentes de la commande. Si la commande est utilisée pour créer des objets qui doivent être utilisés avec une édition précédente, elle est traitée par le compilateur adapté à cette édition et toute option non prise en charge n'est pas reconnue. Le compilateur n'envoie pas nécessairement de message d'avertissement.
Séquence de tri (SRTSEQ)
Indique la séquence de tri utilisée lorsque NLSSORT est associé à un nom d'alphabet dans la clause ALPHABET. Le paramètre SRTSEQ est combiné au paramètre LANGID afin de déterminer quelle table définie par le système ou par l'utilisateur sera utilisée par le programme. Les valeurs possibles sont les suivantes :
- *HEX
- Aucune table de séquence de tri n'est sélectionnée. Les valeurs hexadécimales des caractères sont utilisées pour définir la séquence de tri.
- *JOB
- La séquence de tri sera résolue et associée à l'objet programme lors de la compilation à l'aide de la séquence de tri du travail de compilation. La table de séquence de tri doit déjà exister sur le système au moment de la compilation. Si, lors de l'exécution, le CCSID du travail d'exécution diffère de celui du travail de compilation, la table de séquence de tri chargée à la compilation est convertie afin de correspondre au CCSID du travail d'exécution.
- *JOBRUN
- La séquence de tri du programme sera résolue et associée au programme lors de l'exécution. Lors de la compilation, le compilateur associe la séquence de tri du travail de compilation au programme. Lors de l'exécution, cette séquence de tri est remplacée par celle associée au travail lors de l'exécution. Cette valeur permet de compiler un programme une seule fois et de l'utiliser ensuite avec différentes séquences de tri à l'exécution.
- *LANGIDUNQ
- Indique que la table de séquence de tri utilisée doit contenir un poids unique pour chaque caractère de la page de codes. La table utilisée est la table à poids uniques associée à la langue indiquée au paramètre LANGID.
- *LANGIDSHR
- Indique que la table de séquence de tri utilisée peut contenir le même poids pour plusieurs caractères de la page de codes. La table utilisée est la table à poids partagés associée à la langue indiquée au paramètre LANGID.
- nom-table
- Entrez le nom de la table de séquence de tri à utiliser. Cette table contient les poids de tous les caractères d'une page de codes donnée. Un poids est associé au caractère défini au point de code. Lorsque vous indiquez un nom de table de séquence de tri, vous pouvez également préciser la bibliothèque dans laquelle réside l'objet. Les valeurs possibles pour la bibliothèque sont les suivantes :
- *LIBL
- La bibliothèque contenant la table de séquence de tri est recherchée dans la liste des bibliothèques.
- *CURLIB
- La bibliothèque en cours est utilisée. Si vous n'en avez défini aucune, QGPL est utilisée par défaut.
- nom-bibliothèque
- Entrez le nom de la bibliothèque dans laquelle se trouve la table de séquence de tri.
Identificateur de langue (LANGID)
Identificateur de langue utilisé avec la séquence de tri. Le paramètre LANGID est utilisé uniquement lorsque la valeur SRTSEQ active est *LANGIDUNQ ou *LANGIDSHR. Les valeurs possibles sont les suivantes :
- *JOBRUN
- L'identificateur de langue du programme sera résolu lors de l'exécution. Lorsque le programme compilé est exécuté, l'identificateur de langue du travail est utilisé. Cette valeur permet de compiler une seule fois un programme et de l'utiliser ensuite avec différents identificateurs de langue lors de l'exécution.
- *JOB
- L'identificateur de langue du programme sera résolu lors de la compilation.
- nom-identificateur-langue
- Entrez un identificateur de langue de 3 caractères.
Collecte performances possible (ENBPFRCOL)
Indique si le code de mesure des performances doit être généré dans le module ou dans le programme. Les données collectées peuvent être utilisées par l'outil de mesure des performances du système pour établir le profil des performances d'une application. L'ajout du code de mesure des performances dans un programme ou un module compilé entraîne la génération d'objets légèrement plus volumineux et peut affecter les performances.
- *PEP
- Les statistiques de performance sont collectées à l'entrée et à la sortie de la procédure d'entrée de programme uniquement. Choisissez cette valeur si vous voulez collecter les données de performance générales d'une application. Ceci équivaut au support fourni à l'aide de l'outil TPST. Il s'agit de la valeur par défaut.
- *ENTRYEXIT
- Les statistiques de performance sont collectées à l'entrée et à la sortie de toutes les procédures du programme, y compris du programme *PEP.
Cette valeur vous permet de capturer des informations sur tous les programmes. Utilisez-la si tous les programmes appelés par votre application ont été compilés avec l'option *PEP, *ENTRYEXIT ou *FULL. Si les programmes appelés par votre application ne sont pas activés pour la mesure des performances, l'outil de mesure des performances transfère leur utilisation de ressources dans votre application. Dans ce cas, il est très difficile de déterminer où sont utilisées les ressources.
- *FULL
- Les statistiques de performance sont collectées à l'entrée et à la sortie de toutes les procédures, ainsi qu'avant et après chaque appel d'une procédure externe.
Utilisez cette option si vous pensez que votre application appellera des programmes non compilés avec l'option *PEP, *ENTRYEXIT ou *FULL. Cette option permet aux outils de mesure des performances de distinguer les ressources utilisées par votre application de celles utilisées par les programmes appelés par celle-ci (même si ces programmes ne sont pas activés pour la mesure des performances). Cette option est la plus coûteuse, mais elle permet d'analyser de manière sélective divers programmes dans une application.
Répertoire de liage (BNDDIR)
Indique la liste des répertoires de liage utilisés dans la résolution des symboles.
- *NONE
- Aucun répertoire de liage n'est spécifié.
- nom-répertoire-liage
- Indiquez le nom du répertoire de liage utilisé dans la résolution des symboles. Ce nom peut être qualifié de l'une des valeurs de bibliothèque suivantes :
- *LIBL
- La bibliothèque où se trouve le répertoire de liage est recherchée dans la liste des bibliothèques. Il s'agit de la valeur par défaut.
- *CURLIB
- La recherche porte sur la bibliothèque en cours. Si aucune bibliothèque n'est précisée pour le travail, QGPL est utilisée.
- *USRLIBL
- La recherche porte uniquement sur les bibliothèques comprises dans la partie utilisateur de la liste des bibliothèques du travail.
- nom-bibliothèque
- Indiquez le nom de la bibliothèque dans laquelle la recherche doit être effectuée.
Modèle d'espace mémoire (STGMDL)
Indique l'attribut du modèle d'espace mémoire du programme.
- *SNGLVL
- Le programme est créé avec le modèle d'espace mémoire adressable unique. Lorsqu'un programme à modèle d'espace mémoire adressable unique est activé puis exécuté, l'espace mémoire adressable unique est fourni pour l'espace mémoire statique et automatique. Un programme à espace mémoire adressable unique ne s'exécute qu'au sein d'un groupe d'activation à espace adressable unique.
- *TERASPACE
- Le programme est créé avec le modèle d'espace mémoire à téraoctets. Lorsqu'un programme à modèle d'espace mémoire à téraoctets est activé puis exécuté, l'espace mémoire à téraoctets est fourni pour l'espace mémoire statique et automatique. Un programme à espace mémoire à téraoctets ne s'exécute qu'au sein d'un groupe d'activation à espace à téraoctets.
- *INHERIT
- Le programme est créé avec le modèle d'espace mémoire hérité. Lorsqu'il est activé, le programme adopte le modèle d'espace mémoire du groupe d'activation dans lequel il a été activé. Il peut aussi hériter du modèle d'espace mémoire de son programme appelant. Lorsque le modèle d'espace mémoire *INHERIT est sélectionné, *CALLER doit être indiqué pour le paramètre ACTGRP.
Groupe d'activation (ACTGRP)
Indique le groupe d'activation auquel est associé le programme lorsqu'il est appelé.
- *STGMDL
- Si STGMDL(*TERASPACE) est indiqué, le programme est activé dans le groupe d'activation QILETS lorsqu'il est appelé. Sinon, ce programme est activé dans le groupe d'activation QILE lorsqu'il est appelé.
- *NEW
- Lorsque le programme est appelé, il est activé dans un nouveau groupe d'activation.
- *CALLER
- Lorsque le programme est appelé, il est activé dans le groupe d'activation du programme appelant.
- nom-groupe-activation
- Indiquez le nom du groupe d'activation à utiliser lorsque le programme sera appelé.
Données de profilage (PRFDTA)
Indique l'attribut de données de profilage correspondant au programme. Le profilage de programme est une technique d'optimisation évoluée consistant à réorganiser les procédures et le code qu'elles contiennent en fonction de données statistiques (les données de profilage).
- *NOCOL
- La collecte des données de profilage n'est pas activée pour ce programme. Il s'agit de la valeur par défaut.
- *COL
- La collecte des données de profilage est activée pour ce programme. *COL ne peut être indiqué que si le niveau d'optimisation du module a pour valeur *FULL.
Remarque :Si vous utilisez le paramètre BNDDIR pour lier des modules et des programmes de service supplémentaires, ces derniers ne sont pas affectés lorsque la valeur *COL ou *NOCOL est associée au programme. L'attribut de données de profilage de programme correspondant à un module est défini lors de la création de ce dernier.
ID codé de jeu de caractères (CCSID)
Indique le CCSID dans lequel sont convertis les enregistrements de fichiers et les données associées aux environnements locaux lors de l'exécution.
- *JOBRUN
- Le CCSID du programme est résolu lors de l'exécution. Lorsque le programme compilé est exécuté, le CCSID par défaut du travail en cours est utilisé.
- *JOB
- Le CCSID par défaut du travail en cours lors de la compilation est utilisé.
- *HEX
- Le CCSID 65535 est utilisé, ce qui indique que les données se trouvant dans les zones sont considérées comme des données de type bit et ne sont pas converties.
- id-jeu-caractères-codés
- Indique le CCSID à utiliser.
CCSID national (NTLCCSID)
Indique l'ID de jeu de caractères codés national (NTLCCSID) qui sera utilisé pour tous les éléments de données nationaux. Les valeurs possibles sont les suivantes :
- 13488
- Le CCSID UCS-2 13488 est utilisé pour tous les éléments de données nationaux.
- id-jeu-caractères-codés
- Le CCSID indiqué est utilisé pour tous les éléments de données nationaux. Le CCSID indiqué doit être compatible UCS-2, par exemple, UTF-16 CCSID 1200.
Mode arithmétique (ARITHMETIC)
Spécifie le mode arithmétique associé aux données numériques. Les valeurs possibles sont les suivantes :
- *NOEXTEND
- Cette option indique le mode arithmétique utilisé par défaut pour les données numériques. Le résultat intermédiaire d'une expression arithmétique à point fixe peut comporter jusqu'à 30 chiffres et les littéraux numériques ne peuvent comporter que 18 chiffres au maximum.
- *EXTEND31
- Cette option vous permet d'augmenter la précision des résultats intermédiaires pour le mode arithmétique à point fixe. Le résultat intermédiaire d'une expression arithmétique à point fixe peut comporter jusqu'à 31 chiffres et la longueur maximale des littéraux numériques est limitée à 31 chiffres.
- *EXTEND31FULL
- Cette option vous permet d'augmenter la précision des résultats intermédiaires pour le mode arithmétique à point fixe. utilisez également cette option pour optimiser la précision des fonctions intrinsèques numériques. Le résultat intermédiaire d'une expression arithmétique à point fixe peut comporter jusqu'à 34 chiffres et la longueur maximale des littéraux numériques est limitée à 34 chiffres.
- *EXTEND63
- Cette option vous permet d'augmenter la précision des résultats intermédiaires pour le mode arithmétique à point fixe. Le résultat intermédiaire d'une expression arithmétique à point fixe peut comporter jusqu'à 63 chiffres et la longueur maximale des littéraux numériques est limitée à 63 chiffres.
Caractère de remplissage (NTLPADCHAR)
Spécifie le caractère de remplissage national (NTLPADCHAR) utilisé lorsqu'une opération de remplissage a lieu dans les cas de conversion suivants :
1. Caractère SBCS en caractère national.
2. Caractère DBCS en caractère national.
3. Caractère national en caractère national.
- *DEFAULT
- Cette option indique les caractères de remplissage par défaut :
1. Caractère SBCS en caractère national (NX"0020")
2. Caractère DBCS en caractère national (NX"3000")
3. Caractère national en caractère national (NX"3000")
- littéral hexadécimal national
- Indique tout littéral hexadécimal national admis de 1 caractère au format NX" " ou NX' '.
Options microcode sous licence (LICOPT)
Spécifie une ou plusieurs options de compilation pour le microcode sous licence. Ce paramètre vous permet de sélectionner des options de compilation. Il s'adresse aux programmeurs expérimentés qui sont conscients des gains potentiels liés à chaque type d'option de compilation sélectionné.
Inclusion répertoire (INCDIR)
Indique un ou plusieurs répertoires à ajouter au chemin de recherche utilisé par le compilateur pour rechercher des fichiers de copie. Le compilateur recherche les répertoires indiqués à cet endroit si les fichiers de copie du programme source ne peuvent pas être convertis.
- *NONE
- Aucun répertoire utilisateur n'est parcouru pour rechercher les fichiers de copie. Par défaut, le répertoire courant est parcouru.
- 'répertoire'
- Indiquez jusqu'à 32 répertoires dans lesquels rechercher les fichiers de copie. Outre les répertoires indiqués, les fichiers de copie sont également recherchés dans le répertoire courant.
Infos interface programme (PGMINFO)
Spécifie des options indiquant si des informations d'interface du programme doivent être générées.
- Générer
- Spécifie si les informations d'interface de programme doivent être générées. Les valeurs possibles sont les suivantes :
- *NO
- Cette option indique l'option par défaut qui ne génère pas d'informations d'interface du programme.
- *PCML
- Indique que le langage de marquage d'appel de programme (PCML) doit être généré. Grâce au PCLM généré, les méthodes JAVA appellent plus facilement la procédure du programme COBOL en utilisant moins de code Java.
- Emplacement
- Spécifie l'emplacement pour les informations sur le programme généré, si le paramètre Générer est *PCML. Les valeurs possibles sont les suivantes :
- *STMF
- Indique que les informations du programme doivent être générées dans un fichier de communication. Le nom du fichier de communication qui contient les informations générées doit être indiqué dans l'option INFOSTMF.
- *MODULE
- Indique que les informations du programme doivent être stockées dans le module COBOL.
- *ALL
- Indique que les informations du programme doivent être générées dans un fichier de communication et stockées dans le module. Le nom du fichier de communication qui contient les informations générées doit être indiqué dans l'option INFOSTMF.
Fichier interface programme (INFOSTMF)
Indique le nom du chemin d'accès du fichier de communication qui doit contenir les informations d'interface du programme générées indiquées dans l'option PGMINFO.
Le nom du chemin d'accès peut être soit complet soit relatif. Un nom de chemin d'accès complet commence par '/'; un nom de chemin d'accès relatif commence par un caractère différent de '/'.
S'il est qualifié de complet, le nom de chemin d'accès est en entier. S'il est qualifié de relatif, le nom de chemin d'accès est complété par le nom du répertoire de travail en cours.
Ce paramètre est uniquement indiqué lorsque le paramètre PGMINFO prend une valeur différente de *NO.
Définir des noms (DEFINE)
Indique une ou plusieurs variables de compilation définies avant le début de la compilation.
- *NONE
- Aucune variable de compilation n'est définie.
- 'nom', 'nom=valeur', 'nom, valeur' ou 'nom en tant que valeur'
- Indiquez jusqu'à 32 variables de compilation et les valeurs qui leur sont associées. La longueur combinée du nom de la variable de compilation et de la valeur qui lui est associée est limitée à 80 caractères.
Si l'option 'nom' est spécifiée, cela équivaut à une directive DEFINE '>> DEFINE name b"1"' .
Si l'option 'valeur' est spécifiée, il peut s'agir d'un littéral booléen, d'un littéral non numérique ou d'un entier.
Exemples
Exemple 1 : compilation d'un programme source dans un objet programme
CRTBNDCBL PGM(BIB/EXEMPLE1) SRCFILE(BIB/QCBLLESRC)
SRCMBR(EXEMPLE1) OUTPUT(*PRINT)
TEXT('Programme ILE COBOL')
Cette commande permet d'appeler le compilateur ILE COBOL pour créer un programme appelé EXEMPLE1. Le programme source réside dans le membre EXEMPLE1 du fichier source QCBLLESRC de la bibliothèque BIB. Une liste de compilation est créée.
Messages d'erreur
Messages *ESCAPE
- LNC9001
- La compilation a échoué. &1 non créé.
- LNC9006
- TGTRLS(&1) indiqué, mais compilateur non installé.
- LNC9007
- La bibliothèque de logiciel est endommagée ou l'utilisateur n'est pas autorisé à l'utiliser.
- LNC9015
- TGTRLS(&1) incorrect.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.