Azure Logic Apps から SAP システムに接続するConnect to SAP systems from Azure Logic Apps

重要

以前の SAP アプリケーション サーバーおよび SAP メッセージ サーバー コネクタは、2020 年 2 月 29 日をもって非推奨になりました。The earlier SAP Application Server and SAP Message Server connectors are deprecated on February 29, 2020. 最新の SAP コネクタでは、これらの以前の SAP コネクタが統合されます。そのため、接続の種類を変更する必要がなく、以前のコネクタと完全に互換性があり、多くの追加機能が提供され、SAP .Net コネクタ ライブラリ (SAP NCo) が引き続き使用されます。The current SAP connector consolidates these previous SAP connectors so that you don't have to change the connection type, is fully compatible with previous connectors, provides many additional capabilities, and continues to use the SAP .Net connector library (SAP NCo).

古いコネクタを使用するロジック アプリの場合は、非推奨となる日より前に最新のコネクタに移行してください。For logic apps that use the older connectors, please migrate to the latest connector before the deprecation date. そうしないと、これらのロジック アプリで実行エラーが発生し、SAP システムにメッセージを送信できなくなります。Otherwise, these logic apps will experience execution failures and won't be able to send messages to your SAP system.

この記事では、SAP コネクタを使用して、ロジック アプリ内からご利用のオンプレミス SAP リソースにアクセスする方法を紹介します。This article shows how you can access your on-premises SAP resources from inside a logic app by using the SAP connector. このコネクタは、SAP の従来のリリース (オンプレミスの R/3 や ECC システム) で動作します。The connector works with SAP's classic releases such as R/3 and ECC systems on-premises. また、このコネクタにより、S/4 HANA などのより新しい HANA ベースの SAP システムとの統合も、それらがオンプレミスまたはクラウド内のどちらにホストされているかに関係なく可能になります。The connector also enables integration with SAP's newer HANA-based SAP systems, such as S/4 HANA, whether they're hosted on-premises or in the cloud. この SAP コネクタでは、Intermediate Document (IDoc)、Business Application Programming Interface (BAPI)、または Remote Function Call (RFC) を介して、SAP NetWeaver ベースのシステムとの間のメッセージやデータの統合がサポートされます。The SAP connector supports message or data integration to and from SAP NetWeaver-based systems through Intermediate Document (IDoc), Business Application Programming Interface (BAPI), or Remote Function Call (RFC).

SAP コネクタでは SAP .NET Connector (NCo) ライブラリが使用され、次のようなアクションが行われます。The SAP connector uses the SAP .NET Connector (NCo) library and provides these actions:

  • SAP にメッセージを送信する:SAP システムで、tRFC 経由で IDoc を送信したり、RFC 経由で BAPI 関数を呼び出したり、RFC/tRFC を呼び出したりします。Send message to SAP: Send IDoc over tRFC, call BAPI functions over RFC, or call RFC/tRFC in SAP systems.

  • SAP からメッセージを受信したとき:SAP システムで、tRFC 経由で IDoc を受信したり、tRFC 経由で BAPI 関数を呼び出したり、RFC/tRFC を呼び出したりします。When a message is received from SAP: Receive IDoc over tRFC, call BAPI functions over tRFC, or call RFC/tRFC in SAP systems.

  • スキーマを生成する: IDoc、BAPI、RFC 用に SAP 成果物のスキーマを生成します。Generate schemas: Generate schemas for the SAP artifacts for IDoc, BAPI, or RFC.

これらの操作に対して、SAP コネクタでは、ユーザー名とパスワードを使用した基本認証がサポートされています。For these operations, the SAP connector supports basic authentication through usernames and passwords. また、Secure Network Communications (SNC) もサポートされています。The connector also supports Secure Network Communications (SNC). SNC は、SAP NetWeaver シングル サインオン (SSO) または外部のセキュリティ製品によって提供される追加のセキュリティ機能に対して使用できます。SNC can be used for SAP NetWeaver single sign-on (SSO) or for additional security capabilities provided by an external security product.

この記事では、SAP と統合されるサンプル ロジック アプリを作成する方法と前に説明した統合シナリオを紹介します。This article shows how to create example logic apps that integrate with SAP while covering the previously described integration scenarios. 古い SAP コネクタを使用するロジック アプリについては、この記事ではロジック アプリを最新の SAP コネクタに移行する方法を示します。For logic apps that use the older SAP connectors, this article shows how to migrate your logic apps to the latest SAP connector.

前提条件Prerequisites

この記事に沿って作業を行うには、次の要件を満たす必要があります。To follow along with this article, you need these items:

  • Azure サブスクリプション。An Azure subscription. Azure サブスクリプションがない場合は、無料の Azure アカウントにサインアップしてください。If you don't have an Azure subscription yet, sign up for a free Azure account.

  • SAP システムへのアクセスに使用するロジック アプリとそのロジック アプリのワークフローを開始するトリガー。The logic app from where you want to access your SAP system and a trigger that starts your logic app's workflow. ロジック アプリを初めて使用する場合は、「Azure Logic Apps とは」とクイック スタートの初めてのロジック アプリの作成に関するページを参照してください。If you're new to logic apps, see What is Azure Logic Apps? and Quickstart: Create your first logic app.

  • SAP アプリケーション サーバーまたは SAP メッセージ サーバーYour SAP application server or SAP message server.

  • SAP サーバーに送信できるメッセージの内容 (サンプル IDoc ファイルなど) は、XML 形式である必要があり、使用する SAP アクションの名前空間を含める必要があります。Message content you can send to your SAP server, such as a sample IDoc file, must be in XML format and include the namespace for the SAP action you want to use.

  • [When a message is received from SAP](SAP からメッセージを受信したとき) のトリガーを使用するには、次の設定手順も実行する必要があります。To use the When a message is received from SAP trigger, you also need to perform these setup steps:

    • この設定を使用して、SAP ゲートウェイのセキュリティ アクセス許可を設定します。Set up your SAP gateway security permissions with this setting:

      "TP=Microsoft.PowerBI.EnterpriseGateway HOST=<gateway-server-IP-address> ACCESS=*"

    • SAP ゲートウェイ セキュリティ ログを設定します。これはアクセス制御リスト (ACL) エラーの検出に役立ちます。既定では有効になっていません。Set up your SAP gateway security logging, which helps find Access Control List (ACL) errors and isn't enabled by default. 設定しないと、次のエラーが発生します。Otherwise, you get the following error:

      "Registration of tp Microsoft.PowerBI.EnterpriseGateway from host <host-name> not allowed"

      詳細については、SAP ヘルプ トピック「Setting up gateway logging」(ゲートウェイのログ記録の設定) を参照してください。For more information, see the SAP help topic, Setting up gateway logging.

マルチテナント Azure の前提条件Multi-tenant Azure prerequisites

これらの前提条件は、ロジック アプリがマルチテナント Azure で実行されており、マネージド SAP コネクタを使用する必要がある場合に適用されます。このコネクタは、統合サービス環境 (ISE) でネイティブには実行されません。These prerequisites apply when your logic apps run in multi-tenant Azure, and you want to use the managed SAP connector, which doesn't run natively in an integration service environment (ISE). それ以外の場合、Premium レベルの ISE を使用していて、ISE でネイティブに実行される SAP コネクタを使用する場合は、「統合サービス環境 (ISE) の前提条件」を参照してください。Otherwise, if you're using a Premium-level ISE and want to use the SAP connector that runs natively in the ISE, see Integration service environment (ISE) prerequisites.

