BMS is an interface between the application program and the terminal.
BMS maps device independent data into device dependent data to provide a formatted screen.
BMS identifies the location and characteristics of data fields as well as the characteristics of the terminal with which the map will be used.
To remove device dependent codes and constant information from an application and to place them in maps thereby simplifying programming job.
Keeps Code largely independent of
Other functions include
Before get into program design, let us see how maps (screens) are designed in CICS. Most of the installations use tools like SDF for screen designing. The tools generate BMS macros for the designed screen. We brief the BMS macros involved in the map design. BMS is acronym for Basic Mapping Support.
A screen designed thru BMS is called MAP. One or a group of maps makes up a MAPSET.
BMS receives the data entered by the user and then formats it into a symbolic map area. The application program has access only to the data present in the symbolic map. The application program processes the data and the output is sent to the symbolic map. BMS will merge the output of the symbolic data with the physical map.
Physical maps control the screen alignment, sending and receiving of CONSTANTS and data to and from a terminal. They are coded using BMS macros, assembled and link edited into CICS LOAD LIBRARY. They ensure the device independence in application programs.
Symbolic maps define the map fields used to store the VARIABLE data referenced in COBOL program. They are also coded used BMS Macros. But after assembling, they are placed in a COPY library and then copied into CICS programs using COPY statement. They ensure device and format independence to the application programs.
The below screen is a CICS screen and can be designed using BMS. Its key points are as follows.
The screen could have a Date, Title, Time, and any other information that is to be displayed.
There are three input value required which are listed on this screen.
For each field right side, we have to enter the input value. This input value is then sent to the CICS program for further processing.
At the bottom of the screen, Action keys are displayed. Example: PF3 to exit the screen, PF5 for refresh the screen.
All the fields and the screen itself is defined with BMS macros. When the whole map is defined, we can use JCL to assemble it.
If you have any doubts or queries related to this chapter, get them clarified from our Mainframe experts on ibmmainframer Community!