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

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

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

この記事では、Azure Data Factory のコピー アクティビティを使用して、SAP Enterprise Central Component (ECC) からデータをコピーする方法について説明します。 詳細については、コピー アクティビティの概要に関するページを参照してください。

ヒント

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

サポートされる機能

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

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

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

ソースまたはシンクとしてサポートされているデータ ストアの一覧については、サポートされるデータ ストアに関する表を参照してください。

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

  • SAP NetWeaver バージョン 7.0 以降上の SAP ECC からのデータのコピー。

  • SAP ECC OData サービスによって公開されているオブジェクトからのデータのコピー。次に例を示します。

    • SAP テーブルまたはビュー。
    • ビジネス アプリケーション プログラミング インターフェイス [BAPI] オブジェクト。
    • データ エクストラクター。
    • 相対アダプター経由で OData として受信できる、SAP Process Integration (PI) に送信されたデータまたは中間ドキュメント (IDOC)。
  • 基本認証を使用したデータのコピー。

バージョン 7.0 以降は、SAP ECC のバージョンではなく SAP NetWeaver のバージョンを指します。 たとえば、一般に SAP ECC 6.0 EHP 7 の NetWeaver バージョンは 7.4 以降です。 お使いの環境が不明な場合に、SAP システムからバージョンを確認する手順を次に示します。

  1. SAP GUI を使用して SAP システムに接続します。
  2. [システム] ->[状態] に移動します。
  3. SAP_BASIS のリリースを調べ、701 以上であることを確認します。
    SAP_BASIS の確認

ヒント

SAP テーブルまたはビューを介して SAP ECC からデータをコピーするには、より高速でスケーラブルな SAP テーブル コネクタを使用します。

前提条件

この SAP ECC コネクタを使用するには、SAP ゲートウェイを通して OData サービス経由で SAP ECC エンティティを公開する必要があります。 具体的には次のとおりです。

  • SAP ゲートウェイを設定します。 バージョン 7.4 より後の SAP NetWeaver があるサーバーでは、SAP ゲートウェイは既にインストールされています。 以前のバージョンの場合、OData サービスを介して SAP ECC データを公開する前に、埋め込み SAP ゲートウェイまたは SAP ゲートウェイ ハブ システムをインストールする必要があります。 SAP ゲートウェイを設定するには、インストール ガイドをご覧ください。

  • SAP OData サービスをアクティブ化して構成します。 OData サービスは TCODE SICF を通じて数秒でアクティブ化できます。 また、どのオブジェクトを公開する必要があるかを構成することもできます。 詳しくは、ステップ バイ ステップ ガイダンスに関する記事をご覧ください。

データ ストアがオンプレ ミスネットワーク、Azure 仮想ネットワーク、または Amazon Virtual Private Cloud 内にある場合は、それに接続するようセルフホステッド統合ランタイムを構成する必要があります。

データ ストアがマネージド クラウド データ サービスである場合は、Azure Integration Runtime を使用できます。 ファイアウォール規則で承認されている IP にアクセスが制限されている場合は、Azure Integration Runtime の IP を許可リストに追加できます。

また、Azure Data Factory のマネージド仮想ネットワーク統合ランタイム機能を使用すれば、セルフホステッド統合ランタイムをインストールして構成しなくても、オンプレミス ネットワークにアクセスすることができます。

Data Factory によってサポートされるネットワーク セキュリティ メカニズムやオプションの詳細については、「データ アクセス戦略」を参照してください。

はじめに

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

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

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

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

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

    SAP ECC コネクタのスクリーンショット。

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

    SAP ECC のリンク サービスの構成のスクリーンショット。

コネクタの構成の詳細

以下のセクションでは、SAP ECC コネクタに固有のエンティティの定義に使用されるプロパティについて詳しく説明します。

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

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

プロパティ 内容 必須
type type プロパティは SapEcc に設定する必要があります。 はい
url SAP ECC OData サービスの URL。 はい
username SAP ECC への接続に使うユーザー名。 いいえ
password SAP ECC への接続に使うプレーンテキスト パスワード。 いいえ
connectVia データ ストアに接続するために使用される統合ランタイム。 詳細については、「前提条件」セクションを参照してください。 ランタイムを指定していない場合、既定の Azure 統合ランタイムが使用されます。 いいえ

{
    "name": "SapECCLinkedService",
    "properties": {
        "type": "SapEcc",
        "typeProperties": {
            "url": "<SAP ECC OData URL, e.g., http://eccsvrname:8000/sap/opu/odata/sap/zgw100_dd02l_so_srv/>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        }
    },
    "connectVia": {
        "referenceName": "<name of integration runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

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

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

SAP ECC からデータをコピーするには、データセットの type プロパティを SapEccResource に設定します。

次のプロパティがサポートされています。

プロパティ 内容 必須
path SAP ECC OData エンティティのパス。 はい

{
    "name": "SapEccDataset",
    "properties": {
        "type": "SapEccResource",
        "typeProperties": {
            "path": "<entity path, e.g., dd04tentitySet>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP ECC linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

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

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

ソースとしての SAP ECC

SAP ECC からデータをコピーするには、コピー アクティビティの source セクション内の type プロパティを SapEccSource に設定します。

コピー アクティビティの source セクションでは、次のプロパティがサポートされます。

プロパティ 内容 必須
type コピー アクティビティの source セクションの type プロパティは SapEccSource を設定する必要があります。 はい
query データをフィルター処理するための OData クエリ オプション。 次に例を示します。

"$select=Name,Description&$top=10"

SAP ECC コネクタは、次の結合された URL からデータをコピーします。

<URL specified in the linked service>/<path specified in the dataset>?<query specified in the copy activity's source section>

詳細については、OData の URL コンポーネントに関するページを参照してください。
いいえ
sapDataColumnDelimiter 出力データを分けるために SAP RFC に渡される、区切り記号として使用される 1 文字。 いいえ
httpRequestTimeout HTTP 要求が応答を取得する際のタイムアウト (TimeSpan 値)。 この値は、応答データの読み取りのタイムアウトではなく、応答の取得のタイムアウトです。 指定しない場合は、既定値の 00:30:00 (30 分) が使用されます。 いいえ

"activities":[
    {
        "name": "CopyFromSAPECC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SAP ECC input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SapEccSource",
                "query": "$top=10"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

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

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

OData のデータ型 中間サービス データ型
Edm.Binary String
Edm.Boolean Bool
Edm.Byte String
Edm.DateTime DateTime
Edm.Decimal Decimal
Edm.Double Double
Edm.Single Single
Edm.Guid String
Edm.Int16 Int16
Edm.Int32 Int32
Edm.Int64 Int64
Edm.SByte Int16
Edm.String String
Edm.Time TimeSpan
Edm.DateTimeOffset DateTimeOffset

注意

複合データ型は現時点ではサポートされていません。

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

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

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