マネージド (ISE 以外の) SAP コネクタは、オンプレミスのデータ ゲートウェイを介してオンプレミスの SAP システムと統合されます。The managed (non-ISE) SAP connector integrates with on-premises SAP systems through the on-premises data gateway. たとえば、メッセージの送信シナリオでは、ロジック アプリから SAP システムにメッセージが送信されると、データ ゲートウェイが RFC クライアントとして機能し、ロジック アプリから受信した要求を SAP に転送します。For example, in send message scenarios, when a message is sent from a logic app to an SAP system, the data gateway acts as an RFC client and forwards the requests received from the logic app to SAP. 同様に、メッセージの受信シナリオでは、SAP から要求を受信し、これらをロジック アプリに転送する RFC サーバーとしてデータ ゲートウェイが機能します。Likewise, in receive message scenarios, the data gateway acts as an RFC server that receives requests from SAP and forwards them to the logic app.

統合サービス環境 (ISE) の前提条件Integration service environment (ISE) prerequisites

これらの前提条件は、ロジック アプリを (開発者レベルではなく) Premium レベルの統合サービス環境 (ISE) で実行していて、ISE でネイティブに実行される SAP コネクタを使用する場合に適用されます。These prerequisites apply when your logic apps run in a Premium-level (not Developer-level) integration service environment (ISE), and you want to use the SAP connector that runs natively in an ISE. ISE では、Azure 仮想ネットワークによって保護されているリソースへのアクセスが提供されます。また、オンプレミス データ ゲートウェイを使用せずにロジック アプリからオンプレミスのリソースに直接アクセスできるようにするその他の ISE ネイティブのコネクタが提供されます。An ISE provides access to resources that are protected by an Azure virtual network and offers other ISE-native connectors that let logic apps directly access on-premises resources without using on-premises data gateway.

注意

SAP ISE コネクタは開発者レベルの ISE 内に表示されますが、コネクタをインストールしようとしても成功しません。Although the SAP ISE connector is visible inside a Developer-level ISE, attempts to install the connector won't succeed.

  1. Azure Storage アカウントと BLOB コンテナーをまだお持ちでない場合は、Azure portal または Azure Storage Explorer のいずれかを使用して、そのコンテナーを作成します。If you don't already have an Azure Storage account and a blob container, create that container by using either the Azure portal or Azure Storage Explorer.

  2. ローカル コンピューターに、最新の SAP クライアント ライブラリをダウンロードしてインストールしますDownload and install the latest SAP client library on your local computer. 次のアセンブリ ファイルがあるはずです。You should have the following assembly files:

    • libicudecnumber.dlllibicudecnumber.dll
    • rscp4n.dllrscp4n.dll
    • sapnco.dllsapnco.dll
    • sapnco_utils.dllsapnco_utils.dll
  3. これらのアセンブリを含む .zip ファイルを作成し、Azure Storage 内の BLOB コンテナーにこのパッケージをアップロードします。Create a .zip file that includes these assemblies and upload this package to your blob container in Azure Storage.

  4. Azure portal または Azure Storage Explorer のいずれかで、.zip ファイルをアップロードしたコンテナーの場所を参照します。In either the Azure portal or Azure Storage Explorer, browse to the container location where you uploaded the .zip file.

  5. Shared Access Signature (SAS) トークンが含まれていることを確認して、その場所の URL をコピーします。Copy the URL for that location, making sure that you include the Shared Access Signature (SAS) token.

    それ以外の場合、SAS トークンは承認されず、SAP ISE コネクタのデプロイは失敗します。Otherwise, the SAS token doesn't get authorized, and deployment for the SAP ISE connector will fail.

  6. SAP ISE コネクタを使用するには、まずご利用の ISE にコネクタをインストールしてデプロイする必要があります。Before you can use the SAP ISE connector, you need to install and deploy the connector in your ISE.

    1. Azure portal で、ご利用の ISE を探して開きます。In the Azure portal, find and open your ISE.

    2. ISE のメニューで、 [マネージド コネクタ] > [追加] の順に選択します。On the ISE menu, select Managed connectors > Add. コネクタの一覧で、 [SAP] を探して選択します。From the connectors list, find and select SAP.

    3. [新しいマネージド コネクタの追加] ペインの [SAP パッケージ] ボックスに、SAP アセンブリを含む .zip ファイルの URL を貼り付けます。On the Add a new managed connector pane, in the SAP package box, paste the URL for the .zip file that has the SAP assemblies. SAS トークンが含まれていることを確認します。Make sure that you include the SAS token.

    4. 完了したら [作成] を選択します。When you're done, select Create.

    詳細については、ISE のコネクタの追加に関するページを参照してください。For more information, see Add ISE connectors.

  7. SAP インスタンスと ISE が異なる仮想ネットワークにある場合は、ISE の仮想ネットワークが SAP インスタンスの仮想ネットワークに接続されるように、これらのネットワークをピアリングする必要もあります。If your SAP instance and ISE are in different virtual networks, you also need to peer those networks so that your ISE's virtual network is connected to your SAP instance's virtual network.

SAP クライアント ライブラリの前提条件SAP client library prerequisites

  • .NET Framework 4.0 - Windows 64 ビット (x64) でコンパイルされた Microsoft .NET 3.0.22.0 向けの SAP コネクタ (NCo 3.0) の最新バージョンがインストールされていることを確認します。Make sure that you install the latest version, SAP Connector (NCo 3.0) for Microsoft .NET 3.0.22.0 compiled with .NET Framework 4.0 - Windows 64-bit (x64). 以前のバージョンでは、互換性の問題が発生する可能性があります。Earlier versions can result in compatibility problems. 詳細については、「SAP クライアント ライブラリのバージョン」を参照してください。For more information, see SAP client library versions.

  • 既定では、SAP インストーラーによってアセンブリ ファイルが既定のインストール フォルダーに格納されます。By default, the SAP installer puts the assembly files in the default installation folder. ご自分のシナリオに基づいて、次のように、これらのアセンブリ ファイルを別の場所にコピーする必要があります。You need to copy these assembly files to another location, based on your scenario as follows:

    ISE で実行されているロジック アプリの場合は、統合サービス環境の前提条件に記載されている手順に従います。For logic apps that run in an ISE, follow the steps described in the integration service environment prerequisites. マルチテナント Azure で実行され、オンプレミス データ ゲートウェイを使用するロジック アプリの場合は、アセンブリ ファイルを既定のインストール フォルダーからデータ ゲートウェイのインストール フォルダーにコピーします。For logic apps that run in multi-tenant Azure and use the on-premises data gateway, copy the assembly files from the default installation folder to the data gateway installation folder. データ ゲートウェイで問題が発生した場合は、次のイシューを確認してください。If you run into problems with the data gateway, review the following issues:

    • データ ゲートウェイは 64 ビット システムでのみ実行されるため、SAP クライアント ライブラリの 64 ビット版をインストールする必要があります。You must install the 64-bit version for the SAP client library because the data gateway runs only on 64-bit systems. データ ゲートウェイ ホスト サービスは 32 ビットのアセンブリをサポートしないので、それ以外の場合、"イメージが無効" であることを示すエラーが発生します。Otherwise, you get a "bad image" error because the data gateway host service doesn't support 32-bit assemblies.

    • SAP 接続が失敗し、"お使いのアカウント情報やアクセス許可を確認し、もう一度試してください。" というエラー メッセージが表示された場合は、アセンブリ ファイルが間違った場所にある可能性があります。If your SAP connection fails with the error message "Please check your account info and/or permissions and try again", the assembly files might be in the wrong location. アセンブリ ファイルが、データ ゲートウェイのインストール フォルダーにコピーされていることを確認します。Make sure that you copied the assembly files to the data gateway installation folder.

      トラブルシューティングに役立てるため、.NET アセンブリ バインド ログ ビューアーを使用します。これにより、アセンブリ ファイルが正しい場所にあることを確認できます。To help you troubleshoot, use the .NET assembly binding log viewer, which lets you check that the assembly files are in the correct location. 必要に応じて、SAP クライアント ライブラリをインストールするときに、 [Global Assembly Cache registration](グローバル アセンブリ キャッシュの登録) オプションを選択できます。Optionally, you can select the Global Assembly Cache registration option when you install the SAP client library.

