doppelte Einträge

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

doppelte Einträge

Postby Charly » Tue May 27, 2003 8:09 am

Hallo

vielleich kann mir ja hier jemand helfen.
Ich habe eine Tabelle und soll in dieser alle Einträge zu einer Partnernummer die mit einem anderen Feld die gleichen Werte enthalten sind in eine Datei schreiben.
Und ich habe keinen blassen Dunst, das schreiben ist kein Problem, aber die Datensätze selektieren. (Offset ?)
Für ein Hilfe bin ich dankbar.

Cu Charly



Feld 1 Feld2
0815 ABC X
0815 CDE
0815 ABC X
0816 ABC usw
Charly
 

Postby Alva1590 » Tue May 27, 2003 8:27 am

Hi Charly,

kurze Frage nebenbei: Was ist denn der key dieser Tabelle?
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Charly » Tue May 27, 2003 8:38 am

Hallo

Vielen Dank für die schnelle Antwort
die Tabelle besteht aus drei Feldern die zusammen den Key bilden.

Cu Charly
Charly
 

Postby Codemaster » Tue May 27, 2003 8:50 am

Hi Charly,

wie wäre es denn mit deinem read table innerhalb einer loops?
Du loopst über die Tabelle und machst mit dem eintrag einen Read auf die tabelle. Wenn der datensatz vorhanden ist dann kannst du ihn dir merken. Damit dein programm nicht doppelt ließt würd ich vorschlagen, daß du bei erfolgreichem read den datensatz aus der tabelle löschst.

Gruß CM
Codemaster
 

Postby Charly » Tue May 27, 2003 9:13 am

Hallo

Danke für die Info,
ich habe die Tabelle schon in eine interne Tabelle gepackt und ein zweite in die ich die gefundenen Datensätze bringen will, mit ist das Coding nur noch nicht klar.
Da ich noch nie mit read gearbeitet habe, ist mir der aufbau fremd und mit der Hilfe kann ich nicht viel anfangen.

Cu Charly
Charly
 

Postby Philippa2744 » Tue May 27, 2003 9:56 am

Hi,

meiner Meinung nach müßte es wie folgt funktionieren:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. loop at yourtable into wa.
  2. read table yourtable with key field1 = wa-field1
  3.                                            field2 = wa-field2
  4.                                            field3 <> wa-field3.
  5.                                            
  6. if sy-subrc ne 0.
  7.  delete yourtable from wa.
  8.  
  9.  
GeSHi ©


Danach hast Du in der Tabelle yourtable nur noch die doppelten Einträge drin, die in Feld1 und Feld2 übereinstimmen.

LoLo
Philippa2744
...
...
 
Posts: 303
Joined: Fri Mar 07, 2003 5:17 pm

Postby Kevin774 » Tue May 27, 2003 10:55 am

Danke supi hab auch noch eine normale loop variante die auch geht, aber danke. :lol: :lol: :lol:
Kevin774
.
.
 
Posts: 1
Joined: Tue May 27, 2003 10:55 am

Postby Jim5250 » Thu Jun 19, 2003 6:09 pm

Hallo,

so wie s bisher vorgeschlagen wurde, würde ich das nicht mach.

Schon mal was von dem Befehl
"delete adjacent duplicates from i_... comparing ..." gehört?

Natürlich kann man das nicht direkt auf der DB ausführen, aber man holt sich einfach die Daten in eine Interne Tabelle, führt den Befahl aus, leert dann die DB-Tabelle und füllt sie frisch mit den Daten aus der Internen Tabelle. Man könnte auch dann die einzelnen Zeilen der Tabellen vergleichen, aber vorallem bei großen Datenbeständen, ist das die wohl performateste Lösung!

In diesem Sinne
Wolle
Jim5250
.
.
 
Posts: 2
Joined: Thu Jun 19, 2003 6:09 pm


Return to ABAP® Core

Who is online

Users browsing this forum: No registered users and 3 guests