Modül dersleri (1/2)
Grup Öğeleri ve Kayıtlar
COBOL'da temel değişkenler, grup öğesi veya kayıt adı verilen hiyerarşik bir yapı halinde gruplandırılabilir. Bu, ilgili veri kümesini tek bir varlık olarak (örneğin kopyalamak veya görüntülemek için) veya ayrı alanlar olarak işlemenize olanak tanır.
Seviye Sayıları ve Hiyerarşik İlişkiler
Bir kaydı tanımlamak için DATA DIVISION'da seviye sayılarını kullanırsınız:
- Seviye
01: Ana kaydı (grup adı) tanımlar. Boyutu dahili alanların toplamına göre belirlendiğinden kendiPICTUREyan tümcesine sahip değildir. - Alt seviyeler (
05,10,15, vb.): Üst düzey gruba ait alt alanları tanımlayın. Bunlar temel değişkenler (PICyan tümcesiyle) veya diğer grup öğeleri (alt kayıtlar) olabilir.
01 WS-EMPLOYEE-RECORD.
05 WS-EMP-ID PIC 9(5).
05 WS-EMP-NAME PIC X(20).
05 WS-EMP-SALARY PIC 9(6)V99.Bu örnekte WS-EMPLOYEE-RECORD üç alt alan içeren bir grup yapısıdır. WS-EMPLOYEE-RECORD'e referans verirsek, kaydın 5 + 20 + 8 = 33 karakterinin tamamını aynı anda okur veya yazarız.
MOVE İfadesi ve Grup Öğeleri
Bireysel temel alanlara değerler atayabiliriz:
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.Veya tek bir işlemle bir kaydın tamamını başka bir uyumlu kayda kopyalayabiliriz:
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.Kendin dene
Seviye 05'in üç alt alanını içeren WS-STUDENT-RECORD adında 01 grup yapısını bildirin: WS-STUDENT-ID (5 basamaklı sayısal), WS-STUDENT-NAME (15 karakterli alfasayısal) ve WS-STUDENT-GPA (1 tamsayı basamaklı ve 2 ondalık basamaklı sayısal).
İpucu göster
Şu sözdizimini kullanın: 01 WS-STUDENT-RECORD. (noktalı ve PIC'siz), sonraki satırlarda seviye 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NAME PIC X(15) gelir. ve 05 WS-STUDENT-GPA PIC 9(1)V99.
3 denemeden sonra çözüm mevcut
10023 değerini WS-EMP-ID'ye, 'JOHN DOE' metnini WS-EMP-NAME'e taşıyarak PROSEDÜR BÖLÜMÜNÜ tamamlayın ve son olarak DISPLAY'i kullanarak WS-EMPLOYEE-RECORD grup yapısını görüntüleyin.
İpucu göster
MOVE 10023 TO WS-EMP-ID'yi kullanın. ve 'JOHN DOE'YU WS-EMP-NAME'E TAŞIYIN. değerleri atamak için DISPLAY WS-EMPLOYEE-RECORD yazın. ve son olarak KOŞUYU DURDURUN.
3 denemeden sonra çözüm mevcut