Dans cette étude de cas, nous allons construire et manipuler un tableau contenant des produits. Chaque produit est identifié par un code et un prix. L’objectif est de :
SEARCH
01 TABLEAU-PRODUITS.
05 PRODUIT OCCURS 5 TIMES INDEXED BY IDX.
10 CODE-PRODUIT PIC X(5).
10 PRIX-PRODUIT PIC 9(4)V99.
MOVE "P001" TO CODE-PRODUIT(1).
MOVE 199.99 TO PRIX-PRODUIT(1).
MOVE "P002" TO CODE-PRODUIT(2).
MOVE 99.50 TO PRIX-PRODUIT(2).
MOVE "P003" TO CODE-PRODUIT(3).
MOVE 250.00 TO PRIX-PRODUIT(3).
MOVE "P004" TO CODE-PRODUIT(4).
MOVE 145.75 TO PRIX-PRODUIT(4).
MOVE "P005" TO CODE-PRODUIT(5).
MOVE 350.00 TO PRIX-PRODUIT(5).
SEARCH Le programme demande un code produit, puis cherche l’entrée correspondante dans le tableau.
01 CODE-RECHERCHE PIC X(5).
01 TROUVE PIC X VALUE "N".
DISPLAY "Entrez un code produit (ex. : P003) :".
ACCEPT CODE-RECHERCHE.
SET IDX TO 1.
SEARCH PRODUIT
AT END
DISPLAY "Produit introuvable"
WHEN CODE-PRODUIT(IDX) = CODE-RECHERCHE
DISPLAY "Produit trouvé :"
DISPLAY "Code : " CODE-PRODUIT(IDX)
DISPLAY "Prix : " PRIX-PRODUIT(IDX)
MOVE "O" TO TROUVE.
SEARCH Ce cas pratique met en œuvre plusieurs compétences essentielles :
OCCURS et INDEXED BY SEARCH DISPLAY