java 调用bapi_BAPI的简单实现步骤

java 调用bapi_BAPI的简单实现步骤一,创建FunctionModule1,在SE11,创建需要的structure(必须为flat类型,否则会出现ReferenceparametersarenotallowedwithRFC)2,在SE80,建Functiongroup3,在SE37,创建FunctionModule(import的参数入药是value传值)Note:一个FunctionGroup只能包含一个B…

大家好,又见面了,我是你们的朋友全栈君。

一,创建Function Module

1,在SE11,创建需要的structure (必须为flat类型,否则会出现Reference parameters are not allowed with RFC)

2,在SE80,建Function group

3,在SE37,创建Function Module(import的参数入药是value传值)

Note:一个Function

Group只能包含一个BAPI;参数传值;必须有有一个BAPIRETURN类型的EXPORT参数

二,封装

1,在SWO1,建Object Type

2,把Function Module作为一个Method加入,utilities->API

Methods->Add Method

3,release Object和Module。使在BAPI Browser 中可以看到。也就是外部能够调用。

三,调用

1,如在另一系统中用ABAP调用,先在SM59中建RFC联到有BAPI的R/3,(ZGOGO)

在SE38的程序中调用,Call Function “ZBAPIXXXXX” DESTINATION ZGOGO

EXPORTING …

2,如用JAVA调用

引入包;(不一定要用IBM的)

import com.sap.rfc.*;

import com.sap.rfc.exception.*;

import com.ibm.sap.bapi.*;

import com.ibm.sap.bapi.generated.*;

建立连接;调用。。。(See CALL_BAPI.java)

VBA for SAP

Private Sub CommandButton1_Click()

Set oFunction = CreateObject(“SAP.LogonControl.1”)

Set oConnection = oFunction.NewConnection

oConnection.Client = “500”

oConnection.Language = “EN”

oConnection.User = “user”

oConnection.Password = “pasword”

oConnection.ApplicationServer = “sap1.yok.com.cn”

oConnection.SystemNumber = “01”

result = oConnection.Logon(0, True)

Set ofun = CreateObject(“SAP.FUNCTIONS”)

Set ofun.Connection = oConnection

Set func = ofun.Add(“RFC_READ_TABLE”)

func.Exports(“QUERY_TABLE”) = “MARA”

If func.Call = True Then

Set oline = func.tables.Item(“DATA”)

Row = oline.rowcount

i = 1

Do While i <= Row

Cells(i, 1) =

Mid(Trim(oline.Value(i, 1)), 4, 22)

i = i + 1

Loop

Else

MsgBox “FAIL”

End If

End Sub

VBA2

Private Sub CommandButton1_Click()

Dim sapFunctionCtrl As

Object ‘Function Control (Collective object)

Dim sapConnection As

Object ‘Connection object

Dim theFunc As

Object ‘Function object

Set sapFunctionCtrl = CreateObject(“SAP.Functions”)

Set sapConnection = sapFunctionCtrl.Connection

sapConnection.Client = “800”

sapConnection.user = “user”

sapConnection.Language = “EN”

If sapConnection.logon(0, False) <>

True Then

MsgBox “No connection to R/3!”

End If

Set theFunc = sapFunctionCtrl.Add(“ZRFCPING”)

If theFunc.call Then ‘ call the RFC FM

MsgBox “RFC call is okay”

End If

sapFunctionCtrl.Connection.logoff

Set sapConnection = Nothing

Set sapFunctionCtrl = Nothing

End Sub

———————

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163915.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 原生小程序使用 flyio,以及拦截器

    原生小程序使用 flyio,以及拦截器原生小程序的request请求都是异步请求,在实际项目中使用起来很麻烦,自己封装的方法又不够用,所以想到了flyio,不仅可以实现Promise,而且还可以对所有的页面请求进行拦截,使用起来非常的方便。第一件事首先也是先引用flyio.js了。下载地址:flyio.js在utils目录新建http.jsvarFly=require("flyio.js")//引入路径根据自…

    2022年9月4日
    5
  • 高中物理学运动公式实现js动画

    高中物理学运动公式实现js动画js动画

    2022年10月15日
    0
  • oracle如何修改用户密码_oracle重置用户名密码

    oracle如何修改用户密码_oracle重置用户名密码轻松搞定Oracle用户密码修改 摘要:服务器更换、数据库移植都会涉及到Oracle用户密码的修改操作,这里给出几段简单的代码,帮您轻松搞定Oracle用户密码的修改操作。 我们假设这样一个应用场景,数据库需要移植,库中某一个用户的Oracle用户密码不知道,可是这个密码因为在其他程序中使用了而不能修改,在新的数据库系统中,这

    2022年7月28日
    9
  • 使用python快速开发桌面小工具

    使用python快速开发桌面小工具参考链接WelcometoPython.orgExtendingandEmbeddingthePythonInterpreter—Python3.7.3documentation起因更重要在日常开发中,总需要一些普通的小工具。小工具嘛,要得急,写得也急,总有很多不完善的问题,频繁修改成了一个较大的问题。比如之前用c#写了一个将excel表自动转成csv文本的工具,…

    2022年5月20日
    42
  • 开源项目推荐:Qt有关的GitHub/Gitee开源项目(★精品收藏★)

    开源项目推荐:Qt有关的GitHub/Gitee开源项目(★精品收藏★)QtCreator环境:使用QtCreator作为LinuxIDE,代替Vim:实现两台Linux电脑远程部署和调试(一台电脑有桌面系统,一台电脑无桌面系统)使用QtCreator作为LinuxIDE,实现CMake编译和单步调试在QtCreator中使用make构建,运行,调试通用C/C++项目使用QtCreator作为LinuxIDE,实现Nginx和Redis…

    2022年6月15日
    40
  • 雅虎优化35条

    雅虎优化35条[内容]尽量减少HTTP请求数[服务器]使用CDN(ContentDeliveryNetwork)[服务器]添上Expires或者Cache-ControlHTTP头[服务器]Gzip组件[css]把样式表放在顶部[js]把脚本放在底部[css]避免使用CSS表达式[js,css]把JavaScript和CSS放到外面[内容]减少DNS查找[js,css

    2022年7月13日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号