二维码

BAPI更新BP税号类型CN0自动覆盖CN5

Twilight发表于 2019-12-18 18:51Twilight 最后回复于 2019-12-18 18:51 [复制链接] 10157 0

使用cl_md_bp_maintain=>maintain更新BP税号CN0的数据,更新结果都会变成CN5类型,CN1类型一切正常。

1、BP税号
BP_CN0.jpg

2、跟踪方法中代码
BP_CN5.jpg
查看底层逻辑,发现CN0都被强制替换成CN5了,BP GUI界面还能正常使用CN0.

查询NOTES:2865204 - Mapping Business Partner Tax Number Categories to customer/vendor Tax Number fields
提到中国税号类型由CN1变成CN0,再次转成CN5,中国税号类型推荐使用CN5

3、更新BP税号,可以使用BAPI直接更新
  1.   DATA:lt_return TYPE TABLE OF bapiret2 .
  2.   DATA:ls_taxnum TYPE dfkkbptaxnum .

  3.   IF i_bpartner IS INITIAL OR i_taxtype IS INITIAL OR i_taxnumber IS INITIAL.
  4.     e_message-type    = 'E'.
  5.     e_message-message = 'BP&税号类型&税号均不能为空!'.
  6.     EXIT.
  7.   ENDIF.

  8.   i_bpartner = |{ i_bpartner ALPHA = IN }|.

  9.   SELECT SINGLE * INTO ls_taxnum FROM dfkkbptaxnum WHERE partner = i_bpartner AND taxtype = i_taxtype.
  10.   IF sy-subrc = 0.
  11.     CALL FUNCTION 'BAPI_BUPA_TAX_CHANGE'
  12.       EXPORTING
  13.         businesspartner = i_bpartner
  14.         taxtype         = i_taxtype
  15.         taxnumber       = i_taxnumber
  16.       TABLES
  17.         return          = lt_return.
  18.   ELSE.
  19.     CALL FUNCTION 'BAPI_BUPA_TAX_ADD'
  20.       EXPORTING
  21.         businesspartner = i_bpartner
  22.         taxtype         = i_taxtype
  23.         taxnumber       = i_taxnumber
  24.       TABLES
  25.         return          = lt_return.
  26.   ENDIF.

  27.   LOOP AT lt_return INTO DATA(ls_return) WHERE type CA 'AXE'.
  28.     IF e_message-message IS INITIAL.
  29.       e_message-message   = ls_return-message.
  30.     ELSE.
  31.       CONCATENATE e_message-message ls_return-message INTO e_message-message SEPARATED BY '/'.
  32.     ENDIF.
  33.   ENDLOOP.
  34.   IF sy-subrc = 0.
  35.     CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  36.     e_message-type    = 'E'.
  37.   ELSE.
  38.     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  39.       EXPORTING
  40.         wait = 'X'.
  41.     e_message-type    = 'S'.
  42.     e_message-message = 'BP税号更新成功!'.
  43.   ENDIF.
复制代码
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表