BSEGBSIDBSAD 增加自定义字段

作者:ABAP三叔 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:Basis, CO, Data Engineering, FI, SD, 数据工程, 系统管理, 财务, 销售分销
BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

前言

BSEG/ACDOCA/BSID/BSAD/BSIK/BSAK/BSIS/BSAS这几个表可谓是SAP财务模块中最基础最重要的表之一,在这几个表中增加自定义字段,也是非常常见的需求,本文将为大家介绍具体方法。

BSEG增加自定义字段

1\. 在SAP NOTE 1451330中介绍了增加自定义字段的方法,使用Tcode:OXK3,主要是在结构CI_COBL中增加自定义字段.

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

2\. 进入OXK3,打开专家模式

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

3\. 点击"添加字段",进入CI_COBL结构的编辑界面

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

4\. 在 CI_COBL结构中 添加需要的自定义字段

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

5\. 点击"添加字段 BI",在结构CI_COBL_BI中添加同样的自定义字段

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

6\. 激活后BSEG/ACODCA表中因为含有结构 CI_COBL,自定义字段添加完毕

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

BSID增加自定义字段

在S4中BSID就是一个CDS视图,是从BSEG表取值的,因此我们只需要扩展一下BSID的CDS视图即可 .

1\. 打开ECLIPSE,在Data Definition中创建一个CDS扩展视图,步骤如下

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

2\. 选中"Extend View"扩展视图模板

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

3\. 增加在BSEG中增加的自定义字段,我这根据需要只加了一个

@AbapCatalog.sqlViewAppendName: 'ZBSID_VIEW_E_V'@EndUserText.label: 'bsid_view扩展视图'extend view bsid_view with ZBSID_VIEW_E{ zz01}

4\. 激活后,BSID表中就有了增加的自定义字段了。

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

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 错误

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

另外在ABAP740及以下版本中是无法扩展这种含UNION语句的CDS视图,见下图

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

**一、ABAP740及以下版本解决办法:**

此办法也同样适用于740以上版本

1\. B SAD_BCK表附加自定义字段

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

2\. 直接修改CDS " bsad_view",在from bsad_bck和from bseg 前加上自定义自定义字段,如下图所示

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

**二、ABAP740以上版本解决办法:**

1\. B SAD_BCK表附加自定义字段,同上

2\. 修改CDS " bsad_view",增加注解

*

@AbapCatalog.viewEnhancementCategory:[#PROJECTION_LIST,#UNION]

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

原因可见

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

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表中就有了增加的自定义字段了。

BSEGBSIDBSAD 增加自定义字段 - 封面图
BSEGBSIDBSAD 增加自定义字段 - 封面图

总结

BSIK/BSAK/BSIS/BSAS这几个表增加字段的方法同BSID/BSAD一样,本文不做赘述,希望能帮助到有需要朋友们。

ABAP三叔

关于作者:ABAP三叔

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「BSEGBSIDBSAD增加自定义字段.md」整理生成,仅用于内部技术分享与学习交流。