Let's understand Mainframe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

Module 5: CICS BMS and Screens


Symbolic Map

What is a symbolic map

  • The symbolic map is a COBOL copybook generated from the mapset (DFHMSD TYPE=DSECT or TYPE=&SYSPARM).
  • It is an 01-level group item that the program includes with a COPY statement in the Data Division.
  • It lets the program refer to screen fields by name (CUSTNO1I, LNAMEO) instead of screen positions.
  • Only DFHMDF fields that have a label appear in the symbolic map; unnamed constant fields do not.

Fields generated for each named map field

  • Suffix L: length field, PIC S9(4) COMP - holds how many characters the user typed (0 if none).
  • Suffix F: flag field, PIC X - hexadecimal 80 if the user changed the field but sent no data, otherwise low-value.
  • Suffix A: attribute field, PIC X - used on output to override the physical map's attributes (it redefines the F field).
  • Suffix C / H: extended color and highlighting attribute fields - generated only if DSATTS=COLOR/HILIGHT is specified.
  • Suffix I: the input data field. Suffix O: the output data field. They share the same storage but their pictures may differ.
  • A 12-byte FILLER at the start of the map holds TIOAPFX control information used by the system.
  • Example:-
    01 MNTMAP1I. 03 FILLER PIC X(12). 03 TRANID1L PIC S9(4) COMP. 03 TRANID1F PIC X. 03 FILLER REDEFINES TRANID1F. 05 TRANID1A PIC X. 03 TRANID1I PIC X(4). 03 CUSTNO1L PIC S9(4) COMP. 03 CUSTNO1F PIC X. 03 FILLER REDEFINES CUSTNO1F. 05 CUSTNO1A PIC X. 03 CUSTNO1I PIC X(6).

Input and output versions of the map

  • BMS generates two 01-levels: mapnameI for input, and mapnameO REDEFINES mapnameI for output.
  • SEND MAP uses the O version (FROM area); RECEIVE MAP uses the I version (INTO area).
  • Moving -1 to a length field and coding CURSOR on SEND MAP positions the cursor at that field.
  • A programmer may hand-code a symbolic map, but then must keep it in sync with the mapset manually after every change.





© copyright mainframebug.com
Privacy Policy
MainframeBug Assistant