如何使用BAPI扩展服务主更新税费代码?

2020-09-26 22:58发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


iam使用BAPI_SERVICE_CREATE创建服务主记录..现在我想更新服务主记录中的TAX TARIFF CODE ... iam在AC03以及ASMD表中具有TAX TARIFF CODE字段...但是我可以 没有在BAPI_SERVICE_CREATE中找到它。所以我必须使用BAPI扩展...我不知道Bapi扩展...有人给我适当的步骤来使用bapi扩展来更新服务主机中的关税代码。 >

预先感谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


iam使用BAPI_SERVICE_CREATE创建服务主记录..现在我想更新服务主记录中的TAX TARIFF CODE ... iam在AC03以及ASMD表中具有TAX TARIFF CODE字段...但是我可以 没有在BAPI_SERVICE_CREATE中找到它。所以我必须使用BAPI扩展...我不知道Bapi扩展...有人给我适当的步骤来使用bapi扩展来更新服务主机中的关税代码。 >

预先感谢

付费偷看设置
发送
5条回答
SC_Yao
1楼 · 2020-09-26 23:59.采纳回答

首先问功能,因为此字段应来自定制和其他主数据。

从此BAPI文档(FM doc的末尾列出了BAdI),您应该发现可以

  • 在扩展输入/输出参数中使用以下结构之一:BAPISRV_TE_ASMD'或'CI_ASMDDB','BAPISRV_TE_ASMDX'或'CI_ASMDDBX'。 这些结构的字段的值将通过相应的移动语句移动到服务数据。
  • (需要DIMP_GENERAL)使用您创建的特定结构,然后实施BAdI MMSRV_SM_BAPI_CUST方法INBOUND来移动 数据。

要填充EXTENSIONIN结构,请使用通用cl_abap_container_utilities之类或更具体的cl_nls_struc_container类将结构名称传递到STRUCTURE字段,并将数据映射到VALUEPART字段。 (执行一些在哪里使用的样本搜索)

天桥码农
2楼-- · 2020-09-26 23:48

感谢您的宝贵意见...。我无法在结构BAPISRV_TE_ASMD和

中添加TAXTARRIFCODE

BAPISRV_TE_ASMDx ....它说ERROE- ASMD表,您不能两次指定TAXTARRIFCODE .....但是我在BAPISRV_TE_ASMD和BAPISRV_TE_ASMDx中添加了自定义字段ZTARRIF,并且我已经通过BAPI传递了值并得到了更新。 现在,我想通过BAPI传递TAXTARRIFCODE,该API已存在于ASMD中,而BAPISRV_TE_ASMD和BAPISRV_TE_ASMDx中则不存在...请提供任何建议...。在此先感谢。

SAP砖家
3楼-- · 2020-09-26 23:59

hi Prasath,

我认为以下代码将对您有所帮助。但是表中的税款已更新。税费代码未更新。对于税费代码,BADI应该按照雷蒙德·朱塞佩先生所说的实施。

**导入
数据:serv_data类型bapisrv_asmd,
serv_datax TYPE bapisrv_asmdx。

**表
数据:lt_desc类型bapisrv_asmdt的表,
ls_desc类型bapisrv,
br> lt_return bapiret2类型表,
ls_return TYPE bapiret2类型。

数据:lt_ex_in bapiparex类型表,
ls_ex_in TYPE bapiparex类型。

数据:ls_ext类型bapisrv_te_as类型。 >
serv_data-base_uom ='EA'。
serv_datax-base_uom ='X'。

serv_data-serv_cat ='SERV'。
serv_datax-serv_cat ='X'。

ls_desc-language ='EN'。
ls_desc-short_text ='service master'。将ls_desc附加到lt_desc。
清除ls_desc。

ls_ex_in-structure ='BAPISRV_TE_ASMD '。
ls_ext-tax ='NCM01'。
ls_ex_in-valuepart1 = ls_ext。
APPEND ls_ex_in到lt_ex_in。


ls_ex_in-structure ='BAPISRV_TE_ASMDX'。
ls_ex_in-valuepart1 ='X'。
附加ls_ex_in到lt_ex_in。

通话功能'BAPI_SERVICE_CREATE'
导出
im_service_data = serv_data
im_s ervice_datax = serv_datax

return = lt_return
service_description = lt_desc
extension_in = lt_ex_in。

通话功能'BAPI_TRANSACTION_COMMIT'
导出
等待='X'。

仍然面对问题,找不到确切的解决方案,如果找到解决方案,请在此处发表感谢。

如果在树液系统内部使用,则可以使用具有TAXTARIFFCODE的ASMD_UPDATE_SINGLE FM,并且我们可以使用.net系统进行更新,以在树液系统中更新税税代码,因此不接受更新FM。

# p#

HI Prasath,

您解决了这个问题吗? 我们也面临着同样的问题,请您帮忙

Chandra

Baoming ROSE
5楼-- · 2020-09-26 23:55

仍然面对问题,找不到确切的解决方案,如果找到解决方案,请在此处发表感谢。

如果在树液系统内部使用,则可以使用具有TAXTARIFFCODE的ASMD_UPDATE_SINGLE FM,并且我们可以使用.net系统进行更新,以在树液系统中更新税税代码,因此不接受更新FM。

# p#

我也是同样的问题...有人解决了吗??

一周热门 更多>