The ordinary TN3270 protocol
- A block of commands and data arrives. The client sets the input inhibit indicator, processes the block, and displays the new data on the specified parts of the session window. The client then clears the input inhibit indicator and waits.
- 30 milliseconds pass.
- Another block of commands and data arrives. The client processes the block as in step 1 above. This block causes a different part of the screen to be updated. The client waits.
- 50 milliseconds pass.
This process does not present problems for a human operator, for various reasons that are not important here.
However, this process does present problems for the macro runtime during screen recognition. Recall that during screen recognition the macro runtime tries to match the application screen to one of the valid next macro screens every time the screen is updated and every time an OIA event occurs (see Re-doing the evaluation). Therefore the macro runtime might find a match before the screen is completely updated. For example, a String descriptor might state that recognition occurs if row 3 of the application screen contains the characters "ISPF Primary Option Menu". When the host has updated row 3 to contain these characters, then the macro runtime determines that a match has occurred, regardless of whether the host has finished updating the remainder of the application screen.