Recherche…


Introduction

DATA DIVISION est l'une des quatre parties qui composent un programme COBOL. Il contient des instructions décrivant les données utilisées par le programme. Il se compose de quatre sections: SECTION DE DOSSIER, SECTION DE STOCKAGE DE TRAVAIL, SECTION DE STOCKAGE LOCAL et SECTION DE LIAISON.

Sections dans la Division des données

Les sections dans COBOL peuvent être obligatoires ou facultatives, selon la DIVISION dans laquelle elles se trouvent.

DATA DIVISION.
FILE SECTION.
FD SAMPLE-FILE
01 FILE-NAME PIC X(20).
WORKING-STORAGE SECTION.
01 WS-STUDENT PIC A(10).
01 WS-ID PIC 9(5).
LOCAL-STORAGE SECTION.
01 LS-CLASS PIC 9(3).
LINKAGE SECTION.
01 LS-ID PIC 9(5).

Dans l'exemple ci-dessus, 01 sont des numéros de niveau.


Numéro de niveau

Le numéro de niveau est utilisé pour spécifier le niveau de données dans un enregistrement. Ils sont utilisés pour différencier les éléments élémentaires et les éléments de groupe. Les éléments élémentaires peuvent être regroupés pour créer des éléments de groupe.

  • 01: Entrée de la description de l'enregistrement. Le numéro de groupe est toujours 01.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME               PIC X(25).   ---> ELEMENTARY ITEM 
01 WS-SURNAME            PIC X(25).   ---> ELEMENTARY ITEM    
01 WS-ADDRESS.                        ---> GROUP ITEM   
   05 WS-HOUSE-NUMBER    PIC 9(3).    ---> ELEMENTARY ITEM
   05 WS-STREET          PIC X(15).   ---> ELEMENTARY ITEM 
  • 02 à 49: Articles élémentaires
  • 66: Renommer les éléments de clause
  • 77: éléments qui ne peuvent pas être subdivisés.
  • 88: le niveau 88 est un numéro de niveau spécial utilisé pour améliorer la lisibilité des programmes COBOL et pour améliorer les tests IF. Un niveau 88 ressemble à un niveau sous une autre variable, mais ce n'est pas le cas. Il n'a pas d'image, mais il a une valeur. Un niveau 88 est toujours associé à une autre variable et est un nom de condition pour cette variable.
 01 YES-NO PIC X.
 88 ANSWER-IS-YES VALUE "Y".

Les deux conditions suivantes testent si YES-NO est égal à "Y":

 IF YES-NO = "Y"
 IF ANSWER-IS-YES

Un nom de condition de niveau 88 peut être utilisé pour une variable alphanumérique ou numérique.


Clause d'image

La clause PICTURE définit deux choses à propos d'une variable: la taille de la variable (le nombre d'octets utilisés en mémoire pour la valeur) et le type de données pouvant être stockées dans la variable.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow