alle Kunden die in meiner Tabelle vorkommen ausgeben

Getting started ... Alles für einen gelungenen Start.
7 Beiträge Seite 1 von 1
7 Beiträge Seite 1 von 1

alle Kunden die in meiner Tabelle vorkommen ausgeben

Beitrag von bohne (Specialist / 437 / 0 / 0 ) » 23. Nov 2006 19:48

Hallo Profis!

Kann mir bitte jemand sagen wie man sowas lösen kann.
Prüfen ob Kundennummer in meiner Tabelle in KNA1 vorhanden,
WENN NEIN als Liste(Report) all die die nicht vorhandenen mit der
Kundenummer ausgeben.
Viele Grüße
bohne


Beitrag von Charadin (Specialist / 148 / 0 / 0 ) » 24. Nov 2006 08:43

Hallo bohne,

das hier wäre z.B. eine Möglichkeit:

Code: Alles auswählen.

SELECT *
  FROM kna1
  INTO TABLE it_kunnr
  FOR ALL ENTRIES IN it_my_kunnr
  WHERE kunnr = it_my_kunnr-kunnr.

LOOP AT it_my_kunnr INTO wa_my_kunnr.

  READ TABLE it_kunnr
    WITH KEY kunnr = wa_my_kunnr-kunnr
    TRANSPORTING NO FIELDS.

  IF sy-subrc = 0.
    " Eintrag in KNA1 vorhanden
  ELSE.
    " Kein Eintrag in KNA1 vorhanden
    WRITE: / wa_my_kunnr-kunnr.
  ENDIF.

ENDLOOP.
Gruß,
Charadin

Beitrag von bohne (Specialist / 437 / 0 / 0 ) » 24. Nov 2006 14:16

Charadin vielen Dank.

Aber mittlerweile stehe ich vor einem anderen
Problem, denn meine Tabelle hat u.a die Felder
LIFNR MATNR.
Leider ist es so das es zu einem Lieferanten mehrere Materialien
gibt. Das bedeutet bei der Ausgabe sieht es ungefähr so aus:
LIFNR MATNR.
001 2232
001 9878
001 8888
002 9696
002 3333

.. und wollte eigentlich jeden Lieferanten nur einmal ausgeben und nicht
so wie die Anzahl der Materialien.
Viele Grüße
bohne

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) » 24. Nov 2006 15:53

da wirst Du dann wohl eine Hilfstabelle verwenden müssen, z.B. so:

Code: Alles auswählen.

it_my_kunnr2[] = it_my_kunnr[].
SORT it_my_kunnr2 BY kunnr.
DELETE ADJACENT DUPLICATES FROM it_my_kunnr2 COMPARING kunnr.

SELECT *
  FROM kna1
  INTO TABLE it_kunnr
  FOR ALL ENTRIES IN it_my_kunnr2
  WHERE kunnr = it_my_kunnr2-kunnr.

LOOP AT it_my_kunnr2 INTO wa_my_kunnr.

  READ TABLE it_kunnr
    WITH KEY kunnr = wa_my_kunnr-kunnr
    TRANSPORTING NO FIELDS.

  IF sy-subrc = 0.
    " Eintrag in KNA1 vorhanden
  ELSE.
    " Kein Eintrag in KNA1 vorhanden
    WRITE: / wa_my_kunnr-kunnr.
  ENDIF.

ENDLOOP.
Gruß,
Charadin

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) » 25. Nov 2006 12:47

oder Du arbeitest mit dem AT-Befehl:

Code: Alles auswählen.

SORT it_my_kunnr BY kunnr.

LOOP AT it_my_kunnr INTO wa_my_kunnr.

  AT NEW kunnr.

    READ TABLE it_kunnr
      WITH KEY kunnr = wa_my_kunnr-kunnr
      TRANSPORTING NO FIELDS.

    IF sy-subrc = 0.
      " Eintrag in KNA1 vorhanden
    ELSE.
      " Kein Eintrag in KNA1 vorhanden
      WRITE: / wa_my_kunnr-kunnr.
    ENDIF.

  ENDAT.

ENDLOOP.
Gruß,
Charadin

Beitrag von bohne (Specialist / 437 / 0 / 0 ) » 26. Nov 2006 17:39

Charadin ich weiss nicht wie ich dir danken soll?
Viele Grüße
bohne

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) » 27. Nov 2006 08:25

keine Ursache, gern geschehen... :wink:
Gruß,
Charadin

Seite 1 von 1

Aktuelle Forenbeiträge

Langtext zur Exception
vor einer Stunde von a-dead-trousers 11 / 99
Welche Entwicklertools?
vor 18 Stunden von LostDarkness 2 / 924
Werksspezifische Konfiguration kopieren
vor 20 Stunden von eleve 2 / 48
Removal of left space - next to a docking container
vor 20 Stunden von Haemma83 16 / 115

Unbeantwortete Forenbeiträge

BAPI_PO_CREATE1 und Einkaufsinfosatz
vor 3 Tagen von SweetRuedi 1 / 81
WCOCO: Gruppe für Betragsfelder 0S01
vor 5 Tagen von SAP_ENTWICKLER 1 / 52
CAS-Nr.: Chemical Abstracs Service
vor einer Woche von SAP_ENTWICKLER 1 / 92
Interaktives Skript, Rolle IC-Manager
vor 3 Wochen von erubadhron86 1 / 129