How can we code a program such that we will never get a
MAPFAIL error?
Answer Posted / rakesh
Normally MAPFAIL just indicates that no data has ben entered in any of the fields, and thus the MDT-bit is not set in the fileds attribute-byte. CICS issues a "Read Modified" 3270-command, and receives data from fields that has the MDT-bit set. When you get MAPFAIL, this just tells you that no field has been modified, an really is "normal".
In program logic you have to check if data has been entered in mandatory fileds. The result may vary, and is a result of users action. Zero or many fileds may have been modified.
In your program logic you should FIRST check for invalid PF/PA/Clear-keys, and ONLY do a Receive Map after the check. There is no need to do a Receive Map if the user pressed the Clear or a PA-key, as an example. The EIBAID contains the value for the key pressed to initiate this pseudoconversation - even without a Receive Map.
If you use Resp Option, coding RESP(ws-variable) in your Receive Map, you can eliminate the Mapfail problem.
Is This Answer Correct ? | 2 Yes | 1 No |
Post New Answer View All Answers
Explain the cics command that is used for reading a record from the tdq?
How do we pass parameters into a CICS –DB2 program
Define an asra abend?
Can you define attribute byte?
What is meant by a ‘Transid’ ?
What is the difference between SEND MAP DATAONLY and SEND MAP MAPONLY ?
What Are Send Map Maponly & Send Map Dataonly ?
what are the differences between temporary storage queue (tsq) and transient data quene (tdq)?
What is the comaera (communication area)?
which is the cics control program that provides communication services between user written application programs and terminals?
specify the requirements for automatic task initiation. (Mention the control table, it is entries and the corresponding procedure division cics command).?
Highlight the points of differences between XCTL and START?
Mention the option used in a cics command to retrieve the response code after execution of the command?
What are the ways fot initiating a transaction?
how can you prevent more than one user from accessing the same transient data queue?