SAP クライアント ライブラリのバージョンSAP client library versions

以前のバージョンの SAP NCo は、複数の IDoc メッセージが同時に送信されるとデッドロック状態に陥ることがあります。Earlier SAP NCo versions might become deadlocked when more than one IDoc message is sent at the same time. この状態になると、以後、SAP の宛先に送信されたすべてのメッセージがブロックされ、メッセージがタイムアウトになります。This condition blocks all later messages that are sent to the SAP destination, which causes the messages to time out.

次に、SAP クライアント ライブラリ、.NET Framework、.NET ランタイム、ゲートウェイの関係を示します。Here are the relationships between the SAP client library, the .NET Framework, the .NET runtime, and the gateway:

  • Microsoft SAP アダプターとデータ ゲートウェイ ホスト サービスでは、どちらも .NET Framework 4.5 が使用されます。Both the Microsoft SAP Adapter and the gateway host service use .NET Framework 4.5.

  • SAP NCo for .NET Framework 4.0 は、.NET ランタイム 4.0 から 4.7.1 を使用するプロセスとの組み合わせで正しく動作します。The SAP NCo for .NET Framework 4.0 works with processes that use .NET runtime 4.0 to 4.7.1.

  • SAP NCo for .NET Framework 2.0 は、.NET ランタイム 2.0 から 3.5 を使用するプロセスで正しく動作しますが、最新のゲートウェイでは動作しなくなりました。The SAP NCo for .NET Framework 2.0 works with processes that use .NET runtime 2.0 to 3.5, but no longer works with the latest gateway.

Secure Network Communications の前提条件Secure Network Communications prerequisites

マルチテナント Azure でのみサポートされているオプションの Secure Network Communications (SNC) でオンプレミス データ ゲートウェイを使用する場合は、次の設定も構成する必要があります。If you use the on-premises data gateway with the optional Secure Network Communications (SNC), which is supported only in multi-tenant Azure, you also need to configure these settings:

  • SNC をシングル サインオン (SSO) で使用する場合は、データ ゲートウェイが、SAP ユーザーに対してマップされたユーザーとして実行されていることを確認してください。If you use SNC with Single Sign On (SSO), make sure the data gateway is running as a user that's mapped against the SAP user. 既定のアカウントを変更するには、 [アカウントを変更] を選択し、ユーザーの資格情報を入力します。To change the default account, select Change account, and enter the user credentials.

    データ ゲートウェイ アカウントを変更する

  • 外部のセキュリティ製品を使用して SNC を有効にする場合は、データ ゲートウェイがインストールされているのと同じコンピューター上に SNC ライブラリまたはファイルをコピーします。If you enable SNC with an external security product, copy the SNC library or files on the same computer where the data gateway is installed. SNC 製品の例をいくつか挙げると、sapseculib、Kerberos、NTLM などがあります。Some examples of SNC products include sapseculib, Kerberos, and NTLM.

データ ゲートウェイに対して SNC を有効にする方法の詳細については、「Secure Network Communications を有効にする」を参照してください。For more information about enabling SNC for the data gateway, see Enable Secure Network Communications.

最新のコネクタに移行するMigrate to current connector

以前のマネージド (ISE 以外の) SAP コネクタから現在のマネージド SAP コネクタに移行するには、次の手順を実行します。To migrate from an earlier managed (non-ISE) SAP connector to the current managed SAP connector, follow these steps:

  1. オンプレミス データ ゲートウェイをまだ更新していない場合は、更新し、最新バージョンを使用するようにしてください。If you haven't done so already, update your on-premises data gateway so that you have the latest version. 詳細については、「Azure Logic Apps 用のオンプレミス データ ゲートウェイのインストール」を参照してください。For more information, see Install an on-premises data gateway for Azure Logic Apps.

  2. 古い SAP コネクタを使用するロジック アプリで、 [SAP に送信する] アクションを削除します。In the logic app that uses the older SAP connector, delete the Send to SAP action.

  3. 最新の SAP コネクタから、 [SAP にメッセージを送信する] アクションを追加します。From the latest SAP connector, add the Send message to SAP action. このアクションを使用する前に、SAP システムへの接続を再作成します。Before you can use this action, recreate the connection to your SAP system.

  4. 完了したら、ロジック アプリを保存します。When you're done, save your logic app.

SAP にメッセージを送信するSend message to SAP

この例では、HTTP 要求でトリガーすることのできるロジック アプリを使用します。This example uses a logic app that you can trigger with an HTTP request. このロジック アプリは、SAP サーバーに IDoc を送信し、そのロジック アプリを呼び出した要求元に応答を返します。The logic app sends an IDoc to an SAP server and returns a response to the requestor that called the logic app.

HTTP 要求トリガーを追加するAdd an HTTP Request trigger

Azure Logic Apps では、すべてのロジック アプリは、必ずトリガーから起動されます。トリガーは、特定のイベントが起こるか特定の条件が満たされたときに発生します。In Azure Logic Apps, every logic app must start with a trigger, which fires when a specific event happens or when a specific condition is met. トリガーが発生するたびに、Logic Apps エンジンによってロジック アプリ インスタンスが作成され、アプリのワークフローが開始されます。Each time the trigger fires, the Logic Apps engine creates a logic app instance and starts running your app's workflow.

注意

ロジック アプリが SAP から IDoc パケットを受信するときに、要求トリガーでは、SAP の WE60 IDoc ドキュメントによって生成される "プレーン" XML スキーマはサポートされません。When a logic app receives IDoc packets from SAP, the request trigger doesn't support the "plain" XML schema generated by SAP's WE60 IDoc documentation. ただし、ロジック アプリから SAP "" メッセージを送信するシナリオでは、"プレーン" XML スキーマがサポートされています。However, the "plain" XML schema is supported for scenarios that send messages from logic apps to SAP. 要求トリガーは SAP の IDoc XML では使用できますが、RFC 経由の IDoc では使用できません。You can use the request trigger with SAP's IDoc XML, but not with IDoc over RFC. または、XML を必要な形式に変換することもできます。Or, you can transform the XML to the necessary format.

この例では、ロジック アプリに "HTTP POST 要求" を送信できるよう、Azure にエンドポイントを持つロジック アプリを作成します。In this example, you create a logic app with an endpoint in Azure so that you can send HTTP POST requests to your logic app. ロジック アプリがこれらの HTTP 要求を受信すると、トリガーが作動してワークフロー内の次のステップが実行されます。When your logic app receives these HTTP requests, the trigger fires and runs the next step in your workflow.

  1. Azure portal で空のロジック アプリを作成し、ロジック アプリ デザイナーを開きます。In the Azure portal, create a blank logic app, which opens the Logic App Designer.

  2. 検索ボックスに、フィルターとして「http request」と入力します。In the search box, enter http request as your filter. [トリガー] の一覧から、 [HTTP 要求の受信時] を選択します。From the Triggers list, select When a HTTP request is received.

    HTTP 要求トリガーの追加

  3. ロジック アプリのエンドポイント URL を生成できるように、ここでロジック アプリを保存します。Now save your logic app so that you can generate an endpoint URL for your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

    次のように、エンドポイントの URL がトリガーに表示されます。The endpoint URL now appears in your trigger, for example:

    エンドポイントの URL の生成

SAP アクションを追加するAdd an SAP action

