分析Excel删除计划数据:命令" PlanDataTransfer"不起作用

2020-09-03 19:14发布

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

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


你好

在Analysis Excel Planning工作簿中,用户从表中手动删除一些值。 当他们随后单击<< Recalculate >>按钮时,它的工作原理确实很好。 值以及行消失。

根据我的理解,我期望与按钮<< Recalculate >>等效的命令" PlanDataTransfer"应该执行相同的操作……

示例宏:

子Button10002_Click()

将lResult设置为Long lResult = Application.Run(" SAPExecuteCommand"," PlanDataTransfer")

结束子


不幸的是,通过执行" PlanDataTransfer"方法,Excel工作表中发生了一个非常奇怪的行为,如下所示。 它在下面的计划字段中添加了一些随机的新行,这是错误且令人困惑的:

你们知道发生了什么事吗?

2019-08-07-08-44-21.jpg (104.0 kB)

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

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


你好

在Analysis Excel Planning工作簿中,用户从表中手动删除一些值。 当他们随后单击<< Recalculate >>按钮时,它的工作原理确实很好。 值以及行消失。

根据我的理解,我期望与按钮<< Recalculate >>等效的命令" PlanDataTransfer"应该执行相同的操作……

示例宏:

子Button10002_Click()

将lResult设置为Long lResult = Application.Run(" SAPExecuteCommand"," PlanDataTransfer")

结束子


不幸的是,通过执行" PlanDataTransfer"方法,Excel工作表中发生了一个非常奇怪的行为,如下所示。 它在下面的计划字段中添加了一些随机的新行,这是错误且令人困惑的:

你们知道发生了什么事吗?

2019-08-07-08-44-21.jpg (104.0 kB)
付费偷看设置
发送
4条回答
compass1988
1楼-- · 2020-09-03 20:01

嗨,克里斯蒂安,

您不能仅通过删除Excel工作表中的行来删除服务器上的数据。 这意味着AO加载项必须对属于该加载项的数据单元进行记账,并在用户更改位置等时再次查找数据。并且,它必须将"删除"发送到 在类似立方体的情况下,服务器和物理删除是不可能的,仅适用于残像基本计划InfoProvider。 这就是为什么存在相应的删除计划功能的原因。

我希望使用Excel删除一行并按Recalculate,在服务器上完全不执行任何操作。 使用Refresh进行测试应该很容易:我希望"已删除"行重新出现...

您可能会请求一个新的AO功能"删除单元格"作为AO命令,一行中的所有单元格 那么将意味着删除该行(如果可能的话,因为单元格可能包含实际值,并且不应删除此数据...)。

问候,

Gregor

N-Moskvin
2楼-- · 2020-09-03 20:00

嗨,格雷戈尔

旧的BexAnalyzer中的同一计划工作簿在保存后确实删除了excel工作表中的行。 当用户删除工作表中的值时,Analyzer将这些值替换为" 0"。 因此,由于查询中的0值抑制,这些行消失了。

同样的方法适用于带有<<重新计算>>并保存数据的AO工作簿。

不幸的是,对于屏幕快照中的方法" PlanDataTransfer"而言,该方法不起作用。

追夢秋陽
3楼-- · 2020-09-03 19:44

嗨,克里斯蒂安,

只是 小更新。

根据您的描述,不清楚是使用了Excel命令"删除"还是"清除内容"。 第一个"有时"将值0发送到服务器(用于数据部分中"已删除"的单元格),但并非总是如此,例如 以关键数字为例)。 我也看到过在"删除"之后甚至没有激活"重新计算"的情况。 另外,在"删除"之后,该行将立即由AO再次渲染。

因此,唯一可行的方法是"删除内容"。 这会将关键指标值0发送到服务器,从而激活AO中的"重新计算"按钮,并且似乎也可以与该宏一起使用:

 Private Sub CommandButton1_Click()
   结果暗淡
   lResult = Application.Run(" SAPExecuteCommand"," PlanDataTransfer")
 结束子
 

我使用的是AO 2.7.7版。 因此,似乎用户应该在查询中使用"删除内容"和零抑制,或者您在AO中请求使用"删除"命令作为新功能。

问候,

Gregor

Baoming ROSE
4楼-- · 2020-09-03 19:53

嗨,格雷格

感谢您的更新。

我们在excel中使用了所有可能的删除选项,但是宏" PlanDataTransfer"确实可以正常工作。 执行后,它将在下面的计划行中投放一些随机数据(请参阅第一个屏幕截图)。

在我看来,这似乎是一个错误,因为使用"重新计算"按钮,下面的计划行应保持空白,而已删除的单元格将被删除。

一周热门 更多>