日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据

發布時間:2023/12/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是 Jerry 2021 年的第 59 篇文章,也是汪子熙公眾號總共第 336 篇原創文章。

Jerry 之前曾經給大家分享過,如何使用各種工具和編程語言,消費 SAP API Business Hub 上羅列的 API.


在 SAP API Business Hub 網站上,SAP 這些 API,分為 SOAP,OData 和 REST 三類。


Jerry 的文章 SAP Cloud for Customer 如何直接消費 S/4HANA API 介紹了如何在 SAP Cloud for Customer 里通過 Restful API 工具庫,消費 SAP S/4HANA 暴露的 Restful API:

而下面這幾篇文章,介紹了 SAP OData API 的開發與消費:

  • SAP OData 編程指南

  • 在 SAP BTP CloudFoundry 環境下消費 ABAP On-Premise OData API

  • 使用 SAP Cloud Application Programming 模型開發 OData API 的一個實際例子

  • SAP C/4HANA Sales Cloud 使用 OData 服務和第三方系統集成的一個具體例子

OData 協議基于 HTTP,在使用 OData 服務進行業務數據的創建或者修改時,需要開發人員在 HTTP 層面操作 POST 請求的 body 內容,步驟繁瑣且容易出錯。

比如下圖是 Jerry 2019 年一個項目中使用 Java 消費 SAP C4C OData 服務創建銷售訂單的測試代碼片段,其中第88行變量 body,包含的就是手動拼接 HTTP Post 請求的負載內容,代碼可讀性很差且不易維護。


為了避免這些缺點,提高開發人員使用 SAP S/4HANA OData 進行集成的開發效率,SAP 發布了 SAP S/4HANA Cloud SDK.

借助 SAP S/4HANA Cloud SDK,開發人員無需了解 S/4HANA OData 服務的設計細節,可以采用類似自然語言的代碼風格,調用 S/4HANA OData 服務,實現數據的增刪改查。

下圖的例子使用 S/4HANA Cloud SDK 讀取BusinessPartnerCategory 字段值為 2 的前20條 BusinessPartner 數據,并且只返回這些數據的 Partner Name, FullName 和 Customer 等字段。代碼采用 Declarative 即聲明式的方式編寫,可讀性大大優于直接操作 HTTP Post 負載的做法。

關于 SAP Cloud SDK 的更多細節,請參考我的文章:SAP S/4HANA Cloud SDK 入門介紹

而另一大類 SAP SOAP API 的消費方式,請參考 Jerry 之前的文章:如何在 SAP BTP 平臺 ABAP 編程環境里消費基于 SOAP 的 Web Service.

除了 SAP API Business Hub 上提到的這三種 API 之外,Jerry 之前的文章:在 SAP BTP 上體驗 SAP HANA Cloud 試用版本,還提到過使用 HANA Client 工具庫,直接把待執行的 SQL 語句發送給 SAP HANA Cloud 實例;后者執行完畢后,將結果返回給 HANA Client:

這種方式類似 ADBC 和 JDBC,細節可以參考 Jerry 這篇文章:在 SAP BTP 上體驗 SAP HANA Cloud 試用版本


本文介紹一種類似的數據消費方式:Open Database Connectivity 即 ODBC,開放數據庫互連。

ODBC 提供了一種標準的 API 方法來訪問數據庫管理系統即 DBMS. ODBC API 利用 SQL 來完成絕大多數數據庫操作。

下面我們通過一個實際的例子來了解 ODBC 的用法。這個例子的場景是,在 SAP BTP 平臺 ABAP 運行環境里,創建數據庫表和對應的 CDS view,然后使用本地的 Excel 文件,通過 ODBC 訪問 CDS view 的內容。

首先在 SAP BTP ABAP 運行環境里創建兩個簡單的數據庫表,存放訂單抬頭和行項目信息:


插入一些測試數據:

然后創建對應的 CDS view:

下面我們需要通過 Service Definition 將這兩個 CDS view 的數據暴露給外部消費者。