Azure Logic Apps では、アクションとは、トリガーまたは別のアクションに続くワークフロー内のステップです。In Azure Logic Apps, an action is a step in your workflow that follows a trigger or another action. この例に沿って作業を進める場合、まだロジック アプリにトリガーを追加していない方は、こちらのセクションで説明されているトリガーを追加してください。If you haven't added a trigger to your logic app yet and want to follow this example, add the trigger described in this section.

  1. ロジック アプリ デザイナーで、トリガーの下の [新しいステップ] を選択します。In the Logic App Designer, under the trigger, select New step.

    ロジック アプリに新しいステップを追加する

  2. 検索ボックスに、フィルターとして「sap」と入力します。In the search box, enter sap as your filter. [アクション] の一覧から、 [Send message to SAP](SAP にメッセージを送信する) を選択します。From the Actions list, select Send message to SAP.

    "SAP にメッセージを送信する" アクションを選択する

    または、 [Enterprise] タブを選択し、SAP アクションを選択します。Or, you can select the Enterprise tab, and select the SAP action.

    [Enterprise] タブから "SAP にメッセージを送信する" アクションを選択する

  3. 接続が既に存在する場合は、次の手順に進んで SAP アクションを設定します。If your connection already exists, continue with the next step so you can set up your SAP action. ただし、接続の詳細を確認するメッセージが表示されたら、オンプレミスの SAP サーバーへの接続を作成できるように情報を提供します。However, if you're prompted for connection details, provide the information so that you can create a connection to your on-premises SAP server.

    1. 接続の名前を入力します。Provide a name for the connection.

    2. データ ゲートウェイを使用している場合は、次の手順を実行します。If you're using the data gateway, follow these steps:

      1. [データ ゲートウェイ] セクションの [サブスクリプション] で、まず、データ ゲートウェイのインストールのために Azure portal で作成したデータ ゲートウェイ リソースの Azure サブスクリプションを選択します。In the Data Gateway section, under Subscription, first select the Azure subscription for the data gateway resource that you created in the Azure portal for your data gateway installation.

      2. [接続ゲートウェイ] で、Azure のデータ ゲートウェイ リソースを選択します。Under Connection Gateway, select your data gateway resource in Azure.

    3. 接続に関する情報を引き続き入力します。Continue providing information about the connection. [ログオンの種類] プロパティで、プロパティが [アプリケーション サーバー] または [グループ] のどちらに設定されているかに基づいて、手順に従います。For the Logon Type property, follow the step based on whether the property is set to Application Server or Group:

      • [アプリケーション サーバー] の場合、通常は任意として表示される次のプロパティが必須になります。For Application Server, these properties, which usually appear optional, are required:

        SAP アプリケーション サーバー接続を作成

      • [グループ] の場合、通常は任意として表示される次のプロパティが必須になります。For Group, these properties, which usually appear optional, are required:

        SAP メッセージ サーバー接続を作成

      既定では、厳密な型指定は、スキーマに照らした XML 検証を実行することによって無効な値をチェックするために使用します。By default, strong typing is used to check for invalid values by performing XML validation against the schema. この動作により、問題を初期段階で検出できます。This behavior can help you detect issues earlier. [安全な型指定] オプションは、旧バージョンとの互換性のために使用でき、文字列の長さのみをチェックします。The Safe Typing option is available for backward compatibility and only checks the string length. 詳しくは、[安全な型指定] オプションに関する記事をご覧ください。Learn more about the Safe Typing option.

    4. 完了したら、 [作成] をクリックします。When you're finished, select Create.

      Logic Apps により、接続のセットアップとテストが行われ、適切に機能していることが確認されます。Logic Apps sets up and tests your connection to make sure that the connection works properly.

  4. 次に、SAP サーバーのアクションを検索して選択します。Now find and select an action from your SAP server.

    1. [SAP アクション] ボックスのフォルダー アイコンを選択します。In the SAP Action box, select the folder icon. ファイルの一覧から、使用する SAP メッセージを検索して選択します。From the file list, find and select the SAP message you want to use. 一覧内を移動するには矢印を使用します。To navigate the list, use the arrows.

      この例では、種類が [Orders] の IDoc を選択しています。This example selects an IDoc with the Orders type.

      IDoc アクションを検索して選択

      目的のアクションが見つからない場合は、パスを手動で入力してください。その例を次に示します。If you can't find the action you want, you can manually enter a path, for example:

      IDoc アクションのパスを手動で入力

      ヒント

      式エディターで SAP アクションの値を入力します。Provide the value for SAP Action through the expression editor. これにより、異なる種類のメッセージに対して同じアクションを使用できます。That way, you can use the same action for different message types.

      IDoc の操作の詳細については、「IDOC 操作のメッセージ スキーマ」を参照してください。For more information about IDoc operations, see Message schemas for IDoc operations.

    2. [入力メッセージ] ボックス内をクリックして、動的コンテンツ リストを表示します。Click inside the Input Message box so that the dynamic content list appears. このリストの [HTTP 要求の受信時] で、 [本文] フィールドを選択します。From that list, under When a HTTP request is received, select the Body field.

      このステップで、HTTP 要求トリガーから本文コンテンツが取り込まれ、その出力が SAP サーバーに送信されます。This step includes the body content from your HTTP Request trigger and sends that output to your SAP server.

      トリガーから "本文" プロパティを選択する

      完成した SAP アクションは次の例のようになります。When you're finished, your SAP action looks like this example:

      SAP アクションの完成

  5. ロジック アプリを保存します。Save your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

HTTP 応答アクションを追加するAdd an HTTP response action

ロジック アプリのワークフローに応答アクションを追加し、SAP アクションからの出力を取り込みます。Now add a response action to your logic app's workflow and include the output from the SAP action. こうして SAP サーバーから受け取った結果が、ロジック アプリから要求元に返されます。That way, your logic app returns the results from your SAP server to the original requestor.

  1. ロジック アプリ デザイナーで、SAP アクションの下に表示される [新しいステップ] を選択します。In the Logic App Designer, under the SAP action, select New step.

  2. 検索ボックスに、フィルターとして「response」と入力します。In the search box, enter response as your filter. [アクション] の一覧で、 [応答] を選択します。From the Actions list, select Response.

  3. [本文] ボックス内をクリックして、動的コンテンツ リストを表示します。Click inside the Body box so that the dynamic content list appears. このリストの [Send message to SAP](SAP にメッセージを送信する) で、 [本文] フィールドを選択します。From that list, under Send message to SAP, select the Body field.

    SAP アクションの完成

  4. ロジック アプリを保存します。Save your logic app.

ロジック アプリをテストするTest your logic app

  1. まだロジック アプリが有効になっていない場合は、ロジック アプリのメニューで [概要] を選択します。If your logic app isn't already enabled, on your logic app menu, select Overview. ツールバーで、 [Enable](有効化) を選択します。On the toolbar, select Enable.

  2. デザイナーのツール バーで、 [実行] を選択します。On the designer toolbar, select Run. この手順では、ロジック アプリを手動で起動します。This step manually starts your logic app.

  3. HTTP 要求トリガーの URL に HTTP POST 要求を送信してロジック アプリをトリガーします。Trigger your logic app by sending an HTTP POST request to the URL in your HTTP Request trigger. 要求にメッセージの内容を追加します。Include your message content with your request. 要求は、Postman などのツールを使用して送信することができます。To the send the request, you can use a tool such as Postman.

    この記事の要求で送信するのは IDoc ファイルです。このファイルは XML 形式であること、また、使用する SAP アクションの名前空間を含んでいる必要があります。その例を次に示します。For this article, the request sends an IDoc file, which must be in XML format and include the namespace for the SAP action you're using, for example:

    <?xml version="1.0" encoding="UTF-8" ?>
    <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send">
       <idocData>
          <...>
       </idocData>
    </Send>
    
  4. HTTP 要求を送信したら、ロジック アプリからの応答を待機します。After you send your HTTP request, wait for the response from your logic app.

    注意

    応答に必要なすべての手順が要求タイムアウト制限内に完了しない場合、ロジック アプリがタイムアウトします。Your logic app might time out if all the steps required for the response don't finish within the request timeout limit. この状況に陥ると、要求がブロック状態になります。If this condition happens, requests might get blocked. 問題の診断については、ロジック アプリをチェックしたり監視したりする方法に関するページを参照してください。To help you diagnose problems, learn how you can check and monitor your logic apps.

