前言
BSEG/ACDOCA/BSID/BSAD/BSIK/BSAK/BSIS/BSAS这几个表可谓是SAP财务模块中最基础最重要的表之一,在这几个表中增加自定义字段,也是非常常见的需求,本文将为大家介绍具体方法。
BSEG增加自定义字段
1\. 在SAP NOTE 1451330中介绍了增加自定义字段的方法,使用Tcode:OXK3,主要是在结构CI_COBL中增加自定义字段.
2\. 进入OXK3,打开专家模式
3\. 点击"添加字段",进入CI_COBL结构的编辑界面
4\. 在 CI_COBL结构中 添加需要的自定义字段
5\. 点击"添加字段 BI",在结构CI_COBL_BI中添加同样的自定义字段
6\. 激活后BSEG/ACODCA表中因为含有结构 CI_COBL,自定义字段添加完毕
BSID增加自定义字段
在S4中BSID就是一个CDS视图,是从BSEG表取值的,因此我们只需要扩展一下BSID的CDS视图即可 .
1\. 打开ECLIPSE,在Data Definition中创建一个CDS扩展视图,步骤如下
2\. 选中"Extend View"扩展视图模板
3\. 增加在BSEG中增加的自定义字段,我这根据需要只加了一个
@AbapCatalog.sqlViewAppendName: 'ZBSID_VIEW_E_V'@EndUserText.label: 'bsid_view扩展视图'extend view bsid_view with ZBSID_VIEW_E{ zz01}
4\. 激活后,BSID表中就有了增加的自定义字段了。
BSAD增加自定义字段
如果你仿照BSID扩展视图的方式在BSAD中增加字段的话,最终是行不通的,扩展视图无法激活。
如果是在ABAP740及以下版本中报错
Union clauses in basis view bsad_view and extend ZBSAD_VIEW_EXT do not match
和 The column zz01 i s unknown
在ABAP740以后版本报
Set operators must match in CDS view "bsad_view" and extend "ZBSAD_VIEW_EXT"
和 The column zz01 i s unknown
报错原因是因为在BSAD的CDS视图中使用了UNION语句,查询了备份表BSAD_BCK和BSEG,而 B
SAD_BCK表中没有增强表结构,没有zz01字段,所以报 column zz01 i s unknown 错误
另外在ABAP740及以下版本中是无法扩展这种含UNION语句的CDS视图,见下图
**一、ABAP740及以下版本解决办法:**
此办法也同样适用于740以上版本
1\. B SAD_BCK表附加自定义字段
2\. 直接修改CDS " bsad_view",在from bsad_bck和from bseg 前加上自定义自定义字段,如下图所示
**二、ABAP740以上版本解决办法:**
1\. B SAD_BCK表附加自定义字段,同上
2\. 修改CDS " bsad_view",增加注解
*
@AbapCatalog.viewEnhancementCategory:[#PROJECTION_LIST,#UNION]
原因可见
3\. 创建扩展视图,方法同 "03 BSID 增加自定义字段" ,代码如下
@AbapCatalog.sqlViewAppendName: 'ZBSAD_VIEW_EXT_V'@EndUserText.label: 'bsad_view扩展视图'extend view bsad_view with ZBSAD_VIEW_EXT{ zz01}union all{ zz01}
4\. 激活后,BSAD表中就有了增加的自定义字段了。
总结
BSIK/BSAK/BSIS/BSAS这几个表增加字段的方法同BSID/BSAD一样,本文不做赘述,希望能帮助到有需要朋友们。