Tabelleneinträge dynamisch löschen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Tabelleneinträge dynamisch löschen

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Hallo zusammen,

irgendwie sitzt mir die Fastnacht noch im Nacken, auf jeden Fall komm ich nicht drauf.

Ich habe einen Join in dem ich mit left outer tabellen verknüpft habe. Jetzt gibt es aber auch Selektionsbedingungen für diese Tabellen die von aussen mitgegeben werden. Ich habe das ganze mit einem IF-Statement gelöst, sieht aber nicht wirklich toll aus.

Code: Alles auswählen.

  IF s_kostl IS NOT INITIAL AND
     s_vbeln IS NOT INITIAL AND
     s_aufnr IS NOT INITIAL.

    DELETE i_pos WHERE NOT kostl IN s_kostl
                 AND   NOT vbeln IN s_vbeln
                 AND   NOT aufnr IN s_aufnr.

  ELSEIF s_kostl IS     INITIAL AND
         s_vbeln IS     INITIAL AND
         s_aufnr IS     INITIAL.

    DELETE i_pos WHERE     kostl IN s_kostl
                 AND       vbeln IN s_vbeln
                 AND       aufnr IN s_aufnr.

  ELSEIF s_kostl IS     INITIAL AND
         s_vbeln IS NOT INITIAL AND
         s_aufnr IS NOT INITIAL.
         
    DELETE i_pos WHERE     kostl IN s_kostl
                 AND   NOT vbeln IN s_vbeln
                 AND   NOT aufnr IN s_aufnr.

....

  ENDIF.
Hat jemand eine Idee wie ich das schöner lösen kann? Vielleicht auch schon im Select trotz left outer Verknüpfung?

Danke für Eure Hilfe im Voraus.

Gruss

Martin
Gruss

Martin

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Da hat SAP noch was zu verbessern!
ICh weis bis heute nicht, wieso man bei SAP keine Where-Bedingungen auf Outer-Join´s machen kann.

Ich löss das meist so:

Code: Alles auswählen.

LOOP AT itab.
  IF NOT itab-feld1 IN selektionsfeld1.
    DELETE itab.
    CONTINUE.
  ENDIF.
  IF NOT itab-feld2 IN selektionsfeld2.
    DELETE itab.
    CONTINUE.
  ENDIF.
ENDLOOP.
Meist musst eh über die itab loopen, also von daher kannst so halt wieder das rausschmeissen.

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Danke DeathGuardian,

das gbt mir doch wieder Hoffnung, dass ich nicht ganz so doof bin. Dies ist ja auch meine Lösung nur bei drei Selektionsbedingungen für eine Tabelle ergeben sich halt 8 verschiedene Konstellationen, die ich abfangen muss.

Naja, dann eben Spaghetticode.

Danke nochmals für die Info.
Gruss

Martin

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Wieso 8 Konstelationen?

Wenn der User bei den einem Feld nichts eingibt wirds bei einem Select ja auch "ignoriert".

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Sorry,

manchmal sind die Finger schneller als der Kopf. Deine vorherige Lösung ist der Schlüssel zum Glück. Danke!
Gruss

Martin

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2208
Views
Dynamisch Tabelleneinträge lesen
von Kenny » 02.05.2013 08:51 • Verfasst in ABAP® für Anfänger
8
Antw.
5326
Views
Feld einer internen Tabelle dynamisch löschen
von Hagbard » 16.08.2005 15:28 • Verfasst in ABAP® für Anfänger
20
Antw.
8015
Views
Zeitabhängige Tabelleneinträge
von ewx » 07.04.2011 11:08 • Verfasst in ABAP® Core
8
Antw.
8259
Views
Anzahl Tabelleneinträge
von sandrabudni » 25.10.2006 15:24 • Verfasst in ABAP Objects®
0
Antw.
1143
Views
'Leere' und '0'-Tabelleneinträge - wie unterscheiden?
von burggen » 19.04.2013 12:24 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

RFC vs. ODATA
vor 16 Stunden von ewx 3 / 161
Druck von Etiketten via FP_PDF_TEST_01
vor 18 Stunden von Mr_Mkt 3 / 162

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

RFC vs. ODATA
vor 16 Stunden von ewx 3 / 161
Druck von Etiketten via FP_PDF_TEST_01
vor 18 Stunden von Mr_Mkt 3 / 162