Apprenez les bases du COBOL et développez vos compétences en programmation legacy avec une approche moderne.
L’instruction ACCEPT permet de récupérer une valeur saisie par l’utilisateur (le plus souvent au clavier)
et de la placer dans un champ défini dans la
WORKING-STORAGE SECTION .
C’est une étape essentielle pour rendre un programme interactif, mais aussi un moment où l’on découvre la “réalité Cobol” :
les champs ont une longueur fixe, et les espaces de fin peuvent masquer ce qui a été réellement saisi.
ACCEPT copie une entrée dans un champ. Le champ doit être déclaré avant usage.
En pratique, on utilise très souvent un champ texte pour éviter les surprises lors de la saisie.
DATA DIVISION ,
le plus souvent en WORKING-STORAGE .
PIC X(10) stocke 10 caractères maximum :
si l’utilisateur saisit plus, le reste peut être perdu.
[...] ou "...".
PIC X ),
puis convertissez/validez si vous avez besoin d’un numérique.
Cela vous évite une grande partie des erreurs de saisie.
Ce programme lit un prénom, puis l’affiche en montrant les espaces grâce aux crochets.
Le prompt est affiché sans retour à la ligne grâce à
WITH NO ADVANCING .
>>SOURCE FORMAT FREE
IDENTIFICATION DIVISION.
PROGRAM-ID. DEMO-ACCEPT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-PRENOM PIC X(20) VALUE SPACES.
PROCEDURE DIVISION.
DISPLAY "Entrez votre prenom : " WITH NO ADVANCING
ACCEPT WS-PRENOM
DISPLAY "Saisie = [" WS-PRENOM "]"
STOP RUN.
WITH NO ADVANCING .
X(10) et que l’utilisateur saisit 25 caractères,
vous ne récupérerez que le début. Agrandissez le champ ou contrôlez la saisie.
[ valeur ], sinon vous ne verrez rien.
X(5) et observez la troncature. "Longueur max = 20" pour vous rappeler le contrat du champ.