SAP Ariba Procurement
SAP Ariba Procurement 連接器可讓您對 SAP Ariba Procurement 資料執行插入、更新和讀取作業。
支援的版本
這個連接器支援 SAP Ariba Procurement REST API。
事前準備
在 Google Cloud 專案中,執行下列工作:
- 確認已設定網路連線。詳情請參閱「網路連線」。
- 將 roles/connectors.admin IAM 角色授予設定連線器的使用者。
- 將
roles/secretmanager.viewer和roles/secretmanager.secretAccessor身分與存取權管理角色授予要用於連結器的服務帳戶 - 啟用
secretmanager.googleapis.com(Secret Manager API) 和connectors.googleapis.com(Connectors API)。 詳情請參閱「啟用服務」。
設定連接器
連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連結,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分中,完成下列步驟:
- 區域:從下拉式清單中選取位置。
如需所有支援地區的清單,請參閱「位置」一文。
- 點選「下一步」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分,完成下列步驟:
- 連接器:從可用連接器清單中選取「SAP Ariba Procurement」。
- 連接器版本:從可用版本清單中選取連接器版本。
- 在「連線名稱」欄位中,輸入連線執行個體的名稱。連線名稱可包含小寫英文字母、數字或連字號,名稱開頭須為英文字母,結尾須為英文字母或數字,且長度不得超過 49 個半形字元。
- 說明:輸入連線執行個體的說明。
- 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為
Error。 - 服務帳戶:選取具備必要角色的服務帳戶。
- ANID:指定 SAP Ariba 網路 ID。
- API 金鑰:輸入 OAuth 應用程式金鑰進行驗證。
- 領域:輸入連線的 SAP Ariba 領域。
- API:輸入 SAP Ariba API,從中擷取資料。
- 資料中心:輸入帳戶資料的代管地理位置。
- 環境:輸入要連線的 SAP Ariba 環境。
- 視需要設定「連線節點設定」:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連線器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。
- + 新增標籤:按一下這個選項,即可為連線新增鍵/值組合形式的標籤。
- 點選「下一步」。
-
在「Authentication」(驗證) 部分,輸入驗證詳細資料。
- 選取「驗證類型」,然後輸入相關詳細資料。
SAP Ariba Procurement 連線支援下列驗證類型:
- OAuth 2.0 - 用戶端憑證
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
- 點選「下一步」。
- 選取「驗證類型」,然後輸入相關詳細資料。
- 檢查:檢查連線和驗證詳細資料。
- 點選「建立」。
設定驗證機制
根據要使用的驗證方式輸入詳細資料。
-
OAuth 2.0 - 用戶端憑證
- 「Client ID」(用戶端 ID):輸入您所建立應用程式的用戶端 ID。
- 用戶端密鑰:輸入 Secret Manager 密鑰,內含您建立的連結應用程式用戶端密鑰。
- 密鑰版本:選取用戶端密鑰的密鑰版本。
- 啟用驗證覆寫:啟用此選項可覆寫驗證。
連線設定範例
本節列出您在建立連線時設定的各個欄位範例值。
OAuth 2.0 - 用戶端憑證連線類型
| 欄位名稱 | 詳細資料 |
|---|---|
| 位置 | europe-west1 |
| 連接器 | SAP Ariba Procurement |
| 連接器版本 | 1 |
| 連線名稱 | gcp-sapariba-procurement-po-supplier |
| 啟用 Cloud Logging | 是 |
| 服務帳戶 | my-service-account@my-project.iam.gserviceaccount.com |
| 記錄檔層級 | 偵錯 |
| ANID | AN11234322444-T |
| API 金鑰 | gaTawAf8m3gtAs8gPyUbU9Be1eLXbvFq |
| 運作範圍 | 745628447-T |
| API | PurchaseOrdersSupplierAPI-V1 |
| 資料中心 | 美國 |
| 環境 | 測試 |
| 節點數量下限 | 2 |
| 節點數量上限 | 50 |
| 驗證 | OAuth 2.0 - 用戶端憑證 |
| 用戶端 ID | 4c71c4d4-d7e9-494e-807f-9dead41abc6f |
| 用戶端密鑰 | projects/617888503870/secrets/AribaProcurement/versions/10 |
| 密鑰版本 | 10 |
系統限制
SAP Ariba Procurement 連接器每秒最多可處理 3 筆交易,每個節點也是如此,超過此限制的交易都會受到節流。根據預設,整合連接器會為連線分配 2 個節點 (提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。
在整合中建立 SAP Ariba Procurement 連線
建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過連接器工作使用連線。
- 如要瞭解如何在 Apigee Integration 中建立及使用連線器工作,請參閱「連線器工作」。
- 如要瞭解如何在 Application Integration 中建立及使用連接器工作,請參閱連接器工作。
動作
本節說明如何在這個連接器中執行部分動作。
CreateChildElementSchema 動作
這項動作會為檢視範本中的文件陣列建立結構定義檔案。
CreateChildElementSchema 動作的輸入參數
| 參數名稱 | 類型 | 接受輸出串流 | 說明 |
|---|---|---|---|
| ViewTemplateName | 字串 | 否 | 現有檢視畫面範本的名稱。 |
| ChildElement | 字串 | 否 | 檢視範本中的子項元素或文件陣列 (以點表示法表示),例如 LineItems.SplitAccountings。 |
| 資料表名稱 | 字串 | 否 | 新資料表的名稱,例如 View_LineItems_SplitAccountings。 |
| FileName | 字串 | 否 | 所產生結構定義的檔案名稱。可以是相對路徑或絕對路徑,指向所需儲存位置。 |
| FileStream | 字串 | 是 | 檔案資料寫入的輸出串流例項。 |
如要瞭解如何設定 CreateChildElementSchema 動作,請參閱範例。
CreateSchema 動作
為指定資料表或檢視區塊建立結構定義檔。
CreateSchema 動作的輸入參數
| 參數名稱 | 類型 | 接受輸出串流 | 說明 |
|---|---|---|---|
| 資料表名稱 | 字串 | 否 | 新資料表的名稱。 |
| FileName | 字串 | 否 | 所產生結構定義的檔案名稱。可以是相對路徑或絕對路徑,指向所需儲存位置。 |
| FileStream | 字串 | 否 | 檔案資料寫入的輸出串流例項。 |
如要瞭解如何設定 CreateSchema 動作,請參閱範例。
動作範例
本節說明如何執行這個連接器中的部分動作範例。
範例 - 建立子元素結構定義
- 在
Configure connector task對話方塊中,按一下Actions。 - 選取「
CreateChildElementSchema」動作,然後按一下「完成」。 - 在「connectors」任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload,然後在Default Value欄位中輸入類似下列的值:{ "ViewTemplateName": "InvoiceReconciliation_SAP_createdRange", "ChildElement": "Payments", "TableName": "View_LineItems_SplitAccountings" }
如果動作成功,連接器工作的 connectorOutputPayload 回應參數值會類似以下內容:
[
{
"FileData": "",
"Result": "success"
}
]
範例 - 建立結構定義
- 在
Configure connector task對話方塊中,按一下Actions。 - 選取「
CreateSchema」動作,然後按一下「完成」。 - 在「connectors」任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload,然後在Default Value欄位中輸入類似下列的值:{ "TableName": "Views" }
如果動作成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:
[
{
"FileData": "",
"Result": "success"
}
]
實體作業範例
本節說明如何使用這個連接器執行部分實體作業。
範例 - 列出所有訂單
- 在
Configure connector task對話方塊中,按一下Entities。 - 從
Entity清單中選取Orders。 - 選取「
List」作業,然後按一下「完成」。 - 在「連結器」工作的「工作輸入」部分,您可以根據客戶需求設定 filterClause。
您必須使用單引號 (') 括住 filterClause 的值。您可以使用 filterClause,根據資料欄篩選記錄。
範例 - 列出所有委刊項
- 在
Configure connector task對話方塊中,按一下Entities。 - 從
Entity清單中選取LineItems。 - 選取「
List」作業,然後按一下「完成」。 - 在連接器工作的「工作輸入」部分,您可以根據客戶需求設定 filterClause。
範例 - 取得訂單詳細資料
- 在
Configure connector task對話方塊中,按一下Entities。 - 從
Entity清單中選取Orders。 - 選取「
Get」作業,然後按一下「完成」。 - 將 entityId 設為「DO240」,這是要傳遞的鍵。如要設定 entityId,請在「資料對應」的「資料對應器」部分,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入
"DO240",並選擇 entityId 做為本機變數。
您應直接傳遞 entityId 的值,例如「DO240」。其中「DO240」是唯一主鍵值。
如果因為存在兩個複合鍵而導致傳遞單一 entityId 時發生錯誤,可以使用 filterClause 傳遞值,例如 DocumentNumber='DO240'。
範例 - 取得委刊項詳細資料
- 在
Configure connector task對話方塊中,按一下Entities。 - 從
Entity清單中選取LineItems。 - 選取「
Get」作業,然後按一下「完成」。 - 將 filterClause 設為
LineNumber='1' AND DocumentNumber='DO240',這是要傳遞的複合鍵。如要設定 filterClause,請在「資料對應」的「資料對應器」專區中,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入"LineNumber='1' AND DocumentNumber='DO240'",並選擇 filterClause 做為本機變數。
範例 - 建立檢視區塊
- 在
Configure connector task對話方塊中,按一下Entities。 - 從
Entity清單中選取Views。 - 選取「
Create」作業,然後按一下「完成」。 - 在「資料對應」工作中的「資料對應器」部分,按一下
Open Data Mapping Editor,然後在Input Value欄位中輸入類似下列的值,並選擇 entityId、connectorInputPayload 或 filterClause 做為本機變數。{ "ViewTemplateName": "TestView1754629881645", "Status": "published", "FilterExpressions": "[{\"name\":\"ExampleFilter\",\"field\":\"UniqueName\",\"op\":\"IN\",\"defaultValue\":[\"P011\"]}]", "DocumentType": "DirectOrder", "SelectAttributes": "[\"SubmitDate\"]" }執行這個範例後,連接器工作
connectorOutputPayload輸出變數會傳回類似下列內容的回應:{ "Success": true }
範例 - 更新檢視區塊
- 在
Configure connector task對話方塊中,按一下Entities。 - 從
Entity清單中選取Views。 - 選取「
Update」作業,然後按一下「完成」。 - 在「資料對應」工作的「資料對應器」專區中,按一下
Open Data Mapping Editor,然後在Input Value欄位中輸入類似下列的值。{ "Status": "published" } - 在 Data Mapper 中,將 entityId 設為 Views 的 ID。如要設定 entityId,請按一下
Open Data Mapping Editor,然後在Input Value欄位中輸入類似下列的值,並選擇 entityId、connectorInputPayload 或 filterClause 做為本機變數。除了指定 entityId,您也可以將 filterClause 設為
TestView = '1754629881645'。執行這個範例後,連接器工作
connectorOutputPayload輸出變數會傳回類似下列內容的回應:{ }回應中的空白 JSON 物件
{}表示更新作業成功。