OData 使用方法简介三 Python 调用

作者:ABAP三叔 约 4 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
OData 使用方法简介三 Python 调用 - 封面图
OData 使用方法简介三 Python 调用 - 封面图

前言

前面两篇文章介绍了SAP端OData服务的创建,本文将用Python来介绍Client端如何来调用OData服务,其它开发语言可同理参考。

方法一

使用requests库,访问OData服务URL

import requestsimport json

session = requests.Session()session.auth = ('用户名', '密码')

#查询单公司print("查询单公司", "=" * 100)SERVICE_URL = '''http://xxxxxxx/sap/opu/odata/SAP/ZTEST_ODATA_SRV_02/CompanySet('1000')?$format=json'''response = session.get(SERVICE_URL)# 获取请求的结果status_code = response.status_code # 获取响应的状态码content = response.text # 获取响应的内容if status_code == 200: item = json.loads(content)["d"] print(item["Bukrs"], item["Butxt"])

#查询单公司下所有工厂print("查询单公司下所有工厂", "=" * 100)SERVICE_URL = '''http://xxxxxxxxx/sap/opu/odata/SAP/ZTEST_ODATA_SRV_02/CompanySet('1000')/CompanyToPlantNav?$format=json'''response = session.get(SERVICE_URL)# 获取请求的结果status_code = response.status_code # 获取响应的状态码content = response.text # 获取响应的内容if status_code == 200: for item in json.loads(content)["d"]["results"]: print(item["Bukrs"], item["Werks"],item["Name1"])

结果如下

OData 使用方法简介三 Python 调用 - 封面图
OData 使用方法简介三 Python 调用 - 封面图

方法二

使用requests&pyodata库,直接pip安装,文档可见https://pyodata.readthedocs.io/en/latest/usage/querying.html

import requestsimport pyodata

SERVICE_URL = '''http://xxxxxxx/sap/opu/odata/SAP/ZDATA_PLANT_SRV'''

结果如下

OData 使用方法简介三 Python 调用 - 封面图
OData 使用方法简介三 Python 调用 - 封面图
ABAP三叔

关于作者:ABAP三叔

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「OData使用方法简介三Python调用.md」整理生成,仅用于内部技术分享与学习交流。