TSO-ISPF JCL COBOL VSAM DB2 CICS Tools Articles Job Portal Forum Quiz Interview Q&A

CICS BMS


BMS - Basic Mapping Support

  • 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.

Functions of BMS:

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

  • Any changes in network of terminals
  • Any changes in the terminal types

Other functions include

  • Processing text
  • Page building
  • Multiple screens of data
  • Message Routing

MAP Design:

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.

MAP and MAPSET:

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:

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:

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.


Sample CICS Screen:

The below screen is a CICS screen and can be designed using BMS. Its key points are as follows.

  1. The screen could have a Date, Title, Time, and any other information that is to be displayed.

  2. There are three input value required which are listed on this screen.

  3. 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.

  4. At the bottom of the screen, Action keys are displayed. Example: PF3 to exit the screen, PF5 for refresh the screen.

  5. 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.

cics formatted screen

If you have any doubts or queries related to this chapter, get them clarified from our Mainframe experts on ibmmainframer Community!

Are you looking for Job Change? Job Portal