IMS DB - Kontrol Blokları

IMS Kontrol Blokları, IMS veritabanının yapısını ve bir programın bunlara erişimini tanımlar. Aşağıdaki diyagram, IMS kontrol bloklarının yapısını göstermektedir.

DL / I, aşağıdaki üç tip Kontrol Bloğunu kullanır -

  • Veritabanı Tanımlayıcısı (DBD)
  • Program Spesifikasyon Bloğu (PSB)
  • Erişim Kontrol Bloğu (ACB)

Veritabanı Tanımlayıcısı (DBD)

Dikkat edilecek noktalar -

  • DBD, tüm segmentler tanımlandıktan sonra veritabanının tüm fiziksel yapısını tanımlar.

  • Bir DL / I veritabanı kurarken, IMS veritabanına erişmek için gerektiği için bir DBD oluşturulmalıdır.

  • Uygulamalar, DBD'nin farklı görünümlerini kullanabilir. Bunlar Uygulama Veri Yapıları olarak adlandırılır ve Program Spesifikasyon Bloğunda belirtilir.

  • Veritabanı Yöneticisi kodlayarak bir DBD oluşturur DBDGEN kontrol ifadeleri.

DBDGEN

DBDGEN bir Veritabanı Tanımlayıcı Oluşturucu'dur. Kontrol blokları oluşturmak Veritabanı Yöneticisinin sorumluluğundadır. Tüm yük modülleri IMS kitaplığında saklanır. Assembly Language makro deyimleri, kontrol blokları oluşturmak için kullanılır. Aşağıda, DBDGEN kontrol deyimlerini kullanarak bir DBD'nin nasıl oluşturulacağını gösteren örnek bir kod verilmiştir -

PRINT	NOGEN
DBD	NAME=LIBRARY,ACCESS=HIDAM
DATASET	DD1=LIB,DEVICE=3380
SEGM	NAME=LIBSEG,PARENT=0,BYTES=10
FIELD	NAME=(LIBRARY,SEQ,U),BYTES=10,START=1,TYPE=C
SEGM	NAME=BOOKSEG,PARENT=LIBSEG,BYTES=5
FIELD	NAME=(BOOKS,SEQ,U),BYTES=10,START=1,TYPE=C
SEGM	NAME=MAGSEG,PARENT=LIBSEG,BYTES=9
FIELD	NAME=(MAGZINES,SEQ),BYTES=8,START=1,TYPE=C
DBDGEN
FINISH
END

Yukarıdaki DBDGEN'de kullanılan terimleri anlayalım -

  • Yukarıdaki kontrol ifadelerini çalıştırdığınızda JCLKÜTÜPHANE'nin kök, KİTAPLAR ve MAGZİNLER'in alt segment olduğu fiziksel bir yapı oluşturur.

  • İlk DBD makro ifadesi veritabanını tanımlar. Burada, bu veritabanına erişmek için DL / I tarafından kullanılan İSİM ve ERİŞİM'den bahsetmemiz gerekiyor.

  • İkinci DATASET makro ifadesi, veritabanını içeren dosyayı tanımlar.

  • Segment türleri, SEGM makro ifadesi kullanılarak tanımlanır. Bu segmentin PARENT'ini belirtmemiz gerekiyor. Kök segment ise, PARENT = 0'dan bahsedin.

Aşağıdaki tablo FIELD makro deyiminde kullanılan parametreleri göstermektedir -

S.No Parametre ve Açıklama
1

Name

Alanın adı, genellikle 1-8 karakter uzunluğunda

2

Bytes

Alanın uzunluğu

3

Start

Alanın segment içindeki konumu

4

Type

Alanın veri türü

5

Type C

Karakter veri türü

6

Type P

Paketlenmiş ondalık veri türü

7

Type Z

Bölgelere ayrılmış ondalık veri türü

8

Type X

Onaltılık veri türü

9

Type H

Yarım kelime ikili veri türü

