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 / 4047 / 172 / 396 ) » 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

VA01, Kundenauftragserfassung Preisdatum
vor 31 Minuten von SAP_ENTWICKLER 1 / 7
Entwurfsmuster in ABAP / OO
vor 3 Stunden von Maximus 15 / 1991
Rabax Fehlermeldung
vor 5 Stunden von zzcpak 2 / 52
Aufgabe Programm/- Tabellenerstellung
vor 5 Stunden von SaskuAc 3 / 57

Unbeantwortete Forenbeiträge

VA01, Kundenauftragserfassung Preisdatum
vor 31 Minuten von SAP_ENTWICKLER 1 / 7
HANA Audit Trail
vor 6 Tagen von JohnLocklay 1 / 92
Halber Tag Urlaub
vor einer Woche von SO4SAP 1 / 54
Funktionsbausteine BAPI_INCOMINGINVOICE*****
vor einer Woche von Rabea1103 1 / 65
S4/HANA in der Cloud / 14 Tage Trial
vor einer Woche von Tron 1 / 95