当前位置: 首页 > news >正文

VBA直连SAP RFC 接口实例

引用依赖:

VBA 调用 SAP API的RFC函数:RFC_READ_TABLE

Sub A()
'查询SAP表数据并输出到EXCEL,VBA中不区分大小写(保存后会自动把代码、变量转换大小写)Dim iData As Integer
Dim nField As Integer
Dim nData As Integer
Dim Result As Boolean
Dim vRow As Variant
MsgBox "程序开始"
'初始化登陆信息
Set SAP = CreateObject("SAP.functions.unicode") '使用SAP.FUNCTIONS时会出现中文字符从RFC传过来之后乱码的问题(变成#),使用SAP.FUNCTIONS.UNICODE就可以解决
SAP.Connection.System = "" '此处为系统标示
SAP.Connection.SystemNumber = "" '系统(实例)编号
SAP.Connection.client = "" '客户端
SAP.Connection.User = "" '用户名
SAP.Connection.Password = "" '密码
SAP.Connection.Language = "" '语言
SAP.Connection.ApplicationServer = "" '服务器地址
SAP.Connection.SAPRouter = ""  '外网连接的SAP路由
'连接SAP
If SAP.Connection.logon(0, True) = True Then
MsgBox "连接成功"
Else
MsgBox "连接失败"
End If
'call function
Set RFC = SAP.Add("RFC_READ_TABLE")Set it_fields = RFC.Tables("FIELDS") '查询字段(输入FIELDNAME),字段名(输出FIELDTEXT)
Set it_options = RFC.Tables("OPTIONS") '查询条件
Set it_data = RFC.Tables("DATA") '输出表
'查询表名
RFC.exports("QUERY_TABLE").Value = "MAKT" '
'输出字段名
it_fields.Rows.Add.Value(1, 1) = "MATNR"          '初始行列
it_fields.Rows.Add.Value("FIELDNAME") = "MAKTX"
it_fields.Rows.Add.Value("FIELDNAME") = "SPRAS"
'选择条件
it_options.Rows.Add.Value("TEXT") = "MATNR = 'CM-MLFL-KM-VXX'"
'输出字段分隔符
RFC.exports("DELIMITER").Value = ","
'call RFC
Result = RFC.Call
nFields = it_fields.RowCount
nData = it_data.RowCount
For iField = 1 To nFields
Cells(1, iField) = it_fields.Rows(iField).Value("FIELDTEXT") '字段名
Next
For iData = 1 To nData '字段值
vRow = Split(it_data(iData, 1), ",")
Cells(iData + 1, 1) = vRow(0)
Cells(iData + 1, 2) = vRow(1)
Cells(iData + 1, 3) = vRow(2)
NextMsgBox "程序结束"
End Sub

http://www.lryc.cn/news/350621.html

相关文章:

  • 2024如何挑选开放式蓝牙耳机?热门爆款熬夜整理六个点!
  • 3D数据格式转换工具HOOPS Exchange在PLM系统中的5大应用优势
  • 友元是一种允许某些外部函数或类访问另一个类的成员的机制
  • 儿童护眼台灯哪个牌子好,适合儿童使用的护眼台灯推荐
  • 在电脑本地运行llama3-8b模型
  • 深入理解 House of Cat
  • 【Linux玩物志】Linux环境开发基本工具使用(1)——vim
  • Lora训练Windows[笔记]
  • nuget局域网在线包制作,nuget打包,nuget打自己的包
  • Ubuntu 24 换国内源及原理 (阿里源)
  • python学习-使用pandas库分析excel表,并导出所需的表
  • Python中使用C扩展详解
  • llama使用tutorial微调(windows版本)
  • MyBatis操作数据库(动态SQL)
  • python发票真伪查验开发文档、票据OCR、数电票查验
  • Unity构建详解(12)——自动构建
  • 中文编程降低了中文环境下编程入门的门槛
  • 通过内网穿透免费部署我们的springboot+vue项目 实现跟服务器一样的效果
  • SMB攻击利用之-mimikatz上传/下载流量数据包逆向分析
  • Mysql常见数据类型探索
  • 2024 年第四届长三角高校数学建模竞赛赛题B题超详细解题思路+问题一二代码分享
  • 干货速学!1+X电子商务数据分析:电子商务数据分析的流程
  • 618好物推荐大赏:2024年必囤好物一网打尽,购物攻略助你抢购无忧!
  • 【MySQL】基础操作(DDL,DML,DCL,DQL)
  • 工厂自动化升级改造(3)-Modbus与MQTT的转换
  • InnoDB 事务处理机制
  • Thymeleaf
  • 网络学习(一)|深入了解API网关:定义、功能和关键术语
  • 基于yolov8+flask搭建一个web版本的网页模型预测系统
  • 【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第8章 安装编译所需要的依赖包