Duplikate in einer internen Tabelle


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Re: Duplikate in einer internen Tabelle

Beitragvon ewx » 08.10.2009, 15: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

 
ewx
Top Expert
 
Beiträge: 3885
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 343 mal

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Duplikate in einer internen Tabelle

Beitragvon Ratazong » 09.10.2009, 08:47

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

Naja, manchmal sieht man den Wald vor lauter Bäumen nicht.
Ratazong
Specialist
 
Beiträge: 144
Registriert: 21.06.2006, 12:29
Dank erhalten: 14 mal
Ich bin: Entwickler/in

Vorherige

Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Steuerliches Abgangsland in Verkaufsbeleg ändern
vor 4 Stunden von Julia611 0 Antw.
XML hochladen, Abschnitte suchen, Abschnitte als XML zurück
vor 4 Stunden von deejey 1 Antw.
(LKW)Bedarfsvorschau je Debitor
vor 2 Tagen von wreichelt 5 Antw.
Lieferplan, Einteilungen, Feinabrufe
vor 3 Tagen von bapimueller 0 Antw.
gelöst Smartforms Struktur rechtsbündig
vor 3 Tagen von qyurryus 3 Antw.

  Ähnliche Beiträge beta
Interne Tabelle Duplikate löschen Zähler Inkrementieren
20.03.2012, 12:08 von SamyB 4 Antw.
Alternative zu einer internen Tabelle?
29.04.2004, 17:58 von babap 6 Antw.
Definition einer internen Tabelle
12.07.2004, 12:46 von det 1 Antw.
Definition einer internen Tabelle
13.07.2004, 14:07 von Tami 5 Antw.
Eingabewert in einer internen Tabelle?
14.03.2006, 08:45 von ereglam 7 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder