COBOL/Structure du programme
Une page de Wikiversité.
COBOL/Structure du programme est une ébauche concernant l'informatique. Vous pouvez aider le projet Wikiversité en l'améliorant.
| Chapitre 2 | |||
| Leçon : COBOL | |||
|---|---|---|---|
| Chap. préc. : | Introduction au COBOL | ||
| Chap. suiv. : | Mots Réservé | ||
En raison de limitations techniques, la typographie souhaitable du titre, « COBOL : Structure du programme
COBOL/Structure du programme », n'a pu être restituée correctement ci-dessus.
[modifier] Introduction
Ce chapitre vous presente la structure de tous les programmes COBOL que vous rencontrerez.
[modifier] Le fichier du programme
Le fichier est de format fixe de 80 de long. La saisie d'un programme COBOL s'effectue suivant un colonnage précis:
- Les colonnes 1 à 6, peu utilisées, peuvent contenir une numérotation COBOL ou des annotations permettant de commenter le code (date de modification, référence de l'évolution, trigramme du développeur...).
- La colonne 7 est réservée aux caractères particuliers suivants :
- * : ce qui suit doit être considéré comme un commentaire.
- d : indique que la phrase COBOL de cette ligne n'est à exécuter qu'en DEBBUGING-MODE.
- / : caractère reconnaissable par l'imprimante et commandant un saut de page dans le listing issu de la compilation.
- - : caractère de continuation d'un libellé (uniquement en WORKING-STORAGE SECTION).
- Space : dans tous les autres cas.
- Les colonnes 8 à 11 incluses sont réservés commencer les noms de divisions, de sections et de paragraphes ainsi que certaines descriptions de données.
- Les colonnes 12 à 72 contiennent tous les autres verbes COBOL.
- Les colonnes 73 à 80 ne sont pas interprétées par le compilateur.
[modifier] La structure du programme
Le langage COBOL qui date des années 1960-70, nécessite des contraintes de formalisme et de syntaxe beaucoup plus rigoureuses que les langages récents.
Ainsi un certain nombre de mots-clés identifient les principales parties du programme et sont obligatoires.
- Les DIVISION
- Les SECTION
- Les paragraphes
- IDENTIFICATION DIVISION
Elle permet d'identifier le programme. Dans l'exemple ci-dessous les commentaires sont en bleu, et les mots réservés en rouge. Vous remarquerez que j'ai commencé par un bloc de commentaire comme tout bon programmeur
. Elle permet de faire l'historique des évolutions.
7 12 72
-----|----|-----------------------------------------------------------|---
*================================================================*
* PROJET : *
* APPLICATION : *
* PROGRAMME : NOM, OBJET *
*================================================================*
* PERIODICITE D'EXECUTION : HEBDOMADAIRE,MENSUELLE,TRIM ETC.. *
* ENTREE : *
* nomtable (TABLE ..........) *
* nomfichier (FICHIER.........) *
* SORTIE : *
* nomtable (TABLE ..........) *
* nomfichier (FICHIER.........) *
* log (COMPTE RENDU D'EXECUTION) *
*================================================================*
* JOURNAL DES MISES A JOUR *
* ------------------------ *
*-------+---------------------------------------+--------+-------*
*DEMANDE! DESCRIPTION ! LE ! PAR *
*-------+---------------------------------------+--------+-------*
* ! CREATION...................... !../../..!.......*
*-------+---------------------------------------+--------+-------*
*================================================================*
IDENTIFICATION DIVISION.
*-----------------------
PROGRAM-ID. $$$$$$.
AUTHOR.. NOM PRENOM.
- ENVIRONMENT DIVISION
Elle décrit l'environnement logique sur lequel va travailler le programme : sur quel type de machine, de fichier(s), etc.
On y trouve les deux sections suivantes :
- CONFIGURATION SECTION.
- INPUT-OUTPUT SECTION.
-
- CONFIGURATION SECTION
Voici quelques exemples de paramétrage. En générale, vous devrez utiliser les normes du site.
DECIMAL-POINT IS COMMA :
- Permet d'indiquer que l'on utilise la virgule au lieu du point décimal lors des éditions.
CURRENCY SIGN IS "F" :
- Permet d'indiquer au programme que l'unité monétaire, $ par défaut, sera remplacée par le "F" lors des éditions. La valeur du caractère euros est X'9F'
-
- INPUT-OUTPUT SECTION
L'INPUT-OUTPUT SECTION précise, dans le paragraphe FILE-CONTROL, la description logique des fichiers utilisés dans le programme.
7 12 72
-----|----|-----------------------------------------------------------|---
ENVIRONMENT DIVISION.
*-----------------------
CONFIGURATION SECTION.
DECIMAL-POINT IS COMMA.
CURRENCY SIGN IS X'9F'.
SPECIAL-NAMES.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
*===============================================================*
* FICHIER ===> C R E X E C (FICHIER COMPTE RENDU) *
*===============================================================*
SELECT CREXEC ASSIGN TO PHY_CREXEC
FILE STATUS IS WW-STATUS1.
*===============================================================*
* FICHIER ===> F $ $ $ $ $ $ (FICHIER F$$$$$$ ............) *
*===============================================================*
SELECT FICHIER1 ASSIGN TO PHY_FICHIER1
ORGANIZATION IS <type organisation>
ACCESS MODE IS <type d'accès>
<type de clé>KEY IS <nom de la clé>
FILE STATUS IS WW-STATUS2.
Dans l'exmple ci-dessus, nous definition l'euro comme monnaie et la virgule comme séparateur d'affichage des décimales.
Deux fichiers seront utilisés dans le programme.
Le fichier logique CREXEC est rattaché à un fichier physique PHY_CREXEC. Celui-ci sera nommé dans le JCL.
Le deuxième fichier logique est FICHIER1.
En COBOL, il est possible de traiter plusieurs types de fichier. C'est ce qui est précisé dans le paragraphe FILE-CONTROL. Les différents types de fichier seront développés dans un prochain chapitre.