これで、SAP サーバーとやり取りすることのできるロジック アプリが完成しました。You've now created a logic app that can communicate with your SAP server. ロジック アプリに使用する SAP 接続をセットアップしたら、BAPI や RFC など、他に利用できる SAP アクションを探してみましょう。Now that you've set up an SAP connection for your logic app, you can explore other available SAP actions, such as BAPI and RFC.

SAP からのメッセージの受信Receive message from SAP

この例では、アプリが SAP システムからメッセージを受信するときにトリガーするロジック アプリを使用します。This example uses a logic app that triggers when the app receives a message from an SAP system.

SAP トリガーを追加するAdd an SAP trigger

  1. Azure portal で空のロジック アプリを作成して、ロジック アプリ デザイナーを開きます。In the Azure portal, create a blank logic app, which opens the Logic App Designer.

  2. 検索ボックスに、フィルターとして「sap」と入力します。In the search box, enter sap as your filter. [トリガー] の一覧から、 [When a message is received from SAP](SAP からメッセージを受信したとき) というトリガーを選択します。From the Triggers list, select When a message is received from SAP.

    SAP トリガーを追加する

    または、 [Enterprise] タブを選択し、トリガーを選択します。Or, you can select the Enterprise tab, and then select the trigger:

    [Enterprise] タブから SAP トリガーを追加する

  3. 接続が既に存在する場合は、次の手順に進んで SAP アクションを設定します。If your connection already exists, continue with the next step so you can set up your SAP action. ただし、接続の詳細を確認するメッセージが表示されたら、オンプレミスの SAP サーバーへの接続を今すぐ作成できるように情報を提供します。However, if you're prompted for connection details, provide the information so that you can create a connection to your on-premises SAP server now.

    1. 接続の名前を入力します。Provide a name for the connection.

    2. データ ゲートウェイを使用している場合は、次の手順を実行します。If you're using the data gateway, follow these steps:

      1. [データ ゲートウェイ] セクションの [サブスクリプション] で、まず、データ ゲートウェイのインストールのために Azure portal で作成したデータ ゲートウェイ リソースの Azure サブスクリプションを選択します。In the Data Gateway section, under Subscription, first select the Azure subscription for the data gateway resource that you created in the Azure portal for your data gateway installation.

      2. [接続ゲートウェイ] で、Azure のデータ ゲートウェイ リソースを選択します。Under Connection Gateway, select your data gateway resource in Azure.

    3. 接続に関する情報を引き続き入力します。Continue providing information about the connection. [ログオンの種類] プロパティで、プロパティが [アプリケーション サーバー] または [グループ] のどちらに設定されているかに基づいて、手順に従います。For the Logon Type property, follow the step based on whether the property is set to Application Server or Group:

      • [アプリケーション サーバー] の場合、通常は任意として表示される次のプロパティが必須になります。For Application Server, these properties, which usually appear optional, are required:

        SAP アプリケーション サーバー接続を作成

      • [グループ] の場合、通常は任意として表示される次のプロパティが必須になります。For Group, these properties, which usually appear optional, are required:

        SAP メッセージ サーバー接続を作成

      既定では、厳密な型指定は、スキーマに照らした XML 検証を実行することによって無効な値をチェックするために使用します。By default, strong typing is used to check for invalid values by performing XML validation against the schema. この動作により、問題を初期段階で検出できます。This behavior can help you detect issues earlier. [安全な型指定] オプションは、旧バージョンとの互換性のために使用でき、文字列の長さのみをチェックします。The Safe Typing option is available for backward compatibility and only checks the string length. 詳しくは、[安全な型指定] オプションに関する記事をご覧ください。Learn more about the Safe Typing option.

    4. 完了したら、 [作成] をクリックします。When you're finished, select Create.

      Logic Apps により、接続のセットアップとテストが行われ、適切に機能していることが確認されます。Logic Apps sets up and tests your connection to make sure that the connection works properly.

  4. SAP システム構成に基づいて必須パラメーターを指定します。Provide the required parameters based on your SAP system configuration.

    任意で 1 つまたは複数の SAP アクションを指定できます。You can optionally provide one or more SAP actions. このアクション リストにより、SAP サーバーからトリガーが受信するメッセージが指定されます。This list of actions specifies the messages that the trigger receives from your SAP server. リストが空の場合、トリガーはすべてのメッセージを受信します。An empty list specifies that the trigger receives all messages. リストに複数のメッセージが含まれる場合、リストで指定されているメッセージのみをトリガーは受信します。If the list has more than one message, the trigger receives only the messages specified in the list. SAP サーバーから送信された他のすべてのメッセージは拒否されます。Any other messages sent from your SAP server are rejected.

    SAP アクションはファイル ピッカーから選択できます。You can select an SAP action from the file picker:

    ロジック アプリへの SAP アクションの追加

    あるいは、次のようにアクションを手動で指定できます。Or, you can manually specify an action:

    SAP アクションの手動入力

    複数のメッセージを受信するようにトリガーを設定したときのアクションの表示例を次に示します。Here's an example that shows how the action appears when you set up the trigger to receive more than one message.

    複数のメッセージを受信するトリガーの例

    SAP アクションの詳細については、「IDoc 操作のメッセージ スキーマ」を参照してください。For more information about the SAP action, see Message schemas for IDoc operations

  5. それでは、SAP システムからメッセージを受信できるようにロジック アプリを保存します。Now save your logic app so you can start receiving messages from your SAP system. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

これでロジック アプリは SAP システムからメッセージを受信できます。Your logic app is now ready to receive messages from your SAP system.

注意

SAP トリガーはポーリング トリガーではなく、Webhook ベースのトリガーです。The SAP trigger isn't a polling trigger but is a webhook-based trigger instead. データ ゲートウェイを使用している場合、トリガーはメッセージが存在するときにのみデータ ゲートウェイから呼び出されるため、ポーリングは必要ありません。If you're using the data gateway, the trigger is called from the data gateway only when a message exists, so no polling is necessary.

パラメーターParameters

SAP コネクタは、単純な文字列と数値の入力と共に、次のテーブル パラメーター (Type=ITAB 入力) を受け取ります。Along with simple string and number inputs, the SAP connector accepts the following table parameters (Type=ITAB inputs):

  • 以前の SAP リリースのテーブル方向パラメーター (入力と出力の両方)。Table direction parameters, both input and output, for older SAP releases.
  • パラメーターの変更。これにより、新しい SAP リリースのテーブル方向パラメーターが置き換えられます。Changing parameters, which replace the table direction parameters for newer SAP releases.
  • 階層テーブル パラメーターHierarchical table parameters

ロジック アプリをテストするTest your logic app

  1. ロジック アプリをトリガーするには、SAP システムからメッセージを送信します。To trigger your logic app, send a message from your SAP system.

  2. ロジック アプリのメニューで、 [概要] を選択します。On the logic app menu, select Overview. [実行の履歴] に、ロジック アプリの新しい実行がないか確認します。Review the Runs history for any new runs for your logic app.

  3. 最新の実行を開きます。トリガー出力セクションに SAP システムから送信されたメッセージが表示されます。Open the most recent run, which shows the message sent from your SAP system in the trigger outputs section.

SAP から IDoc パケットを受信するReceive IDoc packets from SAP

IDoc をパケットで送信するように SAP を設定することができます。パケットは、IDoc のバッチまたはグループです。You can set up SAP to send IDocs in packets, which are batches or groups of IDocs. IDoc パケットを受信するには、SAP コネクタ、特にトリガーでは、追加の構成は必要ありません。To receive IDoc packets, the SAP connector, and specifically the trigger, doesn't need extra configuration. ただし、トリガーがパケットを受信した後に IDoc パケット内の各項目を処理するには、パケットを個々の IDoc に分割するためにいくつかの追加の手順が必要になります。However, to process each item in an IDoc packet after the trigger receives the packet, some additional steps are required to split the packet into individual IDocs.

