How can we code a program such that we will never get a
MAPFAIL error?
Answer / 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 |
Explain cebr transaction commands?
I want to know what exactly the STOPPER field does with example. Please help.
How ENQ and DEQ used in CICS?
What is the pic clause for the data type of length option field type of data fields?
Different types of BMS Macros
Explain how do you establish a starting position in a browse operation?
Explain how do you intitiate another transaction?
Can you define multiple maps in a BMS mapset?
In a particular cics program, what is the procedure to allocate dynamic memory?
What is ENQ in CICS?
How to test CICS, MainFrame applications
Which CICS service transaction is used to gain accessibility to CICS control tables?