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 |
What are the attribute values of Skipper and Stopper fields?
What is the meaning of the eibaid field?
What is a cics task?
What are the three ways available for a program to position the cursor on the screen?
How is Telon(CA-Telon) used to build map?
Why must all CICS programs have a Linkage Section ?
Explain how do you access the records randomly in tsq?
What are the types of the dfhmdf present in the cics?
What are the commands used to gain exclusive control over a resource (for Ex a Temporary storage queue.)?
How do you define Task Work Area?
what is the most common way of building queue-id of a tsq?
Why is it important not to execute a STOP RUN in CICS ?