SAP Ariba Procurement

SAP Ariba Procurement 連接器可讓您對 SAP Ariba Procurement 資料執行插入、更新和讀取作業。

支援的版本

這個連接器支援 SAP Ariba Procurement REST API。

事前準備

在 Google Cloud 專案中,執行下列工作:

  • 確認已設定網路連線。詳情請參閱「網路連線」。
  • roles/connectors.admin IAM 角色授予設定連線器的使用者。
  • roles/secretmanager.viewerroles/secretmanager.secretAccessor 身分與存取權管理角色授予要用於連結器的服務帳戶
  • 啟用 secretmanager.googleapis.com (Secret Manager API) 和 connectors.googleapis.com (Connectors API)。 詳情請參閱「啟用服務」。

設定連接器

連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連結,請按照下列步驟操作:

  1. Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「Connections」(連線) 頁面

  2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  3. 在「位置」部分中,完成下列步驟:
    1. 區域:從下拉式清單中選取位置。

      如需所有支援地區的清單,請參閱「位置」一文。

    2. 點選「下一步」
  4. 在「連線詳細資料」部分,完成下列步驟:
    1. 連接器:從可用連接器清單中選取「SAP Ariba Procurement」
    2. 連接器版本:從可用版本清單中選取連接器版本。
    3. 在「連線名稱」欄位中,輸入連線執行個體的名稱。連線名稱可包含小寫英文字母、數字或連字號,名稱開頭須為英文字母,結尾須為英文字母或數字,且長度不得超過 49 個半形字元。
    4. 說明:輸入連線執行個體的說明。
    5. 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為 Error
    6. 服務帳戶:選取具備必要角色的服務帳戶。
    7. ANID:指定 SAP Ariba 網路 ID。
    8. API 金鑰:輸入 OAuth 應用程式金鑰進行驗證。
    9. 領域:輸入連線的 SAP Ariba 領域。
    10. API:輸入 SAP Ariba API,從中擷取資料。
    11. 資料中心:輸入帳戶資料的代管地理位置。
    12. 環境:輸入要連線的 SAP Ariba 環境。
    13. 視需要設定「連線節點設定」

      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連線器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。

    14. + 新增標籤:按一下這個選項,即可為連線新增鍵/值組合形式的標籤。
    15. 點選「下一步」
  5. 在「Authentication」(驗證) 部分,輸入驗證詳細資料。
    1. 選取「驗證類型」,然後輸入相關詳細資料。

      SAP Ariba Procurement 連線支援下列驗證類型:

      • OAuth 2.0 - 用戶端憑證

      如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。

    2. 點選「下一步」
  6. 檢查:檢查連線和驗證詳細資料。
  7. 點選「建立」

設定驗證機制

根據要使用的驗證方式輸入詳細資料。

  • 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 動作,請參閱範例

動作範例

本節說明如何執行這個連接器中的部分動作範例。

範例 - 建立子元素結構定義

  1. Configure connector task 對話方塊中,按一下 Actions
  2. 選取「CreateChildElementSchema」動作,然後按一下「完成」
  3. 在「connectors」任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "ViewTemplateName": "InvoiceReconciliation_SAP_createdRange",
      "ChildElement": "Payments",
      "TableName": "View_LineItems_SplitAccountings"
    }
    
  4. 如果動作成功,連接器工作的 connectorOutputPayload 回應參數值會類似以下內容:

    [
      {
        "FileData": "",
        "Result": "success"
      }
    ]
    

範例 - 建立結構定義

  1. Configure connector task 對話方塊中,按一下 Actions
  2. 選取「CreateSchema」動作,然後按一下「完成」
  3. 在「connectors」任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "TableName": "Views"
    }
    
  4. 如果動作成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    [
      {
        "FileData": "",
        "Result": "success"
      }
    ]
    

實體作業範例

本節說明如何使用這個連接器執行部分實體作業。

範例 - 列出所有訂單

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Orders
  3. 選取「List」作業,然後按一下「完成」
  4. 在「連結器」工作的「工作輸入」部分,您可以根據客戶需求設定 filterClause
  5. 您必須使用單引號 (') 括住 filterClause 的值。您可以使用 filterClause,根據資料欄篩選記錄。

範例 - 列出所有委刊項

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 LineItems
  3. 選取「List」作業,然後按一下「完成」
  4. 連接器工作的「工作輸入」部分,您可以根據客戶需求設定 filterClause

範例 - 取得訂單詳細資料

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Orders
  3. 選取「Get」作業,然後按一下「完成」
  4. 將 entityId 設為「DO240」,這是要傳遞的鍵。如要設定 entityId,請在「資料對應」的「資料對應器」部分,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入 "DO240",並選擇 entityId 做為本機變數。
  5. 您應直接傳遞 entityId 的值,例如「DO240」。其中「DO240」是唯一主鍵值。

    如果因為存在兩個複合鍵而導致傳遞單一 entityId 時發生錯誤,可以使用 filterClause 傳遞值,例如 DocumentNumber='DO240'

範例 - 取得委刊項詳細資料

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 LineItems
  3. 選取「Get」作業,然後按一下「完成」
  4. 將 filterClause 設為 LineNumber='1' AND DocumentNumber='DO240',這是要傳遞的複合鍵。如要設定 filterClause,請在「資料對應」的「資料對應器」專區中,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入 "LineNumber='1' AND DocumentNumber='DO240'",並選擇 filterClause 做為本機變數。

範例 - 建立檢視區塊

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Views
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「資料對應」工作中的「資料對應器」部分,按一下 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
    }
    

範例 - 更新檢視區塊

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Views
  3. 選取「Update」作業,然後按一下「完成」
  4. 在「資料對應」工作的「資料對應器」專區中,按一下 Open Data Mapping Editor,然後在 Input Value 欄位中輸入類似下列的值。
    {
      "Status": "published"
    }
    
  5. 在 Data Mapper 中,將 entityId 設為 Views 的 ID。如要設定 entityId,請按一下 Open Data Mapping Editor,然後在 Input Value 欄位中輸入類似下列的值,並選擇 entityId、connectorInputPayload 或 filterClause 做為本機變數。

    除了指定 entityId,您也可以將 filterClause 設為 TestView = '1754629881645'

    執行這個範例後,連接器工作 connectorOutputPayload 輸出變數會傳回類似下列內容的回應:

    {
    }
    

    回應中的空白 JSON 物件 {} 表示更新作業成功。

向 Google Cloud 社群尋求協助

如要發布問題及討論這個連接器,請前往 Cloud 論壇的 Google Cloud 社群。

後續步驟