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
How to dsect parameter is used in bms?
Define task work area?
Define cedf?
Can you explain communication area?
What are the terms cics generally means?
which cics command must be issued by the application program in order to gain access to the common work area (cwa)?
What are the common tables in cics and their usage?
For protecting a transaction using the transaction security function, the two things that must be done are?
What is a transid?
Explain the difference between start and xctl?
What is program reentrance?
Define temporary storage?
Can you define temporary storage?
Name the three ways available for a program to position the cursor on the screen?
What is the procedure to read a statement from tsq?