For many applications, BMS has several advantages:
BMS removes device dependencies from the application program. It interprets device-independent output commands and generates device-dependent data streams for specific terminals. It also transforms incoming device-dependent data into device-independent format.
BMS separates the design and preparation of formats from application logic, reducing the impact of one on the other. Both of these features make it easier to write new programs and to maintain existing code.
fldname DFHMDF POS=(line,column),LENGTH=number,
INITIAL='text',OCCURS=number,
ATTRB=(attr1,attr2,...)
After all the fields in the maps are defined, they are grouped into a single map using the DFHMDI macro. Maps can then be grouped into map sets using the DFHMSD macro.
The second assembly produces a COBOL structure that is known as the symbolic description map (application data structure). This structure defines all of the fields (the ones that you might read or write in your program), so that you can refer to them by name.
The screen definition contains the formatting information, including the number of fields on the screen and the row and column positions of all fields on the screen.
When interacting with a CICS application, the screen description that you capture and save to the workbench is similar in detail to the application screen's Basic Mapping Support (BMS) on the host. The majority of CICS transactions rely upon a component within CICS referred to as BMS to interact with a 3270 terminal. When a transaction calls BMS, it specifies the name of a 3270 screen "map" and a set of fields and values to be used with it. The map determines where on the screen the fields are to be placed and BMS generates the resulting 3270 data stream.
In their final form, the screen descriptions are used along with the screen operations file to provide a service definition for accessing the 3270 application.