c# Business Object 列出所有使用 Universe 的报告

c# Business Object list all reports using a Universe

使用 Business Object C# SDK 查询 BO 数据库。我正在尝试列出 所有使用 Universe 的报告。我可以计算 SI_ID、SI_NAME,但不能计算 SI_WEBI 属性,其中包含我的下一个查询的报告 ID。

string boQuery = "SELECT si_id,si_name,si_webi,si_cuid FROM CI_AppObjects WHERE SI_NAME = '#UniverseName' AND SI_KIND = 'Universe'";
InfoStore boInfoStore = new InfoStore(boEnterpriseService);
InfoObjects boInfoObjects = boInfoStore.Query(boQuery);

可以获取 si_webi 个 ID 属性,然后获取所有计算出每个 ID 的报告:

SELECT SI_ID,SI_NAME,SI_KIND FROM CI_INFOOBJECTS WHERE SI_KIND IN ('WEBI', 'FULLCLIENT' ) AND SI_ID = #si_webi_ID

提前致谢

您将必须遍历第一个查询的所有结果以获取 SI_WEBI 属性 的内容,或者将两个步骤合并为一个关系查询:

select si_name 
  from ci_infoobjects 
 where parents("si_name='webi-universe'","si_name='<<universe name>>'")