Ansicht
Dokumentation

ME590001 - Gruppierung von Banfen für Bestell-Split in der ME59

ME590001 - Gruppierung von Banfen für Bestell-Split in der ME59

TXBHW - Original Tax Base Amount in Local Currency   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Mit der Erweiterung ME590001 können Sie bei der automatischen Umsetzung von Bestellanforderungen in Bestellungen eine vom Standard abweichende Logik bei der Gruppierung von Bestellanforderungen zu Bestellungen oder Bestellpositionen verwenden.

Über die Selektionsparameter können Sie im Standard bestimmen, dass eine neue Bestellung angelegt wird, wenn sich eines der Kriterien "Einkäufergruppe", "Werk", "Lagerort", "Positionstyp", "Lieferdatum", "Lieferantenteilsortiment", "Bestellanforderungsnummer", "Bestellanforderungsposition" oder "Buchungskreis" ändert.

Der Funktionsexit EXIT_SAPLME59_001 ermöglicht es Ihnen, beliebige andere Kriterien zu definieren (Beispiel siehe unten).

Der Funktionsbaustein hat folgende Parameter:

  • T_EBAN
    Tabelle mit allen umzusetzenden Bestellanforderungen. Die Tabelle ist vorsortiert nach den Splitkriterien, die Sie im Selektionsbild ausgewählt haben.
  • T_EBANX
    Indextabelle, die diejenigen Bestellanforderungen enthält, bei denen eine neue Bestellung oder eine neue Bestellposition erzeugt werden soll. Diese Tabelle wird ebenfalls im Standard vorbelegt. Beispielsweise ist bei jeder Bestellanforderung, die einem anderem Lieferanten zugeordnet ist als die vorhergehende, das Feld T_EBANX-PO_NEW mit 'X' belegt.

Beispiel:

Sie verwenden keines der im Standardsystem verfügbaren Splitkriterien, möchten jedoch pro Anforderer in der Bestellanforderung eine neue Bestellung erzeugen. Der entsprechende Quellcode im Programm ZXM01U01 könnte so aussehen:

DATA: L_EBAN LIKE EBAN OCCURS 0 WITH HEADER LINE,
L_EBAN_ALL LIKE EBAN OCCURS 0,
L_TABIX LIKE SY-TABIX,
NEXT_EBAN LIKE EBAN,
NEW_PO LIKE SY-CALLD,
OLD_AFNAM LIKE EBAN-AFNAM.

LOOP AT T_EBAN.
L_TABIX = SY-TABIX + 1.
READ TABLE T_EBAN INDEX L_TABIX INTO NEXT_EBAN.
IF SY-SUBRC NE 0.
NEW_PO = 'X'.
ELSE.
READ TABLE T_EBANX WITH KEY BANFN = NEXT_EBAN-BANFN
BNFPO = NEXT_EBAN-BNFPO.
IF SY-SUBRC EQ 0 AND NOT T_EBANX-NEW_PO IS INITIAL.
NEW_PO = 'X'.
ELSE.
CLEAR NEW_PO.
ENDIF.
ENDIF.
APPEND T_EBAN TO L_EBAN.
CHECK NEW_PO EQ 'X'.
SORT L_EBAN BY AFNAM WERKS BANFN BNFPO.
CLEAR OLD_AFNAM.
LOOP AT L_EBAN.
IF SY-TABIX EQ 1 OR L_EBAN-AFNAM NE OLD_AFNAM.
READ TABLE T_EBANX WITH KEY BANFN = L_EBAN-BANFN
BNFPO = L_EBAN-BNFPO.
IF SY-SUBRC EQ 0.
T_EBANX-NEW_PO = 'X'.
MODIFY T_EBANX INDEX SY-TABIX.
ELSE.
CLEAR T_EBANX.
T_EBANX-BANFN = L_EBAN-BANFN.
T_EBANX-BNFPO = L_EBAN-BNFPO.
T_EBANX-NEW_PO = 'X'.
APPEND T_EBANX.
ENDIF.
ENDIF.
OLD_AFNAM = L_EBAN-AFNAM.
ENDLOOP.
APPEND LINES OF L_EBAN TO L_EBAN_ALL.
REFRESH L_EBAN.
ENDLOOP.
T_EBAN[] = L_EBAN_ALL[].






BAL_S_LOG - Application Log: Log header data   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3259 Date: 20240614 Time: 043433     sap01-206 ( 46 ms )