...
Section entrées/sortie :
Le bout de code ci-dessous comporte des erreurs graves
1 2 3 4 5 6 7 8
| OPEN INPUT STUDENT.
PERFORM UNTIL WS-EOF='Y'
READ STUDENT INTO WS-STUDENT
AT END MOVE 'Y' TO WS-EOF
NOT AT END DISPLAY WS-STUDENT
END-READ
END-PERFORM.
CLOSE STUDENT. |
- si après lecture, le file status est différent de zéro et 10, alors le programme boucle !
- aucun test de file-status n'est fait après open, read, close
- utilisation d'une variable manuelle pour gérer la fin de fichier alors qu Z/OS alimente automatiquement le file status
- utilisation de la clause AT END qui n'a de sens que pour une lecture séquentielle et n'intercepte que la fin de fichier
alors que le file status intercepte tous les codes retour, et est applicable pour toutes les méthodes d'accès (sequentiel, random, dynamic)
Partager