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 / 3982 / 164 / 373 ) » 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

Datenquelle einer Query ändern
vor 9 Stunden von Level83 3 / 46
Spaltennummer-Umwandlung Excel.
vor 14 Stunden von il.ost 7 / 161
Black out im Bereich Objekterzeugung bei Vererbung gelöst
vor 16 Stunden von Thomas R. 4 / 92

Unbeantwortete Forenbeiträge

Transaktion VL06 Verteilung ausgehender Lieferungen
vor 2 Tagen von SAP_ENTWICKLER 1 / 50
FuBa EXIT_SAPLVEDC_003 S/4 1809
vor 4 Tagen von SAP_ENTWICKLER 1 / 84
CDS VIEW mit BOPF Framework update
vor einer Woche von Abapanfänger 1 / 78
SAP Document Builder: Dokumenterzeugung
vor einer Woche von robin.heidrich 1 / 197
Lohnsteuerbescheinigung
vor einer Woche von kaim77 1 / 116