Select , where Feld is Initial

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Select , where Feld is Initial

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
Hallo Experten, ich habe ein join von zweit Tabllen .
Als Where Bedienung möche ich bei Felde kein wert haben, kein Space, sondern einfach leer.
Bei mir bekomme ich Fehler, wenn ich is initial benutze.
Fehler:'Der Operator IS darf nur in "f IS NULL" oder "f IS NOT NULL" verwendet werden'.
Typen: ekpo~loekz = char1
ekpo~elikz = char1
ekko~loekz = char1.
Haben sie Ideen, wi kann man anderes machen.
Danke

SELECT
ekko~ebeln
ekpo~ebelp
ekpo~werks
FROM ekpo INNER JOIN ekko
ON ekko~ebeln = ekpo~ebeln
INTO CORRESPONDING FIELDS OF TABLE GT_table
WHERE
ekpo~werks IN s_werks
AND ekpo~loekz is initial
AND ekpo~elikz is initial
AND ekpo~pstyp = '9'
AND ekpo~statu = 'F'
AND ekko~loekz is initial

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


Re: Select , where Feld is Initial

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
Guten Morgen,

ich würde in diesem Fall vermutlich mit einer Kombination aus IS NULL AND <> ' ' arbeiten
um auch wirklich auszuschließen das kein Space enthalten ist. Musst dann bezüglich der WHERE-Logik möglicherweise an entsprechender
Stelle noch Klammern verwenden.

Liebe Grüße
Gerrit
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Select , where Feld is Initial

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
autohandel7 hat geschrieben:
06.06.2019 10:36
Als Where Bedienung möche ich bei Felde kein wert haben, kein Space, sondern einfach leer.
"Einfach leer" ist "space" (bei character-Feldern).

Ansonsten siehe hier: https://www.abapforum.com/forum/viewtop ... =1&t=23562
Du kannst aber nicht steuern, ob ein Feld "NULL" ist, oder nicht.

Re: Select , where Feld is Initial

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
LostDarkness hat geschrieben:
06.06.2019 10:48
Guten Morgen,

ich würde in diesem Fall vermutlich mit einer Kombination aus IS NULL AND <> ' ' arbeiten
um auch wirklich auszuschließen das kein Space enthalten ist. Musst dann bezüglich der WHERE-Logik möglicherweise an entsprechender
Stelle noch Klammern verwenden.

Liebe Grüße
Gerrit
Danke für Antwort, uch brauche nur Felde wo die leer sind, kein Wert drin.

Re: Select , where Feld is Initial

Beitrag von IHe (Specialist / 150 / 36 / 49 ) »

Code: Alles auswählen.

DATA: loekz_is_initial TYPE  ekpo-loekz,
[..]
CLEAR: loekz_is_initial,
[..]

SELECT
ekko~ebeln 
ekpo~ebelp 
ekpo~werks 
FROM ekpo INNER JOIN ekko
ON ekko~ebeln = ekpo~ebeln
INTO CORRESPONDING FIELDS OF TABLE GT_table
WHERE
ekpo~werks IN s_werks 
AND ekpo~loekz = loekz_is_initial
[..]

Folgende Benutzer bedankten sich beim Autor IHe für den Beitrag:
autohandel7

Ingo Hoffmann

ECC|S/4HANA|BTP
dbh SAP Solutions

Re: Select , where Feld is Initial

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
Danke für Antwort,
gibt es kein Standard Lösung?
ekpo~loekz EQ ' ' . so ???

Re: Select , where Feld is Initial

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
ja

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

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Select , where Feld is Initial

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
@IHe:

Code: Alles auswählen.

CLEAR: loekz_is_initial
ist eigentlich überflüssig, da ABAP mit der Deklaration das Feld auf den Intialwert automatisch initialisiert.


Allgemein bzgl. "IS INITIAL" beim SELECT-Statement: ( Da die typischen Google-Links zu dem Thema ins Leere bei der neuen SAP-Suchseite führen hier als Direktzitat aus der Onlinehilfe des Release 7.53 ):
ABAP Keyword documentation hat geschrieben:ABAP-Release-specific changes ->
Changes in Release 7.5x ->
Changes in Release 7.53 ->
ABAP SQL in Release 7.53 ( auch wenn in der Doku dann falsch 6.4 steht )
4. Relational expression IS INITIAL :
"Relational Expression IS INITIAL
The relational expression IS [NOT] INITIAL can now be used in a condition sql_cond to compare operands with their type-dependent initial value.
When used, this expression requires the strict mode from Release 7.53.
"
Beispiel:

Code: Alles auswählen.

SELECT matnr
  FROM mara
  WHERE aenam IS INITIAL
  INTO TABLE @DATA(lt_data).

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

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

2
Antw.
4987
Views
Feld nach löschen INITIAL oder ''
von achamees » 21.12.2011 13:58 • Verfasst in ABAP® für Anfänger
6
Antw.
3981
Views
Select for all entries Abfrage auf Initial
von Murdock » 20.03.2013 11:18 • Verfasst in ABAP® für Anfänger
1
Antw.
1188
Views
Dynamisch SELECT Feld
von Bajdu » 22.09.2006 14:17 • Verfasst in Basis
3
Antw.
751
Views
0 in ein Feld bei Select Option reinschreiben
von L0w-RiDer » 30.07.2019 11:18 • Verfasst in ABAP® für Anfänger
4
Antw.
873
Views
SELECT CHAR16 in CHAR12-Feld
von Patrick1982 » 17.04.2024 17:10 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Regex in where
vor 8 Stunden von edwin 7 / 164
Daten an Tabelle binden
vor 22 Stunden von Bright4.5 3 / 1487

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

Regex in where
vor 8 Stunden von edwin 7 / 164
Daten an Tabelle binden
vor 22 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822