GLOBAL |
Global |
|---|---|
| Cobol | |
Syntaxe
|
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] ) | ] |
Paramètres
| Nom | Description |
|---|---|
| FD filename | Ce paramètre permet de définir une entrée de fichier (File Description) en précisant son nom logique dans la section de fichier. |
| EXTERNAL | Ce paramètre permet d'indiquer que la variable ou le fichier est accessible en dehors du programme courant, notamment par des programmes appelants. |
| GLOBAL | Ce paramètre permet de déclarer que le fichier ou la variable est accessible globalement par tous les programmes imbriqués dans le programme principal. |
| BLOCK CONTAINS 0 RECORDS | Ce paramètre permet de spécifier la taille logique du bloc de données, ici avec 0 enregistrements pour un accès sans blocage physique. |
| RECODING MODE F/V/S/U | Ce paramètre permet de spécifier le mode de recodage des caractères selon les formats : F (Fixed), V (Variable), S (Standard), ou U (User-defined). |
| LINAGE IS integerdataname | Ce paramètre permet de définir la longueur logique d'une page imprimée en lignes, selon une variable entière (integerdataname). |
| WITH FOOTING integerdataname | Ce paramètre permet de définir le nombre de lignes à réserver en bas de page pour les pieds de page. |
| TOP integerdataname | Ce paramètre permet d'indiquer le nombre de lignes blanches à insérer en haut de chaque page imprimée. |
| BOTTOM integerdataname | Ce paramètre permet de définir le nombre de lignes blanches à insérer en bas de page, en dehors du pied de page. |
| CODE-SET IS alphabetname1 | Ce paramètre permet de spécifier le jeu de caractères utilisé pour coder les données du fichier, comme EBCDIC ou ASCII. |
Description
Cette instruction permet de spécifier que le nom d'identification de fichier a un nom global.
Remarques
- Le mot clef GLOBAL permet de partager un fichier entre plusieurs programmes imbriqués. Lorsqu'un fichier est déclaré avec l'attribut GLOBAL, il devient accessible dans tous les sous-programmes définis dans le même programme principal. Cela facilite la centralisation des données, notamment lorsqu'un ensemble de modules doit travailler sur le même fichier.
- L'utilisation de GLOBAL renforce le contrôle de la portée des ressources partagées. Au lieu de déclarer plusieurs fois le même fichier dans chaque sous-programme, l'instruction GLOBAL garantit que tous les modules utilisent la même définition physique du fichier. Cela améliore la cohérence et réduit les risques de divergence ou d'erreur de format.
- GLOBAL est souvent utilisé en conjonction avec EXTERNAL pour combiner accessibilité et persistance. Alors que EXTERNAL permet à des programmes externes d'accéder à une variable ou un fichier, GLOBAL assure cette accessibilité à l'intérieur de l'arborescence du programme. Les deux mots-clés peuvent coexister dans une définition FD.
- Les fichiers GLOBAL doivent être déclarés dans le programme principal, pas dans un sous-programme. Un fichier marqué GLOBAL ne peut être défini que dans la section FILE SECTION d'un programme principal. Toute tentative de l'introduire dans un sous-programme déclenchera une erreur à la compilation.
- L'attribut GLOBAL peut aussi s'appliquer à des variables, bien qu'il soit ici utilisé avec un fichier. Même si la syntaxe actuelle l'illustre avec un fichier (FD filename GLOBAL), le mot clef peut également s'appliquer dans d'autres sections (comme WORKING-STORAGE) pour étendre la portée d'une donnée dans la structure hiérarchique du programme.
- L'emploi de GLOBAL implique que la gestion des ressources doit être rigoureuse pour éviter des conflits. Si plusieurs sous-programmes accèdent au même fichier via sa déclaration globale, il est crucial d'assurer une synchronisation adéquate, notamment en cas d'opérations de lecture/écriture concurrentes.
- La déclaration GLOBAL n'affecte pas le comportement du fichier en termes d'accès ou d'organisation. Elle agit uniquement sur la portée de visibilité du fichier. Les paramètres comme ACCESS MODE, ORGANIZATION, ou RECORD KEY restent inchangés et doivent être définis normalement.
- L'attribut GLOBAL est particulièrement utile dans des applications structurées et modulaires. Il permet de mieux organiser le code source en divisant les tâches entre plusieurs sous-programmes tout en évitant des redondances de définitions. Cela s'inscrit dans une bonne pratique de conception logicielle en COBOL.
Dernière mise à jour : Jeudi, le 28 juillet 2011