10

Type F

Tam sözcük ikili veri türü

Program Spesifikasyon Bloğu (PSB)

PSB'nin temelleri aşağıda verilmiştir -

  • Bir veritabanı, bir DBD tarafından tanımlanan tek bir fiziksel yapıya sahiptir, ancak onu işleyen uygulama programları, veritabanının farklı görünümlerine sahip olabilir. Bu görünümler uygulama veri yapısı olarak adlandırılır ve PSB'de tanımlanır.

  • Hiçbir program tek bir yürütmede birden fazla PSB kullanamaz.

  • Uygulama programlarının kendi PSB'leri vardır ve benzer veritabanı işleme gereksinimleri olan uygulama programlarının bir PSB'yi paylaşması yaygındır.

  • PSB, Program İletişim Blokları (PCB'ler) adı verilen bir veya daha fazla kontrol bloğundan oluşur. PSB, uygulama programının erişeceği her DL / I veritabanı için bir PCB içerir. Gelecek modüllerde PCB'ler hakkında daha fazla tartışacağız.

  • Program için bir PSB oluşturmak için PSBGEN gerçekleştirilmelidir.

PSBGEN

PSBGEN, Program Spesifikasyonu Blok Oluşturucu olarak bilinir. Aşağıdaki örnek, PSBGEN kullanarak bir PSB oluşturur -

PRINT   NOGEN
PCB     TYPE=DB,DBDNAME=LIBRARY,KEYLEN=10,PROCOPT=LS
SENSEG  NAME=LIBSEG
SENSEG  NAME=BOOKSEG,PARENT=LIBSEG
SENSEG  NAME=MAGSEG,PARENT=LIBSEG
PSBGEN  PSBNAME=LIBPSB,LANG=COBOL
END

Yukarıdaki DBDGEN'de kullanılan terimleri anlayalım -

  • İlk makro ifadesi, veritabanı Tipi, Adı, Anahtar Uzunluğu ve İşleme Seçeneğini tanımlayan Program İletişim Bloğudur (PCB).

  • PCB makrosundaki DBDNAME parametresi, DBD'nin adını belirtir. KEYLEN, en uzun birleştirilmiş anahtarın uzunluğunu belirtir. Program veri tabanında işleyebilir. PROCOPT parametresi, programın işleme seçeneklerini belirtir. Örneğin, LS yalnızca LOAD İşlemleri anlamına gelir.

  • SENSEG, Segment Seviyesi Hassasiyeti olarak bilinir. Programın veritabanının bölümlerine erişimini tanımlar ve segment düzeyinde tanımlanır. Program, hassas olduğu segmentler içindeki tüm alanlara erişime sahiptir. Bir program ayrıca alan düzeyinde hassasiyete sahip olabilir. Bunda, bir segment adı ve segmentin ana adını tanımlıyoruz.

  • Son makro ifadesi PCBGEN'dir. PSBGEN, işlenecek başka ifade olmadığını söyleyen son ifadedir. PSBNAME, çıkış PSB modülüne verilen adı tanımlar. LANG parametresi, uygulama programının yazıldığı dili belirtir, örn. COBOL.

Erişim Kontrol Bloğu (ACB)

Aşağıda, erişim kontrol blokları hakkında dikkat edilmesi gereken noktalar listelenmiştir -

  • Bir uygulama programı için Erişim Kontrol Blokları, Veritabanı Tanımlayıcı ve Program Spesifikasyon Bloğunu çalıştırılabilir bir formda birleştirir.

  • ACBGEN, Erişim Kontrol Blokları Oluşturucu olarak bilinir. ACB'ler oluşturmak için kullanılır.

  • Çevrimiçi programlar için, ACB'leri önceden oluşturmamız gerekir. Bu nedenle, ACBGEN yardımcı programı, uygulama programını çalıştırmadan önce yürütülür.

  • Toplu programlar için ACB'ler yürütme zamanında da üretilebilir.