Ana içeriğe geç
Modül 5 · Ders 1 ders 2Kurstaki 9/10~15 min
Modül dersleri (1/2)

Dosya Tanımlama ve Dosya Kontrolü

COBOL'da harici dosyaların (metin arşivleri veya diskteki ikili kayıtlar gibi) yönetilmesi, toplu kurumsal uygulamalar için en önemli özelliklerden biridir. COBOL modern veritabanlarından çok önce tasarlandığından, disk dosyaları birincil depolama görevi görür.

İşletim sisteminde saklanan fiziksel dosyaların programın dahili değişkenlerine bağlanması iki aşamada gerçekleşir:

  1. ENVIRONMENT DIVISION'daki mantıksal-fiziksel ilişki.
  2. DATA DIVISION'deki veri kaydının tanımı.

1. İlişkilendirme: DOSYA KONTROLÜ ve SELECT ASSIGN

Program yapısına ayrılan bölümde ENVIRONMENT DIVISION'yi inceledik. İçinde INPUT-OUTPUT SECTION, program tarafından kullanılan harici dosyaları bildiren FILE-CONTROL paragrafını içerir.

Programdaki mantıksal bir dosyayı (örneğin, SALES-FILE) diskteki gerçek bir fiziksel dosyayla (örneğin, sales.dat) ilişkilendirmek için SELECT ... ASSIGN TO ... ifadesini kullanın:

COBOL
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT SALES-FILE ASSIGN TO "sales.dat"
               ORGANIZATION IS LINE SEQUENTIAL.
  • SELECT SALES-FILE: Programın dosyaya başvurmak için kullanacağı mantıksal adı tanımlar.
  • ASSIGN TO "sales.dat": Diskteki gerçek fiziksel dosya adını (veya yolunu) belirtir.
  • ORGANIZATION IS LINE SEQUENTIAL (isteğe bağlı): Dosyanın, her satırın bir kaydı temsil ettiği (yeni satır karakterleriyle ayrılmış) bir düz metin dosyası olduğunu belirtir.

2. Beyan: DOSYA BÖLÜMÜ ve FD

ENVIRONMENT DIVISION içindeki dosyayı ilişkilendirdikten sonra DATA DIVISION içindeki kayıtlarının yapısını tanımlamamız gerekir. Bunu yapmak için FILE SECTION (WORKING-STORAGE SECTION'den önce gelir) adlı özel bir bölüm kullanırız.

Seçilen her dosya, kayıt yapısını bildiren bir FD (Dosya Açıklaması) girişine sahip olmalıdır:

COBOL
       DATA DIVISION.
       FILE SECTION.
       FD SALES-FILE.
       01 SALES-RECORD.
           05 EMP-ID       PIC 9(5).
           05 EMP-NAME     PIC X(20).
           05 EMP-SALARY   PIC 9(6)V99.
  • FD SALES-FILE.: SALES-FILE mantıksal adı için dosya açıklamasını tanımlar. Bir nokta ile bittiğini unutmayın.
  • 01 SALES-RECORD.: Dosyayla ilişkili grup yapısını (kaydı) belirtir. Her okuma/yazma işlemi bu bellek yapısını kullanarak veri alışverişinde bulunacaktır.

Deneyin

Egzersiz#cobol.m5.l1.e1
Denemeler: 0Yükleniyor…

GİRİŞ-ÇIKTI BÖLÜMÜNÜ ve DOSYA-KONTROL paragrafını bildirmek için ORTAM BÖLÜMÜNÜ tamamlayın ve SATIŞ-DOSYA mantıksal dosyasını SELECT ASSIGN ifadesini kullanarak 'sales.dat' fiziksel dosyasıyla ilişkilendirin.

Düzenleyici yükleniyor…
İpucu göster

ÇEVRE BÖLÜMÜNÜ yazın. ve GİRİŞ-ÇIKIŞ BÖLÜMÜ. 8. sütunda (7 boşluk), ardından FILE-CONTROL. 8. sütunda ve son olarak 'sales.dat' İÇİN SATIŞ DOSYASI ATAMASINI SEÇİN. 12. sütunda (11 boşluk).

3 denemeden sonra çözüm mevcut

Egzersiz#cobol.m5.l1.e2
Denemeler: 0Yükleniyor…

Program için VERİ BÖLÜMÜ ve DOSYA BÖLÜMÜNÜ belirtin. SATIŞ-DOSYA için Dosya Tanımlayıcıyı (FD) tanımlayın ve bunu iki alt alan içeren SATIŞ-KAYIT adlı düzey 01 kaydıyla ilişkilendirin: SATIŞ-ID (4 basamaklı sayısal) ve SATIŞ-AMOUNT (2 örtülü ondalık sayıyla 5 basamaklı sayısal).

Düzenleyici yükleniyor…
İpucu göster

VERİ BÖLÜMÜNÜ kullanın. ve DOSYA BÖLÜMÜ. 8. sütunda, FD SATIŞ DOSYASI. 8. sütunda, ardından 01 SATIŞ KAYDI. 8. sütunda ve 05 SATIŞ-ID PIC 9(4) alanları. ve 05 SATIŞ MİKTARI PIC 9(5)V99. yeni satırlardaki 12. sütunda.

3 denemeden sonra çözüm mevcut