Basic Mapping Support
Basic Mapping Support (BMS) is a CICS facility that simplifies the development of screen-oriented applications by separating the application logic from the presentation logic. It provides a device-independent way to define screen layouts, input fields, and output data, allowing CICS programs to interact with various terminal types without modification. BMS handles the complexities of terminal I/O, formatting, and data conversion for 3270-type terminals.
Key Characteristics
-
- Device Independence: BMS maps abstract screen definitions to specific terminal types (e.g., 3270, VTAM) at runtime, eliminating the need for application programs to manage device-specific control characters.
- Map Sets: Screen definitions are grouped into
map sets, which are stored as load modules in the CICS region and loaded into memory when needed. Amap setcan contain one or more individualmaps. - Symbolic Maps: BMS generates language-specific data structures (e.g., COBOL copybooks) called
symbolic mapsthat correspond to the fields defined in the physical map. These allow application programs to easily access and manipulate screen data. - Physical Maps: These are the device-dependent screen layouts generated by the BMS assembler and loaded into CICS. They contain the actual screen formatting instructions and attribute bytes.
- Macro-based Definition: BMS maps are defined using a set of assembler macros (
DFHMSD,DFHMSI,DFHMDI,DFHMDF) that specify screen attributes, field positions, and data types. - Input/Output Operations: BMS provides CICS commands like
SEND MAPfor displaying data on the screen andRECEIVE MAPfor reading data entered by the user, simplifying terminal interaction.
Use Cases
-
- Online Transaction Processing (OLTP): Developing interactive CICS transactions where users input data and receive immediate responses, such as customer inquiry, order entry, or inventory management systems.
- Data Entry Screens: Creating standardized and user-friendly screens for entering large volumes of data into mainframe databases (e.g., DB2, IMS DB) or files (e.g., VSAM).
- Menu-driven Applications: Implementing navigation menus and selection screens to guide users through complex CICS applications.
- Error Handling and Messaging: Displaying specific error messages or informational prompts to users in a consistent manner across different application screens.
Related Concepts
BMS is tightly integrated with CICS (Customer Information Control System), serving as its primary screen management facility for 3270-based applications. It works in conjunction with COBOL (or PL/I, Assembler) programs, which use the generated symbolic maps to interact with the screen. BMS abstracts the complexities of VTAM (Virtual Telecommunications Access Method) and 3270 terminal protocols, allowing application developers to focus on business logic rather than low-level terminal I/O. It is fundamental for creating the user interface of many traditional mainframe online applications.
- Modular Map Design: Design
map setsto be modular and reusable across different transactions or within different parts of a single transaction to reduce redundancy and improve maintainability. - Consistent Naming Conventions: Establish clear and consistent naming conventions for fields within BMS maps and their corresponding
symbolic mapvariables to enhance readability and reduce errors. - Robust Error Handling: Implement robust error handling by defining specific fields in maps for displaying error messages and ensuring application programs populate them appropriately.
- Performance Optimization: Minimize the number of
SEND MAPandRECEIVE MAPoperations within a transaction, especially for large maps, to reduce terminal I/O overhead and improve response times. - Clear Field Attributes: Use appropriate field attributes (e.g.,
PROT,ASKIP,NUM,IC) to guide user input, prevent invalid data entry, and improve the user experience.