Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

The SAPExecuteCommand's Refresh command has some ambiguous return values, as I've previously documented.

I've since discovered a further, related ambiguity regarding the QueryLastRefreshedAt property of the SAPGetSourceInfo.Analysis function.

As a reminder:

The following code will return 1 (Success), regardless of whether the DataSource (DS_1) is already refreshed:

Application.Run("SAPExecuteCommand", "Refresh", "DS_1")

The following code will return the date/time that a DataSource was last refreshed. If the Datasource has not already been refreshed, it returns Error 2042.

Application.Run("SAPGetSourceInfo", "DS_1", "QueryLastRefreshedAt")

So, what happens to the date/time after each subsequent Refresh? It remains the same as the initial refresh date/time....

Dim vLastRefreshed as Variant

Dim vResult as Variant

'DS_1 hasn't been refreshed, vTest will be assigned Error 2042

vLastRefreshed = Application.Run("SAPGetSourceInfo", "DS_1", "QueryLastRefreshedAt")

'First Refresh of DS_1, vResult will be assigned 1

vResult = Application.Run("SAPExecuteCommand", "Refresh", "DS_1")

vLastRefreshed will be assigned the ACTUAL Refresh Date/Time

vLastRefreshed = Application.Run("SAPGetSourceInfo", "DS_1", "QueryLastRefreshedAt")

'Time elapses.....

'Second Refresh of DS_1, vResult will AGAIN, be assigned 1, suggesting that a Refresh actually occurred

vResult = Application.Run("SAPExecuteCommand", "Refresh", "DS_1")

'vLastRefreshed will be assigned the ORIGINAL Refresh Date/Time, suggesting the most recent refresh didn't actually occur

vLastRefreshed = Application.Run("SAPGetSourceInfo", "DS_1", "QueryLastRefreshedAt")

I've experienced this behaviour under SBO 1.4 and Excel 2007, please add your experiences with other versions in the comments...

I'm not sure that this is the desired/expected behaviour of the function, but it's something to watch out for in your code.....

Labels in this area