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


SEEK—Seek a Data String, Positioning the Cursor

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

The SEEK macro command finds one or more occurrences of a search string without changing the exclude status of the line.

Syntax

Read syntax diagramSkip visual syntax diagram
Macro command syntax

                          .-.ZFIRST--.ZLAST-.  .-NEXT--.   
>>-ISREDIT--SEEK--string--+-----------------+--+-------+-------->
                          '-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. The maximum allowable length of the string is 256 bytes. If you are specifying a hex string, the maximum is 128 hexadecimal characters. See Finding, seeking, changing, and excluding data.
labela, labelb
Labels identifying the start and end of the group of lines SEEK 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.
left_col
The first column to be included in the range of columns SEEK is to search.
right_col
The last column to be included in the range of columns SEEK is to search.

Description

Use the FIND macro command instead of SEEK if you want to locate a string and change the exclude status of the line that contains that string at the same time.

You can use SEEK to find a search string, change it with CHANGE, and then exclude it from the display with EXCLUDE.

To find the next occurrence of the letters ELSE without specifying any other qualifications, include this line in an edit macro:
ISREDIT SEEK 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 SEEK 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 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 SEEK 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 that are labeled .E and .S. Also, the letters must occur on or between lines labeled .E and .S; they must be stand-alone 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 SEEK ELSE .E .S PREV WORD NX 1 5

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014