CICS - MAP
CICS - MAP
BMS receives the data entered by the user and then formats it into a symbolic surface map. The application program only has access to the data present in the symbolic map. The application program processes the data and the output is sent to the symbolic card. BMS will merge the output of symbolic data with the physical map.
The physical map is a load module in the load library which contains information on how the map should be displayed.
It contains the details about the attributes of all the fields of the map and their positions.
It contains the Display format of the map for a given terminal.
It is encoded using BMS macros It is assembled separately and linked to the CICS library.
A symbolic card is a copy book in the library. The Copy book is used by the CICS application program to senter and receive data from the terminal.
It contains all the variable data that is copied into the program WORKINGSTORAGE section of.
It contains all the named fields. The application programmer uses these fields to read and write data to the card.
Skipper and Stopper field
For an unprotected named field, in a map, if we have specified a length of 10, it means that the name field can take values which length cannot exceed 10. But when you display this map using CICS and start entering values for this field on the screen, we can enter more than 10 Characters, that is, until the end of the screen and we can even enter the next line. To avoid this, we use the Skipper field or the stop field. A Skipper field would generally be an Unnamed field of length 1, specified after a no field.Mrs.
If we place a skipper field after the named unprotected field, then lhen entering the value, once the specified length has been reached, the cursor will automatically position itself on the next unprotected field. The following example shows how to add a skipper field -
NUMBER DFHMDF POS = (01,01), X LENGTH = 5, X ATTRB = (UNPROT, IC) DFHMDF POS = (01,07), X LENGTH = 1, X ATTRB = (ASKIP)
If we place a stop field after the named unprotected field, then when entering the value, once the specified length is reached, the cursor will stop positioning. The following example shows how to add a stop field -
NUMBER DFHMDF POS = (01,01), X LENGTH = 5, X ATTRB = ( UNPROT, IC) DFHMDF POS = (01, 07), X LENGTH = 1, X ATTRB = (PROT)
L 'att L ' ribute byte of any field stores information about the physical properties of the field. The following diagram and the table explaint the meaning of each bit.
| Position ofbit || Deion || Bit Parameters |
| 0 & 1 || || Determined by the content of bits 2 to 7 |
| 2 & 3 || Protection & Shift || 00 - Alphanumeric unprotected |
01 - Numeric not protected
10 - Stop protected
11 - Skip protected
| 4 & 5 || Intensity || 00 - Normal |
01 - Normal
10 - Bright
11 - No display (dark)
| 6 || || Must always be zero |
| 7 || Data tag changed || 0 - Field has not been changed |
1 - Field has been changed
Modified Data Tag
The Modified Data Tag (MDT) is the last bit of the attribute byte.
MDT is a flag that contains a single bit. It specifies whether the value should be transferred to the system or not.
Its default value is 1, when the value of the field is modified.
If MDT is 0, then data cannot be transferred; and if MDT is 1, then data can be transferred.
The send map command writes formatted output to the terminal. It is used to send the card to the terminal from the application program. The following code segment shows how to send a map to the terminal -
EXEC CICS SEND MAP ( 'map-name ') MAPSET ( 'mapset-name ' ) [FROM (data-area)] [LENGTH (data_value)] [DATAONLY] [MAPONLY] [CURSOR] [ERASE / ERASEAUP] [FRE EKB] [FRSET] END-EXEC
The following table lists the parameters used in a send map command and their meaning.
| Sr.No || Parameter & Deion |
| 1 || |
This is the name of the map that we want to send. It is mandatory.
| 2 || |
It 's the name of the card set that contains the card name. The name of the deck of cards is required unless it is the same as the name of the card.
| 3 || |
It is used if we have decided to use another DSECT name, we need to use the FROM (dsect-name) option with the SEND MAP command.
| 4 || |
This means that no data from your program should only be merged into the card and only card information is transmitted.
| 5 || |
This is the logical opposite of MAPONLY. W Use-le to modify variable data in a view that has already been created. Only your program data is sent to the screen. Card constants are not sent.
| 6 || |
This results in deletion of the whole screen before what we send is displayed.
| 7 || |
This only results in the deletion of unprotected fields.
| 8 || |
Flag Reset disables the flag modified data in the attribute byte for all fields on the screen before whatever you send is placed there.
| 9 || |
It can be used to position cursor on the terminal screen. The cursor can be set by moving -1 to the L part of the field, then sending the card.
| 10 || |
This showsSwitch off the audible alarm.
| 11 || |
The keyboard is unlocked if we specify FREEKB in the map or in the SEND command.
| 12 || |
It allows to print the output of a SEND command to a printer.
| 13 || |
This forces the printer restore the paper to the top of the next page before printing the output.
When we want to receive input from a terminal, we use the RECEIVE CARD command. The MAP and MAPSET parameters have exactly the same meaning as for the SEND MAP command. The following code segment shows how to receive a map -
EXEC CICS RECEIVE MAP ( 'map-name ') MAPSET ( 'mapset-name ') [ INTO (data-area)] [FROM (data-area)] [LENGTH (data_value)] END-EXEC
The following steps are required to develop and run a mapset -
Step 1 - Open a TSO session.
Step 2 - Create a new PDS.
Step 3 - Code a mapset in a new member as per requirement.
Step 4 - Assemble the mapset using the JCL provided by the CICS administrator.
Step 5 - Open a CICS session.
Step 6 - Install the program using the command -
CEMT SET PROG (mapset-name) NEW
Step 7 - Type the following command to send the map to the terminal -
THIS SEND MAP (map-name) MAPSET ( mapset-name) ERASE FREEKB