Sunteți pe pagina 1din 21

Le langage

Fiche technique

Utilisation de PROCESS

Document réalisé par


Adam Ben Ahmed
Septembre 2020
PROCESS est une directive du préprocesseur ILE COBOL.
La directive PROCESS est une partie facultative du programme source ILE COBOL. Vous pouvez
utiliser l'instruction PROCESS pour spécifier les options que vous spécifiez normalement au
moment de la compilation.
Les options spécifiées dans l'instruction PROCESS remplacent les options correspondantes
spécifiées dans la commande CRTCBLMOD ou CRTBNDCBL CL.
Les règles suivantes s'appliquent:
 L'instruction doit être placée avant la première instruction source dans le programme
source ILE COBOL, qui démarre une nouvelle unité de compilation, juste avant l'en-tête
IDENTIFICATION DIVISION.
 L'instruction commence par le mot PROCESS. Les options peuvent apparaître sur plusieurs
lignes; cependant, seule la première ligne peut contenir le mot PROCESS.
 Le mot PROCESS et toutes les options doivent apparaître entre les positions 8 à 72. La
position 7 doit être laissée vide. Les positions restantes peuvent être utilisées comme dans
les instructions source ILE COBOL : positions 1 à 6 pour les numéros de séquence, positions
73 à 80 à des fins d'identification.
 Les options doivent être séparées par des espaces et/ou des virgules.
 Les options peuvent apparaître dans n'importe quel ordre. Si des options conflictuelles sont
spécifiées, par exemple XREF et NOXREF, la dernière option rencontrée est prioritaire.
 Si le mot-clé OPTION est correct et que la sous-option est erronée, c'est la sous-option par
défaut est utilisée.
Les tableaux suivants indiquent les options d'instruction PROCESS autorisées et les
paramètres et options de commande CRTCBLMOD ou CRTBNDCBL équivalents. Les valeurs par
défaut sont mises en caractères gras. Les descriptions des options de l'instruction PROCESS
correspondent aux descriptions des paramètres et des options sous Paramètres de la
commande CRTCBLMOD.

2 | 21
Sortie
OUTPUT PROCESS Description

*PRINT OUTPUT La liste de compilation est générée. Si un membre


*NONE NOOUTPUT 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.

Niveau de gravité pour génération


GENLVL PROCESS Description
nn GENLVL(nn) Nombre à un ou deux chiffres compris entre 0 et 30
qui définit 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.

3 | 21
Options de conversion
CVTOPT PROCESS Description
*NOVARCHAR NOVARCHAR NOVARCHAR : Les zones de longueur variable sont
*VARCHAR VARCHAR 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 NODATETIME NODATETIME : Les zones de type date, heure et
*DATETIME DATETIME 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 *TIMESTAMP, *DATE ou *TIME.
Dans ce cas, la catégorie de l'élément de données
COBOL est de type date, heure ou horodatage,
respectivement.
*NOFLOAT NOFLOAT NOFLOAT : Les zones en virgule flottante sont
*FLOAT FLOAT 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 NODATE NODATE : Les zones de type heure DDS sont
*DATE DATE 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.

4 | 21
*NOTIME NOTIME NOTIME : Les zones de type heure DDS sont
*TIME TIME 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 NOTIMESTAMP NOTIMESTAMP : Les zones de type horodatage DDS
*TIMESTAMP TIMESTAMP 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 NOCVTTODATE NOCVTTODATE : Les types de données DDS
*CVTTODATE CVTTODATE 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.

5 | 21
Niveau d’optimisation
OPTIMIZE PROCESS Description
*NONE NONE NONE : Aucune optimisation n'est effectuée sur le
*BASIC BASIC programme compilé. Le temps de compilation est
*FULL FULL minimisé lorsque cette option est utilisée.
*NEVER NEVER 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.

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.

6 | 21
Options de compilation
OPTION PROCESS
*SOURCE SOURCE SOURCE ou SRC : Le compilateur produit une liste
*SRC SRC source composée du programme source ILE COBOL et
*NOSOURCE NOSOURCE de tous les messages d'erreur générés lors de la
*NOSRC NOSRC 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 NOXREF NOXREF : Le compilateur ne génère pas la liste de
*XREF XREF 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 GEN GEN : Le compilateur crée un objet programme après
*NOGEN NOGEN 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 NOSEQUENCE NOSEQUENCE : Les erreurs de séquence ne sont pas
*SEQUENCE SEQUENCE 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 NOVBSUM NOVBSUM : Les décomptes des utilisations de verbes
*VBSUM VBSUM ne sont pas imprimés.

VBSUM : Les décomptes des utilisations de verbes


