Apprendre COBOL, ce tutorial présente les concepts généraux liés à la structure d’un programme en COBOL.
Apprendre COBOL – Introduction
Cette article fait suite à mon introduction au langage COBOL. Je vous conseille de relire la première partie qui traite des principes généraux de COBOL. Ici : https://128mots.com/index.php/2020/10/07/ibm-cobol/ et en anglais https://128mots.com/index.php/en/2020/10/07/ibm-cobol-3/
Nous traitons ici les concepts généraux liés à la structure d’un programme en COBOL.
DATA DIVISION
Toutes les données qui vont être utilisées par le programme sont situées dans la Data Division . C’est l’endroit où toutes les allocations de mémoire requises par le programme sont prises en charge. Cette division est facultative.
GESTION DES FICHIERS :

La FILE SECTION décrit les données envoyées ou provenant du système, en particulier les fichiers.
Lorsqu’on apprend COBOL la syntaxe est trèc importante. La syntaxe en COBOL est la suivante
DATA DIVISION. FILE SECTION. FD/SD NameOfFile [RECORD CONTAINS intgr CHARACTERS] [BLOCK CONTAINS intgr RECORDS] [DATA RECORD IS NameOfRecord]. [RECORDING MODE IS {F/V/U/S}]
FD décrit les fichiers et SD les fichiers de tri.
FICHIER EN ENTRÉE
En FILE-CONTROL la déclaration sera :
SELECT FMASTER ASSIGN FMASTER FILE STATUS W-STATUS-FMASTER. Si le fichier d'entrée est indexée:
SELECT FMASTER ASSIGN FMASTER ORGANIZATION IS INDEXED RECORD KEY IS FMASTER-KEY FILE STATUS W-STATUS-FMASTER..
Dans ce cas au niveau de la FILE-SECTION on va avoir :
* FMAITRE en entrée FD FMAITRE. 01 ENR-FMAITRE. * Déclarations des zones de l’enregistrement Au niveau JCL la déclaration sera de la forme :
//ENTREE DD DSN=SAMPLE.INPUTF,DISP=SHR

FICHIER EN SORTIE
La déclaration JCL sera alors :
//OUTFILE DD DSN=SAMPLE.OUTPUTF,DISP=(,CATLG,DELETE), // LRECL=150,RECFM=FB
RECFM spécifie les caractéristiques des enregistrements avec longueur fixe (F), longueur variable (V), longueur variable ASCII (D) ou longueur indéfinie (U). Les enregistrements qui sont dit bloqués sont décrits comme FB, VB ou DB.
OUVERTURE ET FERMETURE FICHIER EN PROCEDURE DIVISION
COBOL utilise des mécanismes en PROCEDURE DIVISION pour effectuer des lecture écriture, fermeture et ouverture de fichier.
Ouverture de fichier d’entrée :
OPEN INPUT FICENT
Ouverture de fichier de sortie :
OPEN OUTPUT FICSOR
Fermeture de fichier :
CLOSE FICENT CLOSE FICSOR
Lecture de fichier:
READ ACTENR AT END MOVE 'O' TO DERNIER-ENREGISTREMENT END-READ
Ecriture fichier
WRITE SOR-ENR

Apprendre COBOL – LIENS EXTERNES VERS DES RESSOURCES
Ci-dessous quelques liens que j’ai trouvé intéressants qui traitent également de la gestion des fichiers avec COBOL.
Exemple de gestion de fichier du site IBM : https://www.ibm.com/support/knowledgecenter/en/SS6SGM_5.1.0/com.ibm.cobol51.aix.doc/PGandLR/ref/rpfio13e.html
REFM Format : https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.idad400/d4037.htm
Tutorialspoint un article sur la gestion fichier https://www.tutorialspoint.com/cobol/cobol_file_handling.htm
COURSERA COBOL with VSCODE : https://www.coursera.org/lecture/cobol-programming-vscode/file-handling-YVlcf
MEDIUM un article intéressant pour les débutants COBOL : https://medium.com/@yvanscher/7-cobol-examples-with-explanations-ae1784b4d576
Egalement sur son blog : http://yvanscher.com/2018-08-01_7-cobol-examples-with-explanations–ae1784b4d576.html
Beaucoup d’exemple COBOL de tutoriaux et sample code gratuits : http://www.csis.ul.ie/cobol/examples/default.htm
GITHUB Awesome-cobol vous https://github.com/mickaelandrieu/awesome-cobol
Apprendre COBOL – LIENS INTERNES
IBM COBOL FREE TRAINING