Interne Tabelle Duplikate löschen Zähler Inkrementieren

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

Interne Tabelle Duplikate löschen Zähler Inkrementieren

Beitrag von SamyB (ForumUser / 3 / 1 / 0 ) »
Hallo ich habe eine frage bezüglich internen Tabellen.
Habe ein interne Tabelle ohne Kopfzeile in der 5 Variablen enthalten sind.
3 Davon haben einen NON-Unique Key und die Tabelle ist außerdem Nach diesen Drei Variablen sortiert.
Eine andere Variable habe ich als Zähler deklariert.
Jetzt kommt es sehr häufig vor das diese 3 Variablenimmer genau die selben Werte in kombination haben.
z.B. 1,2,3 | 1,2,3
oder 0,0,1 |0,0,1
Was ich gerne machen möchte ist, dass die Doppelten einträge gelöscht werde, sodass nur noch ein Eintrag vorhanden ist mit genau dieser Kombination aber dort in der Zählervariable steht, wie oft es diese Kombination gegeben hat.

Hoffe ihr könnt mir einigermaßen folgen und mir Helfen.
Vielen Dank
Samy

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


Re: Interne Tabelle Duplikate löschen Zähler Inkrementieren

Beitrag von black_adept (Top Expert / 4136 / 131 / 956 ) »
Hi Samy,

etwa so sollte das gehen:

Code: Alles auswählen.

loop at itab assigning <itab>.
  at new key.
    assign <itab> to <firstkey>.
  endat.
  add 1 to <firstkey>-zaehler.
endloop.
delete itab where zaehler = 0.
(habe gerade kein System unter den Fingern - daher nicht getestet)
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Interne Tabelle Duplikate löschen Zähler Inkrementieren

Beitrag von SamyB (ForumUser / 3 / 1 / 0 ) »
Hallo leider klappt es noch nicht ganz, aber ich glaube das ich beim beispiel einen Fehler gemacht habe.
Also gib noch einmal 2 Beispiele an.

Variable 1 Variable 2 Variable 3 Variable 4
0 0 0 0 Zeile 1


1 0 0 0 Zeile 2

So was ich mächte ist, dass wenn Variable 2-3 gleich sind, das passiert was ich oben schon angedeutet habe.
Bisher überprüft er mit dem Code alle 4 Variablen und inkrementiert nur, wen alle 4 übereinstimmen.
Außer ich habe einen Fehler gemacht, dann tuts mir leid :oops:

Nochmals Danke :up: :up: :up:

Re: Interne Tabelle Duplikate löschen Zähler Inkrementieren

Beitrag von black_adept (Top Expert / 4136 / 131 / 956 ) »
Hi Samy,

so wie du die Variablen angeordnet hast kannst du den Gruppenwechsel bei Variablen 2&3 nicht verwenden.
Bitte stelle deine Variablen in der Reihenfolge um, so dass Var 2&3 am Anfang stehen:
Var2;Var3;Var1;Var4

Dann lautet die Zeile im obigen Beispiel:

Code: Alles auswählen.

AT NEW Var3.
und das Coding sollte funktionieren

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

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Interne Tabelle Duplikate löschen Zähler Inkrementieren

Beitrag von SamyB (ForumUser / 3 / 1 / 0 ) »
Hat alles super geklappt vielen Dank.

Seite 1 von 1

Vergleichbare Themen

16
Antw.
27765
Views
Duplikate in einer internen Tabelle
von b_c » 08.10.2009 13:01 • Verfasst in ABAP® für Anfänger
4
Antw.
15510
Views
interne Tabelle löschen
von lisa » 17.09.2008 11:19 • Verfasst in ABAP® für Anfänger
2
Antw.
2600
Views
Generisch interne Tabelle löschen mit IndexNummer
von retsch » 03.04.2023 21:06 • Verfasst in ABAP® für Anfänger
4
Antw.
2926
Views
5
Antw.
3632
Views
Inhalt interne Tabelle an andere interne Tabelle übergeben
von L0w-RiDer » 30.01.2020 16:28 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

GUIXT Tabellen in Container ansprechen
vor 4 Wochen von Denaris 1 / 26801
Speichern Popup in MM42 verhindern
vor 4 Wochen von Noodl 1 / 27285
Meine Inbox
letzen Monat von Rabea1103 1 / 42455