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