COBOL - Datentypen

Die Datenaufteilung wird verwendet, um die in einem Programm verwendeten Variablen zu definieren. Um Daten in COBOL zu beschreiben, müssen die folgenden Begriffe verstanden werden:

  • Datenname
  • Level Nummer
  • Bildklausel
  • Wertklausel
01            TOTAL-STUDENTS            PIC9(5)            VALUE '125'.
|                    |                    |                    |
|                    |                    |                    |
|                    |                    |                    | 
Level Number     Data Name           Picture Clause       Value Clause

Datenname

Datennamen müssen in der Datenabteilung definiert werden, bevor sie in der Prozedurabteilung verwendet werden. Sie müssen einen benutzerdefinierten Namen haben. reservierte Wörter können nicht verwendet werden. Datennamen beziehen sich auf die Speicherorte, an denen die tatsächlichen Daten gespeichert sind. Sie können elementar oder gruppentypisch sein.

Beispiel

Das folgende Beispiel zeigt gültige und ungültige Datennamen -

Valid:
   WS-NAME
   TOTAL-STUDENTS
   A100
   100B

Invalid:
   MOVE            (Reserved Words)
   COMPUTE         (Reserved Words)
   100             (No Alphabet)
   100+B           (+ is not allowed)

Level Nummer

Die Ebenennummer wird verwendet, um die Datenebene in einem Datensatz anzugeben. Sie werden verwendet, um zwischen Elementarelementen und Gruppenelementen zu unterscheiden. Elementare Elemente können zu Gruppenelementen zusammengefasst werden.

Sr.Nr. Levelnummer & Beschreibung
1

01

Datensatzbeschreibungseintrag

2

02 to 49

Gruppen- und Grundelemente

3

66

Klauselelemente umbenennen

4

77

Elemente, die nicht unterteilt werden können

5

88

Eingabe des Bedingungsnamens

  • Elementary itemskann nicht weiter geteilt werden. Ebenennummer, Datenname, Bildklausel und Wertklausel (optional) werden zur Beschreibung eines Elementarelements verwendet.

  • Group itemsbestehen aus einem oder mehreren elementaren Elementen. Ebenennummer, Datenname und Wertklausel (optional) werden zur Beschreibung eines Gruppenelements verwendet. Die Nummer auf Gruppenebene ist immer 01.

Beispiel

Das folgende Beispiel zeigt Gruppen- und Elementarelemente -

DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME    PIC X(25).                               ---> ELEMENTARY ITEM 
01 WS-CLASS   PIC 9(2)  VALUE  '10'.                   ---> ELEMENTARY ITEM

01 WS-ADDRESS.                                         ---> GROUP ITEM   
   05 WS-HOUSE-NUMBER    PIC 9(3).                     ---> ELEMENTARY ITEM
   05 WS-STREET          PIC X(15).                    ---> ELEMENTARY ITEM
   05 WS-CITY            PIC X(15).                    ---> ELEMENTARY ITEM
   05 WS-COUNTRY         PIC X(15)  VALUE 'INDIA'.     ---> ELEMENTARY ITEM

Bildklausel

Die Picture-Klausel wird verwendet, um die folgenden Elemente zu definieren:

  • Data typekann numerisch, alphabetisch oder alphanumerisch sein. Der numerische Typ besteht nur aus den Ziffern 0 bis 9. Der alphabetische Typ besteht aus den Buchstaben A bis Z und Leerzeichen. Der alphanumerische Typ besteht aus Ziffern, Buchstaben und Sonderzeichen.

  • Signkann mit numerischen Daten verwendet werden. Es kann entweder + oder - sein.

  • Decimal point positionkann mit numerischen Daten verwendet werden. Die angenommene Position ist die Position des Dezimalpunkts und nicht in den Daten enthalten.

  • Length Definiert die Anzahl der vom Datenelement verwendeten Bytes.

In einer Picture-Klausel verwendete Symbole -

Sr.Nr. Symbol & Beschreibung
1

9

Numerisch

2

A

Alphabetisch

3

X

Alphanumerisch

4

V

Implizite Dezimalzahl

5

S

Zeichen

6

P

Angenommene Dezimalzahl

Beispiel

Das folgende Beispiel zeigt die Verwendung der PIC-Klausel -

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC S9(3)V9(2).
   01 WS-NUM2 PIC PPP999.
   01 WS-NUM3 PIC S9(3)V9(2) VALUE -123.45.
   01 WS-NAME PIC A(6) VALUE 'ABCDEF'.
   01 WS-ID PIC X(5) VALUE 'A121$'.

PROCEDURE DIVISION.
   DISPLAY "WS-NUM1 : "WS-NUM1.
   DISPLAY "WS-NUM2 : "WS-NUM2.
   DISPLAY "WS-NUM3 : "WS-NUM3.
   DISPLAY "WS-NAME : "WS-NAME.
   DISPLAY "WS-ID : "WS-ID.
STOP RUN.

JCL um das obige COBOL-Programm auszuführen -

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO

Wenn Sie das obige Programm kompilieren und ausführen, wird das folgende Ergebnis erzielt:

WS-NUM1 : +000.00
WS-NUM2 : .000000
WS-NUM3 : -123.45
WS-NAME : ABCDEF
WS-ID : A121$

Wertklausel

Die Value-Klausel ist eine optionale Klausel, mit der die Datenelemente initialisiert werden. Die Werte können ein numerisches Literal, ein alphanumerisches Literal oder eine figurative Konstante sein. Es kann sowohl mit Gruppen- als auch mit Elementarelementen verwendet werden.

Beispiel

Das folgende Beispiel zeigt die Verwendung der VALUE-Klausel -

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 99V9 VALUE IS 3.5.
   01 WS-NAME PIC A(6) VALUE 'ABCD'.
   01 WS-ID PIC 99 VALUE ZERO.

PROCEDURE DIVISION.
   DISPLAY "WS-NUM1 : "WS-NUM1.
   DISPLAY "WS-NAME : "WS-NAME.
   DISPLAY "WS-ID   : "WS-ID.
STOP RUN.

JCL um das obige COBOL-Programm auszuführen -

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO

Wenn Sie das obige Programm kompilieren und ausführen, wird das folgende Ergebnis erzielt:

WS-NUM1 : 03.5
WS-NAME : ABCD
WS-ID   : 00