SAP Data API を使用すると、SAP からデータをアップロードおよびダウンロードできます。この API は Evolve および Studio Manager のために利用可能です。API は、SAP にデータを転記するための JSON ペイロードとその他の詳細 (SAP、実行設定など) を公開します。ROI はすべての環境 (開発、QA、実稼働) で同期されますが、請求は実稼働システムに対してのみ行われます。
SAP Data API は、チェーンおよびマルチ スクリプトをサポートしません。SAP Data API は、単一のトランザクションのみをサポートします。Evolve Web およびサービス ワーカーは GUI スクリプト ベースの Transaction をサポートせず、SAP DataAPI でもサポートされません。固定またはユーザー定義の動的ファイル パスを使用した IN 条件によるクエリはサポートされていません。
必要条件
この機能を使用するための 2 つの前提条件は次のとおりです。
-
Evolve システムで SAP Data API ライセンスをアクティブ化する必要があります。
-
キー SapIntegrationAPIEnable の 値は True に設定する必要があります。
ライセンスが正常にアクティブ化されると、アプリケーションはシステム変数 SapIntegrationAPIEnable も構成し、詳細設定 ([管理] → [システム] → [詳細設定]) で自動的に true に設定します。SAP 機能を無効にするには、この値を false に設定します。
グローバル管理者 のみがライセンスの追加と管理を許可されています。SAP Integration ライセンスは SAP DataAPI に必要なライセンスです。タイプは、サブスクリプション (階層化 - 層バンド) またはサブスクリプション (ボリューム - ボリューム バンド) にすることができます。詳細設定キー SapIntegrationAPIEnable は、ユーザーが有効な SAP Integration ライセンス SKU タイプを持っている場合にのみ有効にできます。SapIntegrationApi は、API ゲートウェイ とそのサポートされている認証メカニズムで保護されています。
Evolve から SAP DataAPI にアクセスできます。Evolve での SAP Data API のソリューションの保存、SAP API 承認設定、および [ソリューション] タブからの SAP API の追加と更新の詳細については、「 Evolve を使用した SAP Data API 」を参照してください。
SAP Data API のスクリプトを作成し、Studio を使用してスクリプトを Evolve に送信できます。詳細については、「Studio を使用した SAP Data API」を参照してください。
API にアクセスするには、ルート プレフィックスが必要です。ルート プレフィックスは、Evolve URL と特定のキーワードの組み合わせです。
Evolve URL の場合、デフォルトのポート番号でない限り、ユーザーはポート番号を指定する必要があります。たとえば、デフォルトのポート 80 に Evolve サイトがある場合、API にアクセスするために以下の両方の Evolve URL を使用できます。
-
http://cha-de-vstpnx1.wsdt.local:80/svr/api/v1/Processextn/GetAllAssignments
-
http://cha-de-vstpnx1.wsdt.local/svr/api/v1/Processextn/GetAllAssignments
3 つのセキュリティ オプションについて、API をヒットするために使用する必要がある次のルート プレフィックスがあります。
クライアント シークレット : “<Evolve URL>/svr”
セキュア トークン : “<Evolve URL>/svr”
証明書 : “<Evolve URL>/svrc”
SAP Data API の場合、ユーザーがソリューションを選択して SAP Data API ソリューションを表示すると、URL は「<BaseURL/GatewayURL>/api/v1/SAPIS」として表示されます。
BaseURL/GatewayURL は ルート プレフィックスです。
BaseURL: Evolve URL
GatewayURL: クライアント シークレットとセキュアトークンは「svr」、証明書は「svrc」です。
リクエストとレスポンスの本文
SAP Data API を使用して SAP からデータをアップロードおよびダウンロードするには、リクエストとレスポンスの本文の構造は次のようになります。
リクエスト:
リクエスト本文には次のものが含まれます。
名前 | タイプ | 制限 | 説明 |
---|---|---|---|
SolutionDetail | JObject | 必須 |
次のパラメータ付きのソリューションに関する情報:
|
RunParameter | JObject | 必須 | SAP で検証/転記されるデータを定義します。フィールドの詳細については、入力ペイロード サンプルを参照してください。定義するデータは、特定の実行ごとに異なります。 |
SapDetails | JObject | 必須 |
次のパラメータ付きのソリューションに関する情報が含まれます。
サード パーティのクライアントを介して API を実行しているときに、プレーン テキストのパスワードがネットワーク呼び出しでトラバースされないように、Evolve ユーザーに対して Evolve で SAP 資格情報または Windows 資格情報を保存することをお勧めします。 |
RequestParameter | JObject | - |
次のパラメータに関する情報が含まれます。
|
Response:
レスポンス本文には次のものが含まれます。
名前 | タイプ | 制限 | 説明 |
---|---|---|---|
RunResponse | JObject | - |
次のパラメータ付きの実行済みの実行に関する情報が含まれます。
|
Error:
エラー本文には次のものが含まれます。
名前 | タイプ | 制限 | 説明 |
---|---|---|---|
エラー仕様の固定配列 | Jarray | - |
次のパラメータ付きの実行済みの実行に関する情報が含まれます。
|
リクエストとレスポンスのサンプル
Transaction の API 仕様
リクエストのサンプル:
ペイロードのリクエスト
{ "SolutionDetail": { "SolutionName": "string", "LibraryName": "string", "AppName": "string" }, "RunParameter": { "Material_Number": "string", "Material_Description__Short_Text_": "string", "Gross_Weight": "0.0", "Net_Weight": "0.0" } , "SapDetails": { "ConnectionName": "string", "EvolveUser": "string", "SAPUser": "string", "SAPPassword": "string", "SAPLanguage": "string", "WindowsCredentials": { "UserName": "string", "Password": "string" } }, "RequestParameter": { "Validate": "bool" } }
レスポンスのサンプル:
ペイロードのレスポンス
{ "RunResponse":{ "Success": "bool", "LogField": "string", "RunResult": { "Base_Unit_of_Measure": "string", "Material_Group": "string", "Weight_Unit": "string" } } }
エラーのサンプル:
ペイロードのエラー
[ { "ErrorCode": "string", "Message": "string", "errorPrameters": [{"string"}] } ]
Query の API 仕様
リクエストのサンプル:
ペイロードのリクエスト
{ "SolutionDetail": { "SolutionName": "string", "LibraryName": "string", "AppName": "string" }, "RunParameter": { "MAKT_Language_Key": { "EqualToOp1": "string" } }, "SapDetails": { "ConnectionName": "string", "EvolveUser": "string", "SAPUser": "string", "SAPPassword": "string", "SAPLanguage": "string", "WindowsCredentials": { "UserName": "string", "Password": "string" } }, "RequestParameter": { "RecordCount": "0", "GetRecordsCountOnly": "bool" } }
レスポンスのサンプル:
ペイロードのレスポンス
{ "RunResponse":{ "Success": "bool", "LogField": "string", "RecordCount": "0", "RunResult": [{ "MARA_Material_Number": "string", "MAKT_Language_Key": "string", "MAKT_Material_Description__Short_Text_": "string", "MARA_Gross_Weight": "string", "MARA_Net_Weight": "string" }] } }
エラーのサンプル:
ペイロードのエラー
[ { "ErrorCode": "string", "Message": "string", "errorPrameters": [{"string"}] } ]