Jerry 之前的文章?30分鐘用 Restful ABAP Programming 模型開發一個支持增刪改查的 Fiori應用,曾經介紹過如何基于 RAP 模型,快速基于 CDS view 創建出一個 Fiori 應用出來。

  • Service Definition
  • Service Binding
  • Communication Scenario
  • Communication Arrangement

而通過 ODBC 將 CDS view 暴露給外部消費者,仍然需要按照上述順序創建對應的開發對象。

首先創建 Service Definition,將之前創建的兩個 CDS view 通過關鍵字 expose 暴露出去,通過 as 關鍵字設置別名為 Orders 和 OrderItems:

基于這個 Service Definition 創建一個新的 Service Binding:

Binding 類型,從下拉菜單里選擇 SQL1,以支持 ODBC:

Service Binding 的名稱起名為 ZORDERS,在文章最后通過 Excel 消費這個 Service 時,能在 Excel 里看到同名的節點,其下包含了通過 Service Definition 暴露出來的 OrderItems 和 Orders 兩個視圖:

創建新的 Communication Scenario:

在該 Scenario 的 Inbound 標簽頁里,分配標準的 Inbound Service S_PRIVILEGED_SQL1,用于支持對 CDS view 的 SQL 訪問操作。

切換到 Authorization 標簽頁,添加新的 Authorization 對象 S_SQL_VIEW,并分別維護其三個字段的值:

  • SQL_SCHEMA: ZORDERS,即我們要授予訪問權限的 Service Binding 名稱。
  • SQL_VIEW: *. 這個值意味著允許訪問 Service Binding ZORDERS 關聯的 Service Definition 中,通過 expose 關鍵字暴露的所有 CDS view.
  • SQL_VIEWOP: SELECT,只讀訪問。

點擊 Publish Locally:

創建一個新的 Communication System,取名 SQL_ACCESS:

給其分配一個新建的 Communication User. 稍后我們在 Excel 里使用 ODBC 讀取 CDS View 數據時,會要求輸入該用戶的訪問密碼。

最后,創建 Communication Arrangement,把生成的 Service URL 即下圖黃色高亮區域的字段抄下來,后續創建 Data Source 時,會填寫該值。

在本地安裝 ABAP ODBC Driver,訪問 SAP Support Portal,輸入關鍵字 ODBC DRIVER FOR ABAP 進行搜索:

https://launchpad.support.sap.com/#/softwarecenter

根據操作系統的類型下載對應版本的驅動:

同時下載 SAPCRYPTOLIB:

安裝完下載的驅動后,啟動操作系統的 ODBC Data Source Administrator 應用,添加一條新的 User Data Source Name(簡稱為 User DSN):

ABAP ODBC 驅動安裝成功后,在新建向導里能看到新的驅動類型:ODBC driver for ABAP.

在 DSN 創建向導中維護 Data Source 的明細。其中 Hostname 字段,來自 Communication Arrangement 的 Service Url 字段值。Crypto Library 字段,為前文從 SAP Support Portal 下載的 SAPCRYPTOLIB 解壓到本地后的絕對路徑:

Data Source 創建好之后,新建 Excel 文件,選擇 From ODBC 進行導入:

選擇剛剛建好的名為 Jerry-ABAP 的 Data Source,輸入 Communication Scenario 里維護的用戶名和密碼:

點擊 Connect,即可預覽 SAP BTP ABAP 環境里 Service Definition 暴露出來的 CDS view 的數據:

點擊 Load 按鈕,將這些數據導入到 Excel 中。

在 Advanced options 里,我們可以自由編寫 SQL 語句,將 Excel 當成一個簡單的 SQL 控制臺使用:

上圖編寫的 SQL 語句,將訂單行項目的數量進行求和,并顯示結果到 Excel 里:

相信通過本文的例子,大家能對如何通過 ODBC 消費 SAP BTP 平臺 ABAP 環境的 CDS view 數據有了一個直觀的認識,感謝閱讀。

