会计凭证替代BTE增强

本文介绍了如何在SAP系统中通过增强BTE(Business Transaction Event)方式来实现会计凭证字段的替代处理。主要步骤包括:在事务码FIBF中查找并配置业务交易事件00001120,复制并自定义SAMPLE函数,创建产品,最后将事件、产品和自定义函数关联。具体实现涉及对特定字段的逻辑判断和替换操作。
摘要由CSDN通过智能技术生成

转载自

场景:在有些项目中,是需要对会计凭证中的某些字段做替代处理,这个时候可以考虑一种BTE的增强方式

实现步骤如下:

  1. 进入事务码FIBF, 查找业务交易事件00001120 (凭证过帐: 字段替代表头/项目)以及与之对应的SAMPLE 函数SAMPLE_PROCESS_00001120
  2. 根据SAMPLE函数创建自定义Z函数
  3. 创建产品
  4. 将业务交易事件、产品以及自定义Z函数关联起来

详细实现步骤截图和代码 :

  •  查找业务交易事件00001120 (凭证过帐: 字段替代表头/项目)以及与之对应的SAMPLE 函数SAMPLE_PROCESS_00001120

 事务码: FIBF ( 菜单栏: 环境--->信息系统(处理))

点击执行按钮,其他内容保持默认

  选中业务交易事件00001120, 然后点击模式函数模块按钮,查看SAMPLE 函数

 

  • 根据SAMPLE函数复制创建自定义Z函数

输入SAMPLE 函数名称,然后点击复制按钮

输入自定义函数名称和函数组,然后点击复制按钮

 添加相关逻辑去替代会计凭证中的某些字段


  
  
  1. FUNCTION ZFI_PROCESS_00001120.
  2. *"----------------------------------------------------------------------
  3. *" *"本地接口:
  4. *" IMPORTING
  5. *" VALUE(I_BKDF) TYPE BKDF OPTIONAL
  6. *" TABLES
  7. *" T_BKPF STRUCTURE BKPF
  8. *" T_BSEG STRUCTURE BSEG
  9. *" T_BKPFSUB STRUCTURE BKPF_SUBST
  10. *" T_BSEGSUB STRUCTURE BSEG_SUBST
  11. *" T_BSEC STRUCTURE BSEC OPTIONAL
  12. *" CHANGING
  13. *" REFERENCE(I_BKDFSUB) TYPE BKDF_SUBST OPTIONAL
  14. *" ----------------------------------------------------------------------
  15. * BREAK -POINT.
  16. DATA: ls_bkpf TYPE bkpf,
  17. ls_bseg TYPE bseg,
  18. lt_zpjxx_t TYPE TABLE OF zpjxx,
  19. ls_zpjxx_t TYPE zpjxx.
  20. CLEAR: ls_bkpf,
  21. ls_bseg,
  22. lt_zpjxx_t,
  23. ls_zpjxx_t.
  24. FIELD -SYMBOLS: <lfs_b1 > LIKE LINE OF t_bseg,
  25. <lfs_b2 > LIKE LINE OF t_bsegsub.
  26. LOOP AT t_bkpf INTO ls_bkpf WHERE blart = 'DR' OR blart = 'DZ' OR blart = 'KR' OR blart = 'KZ'.
  27. ENDLOOP.
  28. IF sy -subrc = 0.
  29. SELECT * INTO TABLE lt_zpjxx_t
  30. FROM zpjxx
  31. FOR ALL ENTRIES IN t_bseg[]
  32. WHERE bukrs = t_bseg -bukrs
  33. AND zuonr = t_bseg -zuonr.
  34. LOOP AT t_bseg ASSIGNING <lfs_b1 > WHERE bschl = '19' AND umskz = 'S' AND xref3 IS INITIAL.
  35. * LOOP AT t_bseg ASSIGNING <lfs_b1 > WHERE bschl = '09' AND umskz = 'S' AND xref3 IS INITIAL.
  36. READ TABLE lt_zpjxx_t INTO ls_zpjxx_t WITH KEY bukrs = <lfs_b1 > -bukrs
  37. zuonr = <lfs_b1 > -zuonr.
  38. IF sy -subrc = 0.
  39. <lfs_b1 > -xref3 = ls_zpjxx_t -xref3.
  40. * lv_value = ls_zpjxx_t -xref3.
  41. ENDIF.
  42. ENDLOOP.
  43. LOOP AT t_bsegsub ASSIGNING <lfs_b2 > WHERE xref3 IS INITIAL.
  44. READ TABLE lt_zpjxx_t INTO ls_zpjxx_t WITH KEY zuonr = <lfs_b2 > -zuonr.
  45. IF sy -subrc = 0.
  46. <lfs_b2 > -xref3 = ls_zpjxx_t -xref3.
  47. ENDIF.
  48. ENDLOOP.
  49. ENDIF.
  50. ENDFUNCTION.

 

  •  创建产品

 维护产品名称和描述,并且勾选激活复选框

  • 将业务交易事件、产品和自定义Z函数关联起来

 

 

 到这里,我们就完成了所有的步骤了,接下来你就可以进行创建相关凭证进行验证了。

 

 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值