Duplikate in einer internen Tabelle

Getting started ... Alles für einen gelungenen Start.
17 Beiträge Vorherige Seite 2 von 2 (current)
17 Beiträge Vorherige Seite 2 von 2 (current)

Re: Duplikate in einer internen Tabelle

Beitrag von ewx (Top Expert / 3941 / 161 / 359 ) » 8. Okt 2009 16:40

Code: Alles auswählen.

TYPES: BEGIN OF ty_data,
        werks TYPE werks_d,
        kunnr TYPE kunnr,
      END OF ty_data.
DATA: gs_data TYPE ty_data,
      gt_data TYPE STANDARD TABLE OF ty_data,
      gt_data2 TYPE STANDARD TABLE OF ty_data,
      gv_tabix TYPE i.
FIELD-SYMBOLS <data> TYPE ty_data.

INITIALIZATION.
  gs_data-werks = '0001'. gs_data-kunnr = '0000000815'.
  APPEND gs_data TO gt_data.
  gs_data-kunnr = '0000004711'.
  APPEND gs_data TO gt_data.
  APPEND gs_data TO gt_data. "Wir brauchen ja auch einen doppelten Eintrag!!

* so sieht sie nu aus:
*0001	0000000815
*0001	0000004711
*0001	0000004711  <0=== Der muss weg und erkannt werden, weil doppelt!!

START-OF-SELECTION.
*Hier isser:
  gt_data2 = gt_data.
  DELETE ADJACENT DUPLICATES FROM gt_data. "comparing werks kunnr
* nun ist gt_data bereinigt; keine doppelten Einträge mehr

* bereinigte Tabelle: jeden Eintrag prüfen...
  LOOP AT gt_data ASSIGNING <data>.
*... ob er in der anderen Tabelle vorhanden ist.
    READ TABLE gt_data2 TRANSPORTING NO FIELDS
     WITH KEY werks = <data>-werks kunnr = <data>-kunnr.
    IF sy-subrc = 0.
* Eintrag MUSS da sein: Löschen
      DELETE gt_data2 INDEX sy-tabix.
    ENDIF.
  ENDLOOP.

* nun stehen in gt_data2 nur noch die übrig gebliebenen - also doppelten - Einträge.
*gt_data:
*0001	0000000815
*0001	0000004711
*
*gt_data2:
*0001	0000004711



Re: Duplikate in einer internen Tabelle

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) » 9. Okt 2009 09:47

Ah, so rum, ja, das tut natürlich. :up:

Naja, manchmal sieht man den Wald vor lauter Bäumen nicht.

Vorherige Seite 2 von 2 (current)

Aktuelle Forenbeiträge

FuBa Datum -> Quartal
vor 23 Minuten von DeathAndPain 4 / 48
Meldungsnr. TK332 nur in lokalen Aufträgen bearbeiten
vor 2 Stunden von autohandel7 5 / 40
ABAP Clean Code
vor 20 Stunden von ralf.wenzel 48 / 1121

Unbeantwortete Forenbeiträge

Kundenhierarchien in der Preisfindung
Gestern von SAP_ENTWICKLER 1 / 31
[GELÖST] Feld KNVV-BOIDT
vor einer Woche von SAP_ENTWICKLER 1 / 60
Sortierbegriffe einer Stückliste ändern
vor einer Woche von mbiesenb 1 / 46
Feiertagsklasse und Lohnart Verknüpfung entfernen
vor einer Woche von Flashtie 1 / 46