WITH |
Avec |
|---|---|
| Cobol | |
Syntaxe
| ALTERNATE RECORD KEY IS identifier WITH DUPLICATES |
|
CLOSE filename1 [(REAL|UNIT) [WITH NO REWIND]] [WITH (NO REWIND|LOCK)] [,filename2 [(REAL|UNIT) [WITH NO REWIND]]] ... [WITH (NO REWIND|LOCK)] |
|
CLOSE filename1 [WITH LOCK] [,filename2 [WITH LOCK]] ... |
|
FILE-CONTROL. ((SELECT [OPTIONAL] filename ASSIGN TO [label][S] AS JCLvariable) [RESERVE integer AREAS] | ORGANIZATION IS [SEQUENTIAL]/RELATIVE/INDEXED | | ACCESS MODE IS [SEQUENTIAL]/RANDOM/DYNAMIC | |RELATIVE/RECORD KEY alphanumericdatafiled| [ALTERNATIVE RECORD KEY alphanumericrecordfield WITH DUPLICATES [PASSWORD IS literaldataname] [FILE STATUS IS alphanumericdataitem, groupdataitem] |
|
FILE SECTION. | (FD filename [EXTERNAL] [GLOBAL] [BLOCK CONTAINS 0 RECORDS] | RECODING MODE F/V/S/U | [LINAGE IS integerdataname LINES WITH FOOTING integerdataname TOP integerdataname BOTTOM integerdataname] [CODE-SET IS alphabetname1] ) | ] |
| OPEN INPUT filename1 WITH NO REWIND ... |
| OPEN OUTPUT filename2 WITH NO REWIND ... |
|
READ filename [NEXT] RECORD WITH NO LOCK [INTO identifier] [; AT END imperativestatement] |
|
READ filename RECORD WITH NO LOCK [INTO identifier] [; KEY IS dataname] [; INVALID KEY imperativestatement] |
|
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 |
|---|---|
| WITH DUPLICATES | Ce paramètre permet d'indiquer que la clef d'enregistrement alternative peut contenir des doublons, autorisant plusieurs enregistrements à partager la même valeur. |
| WITH NO REWIND | Ce paramètre permet d'ouvrir ou de fermer un fichier sans repositionner automatiquement le pointeur à son début. Il est utile dans les traitements enchaînés. |
| WITH LOCK | Ce paramètre indique que l'accès au fichier est verrouillé pendant son traitement, afin d'éviter toute interférence par d'autres processus ou utilisateurs. |
| WITH NO LOCK | Ce paramètre signale que le fichier peut être lu sans verrouillage, permettant un accès en lecture simultané, mais pouvant exposer à des données non cohérentes. |
| WITH POINTER identifier | Ce paramètre permet de suivre la position actuelle dans une opération UNSTRING, en mettant à jour un identifiant servant de curseur dans la chaîne analysée. |
| WITH FOOTING integerdataname | Ce paramètre spécifie le nombre de lignes réservées pour le pied de page dans les instructions de format d'impression (LINAGE IS ...). |
| WITH TOP integerdataname | Ce paramètre définit l'espace en haut de la page imprimée, généralement pour laisser de la place à un entête ou des marges. |
| WITH BOTTOM integerdataname | Ce paramètre sert à indiquer le nombre de lignes à laisser en bas de page, souvent pour la lisibilité ou les contraintes d'impression. |
| alphabetname1 | Ce paramètre permet d'indiquer le nom de l'alphabet ou du jeu de caractères utilisé pour l'encodage du fichier (exemple : EBCDIC, ASCII, UTF-8). |
| filename | Ce paramètre représente le nom logique d'un fichier déclaré dans la section FILE-CONTROL ou FD, utilisé pour les opérations de fichier. |
| filename1 | Ce paramètre désigne le premier fichier concerné par une opération comme OPEN, CLOSE ou READ. |
| filename2 | Ce paramètre correspond à un second fichier à traiter dans la même instruction, notamment lors de fermetures groupées (CLOSE). |
| imperativestatement | Ce paramètre fait référence à une ou plusieurs instructions COBOL à exécuter immédiatement (exemple : DISPLAY, MOVE, PERFORM). |
| statementlist | Ce paramètre regroupe un bloc de plusieurs instructions COBOL à exécuter, généralement après une condition (WHEN, AT END,...). |
Description
Cette instruction permet d'indiquer avec quel contexte est associé une instruction.
Remarques
- La clause WITH permet de spécifier des options supplémentaires lors de l'ouverture ou de la fermeture de fichiers. Par exemple, lorsqu'on utilise WITH NO REWIND, cela empêche le fichier de se repositionner au début une fois qu'il est fermé, ce qui peut être utile dans les opérations de traitement en série ou en pipeline.
- Dans le contexte de ALTERNATE RECORD KEY IS identifier WITH DUPLICATES, WITH indique que le fichier peut contenir des doublons pour une clef alternative d'enregistrement. Cela signifie que plusieurs enregistrements peuvent partager la même valeur de clé, ce qui est crucial dans certains cas où les clefs ne sont pas nécessairement uniques.
- L'option WITH LOCK dans les instructions CLOSE et OPEN permet de verrouiller un fichier pour en empêcher l'accès simultané par d'autres processus. Cela peut être important pour maintenir l'intégrité des données, notamment dans les environnements multi-utilisateurs où plusieurs programmes pourraient tenter d'accéder au même fichier.
- L'utilisation de WITH dans les instructions comme CLOSE filename WITH LOCK indique qu'on souhaite explicitement verrouiller le fichier pendant l'opération de fermeture. Cela empêche d'autres processus de manipuler le fichier pendant que l'une des opérations est en cours, offrant ainsi plus de contrôle sur les ressources partagées.
- La syntaxe WITH NO REWIND dans des opérations comme OPEN INPUT filename WITH NO REWIND ou READ filename WITH NO REWIND est essentielle pour des traitements de fichier séquentiels où il n'est pas nécessaire de remettre le pointeur à la première position après chaque opération. Cela optimise les performances et réduit les risques de relecture inutile des données.
- Dans le cas de l'instruction OPEN INPUT filename1 WITH NO REWIND, la mention de NO REWIND permet de maintenir le fichier dans son état actuel, ce qui est important si l'on doit effectuer plusieurs lectures successives sans repositionner le fichier. Cela permet d'éviter des appels coûteux à la fonction de réinitialisation du fichier.
- WITH dans FILE-CONTROL et FILE SECTION permet de définir des caractéristiques supplémentaires pour le fichier, comme ALTERNATIVE RECORD KEY WITH DUPLICATES permettant de gérer des clés secondaires dans des fichiers indexés. Cela élargit les possibilités de gestion des données, notamment pour les fichiers nécessitant des recherches complexes.
- L'option WITH est aussi utilisée pour lier des paramètres de configuration à la lecture ou à la gestion des fichiers, par exemple avec WITH POINTER identifier dans UNSTRING. Ici, WITH est utilisé pour maintenir la position dans une chaîne lors de l'opération de découpe, ce qui est particulièrement utile pour traiter des données complexes comme des chaînes ou des fichiers de texte.
Dernière mise à jour : Jeudi, le 28 juillet 2011