错误信息
Field ZPDAUSER-ZUSERID is still being used as a view field in view ZV_PDA_USER视图 ZPDAUSER-ZUSERID 仍作为视图字段在视图 ZV_PDA_USER 使用

错误原因
- 当前表被 CDS View 引用,由 CDS View 生成的「视图」已占用当前表的相关字段
- 然而生成的视图又无法在 GUI 中直接进行「修改 / 删除」操作
解决方案
-
既然字段被占用,那我们就解除占用
-
取巧的方案是我们在 CDS View 中将被占用的字段统统删掉,只保留未被占用的字段,重新激活 CDS View,生成新的(不占用)的「视图」即可
修改表结构
下面将展示从开始修改出错,到调整 CDS 重新激活的「实例」
- 这里我的需求是要对应接口名称,因此修改了部分字段的名称,修改项如图所示:

激活时,报错如图所示:
见 Log 提示 ZUSERID 和 ZUSERNAME 被视图 ZV_PDA_USER 占用

解除占用
下图为原 CDS View 的查询字段,现在要将两个占用字段删除

修改后

然后 激活 CDS View,对应视图 ZV_PDA_USER 会重新生成,此时已解除了对「字段」的占用
常见 LOG,「表激活」会提示如下:

TCode SE14 调整 & 激活即可:SE14 - Activite and adjust database
※ SE14 行为有风险,操作需谨慎,执行前请考虑数据迁移(对应字段数据丢失问题)

然后将 CDS View 查询字段修改为现在的字段,激活即可

补充
- 如果涉及到
SM30,需要重新「生成表维护生成器」 - 如果涉及到
OData Service,需要重新「Generate Runtime Objects」 - 相关修改完成后测试结果:


















![[ 数据结构 ] 集合覆盖问题(贪心算法)](https://img-blog.csdnimg.cn/img_convert/e6eadf11a0e3cb54c04ae053481b9ad3.png)

