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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ce修改器怎么用 ce修改器使用基础教程[通俗易懂]

    ce修改器怎么用 ce修改器使用基础教程[通俗易懂]这篇文章是教大家CE修改器的使用方法,教程简单易学,有需要的小伙伴就赶紧和小编一起来学习一下吧。我们先下载并打开,下载地址:点击前往然后打开隐藏.隐藏CE修改器接着进入您玩的游戏这时我们进游戏后打开CE的最左上边的小电脑“文件”菜单-“打开进程”-打开MAIN进程(M开头有数字的)然后输入你当前的敏捷如:555(在HEX栏输入)接着我们点首次搜索.弄好后左边出现一大堆(RP好的只有一个,跳到9步)加几点敏捷,再输入你当前的敏捷如:558点再次搜索这次只有一个数据了,双击它,它会出现在下面

    2025年6月21日
    1
  • HTML embed 标签「建议收藏」

    HTML embed 标签「建议收藏」HTMLembed标签embed标签–定义网页中嵌入除图片外的多媒体不符合标准网页设计的理念,不赞成使用.embed标签是单独出现的,以开始,结束使用embed标签可以在网页中嵌入Flash,Mid,MP3等嵌入式内容embed标签已经被符合标准的object标签代替。属性Common–一般属性align–对齐方式autostart–是否

    2025年8月25日
    3
  • HashMap 与 ConcurrentHashMap 原理总结

    HashMap 与 ConcurrentHashMap 原理总结

    2021年10月5日
    41
  • pycharm2020 激活码【中文破解版】

    (pycharm2020 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    60
  • sql怎么调用存储过程_oracle sql分页查询

    sql怎么调用存储过程_oracle sql分页查询数据库用的是Oracle,Mybatis自动封装的分页,sql语句在PLSQL中执行没有问题,放在代码里面运行的时候就报错:未明确定义列。通过log打印的sql语句拷出来执行,发现嵌套上分页就会报错。问题原因:sql语句中有个列的别名重复,导致嵌套了分页后,数据库不能确定我们要的到底是哪个列,就会报未明确定义列。网上还有网友说的其他原因大家可以参考,比如

    2022年9月28日
    5
  • vim命令多行操作

    vim命令多行操作一、文件内多行注释:1.按esc进入命令行模式下,按下Ctrl+v,进入列(也叫区块)模式;2.在命令模式下h键或j键选择需要注释的多行;3.按下(大写)“i”键,进入插入模式;4.输入注释符#或//5.最后按下“Esc”键。注:在按下esc键后,即可出现二、文件内删除多行注释:1.首先按esc进入命令行模式下,按下Ctrl+v,进入列模式…

    2022年6月26日
    103

发表回复

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

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