python连接sap并调用 SAP RFC接口 |
您所在的位置:网站首页 › saprfc接口字段增加 › python连接sap并调用 SAP RFC接口 |
文章目录
前言一、我们需要使用到那些工具?二、具体步骤1.下载pyrfc包2.引入包3.下载 netweaver rfc 的 sdk4.配置下载的SDK5.代码实现6.数据展示
总结
前言
python在我们工作中的作用还是有很多的,尤其是在数据处理方面和自动化等等,可以说是无所不能,这篇文章来给大家介绍一下python如何连接sap并调用 SAP RFC接口。首先给大家简单介绍一下pyrfc这个包,pyrfc是Python语言的SAP Remote Function Call(RFC)库,用于连接SAP系统并执行函数模块。它提供了Python语言与SAP系统之间的桥梁,使得Python开发者可以在Python中方便地调用SAP的RFC函数模块,我们也可以配合django或者其他web框架实现一个简单OA系统实现与sap系统的集成。 提示:以下是本篇文章正文内容,下面案例可供参考 一、我们需要使用到那些工具?1.python的pyrfc包 2.sap netweaver rfc 的 sdk 二、具体步骤 1.下载pyrfc包在终端中输入 pip install pyrfc -i https://pypi.mirrors.ustc.edu.cn/simple/ 这里笔者使用了中国科学技术大学的镜像源不然下载就会很慢 2.引入包代码如下(示例): import pyrfc 3.下载 netweaver rfc 的 sdk a.下载的方式有两种 1.官网下载 a. 一种是有sap账号权限的可以去官网中下载 下载链接 b. 点击下方图片箭头的地方可以跳转对应下载页面首先会让你登录 1.我们需要将下载的sdk文件中的bin目录和lib目录配置到环境变量中 3.为什么要这样配置?直接在path中配置lib bin目录的绝对路径不行吗? a.这个原因和pyrfc这个模块包的源码有关系,我们可以按住ctrl鼠标点击pyrfc这个包跳入源码界面。 直接上源码后面再详细解释 import pyrfc ASHOST = 'xx.xx.xx.xx' CLIENT = 'xxx' SYSNR = 'xx' USER = 'xxxxxxx' PASSWD = 'xxxxxxx' # 创建链接Connection方法的参数 ashost=应用服务器 sysnr=实例编号 client=客户端 user=登录对应客户端的用户名 passwd=密码 conn = pyrfc.Connection(ashost=ASHOST, sysnr=SYSNR, client=CLIENT, user=USER, passwd=PASSWD) # 使用call方法调用SAP BAPI:第一个参数是需要调用的函数模块,后面是bapi的参数,注意一定要用参数名=参数值的方式 # call方法的返回值是字典形式键值对是:{'ET_DATA':[],'DATA':[], 'FIELDS': [],'OPTIONS':[]} result = conn.call("RFC_READ_TABLE", QUERY_TABLE='TCURR') # print(result) # 数据简单展示一下 for i in result['DATA']: print(i) 代码运行效果 1.这里我们只是简单调用以及展示了一下,call方法还可以写些许参数,稍后详解。 a.Connection方法的参数的参数如何查看 1.我们可以在sap的登录界面右击登录条目点击属性即可查看 如图所示 4.示例1,2运行结果就是只取TCURR表中的FCURR字段并且FCURR字段还必须等于USD,示例2中的EQ就是等于的意思和示例1是一个意思,其中示例3需要注意一下,我看其他文章都是逗号分隔每个筛选条件,但是我试过了不行,在se37里面我发现是要用and连接在python这里我也试了一下确实是需要用and连接。 a.示例1,2运行效果 1.如果对打印格式有要求的大家可以去了解学习 python 中 tablib 这个包,这个包可以专门格式化数据的,打印出来的数据格式是比较规整的,如果是做web那么就自己写循环或者用前端框架,我们只需要处理成对应的数据格式传给前端就可以了。 2.tablib 包数据处理效果展示 以上就是今天要讲的内容,本文仅仅简单介绍了python如何去连接我们的sap并如何调用sap中的函数模块,大家也可以尝试着和web开发结合起来,也可以和处理excel的包openpyxl结合起来直接从表中取的我们的数据,再处理成我们想要的数据结果,等等,笔者也是刚开始写博客有格式看着不舒服,有说错或者不好的地方还请大家多多指教,如果觉得写的可以对您有帮助的话还麻烦点赞转发一下,也欢迎大家再评论区一起讨论,谢谢大家。感谢。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |