Cette section (WORKING-STORAGE SECTION) décrit les variables de travail. Les variables COBOL peuvent être classées en 2 catégories : les données élémentaires et les groupes de données.
Les variables élémentaires
Niveau nom-de-donnée [PICTURE] description Usage [VALUE IS littéral]
[PIC ]
Niveau : les données élémentaires isolées ont soit le niveau 77 soit 01 (marge A), en soi il n’y a aucune différence, seulement les 77 doivent être déclarées en tête de la WSS. Il n’y a pas de 77 en File Section.
Nom de la donnée : c’est le nom par lequel le programmeur pourra référencer la variable. Ils doivent être différents des mots réservés et univoques.
PICTURE
identifie le type de donnée
indique la dimension (grandeur) de l’item
le type peut être alphanumérique (X), numérique (9), alphabétique (A), numérique édité (9,Z,+, -, …)
01 CODE-PROVINCE PIC XXX.
05 PRENOM PIC XXXXXXXXXX.
10 SALAIRE PIC 9999999.
15 INITIALE PIC A.
Pour éviter les répétitions, on peut utiliser la forme suivante05 PRENOM PIC X(10).
15 SALAIRE PIC 9(7).
La clause PICTURE :
– est présente pour les éléments SIMPLES seulement.
– peut débuter n’importe où dans la marge B.
– la chaîne de caractère décrivant l’item doit être précédée d’au moins un espace.
– Il ne doit pas y avoir d’espace dans la chaîne de caractères.
Les items numériques (PICTURE 9) sont les seuls qui peuvent être utilisés pour les opérations arithmétiques.
Lorsqu’une valeur décimale est lue dans un fichier d’entrée, le point décimal n’apparaît pas mais sa présence est implicite.
Ex.
12500 représente 125.00
Ceci est indiqué en plaçant le symbole V à l’endroit où doit être le point:05 MONTANT PIC 999V99
USAGE
identifie le type de représentation interne qui est utilisé pour enregistrer l’information. Les principaux types sont :
DISPLAY
BINARY
PACKED-DECIMAL
VALUE
Il est possible d’initialiser la donnée, le littéral est une valeur constante. Cette initialisation ne se fait qu’une fois lors du lancement du programme. Cette valeur doit être conforme à la descriptions qui a été faite.
Si Value est omis, la valeur initiale est INDETERMINEE.
77 TAUX PIC 99 VALUE 0.
01 CAPITAL PIC 999999 VALUE ZERO.
01 REPONSE PIC XXX VALUE 'NON'.
Dans le cas des PIC X ou A attention à la longueur, la chaîne est toujours mise entre ” ” , le mot ALL peut être utilisé et dans ce cas il y aura n occurrence du caractère dans la chaîne.77 CHAINE PIC XXXXXXXX VALUE ALL 'N'.
sans ALL un seul N suivi de blancs serait placé dans chaine.