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

———————

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux 5432端口,无法连接到端口5432上的postgresql[通俗易懂]

    linux 5432端口,无法连接到端口5432上的postgresql[通俗易懂]问题描述我安装了包含PostgreSQL8.4的BitnamiDjangostack。当我运行psql-Upostgres时,我收到以下错误:psql:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnixd…

  • c语言背包问题(动态规划解法)

    c语言背包问题(动态规划解法)题目描述:有若干个物品要装进背包,并且每个物品有各自的价值,物品的数量、价值以及背包的容量由用户输入,求背包内能够存入的最大价值为多少,并且求出此时放入了哪些物品输入格式:第一行输入物品的容量r和物品个数n第二行输入每个物品的重量第三行输入每个物品的价值输出格式:第一行输出背包中能够存储的最大价值第二行输出此时背包中的物品编号思路分析:可以把这个问题看成是一个二维数组,行是物品编号,列是背包容量,若物品编号为2,背包容量为4,代表的则是当背包容量为..

  • sql文件导入数据库变乱码_sql文件导入数据库变乱码

    sql文件导入数据库变乱码_sql文件导入数据库变乱码由于最近在实习,往mysql数据库中导入sql文件,数据库中竟然显示乱码,数据库格式以及表格都设置为utf-8.不知为什么会这样?百度了好久并没有发现能有效的解决方法。于是自己尝试了一下自己的方法:①先将sql文件导入mysql数据库,乱码也不管。②将sql文件用写字板打开,代码复制一下,然后粘贴在mysql的可视化工具里的sql编译器里,如下图然后点击运行即可解决乱码现象。补充一下,我用的可视化工具有两个,MySQL-Front和workbench,亲测这两个都可以解决。后续有更

  • golang激活(在线激活)「建议收藏」

    golang激活(在线激活),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 【转载】.NET 框架浅析

    【转载】.NET 框架浅析

    2021年11月20日
  • 万字深研:元宇宙应该是生产力工具,而不只是游戏娱乐「建议收藏」

    万字深研:元宇宙应该是生产力工具,而不只是游戏娱乐「建议收藏」元宇宙就是一个筐,大家什么东西都往里面装。出品|Odaily星球日报(ID:o-daily)我是Odaily星球日报的创始人Mandy,Odaily近期与36Kr联合出品…

发表回复

您的电子邮箱地址不会被公开。

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