分析(AO)VBA变量更新

2020-09-15 00:44发布

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

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


嗨,

我有多个工作簿,每个工作簿中都有多个数据源,每个月需要更新一次。


大多数提示保持不变,但随着时间的流逝,所有数据源都需要更新期间


下面的"我的提示"屏幕视图包含技术名称。




我想用VBA代码打开工作簿,然后自动让代码更改句点, 然后刷新数据并保存工作簿。

开始部分和保存部分都很容易,但是由于某些原因,我没有使变量随代码而改变。

在我一直在使用的代码下面。 如果有人可以帮助我,我将不胜感激。


公共Sub UpdateData()
将SetPeriod设置为长


调用Application.Run(" SAPSetRefreshBehaviour","关闭")
调用Application.Run(" SAPExecuteCommand"," PauseVariableSubmit","打开")

SetPeriod = Application.Run(" SAPSetVariable"," [0P_FISCPER3]发布期间",6," DS_1")

调用Application.Run(" SAPExecuteCommand"," PauseVariableSubmit","关闭")
调用Application.Run(" SAPSetRefreshBehaviour","打开")

SetPeriod = Application.Run(" SAPExecuteCommand"," RefreshData"," DS_1")


结束子


提前谢谢。

(55.0 kB)

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

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


嗨,

我有多个工作簿,每个工作簿中都有多个数据源,每个月需要更新一次。


大多数提示保持不变,但随着时间的流逝,所有数据源都需要更新期间


下面的"我的提示"屏幕视图包含技术名称。




我想用VBA代码打开工作簿,然后自动让代码更改句点, 然后刷新数据并保存工作簿。

开始部分和保存部分都很容易,但是由于某些原因,我没有使变量随代码而改变。

在我一直在使用的代码下面。 如果有人可以帮助我,我将不胜感激。


公共Sub UpdateData()
将SetPeriod设置为长


调用Application.Run(" SAPSetRefreshBehaviour","关闭")
调用Application.Run(" SAPExecuteCommand"," PauseVariableSubmit","打开")

SetPeriod = Application.Run(" SAPSetVariable"," [0P_FISCPER3]发布期间",6," DS_1")

调用Application.Run(" SAPExecuteCommand"," PauseVariableSubmit","关闭")
调用Application.Run(" SAPSetRefreshBehaviour","打开")

SetPeriod = Application.Run(" SAPExecuteCommand"," RefreshData"," DS_1")


结束子


提前谢谢。

(55.0 kB)
付费偷看设置
发送
3条回答
宇峰
1楼 · 2020-09-15 01:26.采纳回答

嗨,

当我查看SAPSetVariable命令时,它看起来像这样

ret = Application.Run(" SAPSetVariable"," 0COUNTRY"," DE"," INPUT_STRING"," DS_1")

当我现在查看您的代码时,我想念" INPUT_STRING"或" KEY"或" TEXT"等,并且您的变量也不正确。 请解决此问题并查看用户指南,然后它应该可以工作。


最诚挚的问候,

Tobias

DafaDDDa
2楼-- · 2020-09-15 01:42

嗨,

您需要刷新,否则API的返回码为0并且不起作用。 看看马丁的文章

https://blogs.sap.com/2015/09/09/best-practices-for-vba-in-sap-bi-analysis-for-ms-excel /

您也可以查看这篇文章:

https://blogs.sap.com/2016/03/21/set-variables-before-first-refresh-using-callbacks-analysis-office-22 /

SAP砖家
3楼-- · 2020-09-15 01:32

感谢Tobias,

我已按照以下说明对其进行了更改,现在代码可以正常运行了。

SetPeriod = Application.Run(" SAPSetVariable"," 0P_FISCYEAR"," 2018," INPUT_STRING"," DS_1")
SetPeriod = Application.Run(" SAPSetVariable"," 0P_FISCPER3"," 6," INPUT_STRING "," DS_1")

是否有一种无需先"刷新"数据即可更新变量的方法,因为这基本上意味着要运行两次报表。

谢谢

一周热门 更多>