SAP 字段仍作为视图字段在视图中使用 | 更改表结构重新生成 CDS View「实例」

错误信息

  • 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」
  • 相关修改完成后测试结果:

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wriprin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值