Code: Alles auswählen.
* Variablen und Strukturen
DATA: headerin TYPE bapisdhd1,
headerout TYPE bapisdhd,
itemsin TYPE TABLE OF bapisditm WITH HEADER LINE,
partner TYPE TABLE OF bapiparnr WITH HEADER LINE,
schedin TYPE TABLE OF bapischdl WITH HEADER LINE.
DATA: zsd_preisfindung TYPE zsd_preisfindung.
*Parameter für Selektionsbild, können von externen Aufruf gefüllt werden
PARAMETERS: p_auart TYPE bapisdhd1-doc_type,
p_vkorg TYPE bapisdhd1-sales_org,
p_vtweg TYPE bapisdhd1-distr_chan,
p_spart TYPE bapisdhd1-division,
p_pdate TYPE bapisdhd1-price_date,
p_prolle TYPE bapiparnr-partn_role,
p_partn TYPE bapiparnr-partn_numb,
p_matnr TYPE bapisditm-material,
p_menge TYPE bapisditm-target_qty,
p_eidat TYPE bapischdl-req_date.
START-OF-SELECTION.
* Füllen der Daten für Aufruf des Funktionsbausteins *********
* Kopfdaten füllen
headerin-doc_type = p_auart.
headerin-sales_org = p_vkorg.
headerin-distr_chan = p_vtweg.
headerin-division = p_spart.
headerin-price_date = p_pdate.
*Partner füllen + Auftraggeber
partner-partn_role = p_prolle.
partner-partn_numb = p_partn.
APPEND partner.
*Positionsdaten füllen
itemsin-material = p_matnr.
itemsin-target_qty = p_menge.
APPEND itemsin.
*Einteilungen füllen
schedin-req_date = p_eidat.
schedin-req_qty = p_menge.
APPEND schedin.
* Auftrag anlegen anhand, jedoch nur im Testlauf
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
* SALESDOCUMENT =
sales_header_in = headerin
* SALES_HEADER_INX =
* SENDER =
* BINARY_RELATIONSHIPTYPE = ' '
* INT_NUMBER_ASSIGNMENT = ' '
* BEHAVE_WHEN_ERROR = ' '
* LOGIC_SWITCH = switch
* BUSINESS_OBJECT = ' '
testrun = 'X'
* CONVERT_PARVW_AUART = ' '
* STATUS_BUFFER_REFRESH = ' '
IMPORTING
* SALESDOCUMENT_EX =
sales_header_out = headerout
TABLES
return = zsd_preisfindung-bapiret2_t[]
sales_items_in = itemsin[]
* SALES_ITEMS_INX =
sales_partners = partner[]
sales_schedules_in = schedin[]
* SALES_SCHEDULES_INX =
* SALES_CONDITIONS_IN =
* SALES_CFGS_REF =
* SALES_CFGS_INST =
* SALES_CFGS_PART_OF =
* SALES_CFGS_VALUE =
* SALES_CFGS_BLOB =
* SALES_CFGS_VK =
* SALES_CFGS_REFINST =
* SALES_CCARD =
* SALES_TEXT =
* SALES_KEYS =
* SALES_CONTRACT_IN =
* SALES_CONTRACT_INX =
* EXTENSIONIN =
* PARTNERADDRESSES =
* SALES_SCHED_CONF_IN =
* ITEMS_EX =
* SCHEDULE_EX =
* BUSINESS_EX =
* INCOMPLETE_LOG =
* EXTENSIONEX =
* CONDITIONS_EX =
* BATCH_CHARC =
.
* Preis, Währung und Stückpreis wegschreiben
MOVE-CORRESPONDING headerout TO zsd_preisfindung.
zsd_preisfindung-net_val_hd_st =
zsd_preisfindung-net_val_hd / p_menge.