我们如何比较以XML格式下载的两个智能表格,并给出变化的差异作为输出?

2020-09-21 10:36发布

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

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


我需要为智能表单创建版本管理。

我遵循的方法:将智能表单以XML格式下载到应用服务器上。 比较来自应用程序服务器的两个智能表单文件。

1。 提取为智能表单名称保存的目录的所有文件。 显示为ALV。

2。选择两个要比较的记录。

3。从应用程序服务器读取和检索文件。

4。比较内容并给出有意义的输出,并更改差异。

我被困在4号。有人可以在这里帮助我吗?

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

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


我需要为智能表单创建版本管理。

我遵循的方法:将智能表单以XML格式下载到应用服务器上。 比较来自应用程序服务器的两个智能表单文件。

1。 提取为智能表单名称保存的目录的所有文件。 显示为ALV。

2。选择两个要比较的记录。

3。从应用程序服务器读取和检索文件。

4。比较内容并给出有意义的输出,并更改差异。

我被困在4号。有人可以在这里帮助我吗?

付费偷看设置
发送
4条回答
闻人可可
1楼-- · 2020-09-21 11:35

你好Vishwa,

我让您已经以文本文件的形式阅读了报告中的2个Smartform,对吗?

我要做的是:

  1. 循环显示第一个文件(如果选择的是旧版本或新版本,则没有意义)
  2. 对于每条记录,请按索引读取第二个文件中的相应记录
  3. 在单元格1中移动Record1,在单元格2中移动Record2
  4. 如果record1 <> Record2,请在第三个单元格上设置一个图标(即ICON_CHANGE)
  5. 将记录追加到输出alv
  6. 在循环结束时,如果File2有更多记录,请在它们后面附加相同的图标以标识更改。

如果您看到的话,它与比较报告的版本没有什么不同。

灬番茄
2楼-- · 2020-09-21 11:16

嗨Vishwa,

老实说,我怀疑您还能做更多的事情,指出行数不同以及某行不同时。

也许您可以看看标准报告RSVRSRS3的工作原理:它是比较源代码版本的报告。

我的建议是"玩"该报告,尝试通过Smartforms版本并查看其是否有效(也许通过生成的FM?),或者进行调试并检查是否有可以回收的逻辑或代码段 。

Aaron 3364
3楼-- · 2020-09-21 11:29

有一个自定义程序可以比较两种智能表单: https://blogs.sap.com/2016/04/08/smartform-version-comparison /

但是它是alpha版本,因此我不确定它是否显示所有可能的差异,因为在检查代码时-它仅比较Smartforms的特定XML标记。 但这对您来说可能是一个很好的起点,或者您可以为它的Github项目做出贡献:-)

哎,真难
4楼-- · 2020-09-21 11:21

上面提到的程序也只提供了表格上的区别。 如果从应用程序服务器传递xml数据,则会给出错误的结果。

在表格方法之外,我正在进一步尝试。 如果我能找到更好的解决方案。 我会更新。

一周热门 更多>