Where-Bedingung

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

Where-Bedingung

Beitrag von Fools (ForumUser / 20 / 0 / 0 ) »
Hallo,

ich möchte bei meiner Select-Anweisung eine bestimmte Where-Bedingung einbauen, die mir erlaubt alle Daten in meine interne Tabelle einzulesen, die mit dem Eintrag "VOG:" (beim Feld maktg) anfangen.
Kann mir da vielleicht jemand behilflich sein. Wie müßte die Wherezeile ausschauen?

Danke.

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


Beitrag von Kowi (ForumUser / 28 / 0 / 0 ) »
Hallo,

das müßte dann in etwa so aussehen:

Code: Alles auswählen.

...
WHERE
  maktg LIKE 'VOG:%'
...
Gruß,
Kowi

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo,

alternativ kann man auch eine RANGE-Tabelle anlegen, was aber zugegebenermaßen mehr Aufwand bedeutet, aber etwas besser zu lesen ist.

Code: Alles auswählen.

DATA:
  lr_maktg TYPE RANGE OF maktg WITH HEADER LINE.
lr_maktg-sign   = 'I'.
lr_maktg-option = 'CP'. "contains pattern '*+'
lr_maktg-low    = 'VOG:*'. "ACHTUNG: Platzhalter '*' und '+'
APPEND lr_maktg FROM lr_maktg.

SELECT ...
       WHERE maktg IN lr_maktg "mit Operator IN
       ...
@Fools
bitte beachte, dass in SQL als Zeichen für eine beliebige Zeichenkette das Prozentzeichen '%' benutzt wird. Als Platzhalter für ein einzelnes Zeichen dient in SQL der Unterstrich '_'.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Fools (ForumUser / 20 / 0 / 0 ) »
Vielen Dank für eure Hilfe.
Hat geklappt.

Beitrag von Fools (ForumUser / 20 / 0 / 0 ) »
Eine Frage hätte ich dann doch noch:

Ist es auch möglich die Zeichenkette 'VOG:' und gleich nach dem Doppelpunkt der Inhalt einer Variable oder der Inhalt eines Feldes einer internen Tabelle anzuhängen?

Bsp.: 'VOG:VARIABLE' oder 'VOG:it_tab-xyz'

Wie müsste man das programmieren damit ABAP das dann auch so richtig interpretiert (also erst Zeichenkette 'VOG:' und dann Inhalt eines Felder) ?

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
dazu benutzt man i.d.R. CONCATENATE

Code: Alles auswählen.

DATA:
  l_maktg TYPE maktg.

CONCATENATE
  'VOG:'
  >variable<
  INTO l_maktg.
*  SEPARATED BY space. "wenn mit Leerzeichen gewünscht
Bei Verwendung der RANGE-Tabelle ist für lr_maktg-option 'EQ' zu benutzen und der gesuchte Text in lr_maktg-low zu stellen und bitte den APPEND nicht vergessen. ;)
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Kowi (ForumUser / 28 / 0 / 0 ) »
Fools hat geschrieben:Eine Frage hätte ich dann doch noch:

Ist es auch möglich die Zeichenkette 'VOG:' und gleich nach dem Doppelpunkt der Inhalt einer Variable oder der Inhalt eines Feldes einer internen Tabelle anzuhängen?

Bsp.: 'VOG:VARIABLE' oder 'VOG:it_tab-xyz'

Wie müsste man das programmieren damit ABAP das dann auch so richtig interpretiert (also erst Zeichenkette 'VOG:' und dann Inhalt eines Felder) ?

Bei meinem Lösungsvorschlag müßtest du eine Hilfsvariable nehmen, in der du die Werte zusammensetzt (über Concatenate) und die du dann im Select benutzt, bei ereglams Lösung könntest du die Werte in das Feld Low schieben.

Wenn du genau den Wert haben möchtest, dann solltest du auch kein LIKE benutzen, da dies langsamer als ein genauer Vergleich ("=") ist.

Gruß,
Kowi

Beitrag von Gast ( / / 0 / 3 ) »
Nochmals Danke an euch Beiden.

Seite 1 von 1

Vergleichbare Themen

6
Antw.
2295
Views
WHERE Bedingung
von cali » 04.04.2006 12:39 • Verfasst in ABAP® Core
3
Antw.
1976
Views
Nachrichtenart Bedingung
von SAPDIDI2 » 18.01.2007 11:28 • Verfasst in ABAP® Core
2
Antw.
10632
Views
Select where Bedingung mit @
von Niels » 11.12.2015 10:11 • Verfasst in ABAP® für Anfänger
6
Antw.
4035
Views
Join Bedingung
von christof » 17.12.2014 19:00 • Verfasst in ABAP® für Anfänger
4
Antw.
3711
Views
Date in WHERE-Bedingung
von reichi » 04.12.2012 19:29 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 13 Stunden von DeathAndPain gelöst 22 / 3169
Daten an Tabelle binden
vor 18 Stunden von Lukas Sanders 2 / 1039
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 614

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

Dialog-Container mit Toolbar/Status
vor 13 Stunden von DeathAndPain gelöst 22 / 3169
Daten an Tabelle binden
vor 18 Stunden von Lukas Sanders 2 / 1039
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 614

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2610
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9199