IMS DB - Blok Kontrol
Blok Kontrol IMS menentukan struktur database IMS dan akses program ke sana. Diagram berikut menunjukkan struktur blok kontrol IMS.
DL / I menggunakan tiga jenis Blok Kontrol berikut -
- Deskriptor Basis Data (DBD)
- Blok Spesifikasi Program (PSB)
- Blok Kontrol Akses (ACB)
Deskriptor Basis Data (DBD)
Poin yang perlu diperhatikan -
DBD menjelaskan struktur fisik lengkap dari database setelah semua segmen telah ditentukan.
Saat menginstal database DL / I, satu DBD harus dibuat karena diperlukan untuk mengakses database IMS.
Aplikasi dapat menggunakan tampilan DBD yang berbeda. Mereka disebut Struktur Data Aplikasi dan ditentukan dalam Blok Spesifikasi Program.
Administrator Database membuat DBD dengan pengkodean DBDGEN pernyataan kontrol.
DBDGEN
DBDGEN adalah Generator Deskriptor Database. Membuat blok kontrol adalah tanggung jawab Administrator Database. Semua modul beban disimpan di pustaka IMS. Pernyataan makro Bahasa Perakitan digunakan untuk membuat blok kontrol. Diberikan di bawah ini adalah contoh kode yang menunjukkan cara membuat DBD menggunakan pernyataan kontrol DBDGEN -
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
Mari kita pahami istilah yang digunakan dalam DBDGEN di atas -
Saat Anda menjalankan pernyataan kontrol di atas di JCL, itu menciptakan struktur fisik di mana PERPUSTAKAAN adalah segmen akar, dan BUKU dan MAGZIN adalah segmen anaknya.
Pernyataan makro DBD pertama mengidentifikasi database. Di sini, kami perlu menyebutkan NAMA dan AKSES yang digunakan oleh DL / I untuk mengakses database ini.
Pernyataan makro DATASET kedua mengidentifikasi file yang berisi database.
Jenis segmen ditentukan menggunakan pernyataan makro SEGM. Kita perlu menentukan ORANG TUA dari segmen itu. Jika itu adalah segmen Root, sebutkan ORANGTUA = 0.
Tabel berikut menunjukkan parameter yang digunakan dalam pernyataan makro FIELD -
S.No | Parameter & Deskripsi |
---|---|
1 | Name Nama bidang, biasanya sepanjang 1 hingga 8 karakter |
2 | Bytes Panjang lapangan |
3 | Start Posisi lapangan dalam segmen |
4 | Type Jenis data lapangan |
5 | Type C Tipe data karakter |
6 | Type P Tipe data desimal yang dikemas |
7 | Type Z Tipe data desimal yang dikategorikan |
8 | Type X Tipe data heksadesimal |
9 | Type H Tipe data biner setengah kata |
10 | Type F Tipe data biner kata penuh |
Blok Spesifikasi Program (PSB)
Dasar-dasar PSB adalah sebagai berikut -
Database memiliki struktur fisik tunggal yang ditentukan oleh DBD tetapi program aplikasi yang memprosesnya dapat memiliki tampilan database yang berbeda. Tampilan ini disebut struktur data aplikasi dan ditentukan dalam PSB.
Tidak ada program yang dapat menggunakan lebih dari satu PSB dalam satu eksekusi.
Program aplikasi memiliki PSB sendiri dan program aplikasi yang memiliki persyaratan pemrosesan database serupa untuk berbagi PSB adalah hal yang umum.
PSB terdiri dari satu atau lebih blok kontrol yang disebut Program Communication Block (PCBs). PSB berisi satu PCB untuk setiap database DL / I yang akan diakses program aplikasi. Kami akan membahas lebih lanjut tentang PCB di modul mendatang.
PSBGEN harus dilakukan untuk membuat PSB untuk program tersebut.
PSBGEN
PSBGEN dikenal sebagai Generator Blok Spesifikasi Program. Contoh berikut membuat PSB menggunakan PSBGEN -
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
Mari kita pahami istilah yang digunakan dalam DBDGEN di atas -
Pernyataan makro pertama adalah Program Communication Block (PCB) yang menjelaskan Jenis database, Nama, Panjang Kunci, dan Opsi Pemrosesan.
Parameter DBDNAME pada makro PCB menentukan nama DBD. KEYLEN menentukan panjang kunci gabungan terpanjang. Program dapat memproses di database. Parameter PROCOPT menentukan opsi pemrosesan program. Misalnya, LS berarti Operasi LOAD saja.
SENSEG dikenal sebagai Sensitivitas Tingkat Segmen. Ini mendefinisikan akses program ke bagian database dan diidentifikasi pada tingkat segmen. Program ini memiliki akses ke semua bidang dalam segmen yang sensitif. Suatu program juga dapat memiliki sensitivitas tingkat lapangan. Dalam hal ini, kami mendefinisikan nama segmen dan nama induk dari segmen tersebut.
Pernyataan makro terakhir adalah PCBGEN. PSBGEN adalah pernyataan terakhir yang mengatakan bahwa tidak ada lagi pernyataan untuk diproses. PSBNAME mendefinisikan nama yang diberikan ke modul PSB keluaran. Parameter LANG menentukan bahasa di mana program aplikasi ditulis, misalnya, COBOL.
Blok Kontrol Akses (ACB)
Di bawah ini adalah hal-hal yang perlu diperhatikan tentang blok kontrol akses -
Blok Kontrol Akses untuk program aplikasi menggabungkan Deskriptor Database dan Blok Spesifikasi Program ke dalam bentuk yang dapat dieksekusi.
ACBGEN dikenal sebagai Access Control Blocks Generator. Ini digunakan untuk menghasilkan ACB.
Untuk program online, kami perlu membuat ACB sebelumnya. Karenanya utilitas ACBGEN dijalankan sebelum menjalankan program aplikasi.
Untuk program batch, ACB juga dapat dibuat pada waktu eksekusi.