Terms defined
A descriptor is an XML element that occurs in the <description> element of a macro screen and that states an identifying characteristic of the application screen that the macro screen corresponds to.
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 recognition is the process that the macro runtime performs when it attempts to match a candidate macro screen to the current application screen.
As you may remember from 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 session window 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 the entire process (all 3 stages)).
Screen description is the process of adding descriptors to the <description> element of a macro screen. You engage in screen description when you go to the Description tab of a macro screen and create or edit a descriptor (such as the String descriptor in the previous example). Likewise, the Macro object during macro recording creates one or more descriptors for each new macro screen that it creates (see Recorded descriptions).