Nur Datensätze mit Preisen lesen

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

Nur Datensätze mit Preisen lesen

Beitrag von Marc (pj) ( / / 0 / 3 ) »
Hallo,

ich möchte gerne nur das Material haben, dass einen Preis hat.

Das hier ..

Code: Alles auswählen.

  SELECT * INTO TABLE i_konp
            FROM konp
            FOR ALL ENTRIES IN i_a006
            WHERE knumh = i_a006-knumh
            AND konwa = 'EUR'
            AND loevm_ko = ''
            and kbetr = ''.
liefert mir alles das, was keinen Preis hat. Aber das hier ..

Code: Alles auswählen.

  SELECT * INTO TABLE i_konp
            FROM konp
            FOR ALL ENTRIES IN i_a006
            WHERE knumh = i_a006-knumh
            AND konwa = 'EUR'
            AND loevm_ko = ''
            and kbetr NE ''.
(man beachte die letzte where Bedingung) liefert mir alle Datensätze (egal ob Preis oder nicht)?!

Gibt's hier 'nen Trick oder wo liegt mein Denkfehler??

schönen Gruß, Marc (pj)

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


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

das könnte mit der Art zusammenhängen, wie OpenSQL in das DB-spezifischen SQL umgesetzt wird.

Probier doch mal folgendes:

Code: Alles auswählen.

  SELECT * INTO TABLE i_konp 
            FROM konp 
            FOR ALL ENTRIES IN i_a006 
            WHERE knumh = i_a006-knumh 
            AND konwa = 'EUR' 
            AND loevm_ko = '' 
            and NOT ( kbetr EQ '' ).  "<<< Bedingung umdrehen
Die logische Bedingung umdrehen!

Möglicherweise wird dadurch aber ein FULL TABLE SCAN forciert...
Gruß
Ereglam


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

Beitrag von Marc (pj) ( / / 0 / 3 ) »
Hallo,

danke für den Tipp; Ergebnis bleibt aber gleich .. es werden weiterhin alle Datensätze angezeigt.

Übrigens .. mache ich danach ein loop über i_konp und schmeiß die Datensätze entsprechend raus..

Code: Alles auswählen.

   loop at i_konp.
     delete i_konp where kbetr NE ''.
   endloop.
Erhalte ich mit = '' wieder alle Datensätze und mit NE '' nur die, ohne Preis.

Oder muss ich das Feld anders abfragen?

Ich bin irgendwie verwirrt :-)

schönen Gruß, Marc (pj)

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
da es sich beim Feld KBETR um ein BCD-Feld (binary coded decimal) handelt, setzt SAP möglicherweise ein "= ' '" typgerecht in ein "= '000...000C'" um, aber beläßt ein "NE ' '"... :?: :?:

Also, neuer Versuch:

Code: Alles auswählen.

  SELECT * INTO TABLE i_konp 
            FROM konp 
            FOR ALL ENTRIES IN i_a006 
            WHERE knumh = i_a006-knumh 
            AND konwa = 'EUR' 
            AND loevm_ko = '' 
            and kbetr NE 0.  "sorgt für eine Typumwandlung ??
Gruß
Ereglam


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

Beitrag von Gast ( / / 0 / 3 ) »
Vielleicht:

Code: Alles auswählen.

...........
      and kbetr IS NOT NULL.
 


oder

Code: Alles auswählen.

...........
      and kbetr in seltab.
 
Wo bei die Selectionstabelle seltab "negiert" werden müsste. Also Option und Sign von 'I' und 'EQ' in 'I' und 'NE'.... (o.s.ä.)

Beitrag von Marc (pj) ( / / 0 / 3 ) »
Hallo,

:oops:

danke für eure Bemühungen und sorry .. aber der Fehler lag an einer ganz anderen Stelle!

Ich hab das Ganze dann ruhen lassen und eben nochmal geschaut .. da machte es doch plötzlich "klick"

schönen Gruß, Marc (pj)

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

dann poste bitte auch, was das Problem war, damit nachfolgende Generationen nicht in die gleiche Falle stolpern.
Gruß
Ereglam


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

Beitrag von Marc (pj) ( / / 0 / 3 ) »
hi,

Keine Sorge, ich glaub das macht kein anderer :-)
Nein, stimmt schon .. hier die Ursache meines Problemes ...

Ich hab vorher ein loop über i_mara gemacht (enthält wie der Name schon verrät, Materialnummer u.ä. aus der Mara) und das auch ausgegeben. Ich hab aber in dem loop nicht geprüft, ob zu dem Material ein Preis vorhanden ist, sondern es einfach ausgegeben ...

Also hab ich jetzt ein

Code: Alles auswählen.

CHECK i_konp-kbetr NE ''.
mit in den loop über i_mara aufgenommen und verhindere so generell das ausgeben der entsprechenden Materialdaten

schönen Gruß, Marc (pj)

Seite 1 von 1

Vergleichbare Themen

1
Antw.
7806
Views
Unterschied: Sequentielles lesen, direktes lesen
von MarkusW » 07.08.2008 16:46 • Verfasst in ABAP® für Anfänger
0
Antw.
1107
Views
Datensätze in der Startroutine verschmelzen
von Janni » 26.06.2013 09:57 • Verfasst in ABAP® für Anfänger
1
Antw.
394
Views
Die aktuellste Datensätze behalten
von HH_ABAP » 23.05.2023 14:46 • Verfasst in ABAP® für Anfänger
2
Antw.
2025
Views
Zu viele Datensätze in Ausgabe
von samson » 13.11.2005 13:15 • Verfasst in ABAP® für Anfänger
3
Antw.
2705
Views
Datensätze in LSMW verdichten
von czschunke » 14.07.2019 22:21 • 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 9 Stunden von tar 8 / 234
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1530
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 179
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 413

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 9 Stunden von tar 8 / 234
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1530
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 179
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 413

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 125
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3299
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9856