sont imprimés.
*QUOTE QUOTE QUOTE : Indique que le guillemet (") est utilisé
*APOST APOST 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.

7 | 21
*MONOPRC MONOPRC MONOPRC : Le nom de programme (un littéral ou un
*NOMONOPRC NOMONOPRC 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.
*NONUMBER NONUMBER NONUMBER : Les numéros de séquence du fichier
*NUMBER NUMBER source sont utilisés pour les numéros de référence.
*LINENUMBER LINENUMBER
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 NOMAP NOMAP : Le compilateur ne liste pas la mappe de
*MAP MAP division des données.

MAP : Le compilateur liste la mappe de division des


données.
*PRTCORR PRTCORR PRTCORR : Des lignes de commentaire sont insérées
*NOPRTCORR NOPRTCORR 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.
*NOOPTIONS NOOPTIONS NOOPTIONS : Les options actives ne sont pas listées
*OPTIONS OPTIONS pour cette compilation.

OPTIONS : Les options actives sont listées pour cette


compilation.

8 | 21
*NOSECLVL NOSECLVL NOSECLVL : Le texte du message de deuxième
*SECLVL SECLVL 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.
*NOUNREF NOUNREF NOUNREF : Les éléments de données non référencés
*UNREF UNREF 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é.
*RANGE RANGE RANGE : Lors de l'exécution, les plages d'indices sont
*NORANGE NORANGE 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.
*NOCRTF NOCRTF NOCRTF : Les fichiers disque non disponibles au
*CRTF CRTF 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.

9 | 21
*NOSYNC NOSYNC NOSYNC : La vérification de la clause SYNCHRONIZED
*SYNC SYNC 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.
*STDINZ STDINZ STDINZ : Dans le cas des éléments ne comportant
*NOSTDINZ NOSTDINZ aucune clause VALUE, le compilateur utilise les
*STDINZHEX00 STDINZHEX00 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.
*NOINZDLT NOINZDLT NOINZDLT : Les fichiers relatifs à accès séquentiel ne
*INZDLT INZDLT 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.

10 | 21
*NOBLK NOBLK NOBLK : Le compilateur permet uniquement le
*BLK BLK 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.
*STDTRUNC STDTRUNC STDTRUNC : Cette option s'applique uniquement aux
*NOSTDTRUNC NOSTDTRUNC 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.
*NOIMBEDERR NOIMBEDERR NOIMBEDERR : Les messages d'erreur ne sont pas
*IMBEDERR IMBEDERR 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.

11 | 21
*CHGPOSSGN CHGPOSSGN NOCHGPOSSGN : La valeur hexadécimale F est utilisée
*NOCHGPOSSGN NOCHGPOSSGN 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.
*NODUPKEYCHK NODUPKEYCHK NODUPKEYCHK : Ne recherche pas les clés primaires
*DUPKEYCHK DUPKEYCHK et de remplacement en double des fichiers INDEXED.

DUPKEYCHK : Recherche les clés primaires et de


remplacement en double des fichiers INDEXED.
*NOEVENTF NOEVENTF NOEVENTF : Ne crée pas de fichier événements
*EVENTF EVENTF 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 MONOPIC MONOPIC : La chaîne de caractères PICTURE est
*NOMONOPIC NOMONOPIC 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.

12 | 21
*NODDSFILLER NODDSFILLER NODDSFILLER : Si aucune zone correspondante
*DDSFILLER DDSFILLER 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.
*NOCRTARKIDX NOCRTARKIDX NOCRTARKIDX : Les index de clés d'enregistrement
*CRTARKIDX CRTARKIDX 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.

Marquage FIPS
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 :

FLAGSTD PROCESS Description

*NOFIPS NOFIPS NOFIPS : Le programme source ILE COBOL ne


*MINIMUM MINIMUM comporte pas de marquage FIPS.
*INTERMEDIATE INTERMEDIATE
*HIGH HIGH 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 NOOBSOLETE NOOBSOLETE : Les éléments de langage obsolètes


*OBSOLETE OBSOLETE ne sont pas marqués.

OBSOLETE : Les éléments de langage obsolètes


sont marqués.

13 | 21
Options d'affichage étendu
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 :

EXTDSPOPT PROCESS Description

*DFRWRT DFRWRT DFRWRT : Les instructions étendues DISPLAY sont


*NODFRWRT NODFRWRT 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 UNDSPCHR UNDSPCHR : Les caractères affichables et non


*DSPCHR DSPCHR 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 ACCUPDALL ACCUPDALL : Tous les types de données sont


*ACCUPDNE ACCUPDNE 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.

14 | 21
Option de marquage
FLAG PROCESS Description

nn FLAG(nn) 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.

Littéral de lien
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 :

LINKLIT PROCESS Description

*PGM PGM PGM : La cible de CALL/CANCEL ou de SET


*PRC PRC ENTRY est un objet programme.

PRC : La cible de CALL/CANCEL ou de SET


ENTRY est une procédure ILE.

15 | 21
Séquence de tri
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 :
PROCESS Description
SRTSEQ
SRTSEQ()
*HEX HEX HEX : Pas de table de séquence de tri sélectionnée.
*JOB JOB Les valeurs hexadécimales des caractères sont
*JOBRUN JOBRUN utilisées pour définir la séquence de tri.
*LANGIDUNQ LANGIDUNQ
*LANGIDSHR LANGIDSHR JOB : La séquence de tri sera résolue et associée à
l'objet programme lors de la compilation à l'aide de
*LIBL/sort-seq- “LIBL/sort-seq- la séquence de tri du travail de compilation. La table
table-name table-name” de séquence de tri doit déjà exister sur le système
au moment de la compilation. Si, lors de l'exécution,
*CURLIB/sort-seq- “CURLIB/sort-seq-
table-name table-name” le CCSID du travail d'exécution diffère de celui du
travail de compilation, la table de séquence de tri
Lib-name/sort-seq- “Lib-name/sort- chargée à la compilation est convertie afin de
table-name seq-table-name” 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

16 | 21
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.

17 | 21
Identificateur de langue
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 :
PROCESS Description
LANGID
LANGID()
*JOBRUN JOBRUN JOBRUN : L'identificateur de langue du programme
*JOB JOB sera résolu lors de l'exécution. Lorsque le
programme compilé est exécuté, l'identificateur de
Language-id-name “language-id- langue du travail est utilisé. Cette valeur permet de
name” 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.

Données de profilage
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).
PROCESS Description
PRFDTA
PRFDTA()
*NOCOL NOCOL NOCOL : La collecte des données de profilage n'est
*COL COL 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.

18 | 21
Collecte performances possible
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.
PROCESS Description
ENBPFRCOL
ENBPFRCOL()
*PEP PEP PEP : Les statistiques de performance sont
*ENTRYEXIT ENTRYEXIT collectées à l'entrée et à la sortie de la procédure
*FULL FULL 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.

19 | 21
Infos interface programme.
Spécifie des options indiquant si des informations d'interface du programme doivent être générées.
PROCESS Description
PGMINFO
PGMINFO(a b)
a = program interface information to be generated

*NO NOPGMINFO Générer


*PCML PCML 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.

b = location for the generated program information

*STMF MODULE Emplacement


*MODULE Spécifie l'emplacement pour les informations sur le
*ALL 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.

20 | 21
PROCESS Description
DATTIM(a b)
Not 4-digit base century (default 1900) Le siècle de base à 4 chiffres doit être le premier
applicable 2-digit base year (default 40) argument. Il définit le siècle de base utilisé par ILE
COBOL pour son algorithme de fenêtrage. Si l'option
d'instruction de processus DATTIM n'est pas
spécifiée, 1900 est utilisé.
Le siècle de base à 4 chiffres affecte également
l'interprétation du spécificateur de conversion @C.
Le spécificateur de conversion @C représente un
siècle à 1 chiffre, dont la valeur est comprise entre 0
et 9. Un 0 pour un siècle à 1 chiffre représente un
siècle de base de 1900, 1 = 2000, ... 9 = 2800.
Donc, une date élément de données dont le format
est @ C /% y /% m et dont la valeur est
1/12/05, représente l'année 2012, le premier jour
du mois 5 (mai). Cependant, 0 de @C est vraiment
égal au siècle de base à 4 chiffres. Ainsi, un DATTIM
(2200, 40) entraînerait 0 = 2200, 1 = 2300 ..., 9 =
3100.

L'année de base à 2 chiffres doit être le deuxième


argument. Il définit l'année de base utilisée par ILE
COBOL pour son algorithme de fenêtrage. Si l'option
d'instruction de processus DATTIM n'est pas
spécifiée, 40 est utilisé.

PROCESS Description
THREAD(a)
Not NOTHREAD Spécifie si l'objet module créé sera activé ou non
applicable SERIALIZE pour s'exécuter dans un environnement
multithread. Les valeurs possibles sont:

NOTHREAD : L'objet module créé ne sera pas activé


pour s'exécuter dans un environnement
multithread. C'est la valeur par défaut.

SERIALIZE : L'objet module créé sera activé pour


s'exécuter dans un travail avec plusieurs threads.
L'accès aux procédures dans le (s) module (s) est
sérialisé. Autrement dit, chaque module thread-safe
aura un mutex récursif qui est verrouillé lorsqu'une
procédure est entrée et déverrouillé lorsque la
procédure est quittée. Au sein d'une unité
d'exécution, un seul thread est autorisé à être actif
à la fois pour le même module.

21 | 21

S-ar putea să vă placă și