次の例は、xpath() 関数を使用してパケットから個々の IDoc を抽出する方法を示しています。Here's an example that shows how to extract individual IDocs from a packet by using the xpath() function:

  1. 開始する前に、SAP トリガーを使用したロジック アプリが必要です。Before you start, you need a logic app with an SAP trigger. このロジック アプリがまだない場合は、このトピックの前の手順に従って、SAP トリガーを使用したロジック アプリを設定します。If you don't already have this logic app, follow the previous steps in this topic to set up a logic app with an SAP trigger.

    次に例を示します。For example:

    ロジック アプリに SAP トリガーを追加する

  2. ご自身のロジック アプリで SAP から受け取る XML IDoc からルート名前空間を取得します。Get the root namespace from the XML IDoc that your logic app receives from SAP. この名前空間を XML ドキュメントから抽出するには、xpath() 式を使用して、ローカル文字列変数を作成してその名前空間を格納するステップを追加します。To extract this namespace from the XML document, add a step that creates a local string variable and stores that namespace by using an xpath() expression:

    xpath(xml(triggerBody()?['Content']), 'namespace-uri(/*)')

    IDoc からルート名前空間を取得する

  3. 個々の IDoc を抽出するには、別の xpath() 式を使用して、配列変数を作成して IDoc コレクションを格納するステップを追加します。To extract an individual IDoc, add a step that creates an array variable and stores the IDoc collection by using another xpath() expression:

    xpath(xml(triggerBody()?['Content']), '/*[local-name()="Receive"]/*[local-name()="idocData"]')

    項目の配列を取得する

    配列変数を使用すると、コレクションを列挙することによって、各 IDoc をご自身のロジック アプリで個別に処理できるようになります。The array variable makes each IDoc available for your logic app to process individually by enumerating over the collection. この例では、ループを使用して、ロジック アプリで各 IDoc を SFTP サーバーに転送します。In this example, the logic app transfers each IDoc to an SFTP server by using a loop:

    IDoc を SFTP サーバーに送信する

    各 IDoc にはルート名前空間が含まれている必要があります。これは、IDoc をダウンストリーム アプリ (この例では SFTP サーバー) に送信する前に、ファイルの内容がルート名前空間と共に <Receive></Receive 要素内にラップされる理由です。Each IDoc must include the root namespace, which is the reason why the file content is wrapped inside a <Receive></Receive element along with the root namespace before sending the IDoc to the downstream app, or SFTP server in this case.

新しいロジック アプリを作成するときに、ロジック アプリ デザイナーでこのテンプレートを選択することで、このパターンのクイックスタート テンプレートを使用できます。You can use the quickstart template for this pattern by selecting this template in the Logic App Designer when you create a new logic app.

バッチ ロジック アプリ テンプレートを選択する

SAP でアーティファクトのスキーマを生成するGenerate schemas for artifacts in SAP

この例では、HTTP 要求でトリガーすることのできるロジック アプリを使用します。This example uses a logic app that you can trigger with an HTTP request. この SAP アクションにより、指定の IDoc と BAPI 向けのスキーマの生成要求が SAP システムに送信されます。The SAP action sends a request to an SAP system to generate the schemas for specified IDoc and BAPI. 応答で返されたスキーマは、Azure Resource Manager コネクタを使用して、統合アカウントにアップロードされます。Schemas that return in the response are uploaded to an integration account by using the Azure Resource Manager connector.

HTTP 要求トリガーを追加するAdd an HTTP Request trigger

  1. Azure portal で空のロジック アプリを作成して、ロジック アプリ デザイナーを開きます。In the Azure portal, create a blank logic app, which opens the Logic App Designer.

  2. 検索ボックスに、フィルターとして「http request」と入力します。In the search box, enter http request as your filter. [トリガー] の一覧から、 [HTTP 要求の受信時] を選択します。From the Triggers list, select When a HTTP request is received.

    HTTP 要求トリガーの追加

  3. ロジック アプリに使用するエンドポイントの URL を生成するために、ここでロジック アプリを保存します。Now save your logic app so you can generate an endpoint URL for your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

    次のように、エンドポイントの URL がトリガーに表示されます。The endpoint URL now appears in your trigger, for example:

    エンドポイントの URL の生成

スキーマを生成する SAP アクションを追加するAdd an SAP action to generate schemas

  1. ロジック アプリ デザイナーで、トリガーの下の [新しいステップ] を選択します。In the Logic App Designer, under the trigger, select New step.

    ロジック アプリに新しいステップを追加する

  2. 検索ボックスに、フィルターとして「sap」と入力します。In the search box, enter sap as your filter. [アクション] の一覧から [スキーマの生成] を選択します。From the Actions list, select Generate schemas.

    ロジック アプリに "スキーマの生成" アクションを追加する

    または、 [Enterprise] タブを選択し、SAP アクションを選択します。Or, you can select the Enterprise tab, and select the SAP action.

    [Enterprise] タブから SAP 送信アクションを選択する

  3. 接続が既に存在する場合は、次の手順に進んで SAP アクションを設定します。If your connection already exists, continue with the next step so you can set up your SAP action. ただし、接続の詳細を確認するメッセージが表示されたら、オンプレミスの SAP サーバーへの接続を今すぐ作成できるように情報を提供します。However, if you're prompted for connection details, provide the information so that you can create a connection to your on-premises SAP server now.

    1. 接続の名前を入力します。Provide a name for the connection.

    2. [データ ゲートウェイ] セクションの [サブスクリプション] で、まず、データ ゲートウェイのインストールのために Azure portal で作成したデータ ゲートウェイ リソースの Azure サブスクリプションを選択します。In the Data Gateway section, under Subscription, first select the Azure subscription for the data gateway resource that you created in the Azure portal for your data gateway installation.

    3. [接続ゲートウェイ] で、Azure のデータ ゲートウェイ リソースを選択します。Under Connection Gateway, select your data gateway resource in Azure.

    4. 接続に関する情報を引き続き入力します。Continue providing information about the connection. [ログオンの種類] プロパティで、プロパティが [アプリケーション サーバー] または [グループ] のどちらに設定されているかに基づいて、手順に従います。For the Logon Type property, follow the step based on whether the property is set to Application Server or Group:

      • [アプリケーション サーバー] の場合、通常は任意として表示される次のプロパティが必須になります。For Application Server, these properties, which usually appear optional, are required:

        SAP アプリケーション サーバー接続を作成

      • [グループ] の場合、通常は任意として表示される次のプロパティが必須になります。For Group, these properties, which usually appear optional, are required:

        SAP メッセージ サーバー接続を作成

      既定では、厳密な型指定は、スキーマに照らした XML 検証を実行することによって無効な値をチェックするために使用します。By default, strong typing is used to check for invalid values by performing XML validation against the schema. この動作により、問題を初期段階で検出できます。This behavior can help you detect issues earlier. [安全な型指定] オプションは、旧バージョンとの互換性のために使用でき、文字列の長さのみをチェックします。The Safe Typing option is available for backward compatibility and only checks the string length. 詳しくは、[安全な型指定] オプションに関する記事をご覧ください。Learn more about the Safe Typing option.

    5. 完了したら、 [作成] をクリックします。When you're finished, select Create.

      Logic Apps により、接続のセットアップとテストが行われ、適切に機能していることが確認されます。Logic Apps sets up and tests your connection to make sure that the connection works properly.

  4. スキーマを生成するアーティファクトのパスを指定します。Provide the path to the artifact for which you want to generate the schema.

    SAP アクションはファイル ピッカーから選択できます。You can select the SAP action from the file picker:

    SAP アクションの選択

    あるいは、アクションを手動で入力できます。Or, you can manually enter the action:

    SAP アクションの手動入力

    複数のアーティファクトにスキーマを生成するには、次のようにアーティファクトごとに SAP アクション詳細を指定します。To generate schemas for more than one artifact, provide the SAP action details for each artifact, for example:

    新しい項目の追加を選択する

    2 つの項目を表示する

    SAP アクションの詳細については、「IDoc 操作のメッセージ スキーマ」を参照してください。For more information about the SAP action, see Message schemas for IDoc operations.

  5. ロジック アプリを保存します。Save your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

