SAP BP供应商的贸易伙伴传值并前台显示
有这么个需求,在创建供应商的时候要把贸易伙伴传入到供应商主数据,并在前台BP的这个界面展示。
开整,F1先查看这个字段名
找到字段名称为VBUND,创建供应商我用的是vmd_ei_api=>maintain_bapi。然后开始找里面的传参的字段。最终找到了这个字段
往这个字段传入数据。代码写完,自信测试。
生成供应商主数据,BP查看,嗯?前台没有显示,傻眼了,怎么回事。然后看了一下LFA1表,VBUND字段有值啊,为什么前台没有显示。然后仔细看了下,BP界面上的字段是BP001表的字段,也就是说界面上的VBUND取值应该是来源于这个表。那么,就要往这个表里面去传值。要用到两个FM,FS_API_BP001_GET和FS_API_BP001_CHANGE。并且是在供应商主数据创建成功之后再进行传值。
"BP 控制中 贸易伙伴 传值
FREE: lt_bp001,lt_return_get,lt_bp001_x,lt_return_change.
CALL FUNCTION 'FS_API_BP001_GET'
EXPORTING
iv_partner = lv_lifnr
* IV_PARTNER_GUID =
* IS_GENERAL =
TABLES
et_bp001 = lt_bp001
et_return = lt_return_get.
ls_alv-vbund = |{ ls_alv-vbund ALPHA = IN }|.
LOOP AT lt_bp001 ASSIGNING FIELD-SYMBOL(<lw_bp001>).
<lw_bp001>-vbund = ls_alv-vbund.
ls_bp001_x-vbund = 'X'.
APPEND ls_bp001_x TO lt_bp001_x.
CLEAR ls_bp001_x.
ENDLOOP.
CALL FUNCTION 'FS_API_BP001_CHANGE'
EXPORTING
iv_partner = lv_lifnr
* IV_PARTNER_GUID =
* IS_GENERAL =
* IV_TESTRUN =
TABLES
it_bp001 = lt_bp001
it_bp001_x = lt_bp001_x
et_return = lt_return_change.
代码放在执行创建/修改供应商主数据成功之后。
注意:在执行FS_API_BP001_CHANGE之后,不要忘记commit,不然就无效。
OVER…
post SAP-Garson
原文链接:https://blog.csdn.net/LuciferousYam/article/details/108400847文章来自于网络,如果侵犯了您的权益,请联系站长删除!