How the macro runtime searches the rectangular area (Wrap attribute)
If the Wrap attribute is set to false (the
default setting), then the macro runtime searches each row of the
rectangular area separately. This method works well when the entire
string is contained within one row. For example, if the string is Utility
Selection Panel and the rectangular area is (1,1), (24,80),
then the macro runtime searches for the string as follows:
- Get the first row of the rectangular area. Determine whether the string occurs in the this row. If it does not, then search the next row.
- Get the second row of the rectangular area. Determine whether the string occurs in this row. If it does not, then search the next row.
- And so on.
In contrast, if the Wrap attribute is set
to true then the macro runtime searches for the string as follows:
- Get all the lines of the rectangular area and concatenate them in order.
- Determine whether the string occurs in the concatenated string.
If the string you are searching for can wrap from one line to the next of the host terminal, then you should set the Wrap attribute to true. Do not confuse this attribute with the Unwrap attribute of the Extract action, which is based on fields rather than blocks of text (see Unwrap attribute).
The following description provides an example in which the Wrap attribute is set to true.
Figure 1 shows rows 14 through 18 of an
application screen:
Figure 1. Rows 14–18 of an application screen
In Figure 1, the
first character of each row is a blank space. For example, in row
14, the first two characters are ' 6', that is, a blank
space followed by the numeral 6. Suppose that you want to set up a
String descriptor that checks for the following rectangular block
of text on this application screen:
6 Hardcopy Initiate hardcopy output
7 Transfer Download ISPF Client/Server or Transfer data set
8 Outlist Display, delete, or print held job output
9 Commands Create/change an application command table
* Reserved This option reserved for future expansion
Hardcopy
Transfer
Outlist
Commands
Reserved
The steps in setting up the String descriptor for this multi-row
block are as follows:
- Create a new String descriptor.
- Set the row and column location of the upper left corner of the text rectangle above to (14, 5) and the row and column location of the lower right corner to (18, 12).
- Set the string value. The string value is:
'HardcopyTransferOutlist CommandsReserved'
- Set the Wrap attribute to true.
- Leave all the other attributes set to the default.