Multiple attentions

In certain circumstances you might not have any interest in the immediate result of the data you send, but only in a later result, after you have sent more data.

If this is the case, you can construct a single key stroke sequence, comprising all the sets of data to send, each with its own attention key, and then send the whole lot in one operation.

At each attention key, FEPI sends your data to the back-end system and receives the results internally, until ‘change direction’ or ‘end bracket’ is indicated. Then FEPI sends the next set of key strokes. Using multiple attentions improves performance but, if the intermediate results are not what you expect, FEPI has no way of knowing this and carries on sending your key strokes. This can lead to unexpected effects, or to the failure of the command with a data error. In the latter case, all the key strokes and back-end system interactions preceding the error have already taken effect and you may find it difficult to determine the state of the back-end system. Further, no timeout can be specified for the intermediate receives, and so, if there is a communication problem, your application may be suspended indefinitely.

If the last set of key strokes ends with an attention key, you must issue a FEPI RECEIVE command to get the final result. If the last set of key strokes does not end with an attention key, you can issue another FEPI SEND command, with yet more key strokes.