Yeniden Tanımlama, COBOL dilinde bellek kullanımını akıllıca kolaylaştıran güçlü bir özelliktir. Bir programcının farklı verileri farklı zamanlarda depolamak için aynı bellek alanını kullanmasını sağlar. Yeniden tanımlamaları kullanma süreci kod verimliliğini artırır. İşlevselliği daha fazla araştırmak için, çözümü ayrıntılı olarak inceleyelim ve ardından kodun adım adım açıklamasını yapalım.
COBOL'da Yeniden Tanımlamaları Kullanmak
01 MÜŞTERİ KAYDI.
05 MÜŞTERİ ADI RESİM X(15).
05 PERAKENDE-KAYIT.
10 MİKTAR RESİM 9(6).
10 TARİH RESİM 9(6).
05 TOPTAN-KAYIT PERAKENDE KAYITINI YENİDEN TANIMLIYOR.
10 Adet RESİM 9(4).
10 ÜRÜN RESİM X(8).
COBOL'daki yeniden tanımlar cümlesi, bir veri öğesinin birden fazla açıklamayla tanımlanmasına olanak tanır. Yukarıdaki 'PERAKENDE-KAYIT' ve 'TOPTAN-KAYIT' gibi bu veri öğelerine ayrılan bellek, çalışma deposunda aynı bellek alanını kaplar.
Not: Yeniden Tanımlamalar yan tümcesi yalnızca eşit veya daha küçük boyutlu veri öğeleriyle kullanılabilir.
Adım Adım Kod Açıklaması
Yukarıda verilen örnekte toptan ve perakende kayıtları müşteri kayıtları altında tutulmaktadır. Aynı hafıza alanını kaplarlar ancak farklı amaçlara hizmet ederler. Bu iki kayıttan herhangi birinin belirli bir zamanda mevcut olmasına veya kullanılmasına etkili bir şekilde izin verir.
Perakende kaydı tutar ve tarihi tutarken, toptan satış kaydı miktar ve öğeyi içerir. Ancak bunları aynı anda birlikte kullanmıyoruz.
- 'REDEFINES' cümlesi, 'TOPTAN-KAYIT'ın 'PERAKENDE-KAYIT'ın alternatif bir açıklaması olduğunu belirtmek için kullanılır. Ayrı bir bellek ayırmaz ancak `PERAKENDE KAYIT` tarafından ayrılan alanı kullanır.
- "PERAKENDE-KAYIT", "TUTAR" ve "TARİH"i tutarken, "TOPTAN-KAYIT", "QTY" ve "ITEM" verilerini barındırır.
- 'MÜŞTERİ-ADI' ayrı çalıştığı için yeniden tanımlamadan bağımsızdır.
Yeniden Tanımlamaların Kullanımı
Yeniden tanımlamalar, farklı veri düzenlerinin farklı zamanlarda yüklendiği ve bazı koşullara bağlı olarak programın hangi düzeni işleyeceğini seçeceği senaryolarda yaygın olarak kullanılır. Bunun, ana bilgisayar uygulamalarında birincil endişe olan bellek alanının azaltılması ve işlem hızının arttırılması üzerinde önemli bir etkisi vardır.
Programın belirli bir andaki ihtiyaçlarına bağlı olarak belleğin aynı bölümünü farklı şekillerde görüntülemenin bir yolu olarak hizmet eder.
Genel olarak, COBOL programlarında 'REDEFINES' yan tümcesinin kullanılması, bellekteki veri öğelerinin gereksiz şekilde kopyalanmasını önleyerek belleği yönetmenin etkili bir yoludur. 'REDEFINES'ı kullanmak aynı zamanda COBOL programlarınızı daha sürdürülebilir, okunması ve anlaşılması daha kolay hale getirmenize de neden olabilir.