MM中计算模式的功能模块

Function Module for Calculation Schema in MM

我正在寻找一个功能模块,可以为任意 material.

执行计算模式

当打开 ME23N 并查找职位详细信息时,您会看到 Conditions 选项卡,其中显示的 table 包含基础价格和各种条件低于“最终价格”。但是由于价格发现计算 (baseprice + conditions) * amount 作为 netto value 并将其除以 amount 这可能会导致四舍五入问题,其中 4,738 的计算值四舍五入为 4,74,存储为 netto price。现在在计算 nettoprice * amount 时,此值可能与打印在购买单据上的原始值不同。

由于购买单据值未存储在 EKPO 中,我的目标是通过简单地调用具有 material 的功能模块来重新评估该值数字和计算模式以及任何必要的参数给我(再次)打印在文档上的实际值。

是否有功能模块可以做到这一点,还是必须自己编写逻辑?

正如我在评论中所写,解决方案是 FM BAPI_PO_GETDETAIL1。如果您提供 PO 编号,您将获得几个包含 PO create/view 事务中显示的信息的表格。其中之一是具备所有条件的 iTab POCOND。然后你只需要阅读这个 iTab 并计算值并将它们相加。

lv_ebeln = 4711
lv_ebelp = 10
" Call FM to get the detail data for one PO and each position
call function 'BAPI_PO_GETDETAIL1'
  exporting
    purchaseorder = lv_ebeln
  tables
    pocond = gt_pocond
.

" Loop over the iTab and only read entries for position 10
loop at gt_pocond
    into gs_pocond
    where itm_number = lv_ebelp.
    
    " Get the netto value NAVS
    if ( gs_pocond-cond_type =  'NAVS' ).
        lv_netwr = gs_pocond-conbaseval.
    endif.

endloop.