END-UNSTRING |
Fin de déchaîne de caractères |
|---|---|
| Cobol | |
Syntaxe
|
UNSTRING identifier [DELIMITED [BY][ALL] identifier OR [ALL] identifier] INTO identifier [DELIMITER [IN] identifier][COUNT [IN] identifier] [[WITH] POINTER identifier][TALLYING [IN] identifier] [[ON] OVERFLOW statementlist][NOT [ON] OVERFLOW statementlist] [END-UNSTRING] |
Paramètres
| Nom | Description |
|---|---|
| identifier | Ce paramètre désigne la variable contenant la chaîne de caractères à décomposer ou à analyser. |
| DELIMITED BY | Ce paramètre permet de spécifier le caractère ou la chaîne servant de séparateur pour découper la chaîne source. |
| ALL identifier | Ce paramètre indique que toutes les occurrences du séparateur spécifié doivent être prises en compte pour la découpe. |
| INTO identifier | Ce paramètre permet d'indiquer les variables dans lesquelles les segments extraits de la chaîne seront placés. |
| DELIMITER IN identifier | Ce paramètre permet d'entreposer dans une variable le séparateur rencontré à la fin de chaque segment extrait. |
| COUNT IN identifier | Ce paramètre permet d'entreposer dans une variable le nombre de caractères transférés dans chaque destination de champ. |
| POINTER identifier | Ce paramètre permet de spécifier ou de suivre la position courante dans la chaîne source pendant la décomposition. |
| TALLYING IN identifier | Ce paramètre permet de compter et d'entreposer le nombre total de champs extraits et transférés lors de l'opération. |
| ON OVERFLOW | Ce paramètre permet de définir les instructions à exécuter lorsque la chaîne source ne peut pas être complètement analysée (exemple : trop peu de champs). |
| NOT ON OVERFLOW | Ce paramètre permet de spécifier les instructions à exécuter uniquement si l'opération s'est déroulée sans erreur de dépassement. |
Description
Cette instruction permet d'indiquer la fin de l'instruction UNSTRING.
Remarques
- END-UNSTRING permet de clore explicitement une instruction UNSTRING dans une structure structurée : Cela améliore la lisibilité du code et permet d'éviter les ambiguïtés, notamment dans des blocs contenant plusieurs instructions complexes. Cela est particulièrement utile lorsque l'on utilise le mode structuré du COBOL, où chaque instruction principale est clairement délimitée.
- L'instruction UNSTRING est essentielle pour le traitement de chaînes formatées ou à structure fixe : Elle permet de découper une chaîne en plusieurs sous-parties selon un ou plusieurs délimiteurs, ce qui est courant lorsqu'on traite des lignes issues de fichiers plats ou de messages fixes. END-UNSTRING marque la fin logique de cette opération, garantissant une cohérence syntaxique.
- L'usage de l'option DELIMITED BY dans UNSTRING permet un découpage flexible : Grâce à elle, la chaîne peut être segmentée à chaque occurrence d'un séparateur spécifique. END-UNSTRING vient alors délimiter ce processus et permet de s'assurer que toutes les parties souhaitées ont bien été extraites.
- L'utilisation de POINTER, COUNT IN et DELIMITER IN permet un contrôle précis de l'analyse : Ces options offrent une grande finesse dans le suivi de la position et du contenu traité. La clause END-UNSTRING intervient ici pour structurer la fin de cette phase d'analyse, ce qui est capital en cas de traitements conditionnels en aval.
- La clause TALLYING IN permet de mesurer le nombre de champs extraits : Cela peut être utile pour des vérifications de structure ou pour déclencher des actions en fonction du nombre d'éléments trouvés. END-UNSTRING encadre ce comportement et permet de relier clairement cause (analyse) et effet (action).
- Les clauses ON OVERFLOW et NOT ON OVERFLOW offrent une gestion d'erreur robuste : En cas de problème lors de la décomposition de la chaîne (comme une capacité de champ insuffisante), ces options permettent de rediriger l'exécution vers un traitement alternatif. END-UNSTRING vient structurer proprement la fin de cette logique.
- L'instruction END-UNSTRING facilite la maintenance du code COBOL : Dans un environnement où la lisibilité et la stabilité sont cruciales, encadrer les instructions complexes par leurs balises de fin explicites permet de détecter plus facilement les erreurs de structure et de mieux comprendre le flot du programme.
- L'usage de END-UNSTRING est conforme aux bonnes pratiques du COBOL structuré : Même si son usage n'est pas obligatoire dans tous les compilateurs, il est fortement recommandé pour écrire du code conforme aux standards modernes, surtout dans les projets à grande échelle ou avec plusieurs intervenants.
Dernière mise à jour : Jeudi, le 28 juillet 2011