CICS - BMS
BMS è noto come supporto di mappatura di base. Un'applicazione è costituita da schermate formattate che fungono da ponte tra il terminale e i programmi CICS. Affinché la comunicazione avvenga tra il terminale ei programmi CICS, utilizziamo i servizi di input / output del terminale CICS. Usiamo BMS per creare progetti di schermate con posizioni e attributi appropriati. Di seguito sono riportate le funzioni di BMS:
BMS funge da interfaccia tra il terminale e i programmi CICS.
Il design e il formato dello schermo sono separati dalla logica dell'applicazione.
BMS rende l'hardware dell'applicazione indipendente.
Schermo formattato
La schermata mostrata di seguito è una schermata di menu e può essere progettata utilizzando BMS. I suoi punti chiave sono i seguenti:
Lo schermo potrebbe avere un titolo, una data e qualsiasi altra informazione da visualizzare.
Le opzioni 1, 2 e 3 sono i campi senza nome che sono i titoli dello schermo.
Nel campo Selezione, dobbiamo fornire l'input. Questo input viene quindi inviato al programma CICS per un'ulteriore elaborazione.
Nella parte inferiore dello schermo, vengono visualizzati i tasti azione.
Tutti i campi e lo schermo stesso sono definiti con macro BMS. Quando l'intera mappa è definita, possiamo usare JCL per assemblarla.
Termini di base BMS
Di seguito sono riportati i termini di base che utilizzeremo nei prossimi moduli:
Carta geografica
La mappa è un formato a schermata singola che può essere progettato utilizzando le macro BMS. Può avere nomi contenenti da 1 a 7 caratteri.
Mapset
Mapset è una raccolta di mappe collegate tra loro per formare un modulo di caricamento. Dovrebbe avere una voce PPT. Può avere nomi da 1 a 7 caratteri.
Macro BMS
BMS map è un programma scritto in linguaggio Assembly per gestire le schermate. Le tre macro utilizzate per definire lo schermo sono DFHMSD, DFHMDI e DFHMDF.
DFHMSD
La macro DFHMSD genera la definizione del Mapset. È un identificatore di macro che mostra che stiamo iniziando un mapset. Il nome del mapset è il nome del modulo di caricamento e deve essere presente una voce nella tabella PPT. La tabella seguente mostra l'elenco dei parametri che possono essere utilizzati in DFHMSD -
Suor n | Parametro e descrizione |
---|---|
1 | TYPE TYPE viene utilizzato per definire il tipo di mappa. Se TYPE = |
2 | MODE MODE viene utilizzato per indicare le operazioni di input / output. IF MODE = |
3 | LANG LANG = ASM / COBOL / PL1 |
4 | STORAGE Se STORAGE = |
5 | CTRL CRTL viene utilizzato per definire le richieste di controllo del dispositivo. Se CTRL = |
6 | TERM TERM = il tipo garantisce l'indipendenza dal dispositivo, richiesto se si utilizza un terminale diverso dal 3270. |
7 | TIOAPFX TIOAPFX = YES / NO |
Esempio
L'esempio seguente mostra come codificare una definizione di mapset:
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
La macro DFHMDI genera definizioni di mappe. Mostra che stiamo iniziando una nuova mappa. Mapname è seguito dalla macro DFHMDI. Mapname viene utilizzato per inviare o ricevere mappe. La tabella seguente mostra i parametri che utilizziamo all'interno di una macro DFHMDI -
Suor n | Parametro e descrizione |
---|---|
1 | SIZE SIZE = (Line, Column) |
2 | LINE Indica il numero della linea di partenza della mappa. |
3 | COLUMN Indica il numero della colonna iniziale della mappa. |
4 | JUSTIFY Viene utilizzato per specificare l'intera mappa o i campi della mappa da giustificare a sinistra oa destra. |
5 | CTRL CRTL viene utilizzato per definire le richieste di controllo del dispositivo. Se CTRL = |
6 | TIOAPFX TIOAPFX = SÌ / NO SÌ - Per riservare lo spazio del prefisso (12 byte) ai comandi BMS per accedere correttamente a TIOA. Richiesto per il livello di comando CICS. |
Esempio
L'esempio seguente mostra come codificare una definizione di mappa:
MAPSTD DFHMDI SIZE = (20,80), X
LINE = 01, X
COLUMN = 01, X
CTRL = (FREEKB,FRSET)
DFHMDF
La macro DFHMDF viene utilizzata per definire i nomi dei campi. Viene menzionato il nome del campo rispetto al quale è codificata la macro DFHMDF. Questo nome di campo viene utilizzato all'interno del programma. Non scriviamo il nome del campo contro il campo costante che non vogliamo utilizzare all'interno del programma. La tabella seguente mostra l'elenco dei parametri che possono essere utilizzati all'interno di una macro DFHMDF -
Suor n | Parametro e descrizione |
---|---|
1 | POS Questa è la posizione sullo schermo in cui dovrebbe apparire il campo. Un campo inizia con il suo byte di attributo, quindi se si codifica POS = (1,1), il byte di attributo per quel campo si trova sulla riga 1 nella colonna 1 e i dati effettivi iniziano nella colonna 2. |
2 | LENGTH Questa è la lunghezza del campo, senza contare il byte dell'attributo. |
3 | INITIAL Questi sono i dati dei caratteri per un campo di output. Lo usiamo per specificare etichette e titoli per lo schermo e mantenerli indipendenti dal programma. Per il primo campo nella schermata del menu, ad esempio, codificheremo: INITIAL = 'MENU'. |
4 | JUSTIFY Viene utilizzato per specificare l'intera mappa o i campi della mappa da giustificare a sinistra oa destra. |
5 | ATTRB ATTRB = (ASKIP / PROT / UNPROT, NUM, BRT / NORM / DRK, IC, FSET) Descrive gli attributi del campo. ASKIP - Salto automatico. I dati non possono essere inseriti in questo campo. Il cursore salta al campo successivo. PROT - Campo protetto. I dati non possono essere inseriti in questo campo. Se i dati vengono inseriti, provocherà lo stato di inibizione dell'ingresso. UNPROT: campo non protetto. I dati possono essere inseriti e questo viene utilizzato per tutti i campi di input. NUM - Campo numerico. Sono consentiti solo numeri (da 0 a 9) e caratteri speciali ("." E "-"). BRT - Visualizzazione luminosa di un campo (evidenziazione). NORM - Visualizzazione normale. DRK - Display scuro. IC - Inserisci cursore. Il cursore verrà posizionato in questo campo. Nel caso in cui IC venga specificato più di una volta, il cursore viene posizionato nell'ultimo campo. FSET - Campo impostato. MDT è impostato in modo che i dati del campo debbano essere inviati dal terminale al computer host indipendentemente dal fatto che il campo sia effettivamente modificato dall'utente. |
6 | PICIN PICIN si applica al campo dati utilizzato come input come PICIN = 9 (8). |
7 | PICOUT PICIN si applica al campo dati che viene utilizzato come output come PICOUT = Z (8). |
Esempio
L'esempio seguente mostra come codificare una definizione di campo:
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)