Google Cloud Platform (GCP) 提供廣泛的人工智慧 (AI) 和機器學習 (ML) 產品,可協助企業自動化任務、改善決策和個人化體驗。其中一種 GCP 產品是 BigQuery 機器學習 (ML) 模型,它支援各種用例,例如 運行預測 和 需求預測 。在這篇文章中,我們將探討客戶如何使用適用 於 Google Cloud 的 ABAP SDK(Google Cloud SDK的新增功能)從其 SAP 環境中本地使用 BigQuery ML 模型的預測 。
問題陳述
一家新的線上零售商使用 SAP 來輸入和處理客戶訂單。零售商希望優化和簡化訂單履行流程。具體來說,零售商希望在以下選項中選擇最具成本效益的「訂單路由」選項:
- 從自己的倉庫履行
- 轉寄給 3PL 合作夥伴
- OEM 製造商/供應商直接出貨
該決定取決於多種因素,例如:
- 該商品是否在自有倉庫有庫存
- 訂單的交貨日期是哪一天
- 與每個選項相關的運輸距離和成本
- 客戶類別-企業、小型企業等。
想像一下,訂單處理專家篩選多個資料集並執行複雜的查詢來決定最佳訂單路由。這將是一個繁瑣的過程,通常會導致錯誤、營運成本增加以及客戶不滿意。
在下面的部分中,我們將探討零售商如何使用 BigQuery ML 和 Google Cloud 的 ABAP SDK來解決此問題。
商業衝擊
透過使用適用於 Google Cloud 的 ABAP SDK 實施以下解決方案,零售商可以實現以下效率。
- 由於 BigQuery ML 模型,手動審核過程將減少,該模型將完成預測訂單路由的繁重工作。
- 經過持續訓練的模型將提供更準確且更具成本效益的預測,從而降低營運成本。
- 透過考慮交貨日期,該模型將確保訂單按時交貨,從而提高客戶滿意度。
設定 BigQuery ML
如果您是 BigQuery 新手,請花點時間熟悉一下:
建立資料集並準備就緒後,即可將資料載入到 BigQuery。然後,只需 2 個 SQL 命令,零售商就可以建立和訓練 ML 模型,並在其資料集上執行「訂單路由預測」。隨著新資料載入到 BigQuery,模型會不斷接受訓練以提供更好的預測。
解決方案概述
在 GCP 中設定 BigQuery ML 模型後,零售商的 ABAP 開發人員可以使用適用 於 Google Cloud 的 ABAP SDK 來:
- 使用 Pub/Sub 將資料載入到 BigQuery,以及
- 使用 BigQuery ML 模型讀取預測,
所有這些都來自 SAP 環境並使用他們熟悉的程式語言 — SAP ABAP。
詳細步驟
在下面的部分中,我們將深入探討 GCP 和 SAP 中的各個步驟。
為 Google Cloud 和雲端資源設定 ABAP SDK
讓我們來看看GCP和SAP上需要完成的一些關鍵設定。
- 第一步,零售商管理員將 在 SAP Landscape 上安裝和設定ABAP SDK。
- 然後,他們的雲端管理員/開發人員將在 GCP 上建立以下資源。
- 建立表來保存來自 SAP 的數據
- 建立並運行 BigQuery ML 模型 來預測路由。
CREATE OR REPLACE MODEL `bqml.zorder_routing`
OPTIONS (model_type='linear_reg',
input_label_cols=['delivery']) AS
SELECT * FROM `ORDER_ROUTING_DEMO.zrouting_sap_data`
WHERE delivery IS NOT NULL
SELECT * FROM
ML.PREDICT (
MODEL`bqml.zorder_routing`,
(SELECT * FROM`ORDER_ROUTING_DEMO.zrouting_sap_data`
WHERE delivery IS NOT NULL))
注意:以上是範例命令。請參閱 文檔 ,以了解有關如何根據您的需求實施 BigQuery ML 模型的詳細說明。
- 為來自 SAP 的訂單資料建立 Avro 架構。
- 使用上述架構建立 主題
- 為該主題建立 訂閱 ,寫入 BigQuery 表
ABAP開發
現在設定步驟已完成,ABAP 開發人員可以使用適用於 Google Cloud 的 ABAP SDK 在 SAP 中實作解決方案。
首先,透過在 SAP Outbound Delivery BADI LE_SHP_DELIVERY_PROC 的實作中使用 ABAP SDK Pub/Sub API 用戶端存根類別 /GOOG/CL_PUBSUB_V1 ,將 SAP Outbound Delivery 資料發佈到 Pub/Sub 主題 。 由於GCP 中設定了訂閱,發佈到 Pub/Sub 的資料會即時複製到 BigQuery 。
DATA:
ls_input_sap TYPE /goog/cl_pubsub_v1=>ty_023.
LOOP AT it_xlips REFERENCE INTO DATA(ls_lips).
DATA(lv_json_obj_sap) =
/ui2/cl_json=>serialize(
data = VALUE t_payload_sap(
delivery = ls_lips->vbeln
* ......... other attributes
item = ls_lips->posnr )
pretty_name = /ui2/cl_json=>pretty_mode-low_case ).
APPEND VALUE #(
data = cl_http_utility=>encode_base64( lv_json_obj_sap ) )
TO ls_input_sap-messages.
ENDLOOP.
TRY.
DATA: lo_client TYPE REF TO /goog/cl_pubsub_v1.
CREATE OBJECT lo_client
EXPORTING
iv_key_name = 'DEMO_PUBSUB'.
CALL METHOD lo_client->publish_topics
EXPORTING
iv_p_projects_id = CONV #( lo_client->gv_project_id )
iv_p_topics_id = 'DEMO_ORDER_DATA_SAP'
is_input = ls_input_sap
IMPORTING
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text).
CATCH /goog/cx_sdk INTO DATA(lo_exception).
"Appropriate Error Handling
ENDTRY.
範例示範流程
下面的流程顯示了來自 SAP 應用程式的資料如何到達 BigQuery 表中。
然後,BigQuery ML 模型會以一定的精度預測路由,該路由是使用 ABAP SDK 直接從 SAP 讀取的。
下面的 UI5 應用程式提供了 BigQuery ML 模型的路由預測的更好視覺化。
該 UI5 應用程式可用於「人機互動」場景,例如 ML 結果的臨時驗證或當預測準確度百分比低於某個閾值時。使用者可以根據自己的判斷覆蓋路由,保存後,路由值將透過 Pub/Sub 發送回 BigQuery。此過程將持續訓練 BigQuery ML 模型,以便為未來資料集提供更準確的預測。
這些 BigQuery ML 模型也可以 直接在 Google Vertex AI Platform 中管理 ,而且可以使用 Vertex AI API 用戶端存根類別 /GOOG/CL_VERTEXAI_V1 從 SAP 讀取 Vertex AI 模型的推論。
結論和後續步驟
如本案例所示,適用於 Google Cloud 的 ABAP SDK 提供了直接從 SAP 環境使用即時推理和持續調整模型的功能。
準備好開始使用 Google Cloud 的 ABAP SDK 了嗎?
為適用於 Google Cloud 的 ABAP SDK 的新增功能新增書籤 以取得最新公告,並遵循 安裝和設定 說明。
查看這些部落格文章,開始使用 Google Cloud 的 ABAP SDK
- 在此部落格中,Ameya Suvarna說明如何在 Google Cloud Platform 上使用 ABAP Platform Trial 1909 評估適用於 Google Cloud 的 ABAP SDK。
- 閱讀Devesh Singh 撰寫的 這篇部落格文章,了解如何使用適用於 Google Cloud 的 ABAP SDK 自動執行 SAP 中的銷售訂單輸入等業務流程。
- 請同時查看有關 ABAP SDK程式碼嚮導的Kriti Sugandha部落格文章,這是作為 ABAP SDK 的一部分提供的眾多卓越工程之一。
沒有留言:
張貼留言