天天看點

使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料

在閱讀本文前,請務必先按照在 Excel 内使用 ODBC 消費 SAP ABAP CDS view 介紹的步驟,将 SAP BTP 平台 ABAP 環境下指定的 CDS view,通過 Open Database connectivity API,暴露給 ODBC 消費者使用。

然後打開 Windows10 ODBC data source 應用,建立一條新的 Datasource name 記錄:

使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
注意上圖的 host 主機名,需要從 SAP BTP ABAP 環境的 Communication arrangement 的 service url 字段擷取,不能包含 https://
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
同時,Windows10 PATH 環境變量下,必須包含下列這三個 dll 檔案:
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料

icuuc65.dll

icudt65.dll

icuin65.dll

否則使用 Excel 通過 ODBC 連接配接 SAP ABAP CDS view 時,會遇到錯誤消息:

Could not open the ICU common library.

The following files must be in the path described by the environment variable PATH:

使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
一切就緒後,建立一個 Excel 檔案,Data -> Get Data-> From other Sources:
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
從下拉菜單裡選擇剛才建立好的 Data source name:
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
點選 Load 按鈕,就能将 CDS view 包含的資料,自動插入到 excel 裡:
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料
在 Advanced options 裡,我們可以自由編寫 SQL 語句,将 excel 當成一個簡單的 SQL 控制台使用:
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料

SELECT OI.Item, SUM( OI.Amount ) FROM ZORDERS.Orders O INNER JOIN
ZORDERS.Orderitems OI ON O.Id = OI.OrderId GROUP BY ITEM      
使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料

上圖的 SQL 語句,将訂單行項目的金額進行求和,并顯示結果到 excel 裡:

使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料