CICS - BMS
BMS, Temel Haritalama Desteği olarak bilinir. Bir uygulama, terminal ve CICS programları arasında bir köprü görevi gören biçimlendirilmiş ekranlardan oluşur. Terminal ile CICS programları arasında meydana gelen iletişim için, CICS terminal giriş / çıkış hizmetlerini kullanıyoruz. Uygun konum ve niteliklere sahip ekran tasarımları oluşturmak için BMS kullanıyoruz. BMS'nin işlevleri aşağıdadır -
BMS, terminal ve CICS programları arasında bir arayüz görevi görür.
Ekranın tasarımı ve formatı uygulama mantığından ayrıdır.
BMS, uygulama donanımını bağımsız hale getirir.
Biçimlendirilmiş Ekran
Aşağıda gösterilen ekran bir Menü Ekranıdır ve BMS kullanılarak tasarlanabilir. Kilit noktaları aşağıdaki gibidir -
Ekranda bir Başlık, tarih ve görüntülenecek diğer bilgiler olabilir.
Seçenek 1, 2 ve 3, ekranın başlıkları olan Adsız alanlardır.
Seçim alanında girdiyi sağlamamız gerekiyor. Bu girdi daha sonra daha fazla işlenmek üzere CICS programına gönderilir.
Ekranın altında İşlem tuşları görüntülenir.
Tüm alanlar ve ekranın kendisi BMS makroları ile tanımlanır. Tüm harita tanımlandığında, onu monte etmek için JCL kullanabiliriz.
BMS Temel Şartları
Gelecek modüllerde kullanacağımız temel terimler aşağıdadır -
Harita
Harita, BMS makroları kullanılarak tasarlanabilen tek bir ekran formatıdır. 1 ila 7 karakter içeren isimler olabilir.
Mapset
Mapset, bir yükleme modülü oluşturmak için birbirine bağlanan bir harita koleksiyonudur. PPT girişi olmalıdır. 1 ila 7 karakter arasında isimler olabilir.
BMS Makroları
BMS haritası, ekranları yönetmek için Assembly dilinde yazılmış bir programdır. Ekranı tanımlamak için kullanılan üç makro DFHMSD, DFHMDI ve DFHMDF'dir.
DFHMSD
DFHMSD makrosu, Mapset tanımını oluşturur. Bir harita seti başlattığımızı gösteren makro tanımlayıcıdır. Mapset adı, yükleme modülünün adıdır ve PPT tablosunda bir giriş bulunmalıdır. Aşağıdaki tablo DFHMSD'de kullanılabilecek parametrelerin listesini göstermektedir -
Sr.No | Parametre ve Açıklama |
---|---|
1 | TYPE TYPE, harita türünü tanımlamak için kullanılır. TÜR = |
2 | MODE MOD, giriş / çıkış işlemlerini belirtmek için kullanılır. IF MODE = |
3 | LANG LANG = ASM / COBOL / PL1 |
4 | STORAGE DEPOLAMA = |
5 | CTRL CRTL, cihaz kontrol taleplerini tanımlamak için kullanılır. CTRL = |
6 | TERM TERM = tip, 3270 terminali dışında bir terminal kullanılıyorsa gerekli olan cihaz bağımsızlığını sağlar. |
7 | TIOAPFX TIOAPFX = EVET / HAYIR |
Misal
Aşağıdaki örnek, bir eşleme kümesi tanımının nasıl kodlanacağını gösterir -
MPST01 DFHMSD TYPE = &SYSPARM, X
CTRL = (FREEKB,FRSET), X
LANG = COBOL, X
STORAGE = AUTO, X
TIOAPFX = YES, X
MODE = INOUT, X
TERM = 3270
DFHMSD TYPE = FINAL
END
DFHMDI
DFHMDI makrosu, harita tanımlarını oluşturur. Yeni bir haritaya başladığımızı gösteriyor. Mapname'den sonra DFHMDI makrosu gelir. Mapname, haritaları göndermek veya almak için kullanılır. Aşağıdaki tablo bir DFHMDI makrosu içinde kullandığımız parametreleri göstermektedir -
Sr.No | Parametre ve Açıklama |
---|---|
1 | SIZE SIZE = (Çizgi, Sütun) |
2 | LINE Haritanın başlangıç satırı numarasını gösterir. |
3 | COLUMN Haritanın başlangıç sütun numarasını gösterir. |
4 | JUSTIFY Tüm haritayı veya sola veya sağa yaslanacak harita alanlarını belirtmek için kullanılır. |
5 | CTRL CRTL, cihaz kontrol taleplerini tanımlamak için kullanılır. CTRL = |
6 | TIOAPFX TIOAPFX = EVET / HAYIR EVET - TIOA'ya düzgün şekilde erişmek için BMS komutlarına önek alanını (12 bayt) ayırmak için. CICS komut seviyesi için gereklidir. |
Misal
Aşağıdaki örnek, bir harita tanımının nasıl kodlanacağını gösterir -
MAPSTD DFHMDI SIZE = (20,80), X
LINE = 01, X
COLUMN = 01, X
CTRL = (FREEKB,FRSET)
DFHMDF
DFHMDF makrosu, alan adlarını tanımlamak için kullanılır. DFHMDF makrosunun kodlandığı alan adı belirtilir. Bu alan adı program içinde kullanılır. Program içerisinde kullanmak istemediğimiz sabit alana alan adı yazmıyoruz. Aşağıdaki tablo, bir DFHMDF makrosu içinde kullanılabilen parametrelerin listesini göstermektedir -
Sr.No | Parametre ve Açıklama |
---|---|
1 | POS Bu, alanın görünmesi gereken ekrandaki konumdur. Bir alan öznitelik baytıyla başlar, bu nedenle POS = (1,1) kodlarsanız, o alanın öznitelik baytı 1. sütunun 1. satırındadır ve gerçek veriler 2. sütunda başlar. |
2 | LENGTH Bu, öznitelik baytını saymayan alanın uzunluğudur. |
3 | INITIAL Bu, bir çıktı alanı için karakter verisidir. Bunu, ekran için etiketleri ve başlıkları belirlemek ve programdan bağımsız tutmak için kullanırız. Örneğin menü ekranındaki ilk alan için kodlayacağız: BAŞLANGIÇ = 'MENÜ'. |
4 | JUSTIFY Tüm haritayı veya sola veya sağa yaslanacak harita alanlarını belirtmek için kullanılır. |
5 | ATTRB ATTRB = (ASKIP / PROT / UNPROT, NUM, BRT / NORM / DRK, IC, FSET) Alanın niteliklerini açıklar. ASKIP - Otomatik atlama. Bu alana veri girilemez. İmleç bir sonraki alana atlar. PROT - Korumalı alan. Bu alana veri girilemez. Veri girilirse, giriş engelleme durumuna neden olur. UNPROT - Korumasız alan. Veri girilebilir ve bu tüm giriş alanları için kullanılır. NUM - Sayısal alan. Yalnızca sayılara (0 - 9) ve özel karakterlere ("." Ve "-") izin verilir. BRT - Bir alanın parlak görüntüsü (vurgu). NORM - Normal görüntü. DRK - Karanlık ekran. IC - İmleci ekle. İmleç bu alana konumlandırılacaktır. IC'nin birden fazla belirtilmesi durumunda imleç son alana yerleştirilir. FSET - Saha seti. MDT, alan verilerinin, alanın gerçekten kullanıcı tarafından değiştirilip değiştirilmediğine bakılmaksızın terminalden ana bilgisayara gönderileceği şekilde ayarlanır. |
6 | PICIN PICIN, PICIN = 9 (8) gibi girdi olarak kullanılan veri alanı için geçerlidir. |
7 | PICOUT PICIN, PICOUT = Z (8) gibi çıktı olarak kullanılan veri alanı için geçerlidir. |
Misal
Aşağıdaki örnek, bir alan tanımının nasıl kodlanacağını gösterir -
DFHMDF POS = (01,01), X
LENGTH = 7, X
INITIAL = ‘SCREEN1’, X
ATTRB = (PROT,NORM)
STDID DFHMDF POS = (01,70), X
LENGTH = 08, X
ATTRB = (PROT,NORM)