使用EXCEL VBA调用SAP 的function:BAPI_GOODSMVT_GETITEMS

最近有使用的需求,查询了一下,网络上找到的都是标准FUNCTION调用,只有TH_USER_LIST和rfc_read_table,然后就是相互一大抄。虽有借鉴意义,但是没有完全解决我的问题。

因此在研究使用完后,稍做记录。主要方便自己日后查看。

编写结构一般如下:

sub xxx()

1. 连接SAP

2.输入入参

3.执行FUNCTION,并接受出参

4.出参显示到EXCEL

end sub

其中:

“1.连接SAP”的部分,到处都有,不记录

“2.输入入参”的部分,这里有尝试几种类型,也还有几个问题未解决,如果有对此做过研究的朋友,欢迎互相交流

       2.1 BAPI_GOODSMVT_GETITEMS的输入在“表”一共11个条件,我取了10个条件,列在EXCEL的sheet1,一个条件一列,然后循环往里写

        

       2.2 入参在“导入”用exports的,如果是单值,尝试过直接写入到也没问题。但是如果开发把exports里面的入参做成和表类似的结构,就没有成功过了,不知道是不是exports不支持和tables一样的写法,毕竟我也没有找到标准function这么写的,只能靠猜测了

“3.接受出参”的部分

        3.1输出一般在“导出”页签或者“表”页签。感觉和入参的exports一样,sap可能对于入出参里面,与vba连接不太支持维护成类型表的结构(我没有找到符合这种情况的标准function或者BAPI,所以有此猜测)

        3.2对于BAPI_GOODSMVT_GETITEMS,执行完输入是表,到没有imports的问题,接受和写入EXCEL我自己是这么写的

        

                这里有个很有意思的地方,写成ch.value(y,sheets("items").cells(2,s))就报错,把其中sheets("items").cells(2,s)先赋给a,再写成ch.value(y,a)就不报错。还不知道原因

“4.显示到EXCEL”的部分,这部分和与SAP的连接无关,主要是VBA的写法。能达到目的就行吧

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值