我需要更新采购订单的交货日期。
我在ME_PROCESS_PO_CUST
方法中使用了POST
BAdI,但它不更新EKET
表中的日期,仅更新了屏幕上的日期。
这是方法POST
中的代码:
CALL METHOD im_header->get_data
RECEIVING
re_data = ls_header_data.
lt_items = im_header->get_items( ).
LOOP AT lt_items INTO ls_items.
lo_item = ls_items-item.
ls_dati = lo_item->get_data( ).
lt_schedule = lo_item->get_schedules( ).
LOOP AT lt_schedule INTO ls_schedule.
lo_schedule = ls_schedule-schedule.
ls_meposchedule = lo_schedule->get_data( ).
IF lv_data GE ls_meposchedule_pai-eindt.
ls_meposchedule-eindt = lv_data.
ENDIF.
lo_schedule->set_data( ls_meposchedule ).
ENDLOOP.
ENDLOOP.
答案 0 :(得分:0)
FUNCTION EXIT_SAPMM06E_017用于EKET更新。
您需要更新(SAPLMEPO)ETT []表,因为您可以在那里找到PO的更改。
干杯:)
答案 1 :(得分:0)
尝试以下代码:
METHOD if_ex_me_process_po_cust~process_schedule.
DATA: lv_eindt TYPE eket-eindt VALUE '20190731'.
DATA(ls_schedule) = im_schedule->get_data( ).
DATA(lr_item) = im_schedule->get_item( ).
DATA(ls_item) = lr_item->get_data( ).
ls_item-eindt = lv_eindt.
lr_item->set_data( ls_item ).
ENDMETHOD.
并将其放入方法IF_EX_ME_PROCESS_PO_CUST~PROCESS_SCHEDULE
中。