2686694 - 操作方法:MSEG - DBSQL_REDIRECT_INCONSISTENCY
SAP Note, Version: 4, 审批日期: 24.04.2023
显示更改
组件MM-IM-GF对象状态
优先级建议/附加信息对象状态
类别咨询对象状态
审批状态已发布至客户对象状态
更正0对象状态
手动活动0对象状态已成功验证输入
前提条件0对象状态
描述
软件组件
本文档参考
可用语言
注意事项: 此文档为机器翻译结果,其准确性未经审核。 若要针对机器翻译内容提供反馈,请单击此处。
您可以通过以下链接访问原始文档:/notes/2686694/E。
症状
迁移到 S/4HANA OP1610、OP1709、OP1810 或更高版本后,在 ABAP 中访问表 MSEG 时会收到运行时错误 DBSQL_REDIRECT_INCONSISTENCY“无法重定向表”。
如果通过 SE11 检查字典中的表 MSEG,则会收到如下错误消息:
- DT 342 MSEG 和代理对象 NSDM_V_MSEG 具有不同的列数
- DT 338 列 ZZFIELD 存在于 MSEG 中,但不在 NSDM_V_MSEG 中,或在该处具有不同的位置
其他条款
/1BCDWB/DBMSEG、NSDM_V_MSEG、CDS 代理视图、附加、$EXTENSION
原因和前提条件
代理视图 NSDM_E_MSEG 的自定义扩展视图缺失或不完整。
解决方案
解决方案需要使用 ABAP 开发工具 (ADT)。SAP Note 1718399 中介绍了如何安装 ADT。
如何解决:
需要为表 MSEG 的替换对象 NSDM_E_MSEG 创建 EXTEND VIEW,其中包含自定义 APPEND/INCLUDEs 和/或客户 include CI_COBL 中的字段。
在 ADT 中,在“核心数据服务”下创建新的“ABAP 资源库对象”作为“数据定义”,名称为 Z<CustomName>_DDL。 将建议的编码替换为以下编码,然后在自定义扩展视图中输入自定义 APPEND/INCLUDEs 和/或客户 include CI_COBL 中的所有字段。其显示方式示例:
@AbapCatalog.sqlViewAppendName:'Z<自定义名称>_V' |
@EndUserText.label:'MSEG 代理视图的自定义扩展视图' |
@AccessControl.authorizationCheck:#NOT_REQUIRED |
EXTEND VIEW NSDM_E_MSEG,含 Z<CustomName>_E |
{ |
<您的字段 1>, |
<您的字段 2> |
} |
保存并激活更改。然后,在事务 SE11 中再次检查并激活表 MSEG。
故障排除:
- 如果在 ADT 中收到自定义扩展视图的激活错误“列 <您的字段> 未知”,则该字段不包含在源表 MATDOC 中。如果该字段是 CI_COBL 的一部分,则需要 SAP Note 2240878。如果字段是自定义 APPEND/INCLUDE 的一部分,则还需要通过子结构 NSDM_S_ITEM 将此自定义 APPEND/INCLUDE 添加到表 MATDOC。
- 如果要向 MATDOC/MSEG 表添加新的自定义字段,请确保一次同时激活包括扩展视图在内的所有更改。
- 如果 激活失败,请检查您是否正在使用活动数据库触发器/SLT 并暂时将其取消激活。
使用“自定义字段和逻辑”应用时的附加备注:
如果您已在应用“自定义字段和逻辑”(事务 SCFD_EUI)中将“扩展视图”中的字段之一用于“自定义字段和逻辑”应用中的 CI_COBL 字段(事务 SCFD_EUI),则需要遵循 SAP Help Portal 中本文给出的说明。基本上,您需要从 CI_COBL 的自定义 EXTEND VIEW 中移除字段(如果存在),在不激活的情况下保存,然后在“自定义字段和逻辑”应用中添加字段。该应用将自动将字段生成到标准代理对象 (NSDM_E_MSEG) 中。确保所有相关更改都包含在同一传输中并一起激活!
更多信息: