简介:在这一系列的博客中,我将探讨如何在Excel和VBA中使用RESTful Raylight Web服务。
上一条:列出使用universe的文档
如何在许多webo文档的数据提供者中更改universe?使用RESTful SDK和Excel!我们在上一章得到了文档列表,我们可以选择要更改的文档。
有关更多信息,数据可视化大屏,请参阅另一个SAP社区的博客。肖恩·彭纳的剧本启发了我,一个很好的阅读建议!
工作流
工作流是:
当然我们必须解析请求的XML,但是如果你关注了博客,它和以前的帖子一样…
看起来我们不必保存文档,但是在4.1 SP7上它对我不起作用,淘客平台,因此,我认为最好强制保存文档。
级别1:登录->对于excel工作表中每个选中的文档,注销这是Excel VBA,我为此编写了一个简单的过程:
级别2:调用url以获取文档的所有数据提供程序,对于每个数据提供程序…
url类似于get:6405/biprws/sl/v1/documents//dataproviders,其中是文档ID。我们在上一篇文章中使用了它。
响应的XML类似于:
我们浏览所有节点,物联网智能水表,并验证dataprovider在universe上是否有dataSourceId。然后我们进入第3级…
您注意到我们并不总是拥有dataSourceId节点。为什么?不确定,但我在迁移时发现了,也许webi丢失了universe id?当然,您可以通过调用另一个url(如:6405/biprws/raylight/v1/documents/12345/dataproviders/DP0)逐个验证所有数据提供者
过程是:
级别3:更改数据提供者…调用另一个url获取默认映射->保存
首先,我们必须获取并验证默认映射的状态。我们称一个url为GET:6405/biprws/sl/v1/documents/12345/dataproviders/mappings?originDataproviderIds=DP0&targetDatasourceId=5387,其中12345是文档ID,大数据问题,DP0是数据提供者ID,targetDatasourceId是我们希望在target中拥有的通用ID。
我们可以同时更改多个数据提供者。例如,我们可以调用url POST/documents/12345/dataproviders/mappings?originDataproviderIds=DP0、DP1和targetDatasourceId=5387
预期的响应如下:
我们必须验证映射节点中的所有状态属性是否为"Ok"。接下来,我们提交更改。很简单,我们在POST(而不是GET)中调用相同的url,并将此响应xml作为请求体。我们必须得到一个响应体,如:
我们验证是否有一个成功的节点。最后我们保存文档,我们调用url PUT:6405/biprws/sl/v1/documents/
最后的VBA程序是:
如何测试:
打开文档,在第一页设置bi4 servername,login,八斗大数据,password,点击按钮刷新列表在sheet liste univers中选择源和目标univers,注意ID(第一列)。在sheet config中输入这些ID,然后(RESTful方法)单击按钮列出文档(REST)(CMS方法)单击按钮列出文档(BO dll)检查liste docs表中要更改的文档(将E列设置为"x")点击按钮更改宇宙
警告:文件已更改,没有回滚!!!
待办事项列表:
提交前备份文件逐个验证所有数据提供程序更改所有数据提供程序后保存文档仅在一个请求中更改所有数据提供程序
附件:Change\u universe\u 1.0。xlsm.zip文件