Definition of terms

Descriptor
An XML element that occurs in the <description> element of a macro screen and that states an identifying characteristic of the application screen to which the macro screen corresponds.

For example, a macro screen named ScreenB might contain a String descriptor (<string> element) that states that row 3 of the application screen contains the string ISPF Primary Option Menu. During macro playback, when the macro runtime is determining which macro screen to process next, and when ScreenB is a candidate, the macro runtime compares the descriptor in ScreenB with the actual application screen. If the descriptor matches the actual application screen (row 3 of the application screen really does contain the string), then the macro runtime selects ScreenB as the next macro screen to be processed.

Screen description
The process of adding descriptors to the <description> element of a macro screen. You engage in screen description when you use a macro editor to create or edit a descriptor for a macro screen (such as the String descriptor in the previous example). Likewise, the Macro object creates one or more descriptors for each new macro screen that it creates during macro recording (see Recorded descriptions).
Screen recognition
The process that the macro runtime performs when it attempts to match a candidate macro screen to the current application screen.

As detailed in How the macro runtime processes a macro screen, when the macro runtime needs to determine the next macro screen to be processed, the macro runtime places the names of candidate macro screens (usually found in the <nextscreens> element of the current macro screen) onto a list of valid next screens. Then, as the host application updates the host terminal with the new application screen, the macro runtime compares the descriptors of each macro screen on the list with the new application screen. Eventually the application screen is updated to the extent (for example, the string ISPF Primary Option Menu appears in row 3) that the macro runtime can match one of the macro screens on the list to the application screen. The matched macro screen becomes the next macro screen to be processed (see Overview of all 3 stages of the entire process).