z/OS ISPF Edit and Edit Macros
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


FIND—Find a Search String

z/OS ISPF Edit and Edit Macros
SC19-3621-00

The FIND macro command locates one or more occurrences of a search string.

Syntax

Read syntax diagramSkip visual syntax diagram
Macro command syntax

                              .-.ZFIRST--.ZLAST-.  .-NEXT--.   
>>-ISREDIT--+-FIND-+--string--+-----------------+--+-------+---->
            '-F----'          '-labela--labelb--'  +-ALL---+   
                                                   +-FIRST-+   
                                                   +-LAST--+   
                                                   '-PREV--'   

   .-CHARS--.                                    
>--+--------+--+----+--+---------------------+-----------------><
   +-PREFIX-+  +-X--+  +-start_col-----------+   
   +-SUFFIX-+  '-NX-'  '-left_col--right_col-'   
   '-WORD---'                                    

string
The search string you want to find. See Finding, seeking, changing, and excluding data.
Note: For edit macros written in CLIST, strings that contain an open comment delimiter (/*) must be placed within quotes within the &STR() such as &STR('/*XXX'). The maximum allowable length of the string is 256 bytes. If you are specifying a hex string, the maximum is 128 hexadecimal characters.
labela, labelb
Labels identifying the start and end of the group of lines within which the FIND command is to search.

If the cursor is currently placed above the start label and the PREV occurrence of a string is requested, or the cursor is currently placed below the end label and the NEXT occurrence of a string is requested, the process returns a return code of 4 and the string is not found, even if it exists within the label range.

For more information about using labels to identify a group of lines, see Labels and line ranges.

NEXT
Starts at the first position after the current cursor location and searches ahead to find the next occurrence of string.
ALL
Starts at the top of the data and searches ahead to find all occurrences of string.
FIRST
Starts at the top of the data and searches ahead to find the first occurrence of string.
LAST
Starts at the bottom of the data and searches backward to find the last occurrence of string.
PREV
Starts at the current cursor location and searches backward to find the previous occurrence of string.
CHARS
Locates string anywhere the characters match.
PREFIX
Locates string at the beginning of a word.
SUFFIX
Locates string at the end of a word.
WORD
Locates string when it is delimited on both sides by blanks or other non-alphanumeric characters.
X
Scans only lines that are excluded from the display.
NX
Scans only lines that are not excluded from the display.
start_col
The first column to be included in the range of columns to be searched. When you specify only one column, the editor finds the string only if the string starts in the specified column.
left_col
The first column to be included in the range of columns to be searched.
right_col
The last column to be included in the range of columns to be searched.
Note: For more information about restricting the search to only a portion of each line, see Limiting the search to specified columns.

Description

Use the SEEK macro command instead of FIND if you want to locate a string without changing the exclude status of the line that contains the string.

You can use FIND with the EXCLUDE and CHANGE commands to find a search string, change it, and then exclude the line that contains the string from the panel.

To find the next occurrence of the letters ELSE without specifying any other qualifications, include this line in an edit macro:
ISREDIT FIND ELSE
Since no other qualifications were specified, the letters ELSE can be:
  • Uppercase or a mixture of uppercase and lowercase
  • At the beginning of a word (prefix), the end of a word (suffix), or the entire word (word)
  • In either an excluded or a non-excluded line
  • Anywhere within the current boundaries
To find the next occurrence of the letters ELSE, but only if the letters are uppercase:
ISREDIT FIND C'ELSE'

This type of search is called a character string search (note the C that precedes the search string) because it finds the next occurrence of the letters ELSE only if the letters are in uppercase. However, since no other qualifications were specified, the letters can be found anywhere in the data set or member, as outlined in the preceding list.

For more information, including other types of search strings, see Finding, seeking, changing, and excluding data.

Return codes

0
Normal completion
4
String not found
12
Syntax error
20
Severe error

Examples

The example shown here finds the first occurrence in the data set of the letters ELSE. However, the letters must occur on or between lines labeled .E and .S and they must be the first four letters of a word:
ISREDIT FIND ELSE .E .S FIRST PREFIX
The example shown here finds the last occurrence in the data set of the letters ELSE. However, the letters must occur on or between lines labeled .E and .S; they must be the last four letters of a word; and they must be found in an excluded line.
ISREDIT FIND ELSE .E .S LAST SUFFIX X
The example shown here finds the first occurrence of the letters ELSE that immediately precedes the cursor position. However, the cursor must not be positioned ahead of the lines labeled .E and .S. Also, the letters must occur on or between lines labeled .E and .S; they must be standalone characters (not part of any other word); they must be found in a non-excluded line; and they must exist within columns 1 and 5:
ISREDIT FIND ELSE .E .S PREV WORD NX 1 5

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014