BAPI データソース

Virtual DataPort では、SAP BAPI (Business Application Programming Interface) を呼び出して、SAP ERP をはじめとする SAP アプリケーションに保存されているデータを取得できます。

BAPI データソースを作成するには、CREATE DATASOURCE SAPERP ステートメントを使用します。

重要

BAPI データソースを作成する前に、Virtual DataPort が動作しているシステムに SAP Java Connector 3 をインストールする必要があります。実行方法については、インストールガイドの付録「 SAP Java Connector のインストール 」を参照してください。

CREATE DATASOURCE SAPERP ステートメントの構文 (BAPI)
CREATE [ OR REPLACE ] DATASOURCE SAPERP <name:identifier>
    [ FOLDER = <literal> ]
    SYSTEMNAME = <literal>
    [ SAPROUTER = <literal> ]
    [ LANGUAGE = <literal> ]
    <connection type>
    CLIENTID = <literal>
    {
        <credentials>
      | WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> )
    }
    [
        SNC_LIBRARY = <literal>
        SNC_PARTNER_NAME = <literal>
        SNC_QOP = <integer>
    ]
    [
        MAX_ACTIVE = <integer>
        MAX_IDLE = <integer>
        MAX_WAIT = <integer>
        MIN_EVICTABLE_IDLE_TIME = <integer>
        TIME_BETWEEN_EVICTION = <integer>
    ]
    [ TRANSFER_RATE_FACTOR = <double> ]
    [ DESCRIPTION = <literal> ]

<credentials> ::=
  USERNAME = <literal> USERPASSWORD = <literal> [ ENCRYPTED ]

<connection type> ::=
    <direct connection>
  | <logon load balanced connection>

<direct connection> ::=
  HOSTNAME = <literal>
  SYSTEMNUMBER = <literal>

<logon load balanced connection> ::=
    MESSAGE_HOST = <literal>
    [ MESSAGE_SERVICE = <literal> ]
    SID = <literal>
    [ GROUP = <literal> ]

BAPI データソースを変更するには、ALTER DATASOURCE SAPERP ステートメントを使用します。

ALTER DATASOURCE SAPERP ステートメントの構文 (BAPI)
ALTER DATASOURCE SAPERP <name:identifier>
    [ SYSTEMNAME = <literal> ]
    [ HOSTNAME = <literal> ]
    [ MESSAGE_HOST = <literal> ]
    [ MESSAGE_SERVICE = <literal> ]
    [ SID = <literal> ]
    [ GROUP = <literal> ]
    [ CLIENTID = <literal> ]
    [ SYSTEMNUMBER = <literal> ]
    [
      <credentials>
      | WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> )
    ]
    [
        SNC_LIBRARY = <literal>
        SNC_PARTNER_NAME = <literal>
        SNC_QOP = <integer>
    ]
    [
        MAX_ACTIVE = <integer>
        MAX_IDLE = <integer>
        MAX_WAIT = <integer>
        MIN_EVICTABLE_IDLE_TIME = <integer>
        TIME_BETWEEN_EVICTION = <integer>
    ]
    [ TRANSFER_RATE_FACTOR = <double> ]
    [ DESCRIPTION = <literal> ]

