SAP BP供应商的贸易伙伴传值并前台显示

tech2025-09-09  38

有这么个需求,在创建供应商的时候要把贸易伙伴传入到供应商主数据,并在前台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…

最新回复(0)