SEARCH is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details.
SEARCH
Variants
1. SEARCH f FOR g.
2. SEARCH itab FOR g.
Variant 1
SEARCH f FOR g.
Additions
1. ... ABBREVIATED
2. ... STARTING AT n1
3. ... ENDING AT n2
4. ... AND MARK
Effect
Searches the field f for the string in the field g . This string can have any of the following formats:
'str'
a character string (trailing blanks are ignored) '.str.' any character
string between the periods '*str' a word ending with "str", including
the word "str" 'str*' a word beginning with "str", including the word
"str"
You can use the following characters as delimiters:
' ', ',', ';', ':', '.', '!', '?', '(', ')', '+', '/' and '='.
The return code value is set as follows:
SY-SUBRC
= 0 The search string g was found in the field f . SY-FDPOS contains
the offset of the found string or the found word within the field.
SY_SUBRC = 4 The search string g was not found in the field f .
Addition 1
... ABBREVIATED
Effect
Searches
the field f for a word containing the character string specified in the
field. Here, the characters specified in g may be separated by other
characters in a word. If the string g occurs in a word, the return code
in system field SY-SUBRC is set to 0. The first letter of the search
string g and the word must match.
Example
DATA F(50).
MOVE 'Alaska Texas California' TO F.
SEARCH F FOR 'Clfrn' ABBREVIATED.
Here,
SY-SUBRC is set to 0, since not only does the string 'Clfrn' occur
(separated by other characters) in 'California' , but 'Clfrn' and
'California' begin with the same letter.
Addition 2
... STARTING AT n1
Effect
Searches
the field f starting from the position n1 . Here, a field can be
anything containing the corresponding value. The first character in the
field f is in position 1.
When you use the addition STARTING AT ,
the position specified for the found pattern in SY-FDPOS does not refer
to the start of the field, but to the position n1 .
Addition 3
... ENDING AT n2
Effect
Searches the field f up to the position n2 .
Addition 4
... AND MARK
Effect
If
the search string g is found, all the characters of the search string
and all the characters occurring in between (in the case of SEARCH
ABBREVIATED ) are converted to upper case in the field f .
Example
DATA F(20) VALUE 'Peter Paul Mary'.
SEARCH F FOR '*UL' AND MARK.
SY-SUBRC
is now set to 0, since the search string was found in 'Paul' . SY-FDPOS
has the value 6, since the character string found starts at the offset
6. Also, the search string is marked, so that the new contents of f are
as follows:
'Peter PAUL Mary'
Variant 2
SEARCH itab FOR g.
Additions
1. ... ABBREVIATED
2. ... STARTING AT lin1
3. ... ENDING AT lin2
4. ... AND MARK
Effect
Searches
the internal table itab for the string in field g . The string can have
the same format as in variant 1. The value of SY-SUBRC is set to 0, if
the search string in the field or table is found. The system field
SY-TABIX then contains the number of the table line where the string
was found. Meanwhile, SY-FDPOS specifies the offset of the found string
within the table line.
Note
The statement does not search the header line of an internal table itab .
Addition 1
... ABBREVIATED
Effect
As
with SEARCH ABBREVIATED , searches the internal table itab for a word
that contains the character string specified in the field g . Here, the
characters specified in g can be separated by other characters. The
return code value of the system field SY-SUBRC is set to 0, if the
string g occurs in a word. The first letter of the search string g and
the word must match.
Addition 2
... STARTING AT lin1
Effect
Searches the internal table itab starting from line lin1 to the end. lin1 can be a field that contains the corresponding values.
Addition 3
... ENDING AT lin2
Effect
Searches the internal table itab up to the line lin2 .
Addition 4
... AND MARK
Effect
If
the search string g is found, all the characters of that search string
and all the characters occurring in between (in the case of SEARCH
ABBREVIATED ) are converted to upper case in the internal table itab .
Example
Let T be an internal table which is empty:
DATA: BEGIN OF T OCCURS 100,
LINE(80),
END OF T.
MOVE 'Alaska Texas ' TO T.
APPEND T.
MOVE 'California Arizona ' TO T.
APPEND T.
SEARCH T FOR '*ONA' AND MARK.
SY-SUBRC
is now set to 0 because the search string was found in 'Arizona' .
SY-TABIX contains the value 2 because 'Arizona' appears in the second
line of the table T. SY-FDPOS is set to 11 because the found character
string begins at the offset 11. Also, the search string was marked in
the second line in such a way that the contents of that line now look
as follows:
'California ARIZONA'
Related REPLACE , OVERLAY , SHIFT , SPLIT , TRANSLATE
Note
Performance
Searching
for the string '*str' in an internal table is much more
runtime-intensive (approx. 500000 msn (standardized microseconds)) than
searching for 'str*' (approx. 10000 msn) or 'str' (approx. 35 msn). The
latter involves searching a table with 230 entries and 15 fields.
If
you perform a search in a field which is 35 bytes long for '*str' or
'str*', the runtime consumption is approx. 600 msn, whereas searching
for 'str' takes about 25 msn.
Related 10 ABAP Syntax Tutorials
Most readed SAP Tutorials
- WRITE - Output to a list ( SAP ABAP Keyword)
WRITE ( Output to a list ) is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details. - List of SAP HR TABLES and Infotypes tables
Detailed full list of tables and infotypes used in SAP HR module. - List of SAP MM Transaction codes
This documentation covers the details of SAP MM Transaction codes - SELECT-OPTIONS ( SAP ABAP Keyword)
SELECT-OPTIONS is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details. - FI Accounts Receivable and Accounts Payable | SAP FI PDF manual
The following topics are an introduction to the Accounts Receivable and Accounts Payable application components. - SELECT clause ( SAP ABAP Keyword)
SELECT clause is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details. - SAP MM Process Flow
The typical procurement cycle for a service or material consists of the following phases:
Latest Added SAP documents
- 9KE9 Transaction code
Details about SAP transaction code 9KE9 - 9KE8 Transaction code
Details about SAP transaction code 9KE8 - 9KE7 Transaction code
Details about SAP transaction code 9KE7 - 9KE6 Transaction code
Details about SAP transaction code 9KE6 - 9KE5 Transaction code
Details about SAP transaction code 9KE5 - 9KE4 Transaction code
Details about SAP transaction code 9KE4 - 9KE3 Transaction code
Details about SAP transaction code 9KE3 - 9KE2 Transaction code
Details about SAP transaction code 9KE2 - 9KE1 Transaction code
Details about SAP transaction code 9KE1 - 9KE0 Transaction code
Details about SAP transaction code 9KE0