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…

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值