Kundenhierachie 6. Stufig komplett lesen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

SAP R/3 Vertrieb: Auftragsverwaltung, Versand und Transport, Fakturierung, Kreditmanagement, Außenhandel/Zoll...
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Kundenhierachie 6. Stufig komplett lesen

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Hallo,

gibt es eine möglichkeit die Kundenhierachie komplett zu lesen?
Sprich ich gebe einen Kunden an und er liest mir alle UNTERGEORDENTEN Kunden auf.

Der Funktionsbaustein SD_CUSTOMER_HIERARCHY_PATH liest leider nur die übergeordneten Hierachieknoten.

Weil ich finde mein Coding über die Datenbanken sagen wir mal "sehr hässlich" und überhaupt nicht flexibel.

Code: Alles auswählen.

 "Wir schauen ob der Kunde in einer Hierachie vorhanden ist
  SELECT *
  FROM KNVH
  INTO CORRESPONDING FIELDS OF TABLE lt_hierachie_1
  WHERE HKUNNR in KUNDEN
  AND DATBI >= sy-datum.
  APPEND LINES OF lt_hierachie_1 to lt_kunden.
  IF sy-subrc = 0.
    "Wenn ja überpürfen wir ob der Kunde eine noch weiter "tieferen" Hierachie hat
    "2. Stufe.
    LOOP AT lt_hierachie_1 into ls_hierachie.
      SELECT *
      FROM KNVH
      INTO CORRESPONDING FIELDS OF TABLE lt_hierachie_2
      WHERE HKUNNR = ls_hierachie-KUNNR
      AND DATBI >= sy-datum.
      IF sy-subrc = 0.
          APPEND LINES OF lt_hierachie_2 to lt_kunden.
      ENDIF.
    ENDLOOP.
    "3. Stufe.
    LOOP AT lt_hierachie_2 into ls_hierachie.
      SELECT *
      FROM KNVH
      INTO CORRESPONDING FIELDS OF TABLE lt_hierachie_3
      WHERE HKUNNR = ls_hierachie-KUNNR
      AND DATBI >= sy-datum.
      IF sy-subrc = 0.
          APPEND LINES OF lt_hierachie_3 to lt_kunden.
      ENDIF.
    ENDLOOP.

    "4. Stufe.
    LOOP AT lt_hierachie_3 into ls_hierachie.
      SELECT *
      FROM KNVH
      INTO CORRESPONDING FIELDS OF TABLE lt_hierachie_4
      WHERE HKUNNR = ls_hierachie-KUNNR
      AND DATBI >= sy-datum.
      IF sy-subrc = 0.
          APPEND LINES OF lt_hierachie_4 to lt_kunden.
      ENDIF.
    ENDLOOP.
    "5. Stufe.
    LOOP AT lt_hierachie_4 into ls_hierachie.
      SELECT *
      FROM KNVH
      INTO CORRESPONDING FIELDS OF TABLE lt_hierachie_5
      WHERE HKUNNR = ls_hierachie-KUNNR
      AND DATBI >= sy-datum.
      IF sy-subrc = 0.
          APPEND LINES OF lt_hierachie_5 to lt_kunden.
      ENDIF.
    ENDLOOP.
  Else.
    SELECT *
    FROM KNA1
    into CORRESPONDING FIELDS OF TABLE lt_kunden
    WHERE KUNNR in kunden.
    IF sy-subrc <> 0.
      MESSAGE 'Kein Kunde gefunden' TYPE 'E'.
    ENDIF.


  ENDIF.
Zuletzt geändert von Trulchen am 14.10.2016 10:25, insgesamt 1-mal geändert.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Kundenhierachie 6. Stufig komplett lesen

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Vielleicht helfen dir diese Funktionsbausteine?
BAPI_CUSTOMER_GET_ROOT
BAPI_CUSTOMER_GET_ROOT_LIST
BAPI_CUSTOMER_GET_CHILDREN

Ggfs. hilft auch ein Blick in den Report RV_CUSTOMER_HIERARCHY
Da ist Routine read_knvh_subtree wichtig, die untergeordnete Knoten rekursiv liest.

Re: Kundenhierachie 6. Stufig komplett lesen

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Hallo wunderbar.

Genau das was ich suche :)

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1748
Views
Kundenhierachie selektieren
von nikibert » 08.07.2008 08:41 • Verfasst in Sales and Distribution
2
Antw.
8316
Views
Material komplett löschen
von whasl » 20.03.2008 17:43 • Verfasst in Material Management & Produktionsplanung
1
Antw.
1689
Views
komplett neues Package
von Gast » 22.09.2004 15:02 • Verfasst in ABAP® für Anfänger
3
Antw.
5792
Views
Außenhandel komplett deaktivieren ?
von Matthias_L. » 16.04.2008 17:05 • Verfasst in Sales and Distribution
7
Antw.
4826
Views
Datumsfeld komplett selbst überprüfen.
von Nordlicht » 26.08.2016 10:23 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.