更多閱讀

  • SAP Cloud for Customer 如何直接消費S/4HANA API

  • SAP OData 編程指南

  • 在 SAP BTP CloudFoundry 環境下消費 ABAP On-Premise OData API

  • 使用 SAP Cloud Application Programming 模型開發 OData API 的一個實際例子

  • SAP C/4HANA Sales Cloud使用 OData 服務和第三方系統集成的一個具體例子

  • SAP S/4HANA Cloud SDK 入門介紹

  • 如何在 SAP BTP 平臺 ABAP 編程環境里消費基于 SOAP 的 Web Service

  • 在 SAP BTP 上體驗 SAP HANA Cloud 試用版本

  • 30分鐘用 Restful ABAP Programming 模型開發一個支持增刪改查的 Fiori應用

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 深爱五月网 | 国产精品香蕉在线观看 | 特种兵之深入敌后高清全集免费观看 | 1024日韩| 在线观看成人网 | 久久国产激情视频 | 亚洲免费小视频 | 免费日韩成人 | 成人黄色在线视频 | a毛片基地 | 青青草黄色 | 国产性生活 | 成人午夜免费毛片 | 国产成年网站 | 精品一区二区三区在线免费观看 | 少妇无码一区二区三区免费 | 无码人妻精品一区二区三区99v | 成人区人妻精品一区二 | 四虎永久在线视频 | 蜜臀av性久久久久蜜臀aⅴ | 黄91在线观看| 深夜福利视频网站 | 涩涩视频免费看 | 狠狠爱网站 | 福利精品 | 日本一二三不卡视频 | 深夜网站在线 | 色妞色视频一区二区三区四区 | 天天干天天玩 | 亚洲视频自拍偷拍 | 西野翔之公侵犯中文字幕 | 亚洲天堂视频在线观看 | 色视频网| 欧美色图网址 | 久久福利一区 | 国产av无码专区亚洲av毛片搜 | 在线观看a网站 | 久久日视频 | 18做爰免费视频网站 | 无码av免费毛片一区二区 | 韩国毛片一区二区 | 欧美丰满老熟妇xxxxx性 | 国产精品99久久久精品无码 | 欧美一区二区三区久久综合 | 啪啪中文字幕 | 福利在线一区二区 | 国产亚洲女人久久久久毛片 | 亚洲熟女一区 | 国产做爰免费视频观看 | 欧美三日本三级少妇三99 | 国产大学生自拍视频 | 97精品一区 | 亚洲精品乱码久久久久久久久久久久 | 国产精品第九页 | 正在播放经典国语对白 | 天天操天天操天天操天天操天天操 | 亚洲国产福利视频 | 夜夜狠狠擅视频 | 夜夜撸影院 | 精品人妻天天爽夜夜爽视频 | 黑人巨大精品欧美黑寡妇 | 亚洲欧美色图视频 | 国精产品一区二区三区 | 国产aa视频| 中文在线免费观看 | 中文字幕亚洲第一 | 黄色小视频免费网站 | 伊人久综合 | 亚洲精品视频三区 | 国产精品免费久久 | 亚洲综合图片区 | 国产一卡二卡 | 成人免费观看网站 | 天堂网色| 久久久久久久久久久电影 | 久久精品久久久久久 | 国产免费专区 | 国产天堂在线 | 在线欧美国产 | 中文不卡在线 | 亚洲一区二区三区四区五区xx | 久久久无码人妻精品一区 | 4388成人网 | 无码成人一区二区 | www.日韩| 午夜一区在线 | 亚洲精品视频一区二区 | 亚洲色图插插插 | 三年电影在线观看 | 天天搞夜夜 | 亚洲综合精品 | 人妻精油按摩bd高清中文字幕 | 久久免费偷拍视频 | 黄频视频在线观看 | 扒开美女内裤狂揉下部 | 免费日韩一级片 | 天堂在线1 | 国产情侣小视频 | c逼|