bapi获取物料的可用数量及MRP信息(MD04)

需求:在报表里面添加可用数量字段,数据来源于MD04。

bapi获取物料的可用数量及MRP信息(MD04)

 

bapi获取物料的可用数量及MRP信息(MD04)

 

使用到的bapi:MD_STOCK_REQUIREMENTS_LIST_API

这个bapi可以查看到MRP信息以及可用数量。

bapi需要的参数只有2个:物料和工厂

bapi获取物料的可用数量及MRP信息(MD04)

"获取物料的可用数量
data: lt_mdez type table of mdez,
        l_line_number type i.
  loop at it_tab assigning field-symbol(<wa_tab>).
    call function 'MD_STOCK_REQUIREMENTS_LIST_API'
      exporting
        matnr                          = <wa_tab>-matnr
        werks                          = <wa_tab>-werks
      tables
        mdezx                          = lt_mdez.

    if lines( lt_mdez ) > 0.
      l_line_number = lines( lt_mdez ).
      read table lt_mdez assigning field-symbol(<wa_mdez>) index l_line_number.
      <wa_tab>-vrfmg = <wa_mdez>-mng02.
      clear: l_line_number, lt_mdez[].
    endif.
  endloop.

bapi获取物料的可用数量及MRP信息(MD04)

bapi获取物料的可用数量及MRP信息(MD04)

内表中最后一行mng02就是当前的可用数量。

如果查询多个物料的话,改bapi会耗时比较久,暂时没找到其他方法。

大家有更好的bapi可以分享下。

MD04里的MRP元素可以查询表T457T来分析

bapi获取物料的可用数量及MRP信息(MD04)

有时最后一行是MRP元素是StLcSt库存地库存,这个应该不是可用数量,判断时需要注意了。