Error handling
Apart from communication errors caused externally, there are two likely sorts of error that you might get.
These two sorts of errors are as follows:
- Bad command sequencing; that is, you have issued a FEPI SEND when one was not expected. A FEPI SEND must not follow a FEPI SEND with a final attention key, or a FEPI RECEIVE that did not indicate ‘change direction’.
-
Incorrect data; that is, your key strokes are improper. You may
have:
- Sent data, characters, or escape sequences that are not valid.
- Got into an ‘input inhibited’ situation and not reset it.
- Broken the rules for double-byte character set (DBCS) data.
- Failed a validation test, if there are fields with one of the validation attributes.
Many of these data errors cannot be detected until the data is processed, because they depend on the previous data. This means that any key strokes preceding the error will already have taken effect—they cannot be removed by FEPI.
The FEPI SEND can also fail if, following end bracket, the back-end sends BID to send more data and your pool has CONTENTION(LOSE). You must then receive the new back-end data first.