Image
La Fabrik à COBOL
macons010.gif
Bonjour,
Ce site sans prétention, à pour seul but d'enrichir vos connaissances sur le langage COBOL.
Du débutant à l'expérimenté, vous trouverez sans doute plein d'informations utiles autour de ce langage.
Quelque soit votre niveau d'expérience, faites partager votre approche du COBOL dans le monde étudiant ou professionnel.
Participez à la création de projets COBOL selon votre niveau.
Apporter votre contribution sous forme diverses comme des exemples de fonctions, de programmes ou d'analyse de problèmes.
Image construction_barre012.gif
Bref historique du COBOL
COBOL (Common Business Oriented Language) à été créer en 1959 par le département de la défense américaine principalement pour la gestion de ladministration américaine.
Plus dinfo sur : http://fr.wikipedia.org/wiki/COBOL
Qui utilise le COBOL
Principalement les grandes entreprises pour leur gestion (Administrations, banques, assurances, institutions financières etc )
Différence entre les dinosaures et le COBOL
Il est vrai que le COBOL est presque aussi vieux que les dinosaures, mais
Contrairement à eux, il est encore bien vivant et il n'est pas prêt de disparaitre.
En effet, il se créer dans le monde plusieurs milliers de programmes en COBOL par jour.
Celui-ci à su évolué, certes assez lentement au gré des normes internationales du comité CODASYL.
A travers les révision standardisées par l'AINSI (Américan National Standards Institute).
• COBOL 1968
• COBOL 1974
• COBOL 1985
• COBOL - 2002
Chaque révision apportant son lot de nouveautés
Le COBOL avec la dernière standardisation (COBOL 2002) est maintenant armé
pour faire face aux nouvelles technologies
• Programmation Objet
• Utilisation XML
• Le support dUnicode
• Le mixage avec dautre langage
• Etc
Constitution dun programme COBOL
Un programme est toujours constitué de 4 divisions obligatoires.
• IDENTIFICATION DIVISION
• ENVIRONMENT DIVISION
• DATA DIVISION
• PROCEDURE DIVISION
IDENTIFICATION DIVISION
Elle contient des données dordre générale, comme le nom du programme,
Lauteur, la date de compilation du programme.
IDENTIFICATION DIVISION.
PROGRAM-ID. PRETSOS4.
AUTHOR. DEVEQ001. < Facultatif
DATE-WRITTEN DECEMBRE 1990. < Facultatif
DATE-COMPILED. 07/21/10. < Facultatif
ENVIRONNEMENT DIVISION
Cette division sert à définir les fichiers utilisés en I/O (Input/Output),
Et le type de machine.
Ensuite il faut définir des SECTIONS facultatives selon le besoin du programme à créer.
Si vous souhaitez définir le point décimal comme virgule, ou déclarer le
Programme en mode DEBUG, il faudra ajouter les lignes suivantes :
ENVIRONNEMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-370 WITH DEBUGGING MODE.
SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT F-PRTDB1 ASSIGN TO UT-S-SYS010.
SELECT F-PRTDB2 ASSIGN TO UT-S-SYS011.
DATA DIVISION
Cette division sert à définir la liste des copy des structures de fichier, les déclaratives pour la gestion à SQL ou DB2.
Ensuite il faut définir des SECTIONS facultatives selon le besoin du programme à créer.
DATA DIVISION.
FILE SECTION.
FD F-PRTDB1
BLOCK CONTAINS 0 RECORDS.
01 E-PRTDB1 PIC X(1352).
FD F-PRTDB2
BLOCK CONTAINS 0 RECORDS.
01 E-PRTDB2 PIC X(1352).
La section WORKING-STORAGE SECTION sert pour les zones de travail, les
variables et les constantes.
WORKING-STORAGE SECTION.
Içi on définit toutes les zones de travail comme :
77 IDE-PGM PIC X(08) VALUE 'PRETIDS4'.
01 APELPCB.
COPY YI03PCB1 SUPPRESS.
Le mot SUPPRESS permet dappeler la copie de la structure des zones dun fichier, mais sans ajouter ce descriptif dans le généré COBOL pour gagner en poids (nombre de lignes) dans le programme.
Si pas de SUPPRESS, alors toutes les zones constituant la copie seront intégrer dans le généré COBOL à la compil du programme.
01 COA-DATMD.
02 FILLER PIC X(4).
02 CO1-DATMD-MM PIC 99.
02 CO1-DATMD-JJ PIC 99.
PROCEDURE DIVISION
Cette division est celle qui contient les fonctionnalités du programme.
Autrement dit le cœur du traitement.
PROCEDURE DIVISION.
DECLARATIVES.
DEBUG SECTION. < Facultatif
USE FOR DEBUGGING ON ALL PROCEDURES.
DISPLAY DEBUG-ITEM.
END DECLARATIVES.
Fonction01.
Code spécifique
Fonction02.
Code spécifique
Etc . . .