COBOL - Veri Türleri
Veri Bölme, bir programda kullanılan değişkenleri tanımlamak için kullanılır. COBOL'deki verileri tanımlamak için aşağıdaki terimlerin anlaşılması gerekir -
- Veri Adı
- Seviye Numarası
- Resim Maddesi
- Değer İfadesi
01 TOTAL-STUDENTS PIC9(5) VALUE '125'.
| | | |
| | | |
| | | |
Level Number Data Name Picture Clause Value Clause
Veri Adı
Veri adları, Prosedür Bölümünde kullanılmadan önce Veri Bölümünde tanımlanmalıdır. Kullanıcı tanımlı bir ada sahip olmaları gerekir; ayrılmış sözcükler kullanılamaz. Veri adları, gerçek verilerin depolandığı bellek konumlarına referans verir. Temel veya grup türü olabilirler.
Misal
Aşağıdaki örnek, geçerli ve geçersiz veri adlarını gösterir -
Valid:
WS-NAME
TOTAL-STUDENTS
A100
100B
Invalid:
MOVE (Reserved Words)
COMPUTE (Reserved Words)
100 (No Alphabet)
100+B (+ is not allowed)
Seviye Numarası
Seviye numarası, bir kayıttaki veri seviyesini belirtmek için kullanılır. Temel öğeler ve grup öğeleri arasında ayrım yapmak için kullanılırlar. Temel öğeler, grup öğeleri oluşturmak için birlikte gruplanabilir.
Sr.No. | Seviye Numarası ve Açıklama |
---|---|
1 | 01 Açıklama girişini kaydet |
2 | 02 to 49 Grup ve Temel öğeler |
3 | 66 Madde öğelerini yeniden adlandırın |
4 | 77 Alt bölümlere ayrılamayan öğeler |
5 | 88 Koşul adı girişi |
Elementary itemsdaha fazla bölünemez. Seviye numarası, Veri adı, Resim cümlesi ve Değer cümlesi (isteğe bağlı) temel bir öğeyi tanımlamak için kullanılır.
Group itemsbir veya daha fazla temel öğeden oluşur. Seviye numarası, Veri adı ve Değer cümlesi (isteğe bağlı) bir grup öğesini tanımlamak için kullanılır. Grup seviyesi numarası her zaman 01'dir.
Misal
Aşağıdaki örnek, Grup ve Temel öğeleri gösterir -
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
Resim Maddesi
Resim cümlesi aşağıdaki öğeleri tanımlamak için kullanılır -
Data typesayısal, alfabetik veya alfasayısal olabilir. Sayısal tür yalnızca 0 - 9 arasındaki rakamlardan oluşur. Alfabetik tür, A - Z arasındaki harflerden ve boşluklardan oluşur. Alfasayısal tür, rakamlardan, harflerden ve özel karakterlerden oluşur.
Signsayısal verilerle kullanılabilir. + Veya - olabilir.
Decimal point positionsayısal verilerle kullanılabilir. Varsayılan konum, ondalık noktanın konumudur ve verilere dahil edilmez.
Length veri öğesi tarafından kullanılan bayt sayısını tanımlar.
Resim cümlesinde kullanılan semboller -
Sr.No. | Sembol ve Açıklama |
---|---|
1 | 9 Sayısal |
2 | A Alfabetik |
3 | X Alfasayısal |
4 | V Örtülü Ondalık |
5 | S İşaret |
6 | P Varsayılan Ondalık |
Misal
Aşağıdaki örnek, PIC cümlesinin kullanımını gösterir -
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 yukarıdaki COBOL programını yürütmek için -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO
Yukarıdaki programı derleyip çalıştırdığınızda, aşağıdaki sonucu verir -
WS-NUM1 : +000.00
WS-NUM2 : .000000
WS-NUM3 : -123.45
WS-NAME : ABCDEF
WS-ID : A121$
Değer İfadesi
Değer cümlesi, veri öğelerini başlatmak için kullanılan isteğe bağlı bir cümledir. Değerler sayısal değişmez, alfanümerik değişmez veya mecazi sabit olabilir. Hem grup hem de temel öğelerle kullanılabilir.
Misal
Aşağıdaki örnek, VALUE cümlesinin kullanımını gösterir -
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 yukarıdaki COBOL programını yürütmek için -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO
Yukarıdaki programı derleyip çalıştırdığınızda, aşağıdaki sonucu verir -
WS-NUM1 : 03.5
WS-NAME : ABCD
WS-ID : 00