Syntaxe
|
SELECT [OPTIONAL] filename ASSIGN TO [label][S-] AS- JCLvariable
|
Paramètres
| Nom |
Description |
| filename |
Ce paramètre permet d'indiquer l'entrée du nom du fichier. |
| label |
Ce paramètre permet d'indiquer l'étiquette. |
| JCLvariable |
Ce paramètre permet d'indiquer les variables. |
Description
Cette instruction permet de définir la date de rédaction du programme COBOL.
Remarques
- L'instruction SELECT est essentielle pour établir la liaison logique entre le fichier défini dans le programme COBOL et son équivalent physique dans le système
d'exploitation. Elle est utilisée dans la section FILE-CONTROL de la division ENVIRONMENT. Elle prépare les fichiers à être ouverts pour lecture, écriture ou modification
dans les traitements COBOL.
- Le paramètre filename permet de référencer le fichier dans le reste du programme, notamment dans les instructions OPEN, READ, WRITE ou CLOSE. Il ne correspond pas
directement au nom physique du fichier, mais plutôt à un nom logique interne au programme. Ce nom est ensuite lié à un fichier externe grâce aux autres paramètres de
la clause.
- Le mot clef OPTIONAL, placé juste après SELECT, permet d'indiquer que l'absence physique du fichier ne doit pas provoquer une erreur. Cela est utile pour des fichiers
de sortie facultatifs ou des fichiers d'entrée qui ne sont pas toujours fournis. Le programme peut ainsi s'adapter dynamiquement à la présence ou l'absence de certaines
données.
- Le paramètre ASSIGN TO permet de relier le fichier logique (filename) à un nom de fichier physique ou une variable système, selon le compilateur. Dans les systèmes
mainframe, cette clause fait souvent référence à une DDNAME JCL. Dans un environnement UNIX ou Windows, cela peut référencer un chemin de fichier ou un alias.
- Le paramètre label (souvent facultatif ou implicite) permet dans certains cas de spécifier une étiquette physique sur une bande ou un média, dans des
environnements anciens. Cette notion est aujourd'hui largement obsolète, mais elle reflète l'héritage de COBOL dans les systèmes de traitement par lots. Elle est encore
pertinente dans des contextes rétro ou pour maintenir des systèmes anciens.
- Le paramètre JCLvariable indique une liaison dynamique avec des instructions JCL (Job Control Language) utilisées dans les systèmes
z/OS. Il s'agit d'une façon d'assigner un fichier à un nom défini dans le job, permettant au même programme COBOL d'être utilisé
dans plusieurs contextes sans modification. Cela permet une grande souplesse dans la gestion des ressources.
- Bien que SELECT semble être une instruction de déclaration, elle joue un rôle fondamental dans la configuration du traitement des fichiers dans un
programme COBOL. Elle ne traite pas les données à proprement parler, mais elle en définit le point d'entrée. Sans SELECT, aucun fichier ne peut être ouvert ou utilisé
par les autres instructions.
- La documentation indique que SELECT sert à définir "la date de rédaction du programme", mais cela est incorrect. Cette instruction ne concerne ni la date ni le
cycle de vie du programme, mais bien la déclaration des fichiers. Il est important de corriger cette confusion pour bien comprendre son rôle dans l'architecture du
programme COBOL.
Dernière mise à jour : Jeudi, le 28 juillet 2011