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)。 詳情請參閱「啟用服務」。

設定連接器

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

  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 社群。

後續步驟