SAP那些事-实战篇-23-总账行项目报表(FBL3N&FAGLL03)增加字段总结
FBL3N是旧总账下查看科目明细账的事物代码,FAGLL03则是新总账下查看科目明细账的事物代码,需要说明的是,在旧总账下,需要在科目主数据中勾选“行项目显示”才可以使用FBL3N查看该科目的明细账,新总账下则不存在此问题,所有科目都可以通过FAGLL03查看科目明细账。另外,在新总账下,使用FAGLL03查看科目明细账时,如果总账视图中的字段不显示,可先尝试条目视图中是否可以显示。如果想查看的字段未在执行后报表中可以显示,则我们可考虑通过如下的方法实现(个人认为科目明细账的报表很重要,如果和业务关联的一些字段都可以在此报表中显示,那么财务中的大部分报表都可以以此作为数据源进行取数)。还有,在FBL1N/FBL5N中也可以参考如下的方法。
方法1:
直接通过后台配置增加,事物代码:VBOU
可以增加字段的表如下:
这个配置点对应的表是T021S。
方法2:
通过增强可把其他表(即不包括在上述可通过配置增加的表)的字段通过关联写入行项目显示中。增强相关的命令:FIBF(),对应的事件如下:
说明:行项目格式涉及到的结构包括RFPOS/RFPOSX,也就是说增加的字段其实是先增加到这三个结构中,字段增加完毕后,需要执行程序RFPOSXEXTEND激活,这个程序的作用是把增加的字段添加到结构RFPOSXEXT,这个结构最终用于行项目格式的显示。
SAP相关note:215798,这个note用于解决后台配置增加了字段,前台查询时仍然无法显示这个字段。另外参考note:984305、318028、205096、208807、368310,其中Note:368310可作为第二种增强方法的参考,Note:1135916和1652034可用于分析增加字段后程序运行时间过长的分析。
参考SAP Wiki链接:https://wiki.scn.sap.com/wiki/display/ERPFI/Special+Fields+in+FBL*N+transactions
-------------------------------------------------------------------------------------------
20190502更新:
S4 1610版本,通过配置增加字段BSEG-MATNR(物料)字段后,发现在FAGLLL03中没有看到这个字段,根据note:215798用SE38运行程序RFPOSXEXTEND和BALVBUFDEL还是不行。
问题解决:查询相关note,根据note:373268使用FAKP再维护一次字段就可以了,如下图:
根本原因是:在后台第一次维护后,只更新了表T021S和视图V_FAGL_T021S,没更新V_T021S,所以不起做作用,后来再用FAKP维护后,就更新了视图V_T021S。
-------------------------------------------------------------------------------------------
20200821更新:
以下为S4 1909版本的方法,SAP在ECC EHP5后交付了一个新的BADI:FI_ITEMS_CH_DATA用于自定义增加FBL1N/FBL5N/FBL3N的字段(比如科目名称、客户名称、供应商名称)。
还有一个BADI:FAGL_ITEMS_CH_DATA用于在FAGLL03中自定义增加需要显示的字段。
说明:要知道系统从哪个结构取值,可以在执行的报表显示界面直接按F1按钮,点击“技术信息”按钮,如下截图示例:
具体步骤为:
针对FBL1N/FBL5N/FBL3N的增强,需要在结构RFPOSX增加需要自定义显示的字段(增加完后,需要通过SE38执行RFPOSXEXTEND把在结构RFPOSX增加的自定义结构和字段更新到结构RFPOSXEXT,这个结构RFPOSXEXT默认不允许修改,其实也可以修改)
截图示例如下:
BADI:FI_ITEMS_CH_DATA的参考示例代码如下:
如果要在FAGLL03中取得客户、供应商名称,则需要在结构FAGLPOSX增加自定义显示字段,维护结构的截图示例如下:
BADI:FAGL_ITEMS_CH_DATA的示例代码如下:
---------------------------------------------------------------------------------------
20201030更新:
在FAGLL03查询时,统驭科目(K类/D类)的供应商/客户显示和非统驭科目的供应商/客户显示是不一样的,默认情况下,SAP是从供应商/客户(即账户类型为D/K的会计凭证行项目)读取相应的供应商/客户信息,因此对于非统驭科目的供应商/客户信息,默认是无法显示的(虽然此时我们的BSEG/ACDOCA表中能够看到相应的会计凭证行中供应商/客户有信息),所以对于非统驭科目,如果我们需要在特殊字段中增加供应商/客户字段才能显示其字段内容。
-------------------------------------------------------------------------------------------
20210112更新:
1909版本中增加特殊字段后,传输到正式系统后,正式系统FAGLL03看不到新增的字段,分析后发现结构FAGLPOSX中缺少新增的字段。参考note:984305.
处理方法: SE37,输入ITEM_STRUC_EXTENSION ,点测试,输入以下参数并执行
导入参数 值
BASIC_STRUCNAME FAGLPOSY
EXT_STRUCNAME FAGLPOSYEXT
EXT_FIELDS_TABNAME T021S
I_LSTCL D
X_TRANSPORT
然后再执行RFPOSXEXTEND。
总结来说,FAGLL03和FBL3N用到的结构是不一样的,一个是RF开头的,一个是FAGL开头的。
-------------------------------------------------------------------------------------------
20210930更新:
问题描述:如果在FAGLL03查询时,发现”输入日期”(字段:BKPF-CPUDT)有些凭证行有值,有些凭证行没有值。
问题解决:在行项目配置中增加特殊字段,