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 mdt in cics?
What is the type of ppt in the cics?
What is the meaning of the enq command?
What will happen if some program tries to process a queue on which an ENQ command has been issued by some other program?
What is the common work area?
when an xctl is done, does the tranid change ? Is a new task created ? Does it cause an implicit syncpoint to be issued ?
Explain the difference between the into and the set option in the exec cics receive map command?
how do you intitiate another transaction?
Explain the difference between dfhcommarea and tsq?
Can you define cics task?
What is the common systems area?
Define the term mro (multi region operation)?
when an apllication is invoked via the exec cics start command with the from option, how does the application gain access to the common area?
What is the eib parameter?
I have done a start browse on a vsam dataset. Can I do another start browse without doing an end browse?