转自:https://blog.csdn.net/weixin_46540694/article/details/105726173
需求描述:客户/供应商凭证交易的行项目明细报表增加自定义字段,如客户 号/描述
实现方法:
使用BTE为报表增加任意客户自定义字段
实现过程(以增加供应商描述、客户描述为例):
- 1、查找BTE,使用事务码FIBF进入如下界面
在列出的清单中找到我们需要BTE事件,可以点击文档按钮查询事件的详细描述。
这里我们00001650事件,为行项目增加自定义字段。
- 2、添加触发事件调用方法,采用复制标准方法到自定义方法的方式进行创建
- 3、实现BTE
执行事务码FIBF,创建一个客户产品
再次执行FIBF,发布1605事件对应的实现方法
- 4、为显示结构(RFPOS&RFPOSX)增加自定义字段
5、根据需求,对BTE事件对应的方法进行编码,填充对应的字段
FUNCTION ZFICO_INTERFACE_00001650.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*" EXPORTING
*" VALUE(E_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*"----------------------------------------------------------------------
*-------------- Initialize Output by using the following line ----------
e_postab = i_postab.
SELECT SINGLE lifnr kunnr
INTO (e_postab-lifnr,e_postab-kunnr)
FROM bseg
WHERE belnr = e_postab-belnr
AND bukrs = e_postab-bukrs
AND gjahr = e_postab-gjahr
AND buzei = e_postab-buzei.
* AND hkont = e_postab-hkont.
SELECT SINGLE sortl name1
FROM lfa1
INTO (e_postab-lsortl,e_postab-lifnr_name)
WHERE lifnr = e_postab-lifnr.
SELECT SINGLE sortl name1
FROM kna1
INTO (e_postab-csortl,e_postab-customer_name)
WHERE kunnr = e_postab-kunnr.
SELECT SINGLE txt20 FROM skat
INTO e_postab-ztxt20
WHERE ktopl = 'EVCN'
AND saknr = e_postab-hkont
AND spras = sy-langu.
ENDFUNCTION.
- 6、通过SE38执行程序RFPOSXEXTEND(注:传输后需要在对应系统执行此步骤)
- 7、至此,新增字段已完成,检查结果