ロジック アプリをテストするTest your logic app

  1. デザイナーのツール バーで [実行] を選択し、ロジック アプリの実行をトリガーします。On the designer toolbar, select Run to trigger a run for your logic app.

  2. 実行を開き、 [スキーマの生成] アクションの出力を確認します。Open the run, and check the outputs for the Generate schemas action.

    出力には、指定のメッセージ リストに対して生成されたスキーマが表示されます。The outputs show the generated schemas for the specified list of messages.

統合アカウントにスキーマをアップロードするUpload schemas to an integration account

任意で、BLOB、ストレージ、統合アカウントなど、リポジトリにある生成済みのスキーマをダウンロードしたり、保存したりできます。Optionally, you can download or store the generated schemas in repositories, such as a blob, storage, or integration account. 統合アカウントの場合、他の XML アクションでこの上ない操作性が与えられます。そこで、この例では、Azure Resource Manager コネクタを使用し、同じロジック アプリ用の統合アカウントにスキーマをアップロードする方法を示します。Integration accounts provide a first-class experience with other XML actions, so this example shows how to upload schemas to an integration account for the same logic app by using the Azure Resource Manager connector.

  1. ロジック アプリ デザイナーで、トリガーの下の [新しいステップ] を選択します。In the Logic App Designer, under the trigger, select New step.

  2. 検索ボックスに、フィルターとして「Resource Manager」と入力します。In the search box, enter Resource Manager as your filter. [Create or update a resource](リソースの作成または更新) を選択します。Select Create or update a resource.

    Azure Resource Manager アクションの選択

  3. Azure サブスクリプション、Azure リソース グループ、統合アカウントなど、アクションの詳細を入力します。Enter the details for the action, including your Azure subscription, Azure resource group, and integration account. フィールドに SAP トークンを追加するには、これらのフィールドのボックス内をクリックし、表示される動的コンテンツ リストから選択します。To add SAP tokens to the fields, click inside the boxes for those fields, and select from the dynamic content list that appears.

    1. [新しいパラメーターの追加] リストを開き、 [Location](場所) および [Properties](プロパティ) フィールドを選択します。Open the Add new parameter list, and select the Location and Properties fields.

    2. 次の例で示すように、これらの新しいフィールドに詳細情報を指定します。Provide details for these new fields as shown in this example.

      Azure Resource Manager アクションの詳細入力

    SAP のスキーマ生成アクションにより、スキーマがコレクションとして生成されます。そのため、デザイナーによって For each ループがアクションに自動的に追加されます。The SAP Generate schemas action generates schemas as a collection, so the designer automatically adds a For each loop to the action. このアクションは次の例のように表示されます。Here's an example that shows how this action appears:

    Azure Resource Manager アクションと "for each" ループ

    注意

    スキーマでは base64 でコード化された形式が使用されます。The schemas use base64-encoded format. 統合アカウントにスキーマをアップロードするには、base64ToString() 関数で複合する必要があります。To upload the schemas to an integration account, they must be decoded by using the base64ToString() function. "properties" 要素のコードは次の例のようになります。Here's an example that shows the code for the "properties" element:

    "properties": {
       "Content": "@base64ToString(items('For_each')?['Content'])",
       "ContentType": "application/xml",
       "SchemaType": "Xml"
    }
    
  4. ロジック アプリを保存します。Save your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

ロジック アプリをテストするTest your logic app

  1. デザイナーのツール バーで [実行] を選択し、ロジック アプリを手動でトリガーします。On the designer toolbar, select Run to manually trigger your logic app.

  2. 実行が成功したら、統合アカウントに移動し、生成されたスキーマが存在することを確認します。After a successful run, go to the integration account, and check that the generated schemas exist.

Secure Network Communications を有効にするEnable Secure Network Communications

開始する前に、前述の前提条件を満たしていることを確認してください。これは、データ ゲートウェイを使用していて、ロジック アプリがマルチテナント Azure で実行されている場合にのみ適用されます。Before you start, make sure that you met the previously listed prerequisites, which apply only when you use the data gateway and your logic apps run in multi-tenant Azure:

  • オンプレミス データ ゲートウェイが、ご利用の SAP システムと同じネットワーク内にあるコンピューターにインストールされていること。Make sure the on-premises data gateway is installed on a computer that's in the same network as your SAP system.

  • シングル サインオン(SSO) の場合、データ ゲートウェイが SAP ユーザーにマップされているユーザーとして実行されている。For Single Sign On (SSO), the data gateway is running as a user that's mapped to an SAP user.

  • 追加のセキュリティ機能を提供する SNC ライブラリが、データ ゲートウェイと同じコンピューターにインストールされている。The SNC library that provides the additional security functions is installed on the same machine as the data gateway. 例をいくつか挙げると、sapseculib、Kerberos、NTLM などがあります。Some examples include sapseculib, Kerberos, and NTLM.

    SAP システムとの間でやりとりされる要求に対して SNC を有効にするには、SAP 接続の [SNC を使用する] チェックボックスを選択し、次のプロパティを指定します。To enable SNC for your requests to or from the SAP system, select the Use SNC check box in the SAP connection and provide these properties:

    接続で SAP SNC を構成する

    プロパティProperty 説明Description
    SNC Library Path (SNC ライブラリ パス)SNC Library Path SNC ライブラリ名、または NCo インストール場所の相対パス、または絶対パスThe SNC library name or path relative to NCo installation location or absolute path. 例として、sapsnc.dll.\security\sapsnc.dll、または c:\security\sapsnc.dll があります。Examples are sapsnc.dll or .\security\sapsnc.dll or c:\security\sapsnc.dll.
    SNC SSOSNC SSO SNC 経由で接続する場合、SNC ID は、通常、呼び出し元を認証するために使用されます。When you connect through SNC, the SNC identity is typically used for authenticating the caller. もう 1 つのオプションは、ユーザーおよびパスワード情報を使用して呼び出し元を認証できるようにオーバーライドすることです。ただし、行は引き続き暗号化されます。Another option is to override so that user and password information can be used for authenticating the caller, but the line is still encrypted.
    SNC の自分の名前SNC My Name ほとんどの場合、このプロパティは省略することができます。In most cases, this property can be omitted. インストールされている SNC ソリューションは、通常、独自の SNC 名を認識しています。The installed SNC solution usually knows its own SNC name. 複数の ID をサポートするソリューションの場合のみ、この特定の宛先またはサーバーに使用される ID の指定が必要になる場合があります。Only for solutions that support multiple identities, you might need to specify the identity to be used for this particular destination or server.
    SNC パートナー名SNC Partner Name バックエンド SNC の名前。The name for the back-end SNC.
    保護の SNC 品質SNC Quality of Protection この特定の宛先またはサーバーの SNC 通信に使用されるサービスの品質。The quality of service to be used for SNC communication of this particular destination or server. 既定値は、バックエンド システムによって定義されます。The default value is defined by the back-end system. 最大値は、SNC のために使用されるセキュリティ製品によって定義されます。The maximum value is defined by the security product used for SNC.

    注意

    データ ゲートウェイと SNC ライブラリが置かれているコンピューター上で、環境変数 SNC_LIB および SNC_LIB_64 は設定しないでください。Don't set the environment variables SNC_LIB and SNC_LIB_64 on the machine where you have the data gateway and the SNC library. 設定した場合、それらが、コネクタを介して渡される SNC ライブラリ値よりも優先されます。If set, they take precedence over the SNC library value passed through the connector.

