自动生成的视图维护对话框已损坏

Auto-generated view maintenance dialog is corrupt

我已经创建了 3 个 table 和 3 个相应的视图,然后我在 SE11 实用程序 > Table 维护生成器中使用以下设置为每个视图生成了一个维护对话框:

出现消息“请求成功完成”,但生成的对话框无法使用且似乎已损坏。这是它在 screen painter 中的样子:

当我尝试在这 3 个视图上激活集群视图时,出现以下错误:

Error while modifying dynpro SAPLZ...

Message no. SV597

Diagnosis

The flow logic of the screen SAPLZMM01_FUNCGRP
0001 is not that of a generated view maintenance list screen. Either the screen has been considerably modified manually, or the view which it is based on has no maintainable key.

System Response

The screen has not been modified.

Procedure

Make the view cluster maintenance screen modifications required manually on the screen. See the transaction 'Generate table maintenance dialog' application help for the modifications required.

编辑:我关注了 note 2178069,但没有帮助。

请帮忙。如何完全删除此对话框并正确重新生成它?

重现问题的步骤:

1.创建一个新的 table ZTEST

2。添加三个字段到新的 table:

检查前两个字段的“关键字段”和“必填”。

3。点击“技术设置”,输入以下参数:

4。单击附加 > 增强类别

5.激活

6.基于此创建视图 table.

7.在字段选项卡中,单击 Table 字段并复制所有字段(默认情况下仅存在键)。

8.将维护标志 'S' 放在两个关键字段上。

重要提示: 如果从视图字段中删除维护标志 'S',则会正确生成对话框。但是,视图集群维护的正确操作需要维护标志。

9.生成维护对话框(Utilites > Table 维护对话框):

10。转到SM30,维护你新建的视图。

如果您输入一个值并验证,维护视图将如下所示:

正确的维护视图应该类似于 table:

问题是 'S' 标志在 table 视图 (SE11) 中设置不正确。只能为存在于 parent 视图中的字段设置它们。 header 视图不应有任何 'S' 字段,因为 parent 视图不存在。层次结构中的第二个视图最多应在 parent 视图 中的 字段的 键上设置 'S' 字段(对于层次结构中的较低视图,依此类推) 如果有的话,永远不要在客户端字段上。如果设置正确,视图集群激活将修改独立视图,使它们在层次结构中可用。

看这里:https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=473962134