Code: Alles auswählen.
**********************************************************************
*** Partnerrollen zum Kunden ermitteln ****
**********************************************************************
SELECT PARVW as partn_role KUNN2 as partn_numb FROM KNVP
into CORRESPONDING FIELDS OF TABLE et_partner
WHERE KUNNR = IV_KUNDE.
************************************************************************
*** Listet die gelisteten Materialen zum Kunden mit Gültig Datum ****
*** Wird ein spezielles Material benötigt wird dieses über den ****
*** Parameter IV_Material mitgegeben ****
*** Sollen alle Materialen überprüft werden bleibt dieser ****
*** Parameter leer ****
************************************************************************
CALL FUNCTION 'ZD_SD_GET_LISTING_MATERIAL'
EXPORTING
IV_VKORG = IV_VKORG
IV_VTWEG = IV_VTWEG
IV_SPART = IV_SPART
IV_KUNNR = IV_KUNDE
IT_PARTNER = lt_partner
IV_GUELTIG_DATUM = IV_PREIS_DATUM
IT_MATERIAL = IT_MATERIAL
IT_HIERACHIE = IT_HIERACHIE
IMPORTING
ET_MATERIAL = lt_material.
**********************************************************************
*** Füllt die ITEMS Tabelle für den BAPI ****
**********************************************************************
"Erste Position.
IF lt_material is NOT INITIAL.
lv_item_number = '0010'.
LOOP AT lt_material INTO ls_material.
ls_items-STORE_LOC = ls_material-lgort.
ls_items-ITM_NUMBER = lv_ITEM_NUMBER.
ls_items-material = ls_material-MATNR.
ls_items-plant = IV_WERK.
ls_items-target_qty = '1'.
ls_items-target_qu = ls_material-target_qu.
lv_ITEM_NUMBER = lv_ITEM_NUMBER + 10.
APPEND ls_items TO lt_items.
clear ls_items.
ENDLOOP.
**********************************************************************
*** Füllt der HEADER Struktur für den BABI ****
**********************************************************************
ls_header-doc_type = 'ZTA'.
ls_header-sales_org = IV_VKORG.
ls_header-distr_chan = iv_vtweg.
ls_header-division = iv_spart.
ls_header-REQ_DATE_H = IV_PREIS_DATUM.
**********************************************************************
*** Simuliert einen Auftrag um die Konditionen zu ermitteln ****
**********************************************************************
CALL FUNCTION 'BAPI_SALESORDER_SIMULATE'
EXPORTING
order_header_in = ls_header
TABLES
order_items_in = lt_items
order_partners = ET_partner
order_items_out = ET_ITEMS_OUT
ORDER_CONDITION_EX = lt_CONDITION
messagetable = ET_RETURN.
IF IV_KSCHL is NOT INITIAL.
LOOP AT lt_condition into ls_condition WHERE COND_TYPE <> IV_KSCHL.
"DELETE lt_condition from ls_condition.
CLEAR ls_condition.
MODIFY lt_condition from ls_condition.
ENDLOOP.
APPEND LINES OF lt_condition to et_condition.
ELSE.
IF lt_condition is not INITIAL.
APPEND LINES OF lt_condition to et_condition.
else.
write: 'Keine Konditionen gefunden'.
endif.
ENDIF.
Code: Alles auswählen.
**********************************************************************
*** Partnerrollen zum Kunden ermitteln ****
**********************************************************************
SELECT PARVW AS partn_role KUNN2 AS partn_numb FROM KNVP
INTO CORRESPONDING FIELDS OF TABLE et_partner
WHERE KUNNR = IV_KUNDE.
Ich verwende den gleichen FuBa für den gleichen Zweck, aber geben nur den AG mit, fehlende Partner werden dann im Standard ermittelt.Trulchen hat geschrieben:ja die ermittel ich:
Aber nur die AG, RG, WE und RE
Die Hierachie muss ich ja hier nicht mitgeben oder?
Code: Alles auswählen.
ls_header-purch_date = sy-datum.
ls_header-price_date = sy-datum.
* create lines
LOOP AT pt_materials ASSIGNING <ls_materials>.
ADD lv_incpo TO ls_order_items_in-itm_number.
ls_order_items_in-material = <ls_materials>-matnr.
ls_order_items_in-req_qty = 1.
APPEND ls_order_items_in TO lt_order_items_in.
ENDLOOP.
Code: Alles auswählen.
ENHANCEMENT-POINT PRICING_15 SPOTS ES_SAPLV61A.
perform xkomv_bewerten.
endif.