安全な型指定Safe typing

既定では、SAP 接続を作成するときに、スキーマに照らした XML 検証を実行することによって無効な値をチェックするには、厳密な型指定を使用します。By default, when you create your SAP connection, strong typing is used to check for invalid values by performing XML validation against the schema. この動作により、問題を初期段階で検出できます。This behavior can help you detect issues earlier. [安全な型指定] オプションは、旧バージョンとの互換性のために使用でき、文字列の長さのみをチェックします。The Safe Typing option is available for backward compatibility and only checks the string length. [安全な型指定] を選択すると、SAP の DATS 型と TIMS 型は、対応する XML の xs:datexs:time (xmlns:xs="http://www.w3.org/2001/XMLSchema") ではなく、文字列として扱われます。If you choose Safe Typing, the DATS type and TIMS type in SAP are treated as strings rather than as their XML equivalents, xs:date and xs:time, where xmlns:xs="http://www.w3.org/2001/XMLSchema". 安全な型指定は、すべてのスキーマ生成、"送信済み" ペイロードと "受信済み" 応答の両方のメッセージ送信、およびトリガーの動作に影響します。Safe typing affects the behavior for all schema generation, the send message for both the "been sent" payload and the "been received" response, and the trigger.

厳密な型指定を使用すると ( [安全な型指定] が有効になっていない場合)、スキーマにより DATS 型と TIMS 型がよりわかりやすい XML 型にマップされます。When strong typing is used (Safe Typing isn't enabled), the schema maps the DATS and TIMS types to more straightforward XML types:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true" type="xs:date"/>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true" type="xs:time"/>

厳密な型指定を使用してメッセージを送信する場合、DATS および TIMS 応答は一致する XML 型の形式に準拠します。When you send messages using strong typing, the DATS and TIMS response complies to the matching XML type format:

<DATE>9999-12-31</DATE>
<TIME>23:59:59</TIME>

[安全な型指定] が有効になっている場合は、スキーマにより、DATS 型と TIMS 型は、長さだけ制限された XML 文字列フィールドにマップされます。次に例を示します。When Safe Typing is enabled, the schema maps the DATS and TIMS types to XML string fields with length restrictions only, for example:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="6" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>

[安全な型指定] が有効になっている状態でメッセージを送信した場合、DATS と TIMS の応答は次の例のようになります。When messages are sent with Safe Typing enabled, the DATS and TIMS response looks like this example:

<DATE>99991231</DATE>
<TIME>235959</TIME>

高度なシナリオAdvanced scenarios

トランザクションを明示的に確認するConfirm transaction explicitly

Logic Apps から SAP にトランザクションを送信する場合、この交換は SAP ドキュメントの「Transactional RFC Server Programs」 (トランザクション RFC サーバー プログラム) で説明されている 2 つの手順で行われます。When you send transactions to SAP from Logic Apps, this exchange happens in two steps as described in the SAP document, Transactional RFC Server Programs. 既定では、 [SAP に送信する] アクションで、関数転送とトランザクション確認の両方の手順が 1 回の呼び出しで処理されます。By default, the Send to SAP action handles both the steps for the function transfer and for the transaction confirmation in a single call. SAP コネクタには、これらの手順を分離するオプションが用意されています。The SAP connector gives you the option to decouple these steps. IDoc を送信することができ、トランザクションを自動的に確認するのではなく、明示的な [Confirm transaction ID](トランザクション ID の確認) アクションを使用することができます。You can send an IDoc and rather than automatically confirm the transaction, you can use the explicit Confirm transaction ID action.

トランザクション ID の確認を分離するこの機能は、SAP でトランザクションを複製したくない場合に役立ちます。たとえば、ネットワークの問題などが原因でエラーが発生する可能性のあるシナリオの場合です。This capability to decouple the transaction ID confirmation is useful when you don't want to duplicate transactions in SAP, for example, in scenarios where failures might happen due to causes such as network issues. トランザクション ID を個別に確認することで、トランザクションは SAP システム内で 1 回だけ完了します。By confirming the transaction ID separately, the transaction is only completed one time in your SAP system.

このパターンを示す例を次に示します。Here is an example that shows this pattern:

  1. 空のロジック アプリを作成し、HTTP トリガーを追加します。Create a blank logic app and add an HTTP trigger.

  2. SAP コネクタから、 [Send IDOC](IDOC の送信) アクションを追加します。From the SAP connector, add the Send IDOC action. SAP システムに送信する IDoc の詳細を入力します。Provide the details for the IDoc that you send to your SAP system.

  3. トランザクション ID を別の手順で明示的に確認するには、 [TID の確認] フィールドで [いいえ] を選択します。To explicitly confirm the transaction ID in a separate step, in the Confirm TID field, select No. 省略可能な [トランザクション ID の GUID] フィールドについては、手動で値を指定するか、またはコネクタで自動的に生成し、[IDOC の送信] アクションからの応答でこの GUID が返されるようにすることができます。For the optional Transaction ID GUID field, you can either manually specify the value or have the connector automatically generate and return this GUID in the response from the Send IDOC action.

    [Send IDOC](IDOC の送信) アクションのプロパティ

  4. トランザクション ID を明示的に確認するには、 [Confirm transaction ID](トランザクション ID の確認) アクションを追加します。To explicitly confirm the transaction ID, add the Confirm transaction ID action. [Transaction ID](トランザクション ID) ボックス内をクリックし、動的コンテンツ リストが表示されるようにします。Click inside the Transaction ID box so that the dynamic content list appears. そのリストから、 [Send IDOC](IDOC の送信) アクションから返された [Transaction ID](トランザクション ID) の値を選択します。From that list, select the Transaction ID value that's returned from the Send IDOC action.

    [Transaction ID](トランザクション ID) アクション

    この手順が行われた後、現在のトランザクションは、SAP コネクタ側と SAP システム側の両端で完了としてマークされます。After this step runs, the current transaction is marked complete at both ends, on the SAP connector side and on SAP system side.

既知の問題と制限事項Known issues and limitations

マネージド (ISE 以外の) SAP コネクタに関して現在知られている問題と制限は次のようになります。Here are the currently known issues and limitations for the managed (non-ISE) SAP connector:

  • SAP トリガーでデータ ゲートウェイ クラスターがサポートされない。The SAP trigger doesn't support data gateway clusters. フェールオーバーで、SAP システムと通信するデータ ゲートウェイ ノードがアクティブなノードと異なる場合があり、結果として、予想外の動作が発生します。In some failover cases, the data gateway node that communicates with the SAP system might differ from the active node, which results in unexpected behavior. 送信シナリオの場合、データ ゲートウェイ クラスターがサポートされます。For send scenarios, data gateway clusters are supported.

  • 現在、SAP コネクタは SAP ルーター文字列をサポートしていない。The SAP connector currently doesn't support SAP router strings. オンプレミス データ ゲートウェイは、接続する SAP システムと同じ LAN 上に存在する必要があります。The on-premises data gateway must exist on the same LAN as the SAP system you want to connect.

コネクタのレファレンスConnector reference

コネクタの Swagger ファイルに記述される、トリガー、アクション、制限などのこのコネクタの技術的詳細については、コネクタの参照ページを参照してください。For more technical details about this connector, such as triggers, actions, and limits as described by the connector's Swagger file, see the connector's reference page.

注意

統合サービス環境 (ISE) のロジック アプリの場合、このコネクタの ISE のラベルが付いたバージョンでは、代わりに ISE メッセージ制限が使用されます。For logic apps in an integration service environment (ISE), this connector's ISE-labeled version uses the ISE message limits instead.

次のステップNext steps