Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
Feng_Chen
Product and Topic Expert
Product and Topic Expert

业务需求:


客户创建一个服务项目并且生成服务订单,需要管理专业服务订单上的可选税分类。


方案:


使用BADI “Sales Item Tax Fields Modification” 修改专业服务订单的税收分类


这是S/4HANA Cloud 2002发布的新功能专业服务的可选税收分类中的一部分。


英文版原文链接: https://blogs.sap.com?p=601


详情:



  • 需要用到的ROLE:






  • Role Name




    Role Description






    SAP_BR_PROJ_MANAGE_COMM




    Project Manager - Commercial Services






    SAP_BR_INTERNAL_SALES_REP




    Internal Sales Representative









    • 让我们按照下面的步骤来实现这个需求:




      1. 打开应用程序<自定义字段和逻辑>



      2. 创建一个新的自定义字段。选择“+”(创建)按钮来建立新的自定义字段。


      注意: 使用代码列表类型。


      选择创建并编辑



      3. 选择“UI和报表,向下滚动直至找到计划客户项目,点击启用使用户界面上可使用这个新定义字段。




      启用:



      选择保存,然后点击发布


      4.发布这个字段可能需要等待几分钟。完成后状态会显示为已发布



      5.创建新的自定义逻辑。选择“+”(创建)按钮来建立新的自定义逻辑。



      6.选择这段逻辑所对应的正确的业务上下文和增强实施。


      点击创建



      7. 现在可以撰写自定义逻辑了。在本演示中使用以下代码:


      salesdocumentitem_tax_out = salesdocumentitem_tax_in.


      If salesdocument-salesdocumenttype = 'DMR1'.


      if processingstep = 'INITIAL'.


      data: refdocitem type i_salesdocumentitem.


      if salesdocumentitem-referencesddocument is not initial and salesdocumentitem-referencesddocumentitem is not initial.


      select single * from i_salesdocumentitem into @refdocitem where salesdocument = @salesdocumentitem-referencesddocument and salesdocumentitem = @salesdocumentitem-referencesddocumentitem.


      if refdocitem-yy1_tax_classification_sdi is not initial.


      salesdocumentitem_tax_out-producttaxclassification1 = refdocitem-yy1_tax_classification_sdi.


      else.


      salesdocumentitem_tax_out-producttaxclassification1 = refdocitem-producttaxclassification1.


      endif.



      endif.


      endif.


      endif.


      8. 当你输入自定义代码后,选择保存草稿”:



      然后点击发布”:



      9. 发布这段自定义逻辑可能需要等待几分钟。完成后状态会显示为已发布



      10.将这段新创建的自定义逻辑添加到相关的UI应用程序屏幕上。


      前往应用程序<计划客户项目>并找到相关的项目。


      前往开票页并选择编辑



      11.点击设定,选择要添加的自定义字段然后点击确定



      12.在演示中,将税分类改为1



      开票到期日期:



      13. 现在前往应用程序<审批开票建议 今天到期>去创建一个基于客户项目的借项凭证请求 (DMR)


      注意:这是可以通过BAdI 实施来使用税分类的步骤。


      选择编辑



      14.选择审批”:



      15. 当一个借项凭证生成时,将出现一条消息:



      16.检查是否预期的税收分类已存在


      前往应用程序<管理借项凭证请求>.


      搜寻已创建的DMR。在本次演示中, 我们想查看凭证70001602:



      17. 双击物料下的项目行



      18.前往出具发票凭证页,可以看到税收分类的数值为“1”



      总结:




      • 在专业服务用例中,必须通过使用应用程序<计划客户项目>中的自定义字段和BAdI实施来修改DMR(借项凭证请求)中的税收分类(而不是在订单类型SO01的销售订单中)




      • BAdI实施中你需要做以下操作:






        1. 从之前的凭证中通过I_SalesDocumentItem读取自定义字段。



        2. 税收分类字段是通过自定义字段赋值的。