场景:在有些项目中,是需要对会计凭证中的某些字段做替代处理,这个时候可以考虑一种BTE的增强方式
实现步骤如下:
- 进入事务码FIBF, 查找业务交易事件00001120 (凭证过帐: 字段替代表头/项目)以及与之对应的SAMPLE 函数SAMPLE_PROCESS_00001120
- 根据SAMPLE函数创建自定义Z函数
- 创建产品
- 将业务交易事件、产品以及自定义Z函数关联起来
详细实现步骤截图和代码 :
- 查找业务交易事件00001120 (凭证过帐: 字段替代表头/项目)以及与之对应的SAMPLE 函数SAMPLE_PROCESS_00001120
事务码: FIBF ( 菜单栏: 环境--->信息系统(处理))
点击执行按钮,其他内容保持默认
选中业务交易事件00001120, 然后点击模式函数模块按钮,查看SAMPLE 函数
- 根据SAMPLE函数复制创建自定义Z函数
输入SAMPLE 函数名称,然后点击复制按钮
输入自定义函数名称和函数组,然后点击复制按钮
添加相关逻辑去替代会计凭证中的某些字段
FUNCTION ZFI_PROCESS_00001120.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_BKDF) TYPE BKDF OPTIONAL
*" TABLES
*" T_BKPF STRUCTURE BKPF
*" T_BSEG STRUCTURE BSEG
*" T_BKPFSUB STRUCTURE BKPF_SUBST
*" T_BSEGSUB STRUCTURE BSEG_SUBST
*" T_BSEC STRUCTURE BSEC OPTIONAL
*" CHANGING
*" REFERENCE(I_BKDFSUB) TYPE BKDF_SUBST OPTIONAL
*"----------------------------------------------------------------------
* BREAK-POINT.
DATA: ls_bkpf TYPE bkpf,
ls_bseg TYPE bseg,
lt_zpjxx_t TYPE TABLE OF zpjxx,
ls_zpjxx_t TYPE zpjxx.
CLEAR: ls_bkpf,
ls_bseg,
lt_zpjxx_t,
ls_zpjxx_t.
FIELD-SYMBOLS: <lfs_b1> LIKE LINE OF t_bseg,
<lfs_b2> LIKE LINE OF t_bsegsub.
LOOP AT t_bkpf INTO ls_bkpf WHERE blart = 'DR' OR blart = 'DZ' OR blart = 'KR' OR blart = 'KZ'.
ENDLOOP.
IF sy-subrc = 0.
SELECT * INTO TABLE lt_zpjxx_t
FROM zpjxx
FOR ALL ENTRIES IN t_bseg[]
WHERE bukrs = t_bseg-bukrs
AND zuonr = t_bseg-zuonr.
LOOP AT t_bseg ASSIGNING <lfs_b1> WHERE bschl = '19' AND umskz = 'S' AND xref3 IS INITIAL.
* LOOP AT t_bseg ASSIGNING <lfs_b1> WHERE bschl = '09' AND umskz = 'S' AND xref3 IS INITIAL.
READ TABLE lt_zpjxx_t INTO ls_zpjxx_t WITH KEY bukrs = <lfs_b1>-bukrs
zuonr = <lfs_b1>-zuonr.
IF sy-subrc = 0.
<lfs_b1>-xref3 = ls_zpjxx_t-xref3.
* lv_value = ls_zpjxx_t-xref3.
ENDIF.
ENDLOOP.
LOOP AT t_bsegsub ASSIGNING <lfs_b2> WHERE xref3 IS INITIAL.
READ TABLE lt_zpjxx_t INTO ls_zpjxx_t WITH KEY zuonr = <lfs_b2>-zuonr.
IF sy-subrc = 0.
<lfs_b2>-xref3 = ls_zpjxx_t-xref3.
ENDIF.
ENDLOOP.
ENDIF.
ENDFUNCTION.
- 创建产品
维护产品名称和描述,并且勾选激活复选框
- 将业务交易事件、产品和自定义Z函数关联起来
到这里,我们就完成了所有的步骤了,接下来你就可以进行创建相关凭证进行验证了。