我将 ALV 布局保存在存在数据的系统中,但无法从测试系统(存在测试数据的系统)传输这些变体。所以我必须在开发系统中创建相同的布局变体,由于缺乏测试数据,这是不可能的。请提供一种方法来实现这一点。
3 回答
据我所知,没有标准的方法可以做到这一点。如果没有太多变种我建议你复制无脑。(我认为您可以在没有任何数据的情况下重现每个布局选项)对于要复制的许多变体,您可以编写一个程序上传到 DEV 系统以节省时间。
请注意这一点,因为它会修改标准表!系统版本、ALV结构要一致,不能有以前的变种记录,否则出乎意料!
SAP 将 ALV 变体存储在表 LTDX 和 LTDXT 中。LTDX 包含 RAW 格式的变体属性。您可以使用 SE16 将原始数据从测试系统下载到制表符分隔的文件中,然后使用开发的程序上传到开发人员系统。
不要使用这个程序上传到生产系统或其他系统,随运,使用程序
RKKBALVI
。上传给开发人员后,一定要试试结果,总是!
LTDX-RELID 始终为“LT”,LTDX-REPORT 是您感兴趣的程序名称。不要忘记编辑文件以满足您的需要(例如,如果需要,删除标题和命令)。当您检查下载的文件时,您可以看到 CLUSTD 字段的原始十六进制转储。
这个概念源于您可以轻松地将 HEX 内容从字符串类型移动到二进制类型字段的想法。请参阅此示例取自调试器中的一个小示例程序。(十六进制中的“41424150” = ASCII 中的“ABAP”)
因此,您必须开发一个程序将下载文件的内容上传到 LTDX 和 LTDXT,cl_gui_frontend_services=>gui_upload
但首先将导入结构的 CLUSTD 字段定义为字符串。当您导入数据时,您可以将内容移动到真实的 LTDX 结构并更新表。
布局运输问题在注释551178又名常见问题解答:ALV 布局中进行了相当清楚的审查。
是的,您可以将 ALV 布局传输到另一个系统,除非它们是用户特定的。这是通过定制请求在 ALV 布局管理中完成的:
主菜单 -> 设置 -> 布局 -> 管理
特定于用户的布局不可传输,只有全用户布局具有此功能。
您还可以使用程序 RKKBALVI 在客户端之间复制布局。例如,我们必须在客户端 100 中开发和配置,所有传输都来自 100,但在客户端 600 中进行测试。
因此,开发报告,在 600 中测试并在 600 中创建布局。然后,在 100 中,运行 RKKBALVI,输入程序名称并执行。从那里(列表可能为空),使用菜单选项 Environment > Import layout。它将询问源客户端,输入您的测试客户端。选择要复制的布局,然后使用导入图标(或 F8)。这会将布局复制到您的客户端,在我们的示例中为 100。然后我可以使用相同的程序将它们添加到传输中。因此,我现在可以从 100 释放我的传输以传输报表和布局。