String in Operator?

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

String in Operator?

Beitrag von Murdock (Specialist / 115 / 55 / 8 ) »
Hi,

wenn nicht hier, wo könnte ich diese frage sonst stellen :D

Gibt es im ABAP einen in Operator, der auf eine Zeichenkettenmenge überprüft?

Also, anstatt

Code: Alles auswählen.

IF lv_feld1 = 'Test1' OR lv_feld1 = 'Test2'.
 ...
ENDIF.
Soetwas wie:

Code: Alles auswählen.

IF lv_feld1 IN ('Test1','Test2').
 ...
ENDIF.
Danke,
Murdock.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: String in Operator?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
"CASE" statt "IF" - das kommt dem sehr nahe.

Code: Alles auswählen.

CASE lv_feld1.
  WHEN 'Test1'
    OR 'Test2'.
  ...
ENDCASE.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Murdock

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: String in Operator?

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
hi!
black_adept hat geschrieben:"CASE" statt "IF" - das kommt dem sehr nahe.
Mach ich meistens auch immer so.

Wenn es aber etwas komplizierter wird (z.B. mit Wildcards usw.) braucht man entweder einen Range oder RegEx.

Code: Alles auswählen.

data: lr_string type range of string.
field-symbols: <lr_string> like line of lr_string.

* Beliebige Patterns füllen
append initial line to lr_string assigning <lr_string>.
<lr_string>-sign = 'I'.
<lr_string>-option = 'CP'.
<lr_string>-low = 'Test*'.
...

if lv_field1 in lr_string.
...
endif.

Code: Alles auswählen.

find regex 'Test[12]' in lv_field1.
if sy-subrc eq 0.
...
endif.
lg ADT

EDIT: Die RegEx lautet richtigerweise 'Test[12]'

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Murdock

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: String in Operator?

Beitrag von Murdock (Specialist / 115 / 55 / 8 ) »
Danke für die Antworten.

Dass es mit CASE oder gar einer RANGE Tabelle geht ist klar.

Bei meinem Beispiel ginge ja auch

Code: Alles auswählen.

IF lv_feld1 CP 'Test*'.

ENDIF.
(ja das trifft mehr als nur Test1 und Test2)
(wobei ich mal anmerken muss, dass ich die Operatoren wie CP, CS, CA, ... von der Sache her ziemlich gut finde :up: )

Ich nehme also mit:
1. es gibt keinen "in" Operator wie ich ihn gesucht habe
2. ich bin nicht zu blöd zum Lesen der ABAP Hilfe :D

Gruß,
Murdock.

Edit sagt, man macht nur 'ne Klammer zu, wenn man sie auch aufgemacht hat...

Re: String in Operator?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
frei nach http://www.tricktresor.de/content/index ... 46&aID=241
könnte sowas vielleicht auch funktionieren?

Code: Alles auswählen.

IF 'Test1/Test2' CS lv_feld1.

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
Murdock

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: String in Operator?

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
ja!

Aber wie schon auf der Seite erwähnt hat das Konstrukt einige Nachteile.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: String in Operator?

Beitrag von Murdock (Specialist / 115 / 55 / 8 ) »
Alexander D. hat geschrieben:

Code: Alles auswählen.

IF 'Test1/Test2' CS lv_feld1.
Auch schön, danke. :D

Gruß,
Murdock.

Seite 1 von 1

Vergleichbare Themen

16
Antw.
865
Views
FOR-Operator
von ralf.wenzel » 01.09.2020 17:19 • Verfasst in ABAP® Core
2
Antw.
2301
Views
operator
von kostonstyle » 06.05.2008 08:51 • Verfasst in ABAP® für Anfänger
8
Antw.
220
Views
IN-OPERATOR - wer gewinnt?
von msfox » 07.09.2023 11:05 • Verfasst in ABAP® für Anfänger
7
Antw.
2545
Views
Wie funktioniert der Z-Operator?
von DeathAndPain » 14.09.2017 18:10 • Verfasst in ABAP® für Anfänger
1
Antw.
1550
Views
dynamischer Operator
von bliP! » 22.05.2006 14:24 • Verfasst in ABAP Objects®

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 37
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 37
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141