COBOL - Dosya Erişim Modu
Şimdiye kadar, dosya organizasyon şemaları tartışıldı. Her dosya düzenleme şeması için farklı erişim modları kullanılabilir. Dosya erişim modu türleri aşağıdadır -
- Sıralı Erişim
- Rasgele erişim
- Dinamik Erişim
Bu modüldeki ilgili terimlerle birlikte bahsedilen sözdizimleri, yalnızca programdaki kullanımlarına atıfta bulunmaktadır. Bu sözdizimlerini kullanan tüm programlar bir sonraki bölümde tartışılacaktır.
Sıralı Erişim
Erişim modu sıralı olduğunda, kayıt alma yöntemi seçilen dosya organizasyonuna göre değişir.
İçin sequential files, kayıtlara eklendikleri sırayla erişilir.
İçin indexed fileskayıtları getirmek için kullanılan parametre kayıt anahtarı değerleridir.
İçin relative fileskayıtları almak için göreceli kayıt anahtarları kullanılır.
Sözdizimi
Sıralı erişim modunun sözdizimi aşağıdadır -
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS rec-key1
ALTERNATE RECORD KEY IS rec-key2
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS RELATIVE
ACCESS MODE IS SEQUENTIAL
RELATIVE KEY IS rec-key1
Rasgele erişim
Erişim modu RASGELE olduğunda, kayıt alma yöntemi seçilen dosya organizasyonuna göre değişir.
İçin indexed files, kayıtlara birincil veya alternatif anahtar olabilen bir anahtar alanına yerleştirilen değere göre erişilir. Bir veya daha fazla alternatif dizin olabilir.
İçin relative files kayıtlar göreceli kayıt anahtarları aracılığıyla alınır.
Sözdizimi
Aşağıda rastgele erişim modunun sözdizimi verilmiştir -
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS rec-key1
ALTERNATE RECORD KEY IS rec-key2
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS RELATIVE
ACCESS MODE IS RANDOM
RELATIVE KEY IS rec-key1
Dinamik Erişim
Dinamik erişim, aynı programda hem sıralı hem de rasgele erişimi destekler. Dinamik erişimle, bazı kayıtlara sıralı sırayla ve diğer kayıtlara anahtarlarıyla erişmek gibi hem sıralı hem de rastgele işlemleri gerçekleştirmek için bir dosya tanımı kullanılır.
Göreli ve dizinlenmiş dosyalarla dinamik erişim modu, READ deyimindeki NEXT ifadesini kullanarak bir dosyayı okurken sıralı erişim modu ve rasgele erişim modu arasında geçiş yapmanıza izin verir. SONRAKİ ve OKU işlevleri bir sonraki bölümde tartışılacaktır.
Sözdizimi
Dinamik erişim modunun sözdizimi aşağıdadır -
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS DYNAMIC
RECORD KEY IS rec-key1
ALTERNATE RECORD KEY IS rec-key2
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name
ORGANIZATION IS RELATIVE
ACCESS MODE IS DYNAMIC
RELATIVE KEY IS rec-key1