この 2 つのコマンドのパラメーターはすべて、SAP インスタンスへのコネクションの詳細情報を参照します。これらのパラメーターの意味の詳細については、管理ガイドの「 BAPI ソース 」を参照してください。

  • SYSTEMNAME: SAP ERP の SAP システム ID。

  • SAPROUTER: SAP ルーターとターゲットサーバー間のルート。

  • USERNAME: データソースにアクセスするために使用されるユーザー名。

  • LANGUAGE: SAP サーバーとの間で確立するコネクションの言語。

  • コネクションタイプ :

    • コネクションタイプが「Direct」の場合、以下の値を入力します。

      • HOSTNAME: SAP が動作しているホスト。

      • SYSTEMNUMBER: 同じホスト上で動作している複数の SAP インスタンスを区別する 2 桁の番号。

    • コネクションタイプが「Logon load balanced」の場合、以下の値を入力します。

      • MESSAGE_HOST: 適切なアプリケーションサーバーを選択するためのデータを提供する SAP サーバーのホスト。

      • MESSAGE_SERVICE: 「SAP メッセージサーバー」がコネクションのために利用するポート。

      • SID: SAP システムのシステム ID。

      • GROUP: SAP アプリケーションサーバーのグループの名前。

  • CLIENTID: クライアントの ID。

  • USERPASSWORD: ユーザーのパスワード。 ENCRYPTED 修飾子は、入力されたパスワードが暗号化されることを示します (このオプションは通常、Denodo エクスポート/インポートプロセスのみで使用されます)。

    WITH PASS-THROUGH SESSION CREDENTIALS 修飾子は、あるユーザーが、このオプションが指定されたデータソースを使用するビューにクエリを実行する場合、Virtual DataPort がこのユーザーの資格情報を使用してデータベースに接続することを意味します。この修飾子では、 USERNAME パラメーターと PASSWORD パラメーターの値は、Administration Tool を使用してこのデータソースから基本ビューを作成する場合のみ使用されます。つまり、SAP に接続して基本ビューの SAP BAPI に関する情報を取得する場合のみです。

    このオプションを使用するデータソースを作成し、Virtual DataPort サーバーへの接続に使用した資格情報とは別の資格情報でそのデータソースのビューにクエリを実行する場合は、 USERNAMEPASSWORD の各パラメーターを CONTEXT に追加します。この 2 つのパラメーターは、 WITH PASS-THROUGH SESSION CREDENTIALS オプションを使用して作成したデータソースの場合 のみ 考慮されます。

    たとえば、 WITH PASS-THROUGH SESSION CREDENTIALS オプションを使用して SAPERP データソースから view1 を作成し、以下を実行するとします。

    SELECT * FROM view1
    CONTEXT(USERNAME = 'admin', PASSWORD = 'd4GvpKA5BiwoGUFrnH92DNq5TTNKWw58I86PVH2tQIs/q1RH9CkCoJj57NnQUlmvgvvVnBvlaH8NFSDM0x5fWCJiAvyia70oxiUWbToKkHl3ztgH1hZLcQiqkpXT/oYd' ENCRYPTED)
    

    Virtual DataPort サーバーは、ユーザーが Virtual DataPort サーバーへの接続に使用した資格情報を無効にし、ユーザー名「admin」とパスワード「password」を使用してビューのデータソースに接続します。

    トークン ENCRYPTED を追加して、必ず暗号化したパスワードを入力する必要があります。パスワードを暗号化するには、 ENCRYPT_PASSWORD コマンドを使用します。以下に例を示します。

    ENCRYPT_PASSWORD 'my_secret_password';
    

    データソースがこのオプションを指定して作成されている場合、Virtual DataPort サーバーでは、ユーザーとパスワードのペアごとにプールが作成されます。当初は、過剰な数のコネクションが作成されないように、これらのプールに存在するコネクションは 1 つのみ (initSize) です。プールごとの最大コネクション数は、 MAXACTIVE パラメーターの値です。

    警告

    パススルー資格情報が有効なデータソースを使用するビューに対してキャッシュを有効にする場合は注意が必要です。このような場合に発生することが考えられる問題については、「データソースをパススルー資格情報を使用して構成する場合の検討事項」を参照してください。

Secure Network Communications (SNC) は、SAP のデフォルトのセキュリティオプションより強力な認証と暗号化のメカニズムを提供します。Virtual DataPort サーバーと SAP の間で SNC を有効にするには、以下のパラメーターを追加します。

  • SNC_LIBRARY: Administration Tool では、データソース構成の [Advanced] タブにおける SAP Cryptographic library フィールドに相当します。

  • SNC_PARTNER_NAME: Partner name フィールドに相当します。

  • SNC_QOP: Security level フィールドに相当します。このパラメーターの値は以下のいずれかになります。

BAPI データソース : SNC_QOP パラメーターの値

SNC_QOP パラメーターの値

セキュリティレベル

1

セキュア認証のみ

2

データ整合性の保護

3

データプライバシーの保護

8

snc/data_protection/use からの値を使用

9

snc/data_protection/max からの値を使用

SAP ERP へのデータソースのコネクションプールを構成するための句 :

  • MAX_ACTIVE: プールに置くことができるアクティブなコネクションの最大数。

  • MAX_IDLE: プールにアイドル状態で置くことができるコネクションの最大数。

  • MAX_WAIT (ミリ秒): プールからコネクションが取得されるまでスレッドが待機する最大時間。この制限に到達すると、そのコネクションをリクエストしたクエリは失敗します。

  • MIN_EVICTABLE_IDLE_TIME (ミリ秒): プールでアイドル状態になっているコネクションが閉じられてプールから削除されるまでの最小時間。

  • TIME_BETWEEN_EVICTION (ミリ秒): Virtual DataPort サーバーは、プールでアイドル状態にあるコネクションを定期的に確認し、それを閉じます。このパラメーターは、この確認が実施される最小間隔を示します。


  • TRANSFER_RATE_FACTOR: Denodo サーバーとデータソース間のネットワーク接続速度の相対的な測定値。従来の 100 Mbps LAN を介してデータソースにアクセス可能な場合は、デフォルト値 (オンプレミスの JDBC データベースの場合は 1) を使用します。より高速なネットワークの場合はより大きな値を、WAN 経由でアクセス可能なデータソースの場合はより小さな値を使用します。

    コストオプティマイザーは、実行計画のコストを評価するときにこの値を使用します。通常はデフォルト値が適正に設定されているため、コストオプティマイザーに精通していないかぎり、このパラメーターは指定しないでください。