Azure Data Factory または Synapse Analytics を使用して SAP Business Warehouse からデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

この記事では、Azure Data Factory および Synapse Analytics パイプラインでコピー アクティビティを使用して、SAP Business Warehouse (BW) からデータをコピーする方法の概要を説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。

ヒント

SAP データ統合シナリオでのサービスの全体的なサポートについては、各 SAP コネクタの詳細な説明、比較、ガイダンスが含まれた、Azure Data Factory を使用した SAP データ統合に関するホワイトペーパーを参照してください。

サポートされる機能

この SAP Business Warehouse コネクタは、次の機能でサポートされます。

サポートされる機能 IR
Copy アクティビティ (ソース/-) 1
Lookup アクティビティ 1

① Azure 統合ランタイム ② セルフホステッド統合ランタイム

コピー アクティビティによってソースまたはシンクとしてサポートされているデータ ストアの一覧については、サポートされているデータ ストアに関する記事の表をご覧ください。

具体的には、この SAP Business Warehouse コネクタは以下をサポートします。

  • SAP Business Warehouse バージョン 7.x
  • MDX クエリを使用した、InfoCubes および QueryCubes (BEx クエリなど) からのデータのコピー。
  • 基本認証を使用したデータのコピー。

注意

SAP Business Warehouse コネクタでは現在、MDX パラメーターを利用できません。 MDX パラメーターを使用したフィルター処理が必要な場合、代わりに代替 SAP Open Hub コネクタの使用を検討してください。

前提条件

この SAP Business Warehouse コネクタを使用するには、次の作業を行う必要があります。

  • セルフホステッド統合ランタイムをセットアップする。 詳細については、セルフホステッド統合ランタイムに関する記事をご覧ください。
  • SAP NetWeaver ライブラリを統合ランタイム コンピューターにインストールします。 SAP Netweaver ライブラリは SAP 管理者から入手します。また、SAP ソフトウェアのダウンロード センターから直接取得することもできます。 最新のバージョンをダウンロードできる場所は、"SAP Note #1025361" を検索して確認してください。 Integration Runtime のインストールに一致する 64 ビット SAP NetWeaver ライブラリが選択されていることを確認します。 SAP Note に従って、SAP NetWeaver RFC SDK に含まれるすべてのファイルをインストールします。 SAP NetWeaver ライブラリは、SAP Client Tools のインストールにも含まれます。

ヒント

SAP BW に関する接続の問題をトラブルシューティングするには、次のことを確認してください。

  • NetWeaver RFC SDK から抽出された依存関係のライブラリはすべて、%windir%\system32 フォルダーにあります。 通常、ここには icudt34.dll、icuin34.dll、icuuc34.dll、libicudecnumber.dll、librfc32.dll、libsapucum.dll、sapcrypto.dll、sapcryto_old.dll、sapnwrfc.dll が含まれています。
  • 必要なポートは、セルフホステッド IR マシン上で有効にされた SAP サーバーに接続するために使用されます。通常、これらはポート 3300 と 3201 です。

作業の開始

パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。

UI を使用して SAP BW のリンク サービスを作成する

次の手順を使用して、Azure portal UI で SAP BW のリンク サービスを作成します。

  1. Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンクされたサービス] を選択して、[新規] をクリックします。

  2. SAP を検索し、SAP BW via MDX コネクタを選択します。

    Select the SAP BW via MDX connector.

  3. サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。

    Configure a linked service to SAP BW.

コネクタの構成の詳細

以下のセクションでは、SAP Business Warehouse コネクタに固有の Data Factory エンティティを定義するために使用されるプロパティの詳細を説明します。

リンクされたサービスのプロパティ

SAP Business Warehouse (BW) のリンクされたサービスでは、次のプロパティがサポートされます。

プロパティ Description 必須
type type プロパティは、次のように設定する必要があります:SapBw はい
server SAP BW インスタンスが存在するサーバーの名前。 はい
systemNumber SAP BW システムのシステムの数。
使用できる値: 文字列として表される 2 桁の 10 進数。
はい
clientId SAP BW システム内のクライアントのクライアント ID。
使用できる値: 文字列として表される 3 桁の 10 進数。
はい
userName SAP サーバーにアクセスできるユーザーの名前。 はい
password ユーザーのパスワード。 このフィールドを SecureString とマークして安全に保存するか、Azure Key Vault に保存されているシークレットを参照します。 はい
connectVia データ ストアに接続するために使用される統合ランタイム。 「前提条件」に記されているように、セルフホステッド統合ランタイムが必要です。 はい

例:

{
    "name": "SapBwLinkedService",
    "properties": {
        "type": "SapBw",
        "typeProperties": {
            "server": "<server name>",
            "systemNumber": "<system number>",
            "clientId": "<client id>",
            "userName": "<SAP user>",
            "password": {
                "type": "SecureString",
                "value": "<Password for SAP user>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

データセットのプロパティ

データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。 このセクションでは、SAP BW データセット でサポートされるプロパティの一覧を示します。

SAP BW からデータをコピーするには、データセットの type プロパティを SapBwCube に設定します。 しかるに、RelationalTable 型の SAP BW データセットに対して、サポートされている型固有のプロパティはありません。

例:

{
    "name": "SAPBWDataset",
    "properties": {
        "type": "SapBwCube",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP BW linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

RelationalTable 型のデータセットを使用していた場合、現状のまま引き続きサポートされますが、今後は新しいものを使用することをお勧めします。

コピー アクティビティのプロパティ

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、SAP BW ソースでサポートされるプロパティの一覧を示します。

ソースとしての SAP BW

SAP BW からデータをコピーするために、コピー アクティビティの source セクションでは次のプロパティがサポートされています。

プロパティ Description 必須
type コピー アクティビティのソースの type プロパティは、次のように設定する必要があります:SapBwSource はい
query SAP BW インスタンスからデータを読み取る MDX クエリを指定します。 はい

例:

"activities":[
    {
        "name": "CopyFromSAPBW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SAP BW input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SapBwSource",
                "query": "<MDX query for SAP BW>"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

RelationalSource 型のソースを使用していた場合は現状のまま引き続きサポートされますが、今後は新しいものを使用することをお勧めします。

SAP BW のデータ型マッピング

SAP BW からデータをコピーするとき、SAP BW のデータ型からサービス内で内部的に使用される中間データ型への、以下のマッピングが使用されます。 コピー アクティビティでソースのスキーマとデータ型がシンクにマッピングされるしくみについては、スキーマとデータ型のマッピングに関する記事を参照してください。

SAP BW データ型 中間サービス データ型
ACCP int
CHAR String
CLNT String
CURR Decimal
CUKY String
DEC Decimal
FLTP Double
INT1 Byte
INT2 Int16
INT4 int
LANG String
LCHR String
LRAW Byte[]
PREC Int16
QUAN Decimal
RAW Byte[]
RAWSTRING Byte[]
STRING String
UNIT String
DATS String
NUMC String
TIMS String

Lookup アクティビティのプロパティ

プロパティの詳細については、Lookup アクティビティに関するページを参照してください。

Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。