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 is meant by program reentrance?
What is task control and what are the CICS commands associated with it?
When you do a START, what will the value of EIBCALEN?
Specify cics transaction initiation process?
Explain the term Function Request Shipping?
Name the two types of transient data queues?
How do you access storage outside your CICS program?
What is frset?
What is the difference between LINK and XCTL ?
How do you control cursor positioning?
What are the six different types of argument values in COBOL that can be placed in various options of a CICS command?
Explain the function of the cics translator?