如何从 SAP BO Universe 数据源中获取表和列?
Posted
技术标签:
【中文标题】如何从 SAP BO Universe 数据源中获取表和列?【英文标题】:How to fetch tables and columns from SAP BO universe Data Source? 【发布时间】:2020-01-20 10:13:05 【问题描述】:我可以使用 SAP BO Universe 语义层的 REST API 获取特定 Universe 的文件夹。
现在我需要从 Universe 的数据源下面获取主表。我发现应该为此使用 SAP 的 COM SDK,但是他们说它现在已被弃用。
是否有可能将上述内容从 SAP BO 获取到我的 Java 应用程序?
提前致谢。
【问题讨论】:
【参考方案1】:你试过SAP BI Semantic Layer Java SDK API吗?它包含 getTables() 方法,似乎完全符合您的需要:
返回“表”包含引用列表的值。列表内容是表格类型。它是双向的,它的对立面是“数据基础”。 这表示数据基础的表名列表。
返回: 'Tables' 包含引用列表的值。
如果你有 Webi,你可以通过 RESTful Webi API 获取数据提供者信息。在您的情况下,数据提供者是宇宙。
-
首先你应该get dataproviders 和他们的ID
然后你get query plan你的宇宙通过这个API
GET /documents/<documentID>/dataproviders/<dataProviderID>/queryplan
并接收所有 SQL 语句以及在此 Universe 中使用的表名和列
<queryplan custom="false" editable="true">
<union>
<fullOuterJoin>
<statement index="1">SELECT 'FY' || to_char(SALES.invoice_date,'yy'),
count(distinct SALES.inv_id) FROM SALES GROUP BY 'FY' ||
to_char(SALES.invoice_date,'yy')</statement>
<statement index="2">SELECT 'FY' || to_char(SALES.invoice_date,'yy'),
sum(INVOICE_LINE.nb_guests) FROM SALES, INVOICE_LINE, SERVICE_LINE,
SERVICE WHERE (SALES.INV_ID=INVOICE_LINE.INV_ID) AND
(INVOICE_LINE.SERVICE_ID=SERVICE.SERVICE_ID) AND
(SERVICE.SL_ID=SERVICE_LINE.SL_ID) AND
(SERVICE_LINE.service_line ='Accommodation')
GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
</fullOuterJoin>
<fullOuterJoin>
<statement index="3">...</statement>
<statement index="4">...</statement>
</fullOuterJoin>
<intersect>
<fullOuterJoin>
<statement index="5">...</statement>
<statement index="6">...</statement>
</fullOuterJoin>
<fullOuterJoin>
<statement index="7">...</statement>
<statement index="8">...</statement>
</fullOuterJoin>
<minus>
<fullOuterJoin>
<statement index="9">...</statement>
<statement index="10">...</statement>
</fullOuterJoin>
<fullOuterJoin>
<statement index="11">...</statement>
<statement index="12">...</statement>
</fullOuterJoin>
</minus>
</intersect>
</union>
</queryplan>
Here is 也是 RESTful API 的开发者指南。例如,可以这样做with PowerShell。
【讨论】:
以上是关于如何从 SAP BO Universe 数据源中获取表和列?的主要内容,如果未能解决你的问题,请参考以下文章
SAP BI/Bo前景怎么样啊,请资深顾问们帮忙分析下哈,小弟在这里谢谢了。。。
SAP BO Information design tool②