While testing one of my RPG/400 programs, I typed invalid data into several fields which were coded with validity-checking keywords such as RANGE and VALUES. As I expected, after pressing the Enter key, the system locked the keyboard and issued error messages. When I tried to cancel by pressing the F12 key, the system would not allow me to leave the record format until the data was valid; I had to correct all of the offending fields before I could cancel.
I needed to be able to cancel because I knew that my users would not appreciate having to correct data that they did not even want to save. My solution is to code the display file DDS with CA12 instead of CF12. Since no input data is transmitted to the workstation when a Command Attention (CA) key is pressed, no validation occurs. Hence, I am able to cancel as intended and remain on good terms with my users.