Clause PICTURE A

Variables alphabétiques en COBOL : PIC A

Le symbole A dans la clause PICTURE sert à déclarer des zones qui ne contiennent que des lettres et des espaces, par exemple pour des prénoms ou codes alphabétiques simples.

A = alphabetic Longueur avec A(n)
Survole les blocs pour voir les explications.
Simulation d'une variable alphabétique
A 1
Position 1
A 2
Position 2
A 3
Position 3
A 4
Position 4
A 5
Position 5
Exemple : PACTA est valide, PAC7A est refusé (chiffre interdit).
Visualisation (valeurs testées)
PAC-NAME : _____ Test 1 : _____ Test 2 : _____

Comprendre PIC A pas à pas

Étape 1 – Type ALPHABETIC

Un type alphabétique stocke uniquement des lettres de A à Z (majuscule ou minuscule) et l’espace, sans chiffres ni signes de ponctuation.

On l'utilise pour des prénoms, des codes alphabétiques simples ou des champs texte qui ne doivent contenir aucun chiffre.

Étape 2 – Longueur avec A(n)

Chaque lettre A dans la PICTURE représente une position, donc PIC A(5) réserve 5 caractères alphabétiques en mémoire.

On peut écrire AAAAA ou utiliser la notation abrégée A(5) pour exprimer la même longueur.

Étape 3 – PIC A vs PIC X

PIC A est strict (lettres + espace) alors que PIC X accepte lettres, chiffres et autres caractères, donc PIC X est plus flexible.

En pratique, on choisit PIC A pour forcer un contenu alphabétique et PIC X pour des chaînes plus générales.

Exemple 1 – Déclaration simple
* Variable alphabétique 5 caractères 01 WS-NAME PIC A(5). 01 WS-HELLO PIC A(5) VALUE "COBOL".
Exemple 2 – Programme mini
* Accepte seulement des lettres pour le prénom IDENTIFICATION DIVISION. PROGRAM-ID. PIC-A-DEMO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-FIRSTNAME PIC A(10) VALUE "ALICE". PROCEDURE DIVISION. DISPLAY "Prénom : " WS-FIRSTNAME. STOP RUN.
Exemple 3 – Différence avec PIC X
* Même longueur, mais contenu différent 01 WS-ALPHA PIC A(5) VALUE "Pacta". * OK : 5 lettres alphabétiques, conforme à PIC A(5). 01 WS-ALPHA-ERR PIC A(5) VALUE "PA7TA". * Erreur de compilation : le caractère '7' * n'est pas alphabétique, donc interdit dans PIC A. 01 WS-ALNUM PIC X(5) VALUE "PA7TA". * Valide avec PIC X(5) : * X accepte lettres, chiffres et autres caractères.