1

SAP BO ユニバース セマンティック レイヤーの REST API を使用して、特定のユニバースのフォルダーを取得できます。

ここで、ユニバースのデータ ソースの下からメイン テーブルを取得する必要があります。これには SAP の COM SDK を使用する必要があることがわかりましたが、現在は廃止されているとのことです。

上記のものを SAP BO から Java アプリケーションにフェッチする可能性はありますか?

前もって感謝します。

4

1 に答える 1

0

SAP BI Semantic Layer Java SDK APIを試しましたか? 必要なことを正確に行うように見えるgetTables()メソッドが含まれています。

「テーブル」包含参照リストの値を返します。リストの内容はテーブル型です。これは双方向であり、その反対は「データ ファンデーション」です。これは、データ ファンデーションのテーブル名のリストを表します。

戻り値: 「テーブル」包含参照リストの値。

Webi を使用している場合は、RESTful Webi API を使用してデータ プロバイダー情報を取得できます。あなたの場合、データプロバイダーはユニバースです。

  1. まず、データプロバイダーとその IDを取得する必要があります
  2. 次に、この API によってユニバースのクエリ プランを取得します。

    GET /documents/<documentID>/dataproviders/<dataProviderID>/queryplan
    

このユニバースで使用されたテーブル名と列とともにすべての SQL ステートメントを受け取ります。

<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>

RESTful API の開発者ガイドもここにあります。たとえば、これはPowerShellで実行できます。

于 2020-01-20T13:19:19.023 に答える