两个内部表不兼容或不可转换-MDG-M

2020-09-07 08:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我目前正在使用一些自定...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我目前正在使用一些自定义字段扩展MARM和UNITOFMSR实体。

这就是我所做的:

  • 扩展MARM
  • 扩展了SMEINH(MARM的更改表)
  • 扩展了MARM X和UI结构
  • 将字段添加到T130F
  • 将它们添加到数据模型
  • 生成的结构
  • SMT映射
  • MM调整后的分期
  • 清除了UI元数据缓冲区
  • 已将字段添加到UI
  • 在某些情况下在规则服务中添加了一些规则以默认字段(我知道这不是问题,因为我注释掉了所有新代码,并且该问题仍在发生)

问题来了-每当我尝试在MDG中启动或继续一个过程时,我都会得到简短的转储,内容如下:

两个内部表不兼容或不可转换

我以相同的方式扩展了数百个字段,但从未遇到过此问题。 转储在类CL_USMD_GOV_API的标准方法read_entity_buffer中发生:

创建 DATA lr_data就像et_data的线一样。

*分析请求的数据结构

*必须这样做,因为写缓冲区也需要组件表。

*出于这个原因,我们在此处获取并将结果提供给et_components

*,然后在WRITE_ENTITY_BUFFER中重复使用。

lr_data_struc?= cl_abap_typedescr => describe_by_data_ref(p_data_ref = lr_data)。

lt_components = lr_data_struc->组件。

*尝试从READ BUFFER中读取数据

使用KEY实体= iv_entity_name"键

的mt_entity_read_buffer读取表

entity_key = "密钥

版本= iv_版"密钥"

read_mode = iv_data_source" key

request_mode = iv_request_mode

组件= lt_components

分配

如果sy-subrc = 0。

ASSIGN -结果-> *至

检查sy-subrc =0。 "未调用写操作-> READ/RETRIEVE_CHAR_VALUE引发的异常

et_data =

当它碰到UNITOFMSR缓冲区条目之一时,我以粗体突出显示了该问题。 在转储时,我看不到et_data和之间没有区别,除了et_data是一个排序表,而是标准表。

关于什么可能导致该问题以及如何解决的任何想法?

7条回答
粗暴的香蕉
2020-09-07 08:55

已排序的表没有任何条目。

标准表只有一个条目,其中包含MARM/UNITOFMSR的所有标准键。

所有生成的表都有添加的自定义字段。 即使我在调试器上执行该语句失败,我也可以查看两个表,以了解除表类型(排序标准)外,它们的结构完全相同。

我不理解它,因为我没有触摸该实体的标准键。

更重要的是,我已经将它们全部拿出并开始将它们一个一个地添加。 在9个字段中。 可以添加其中两个并保持其正常工作。 尽管在所有已生成的数据库表和数据库表中都使用相同的数据元素,其余的都导致转储。

一周热门 更多>