-. PB调用sap之RFC接口
a. PB调用SAP RFC函数
http://blog.csdn.net/abap_kenwu/article/details/6139382
OLEObject I_OLE_ExcelServer
long ll_col , ll_cols , ll_row , ll_rows
string ls_filename
long i,j
string ls_data
long ll_ret_row //返回当前导出的数据行数
fxn = i_ole_fxnctrl.add(as_export_table)//给接口函数输入参数赋值
fxn.Exports('MATNR').value = ‘00000000100000001’ //传入参数
if fxn.call then //调用SAP的RFC函数
kehu = FXN.tables
ll_rows = kehu.item(1).rowcount //取得行数
ll_cols = kehu.item(1).Columncount //取列数
if ll_rows <=0 then return ll_ret_row
//将RFC返回的数据写到文件上
integer li_FileNum
//打开临时文件
li_FileNum = FileOpen(ls_filename, LineMode!, Write!, LockWrite!, Append!)
//循环写入临时文件
for i = 1 to ll_rows step 1
ls_data = string(kehu.item(1).value(i,1))
for j = 2 to ll_cols step 1
ls_data = ls_data + ' ' + string(kehu.item(1).value(i,j))
next
FileWrite(li_FileNum,ls_data)
next
//关闭临时文件
FileClose(li_FileNum)
ll_ret_row = ll_rows
else
messagebox ('提示','导出数据失败! 出错信息: 调用SAP的RFC出错!')//+ fxn.Exception)
end if
====================================================
b. pb 与SAP的连接
http://blog.csdn.net/abap_kenwu/article/details/6139358
oleObject i_ole_Conn,i_ole_FxnCtrl //用OLE定义对象
long ll_status //通过OLE建立的SAP函数成功或失败 (0-成功,否则失败)
boolean lb_logon //判断登录SAP成功或失败 (true - 成功,false - 失败)
i_ole_FxnCtrl = create oleobject
ll_status = i_ole_FxnCtrl.ConnectToNewObject ("sap.functions") //建立SAP连接对象
IF ll_status <> 0 THEN
gf_errmsg('创建SAP连接OLE出错!错误代码:'+string(ll_status))
destroy i_ole_FxnCtrl //释放资源
return -1
End if
//设置连接参数
i_ole_Conn = i_ole_FxnCtrl.Connection()
i_ole_Conn.applicationserver = is_ipaddress //SAP服务器IP地址
i_ole_Conn.SYSTEMNUMBER = is_systemnumber //系统编号
i_ole_Conn.codepage = is_codepage //编码
i_ole_Conn.client = is_client //集团
i_ole_Conn.user = is_userid //登录帐号
i_ole_Conn.password = is_password //登录密码
i_ole_Conn.language = is_language //语言
i_ole_Conn.autologon = true
lb_logon = i_ole_Conn.Logon(0 , true) //自动建立连接
if not lb_logon then
messagebox('登录失败', '登录服务器失败,请检查输入项目是否正确,或与管理员联系!',stopsign!)
destroy i_ole_FxnCtrl
else
messagebox('','连接成功!')
end if
/*
oleobject saprfc,connection2,funct,table_d,functions,funct2,intab,categ
long ll_status,result
saprfc = create oleobject
ll_status = saprfc.connecttonewobject("sap.functions")
connection2 = saprfc.connection
connection2.applicationserver = "112.12.2.10" //服务器IP
connection2.saprouter = xxxxxxxxxxxxxxxxxxxxx //网关
connection2.systemnumber = '00' //系统编号
connection2.client = '300' //客户端
connection2.user = 'wx-qpd' //RFC用户
connection2.password = 'baobei' //密码
connection2.language = 'zh' //语言
if connection2.logon(0,true) = false then
messagebox('connet sap','connect failed')
end if
*/
===========================================
c. PB与SAP怎么做接口
http://blog.163.com/xoq_412885496/blog/static/8515720520121020105014874/
1.系统信息
应用服务器:10.23.25.27
系统编号: 00
系统标识: EMD
2. RFC说明
Function Module: Z_WIFM0023
Import: I_EBELN TYPE CHAR 10
I_MATNR TYPE CHAR 18
Export:
E_RETURN TYPE I
E_ERRMSG TYPE CHAR 480
TABLES :
T_EKPO STRUCTURE EKPO
////////////////////////////////////////////////////////////////////////////////////
oleobject saprfc,connection2,funct,table_d,functions,funct2,intab,categ
long ll_status,result
saprfc = create oleobject
ll_status = saprfc.connecttonewobject("sap.functions") //sap.functions
connection2 = saprfc.connection
connection2.applicationserver = "192.168.1.240" //服务器IP
connection2.system = 'DD' //系统标识
connection2.systemnumber = '00'
connection2.client = '120'
connection2.user = 'FR'
connection2.password = 'fr123'
connection2.language = 'en'
if connection2.logon(0,true) = false then //登录
messagebox('connet sap','connect failed')
return
else
messagebox('connect sap','success')
end if
//调用Z_WIFM01
//funct = create oleobject
funct = saprfc.add("Z_WIFM01")
//convert oleobject in any variable to string
//funct.exports("I_EBELN",trim(sle_1.text)) //输入参数
//funct.exports("I_MATNR",trim(sle_2.text))
funct.exports("I_EBELN","qa110000428")
funct.exports("I_MATNR",'0000000028')
if funct.call = false then //Call Rfc
messagebox('','Read bom call failed')
end if
//string ls_msg
//ls_msg = string(funct.Imports('E_ERRMSG'))
//messagebox('',ls_msg)
//funct.Imports("E_RETURN",rt)
//funct.Imports("E_ERRMSG",ls_msg)
intab = funct.tables("T_EKPO")
string ls_aa,ls_bb
Long ll_r
ll_r = intab.rowcount()
if ll_r > 0 then
ls_aa = intab.value(ll_r,'MATNR')
ls_bb = intab.value(ll_r,'WERKS')
end if
Messagebox(ls_aa,ls_bb)
===============================
http://wenku.baidu.com/link?url=27KreTQL794kYDaYW5uz8j1DIZGZ5RmfEoJ2ki3Fr611qd3XCnZrgNmPRB42f-CvQbUvVQBEdk1-0iSuqs2ac80tNPJyRHEe1anbnEl_Mgq
============================================
pb9用RFC连接SAP实例和所需的文件(动态库)
需要在调用的机器安装sap gui 客户端才行
需要sap的gui客户端程序,安装后,ole就已经注册了,可以直接用,。
http://bbs.csdn.net/topics/390266718?page=1
pb与SAP的连接
oleObject i_ole_Conn,i_ole_FxnCtrl //用OLE定义对象
long ll_status //通过OLE建立的SAP函数成功或失败 (0-成功,否则失败)
boolean lb_logon //判断登录SAP成功或失败 (true - 成功,false - 失败)
i_ole_FxnCtrl = create oleobject
ll_status = i_ole_FxnCtrl.ConnectToNewObject ("sap.functions") //建立SAP连接对象
IF ll_status <> 0 THEN
gf_errmsg('创建SAP连接OLE出错!错误代码:'+string(ll_status))
destroy i_ole_FxnCtrl //释放资源
return -1
End if
//设置连接参数
i_ole_Conn = i_ole_FxnCtrl.Connection()
i_ole_Conn.applicationserver = is_ipaddress //SAP服务器IP地址
i_ole_Conn.SYSTEMNUMBER = is_systemnumber //系统编号
i_ole_Conn.codepage = is_codepage //编码
i_ole_Conn.client = is_client //集团
i_ole_Conn.user = is_userid //登录帐号
i_ole_Conn.password = is_password //登录密码
i_ole_Conn.language = is_language //语言
i_ole_Conn.autologon = true
lb_logon = i_ole_Conn.Logon(0 , true) //自动建立连接
if not lb_logon then
messagebox('登录失败', '登录服务器失败,请检查输入项目是否正确,或与管理员联系!',stopsign!)
destroy i_ole_FxnCtrl
else
messagebox('','连接成功!')
end if
---******************************
//以下是PB和SAP通訊 从sap下载数据
oleobject saprfc,connection2,funct,table_d,functions,funct2,intab,categ,oline
long ll_status,result
long Row,i
saprfc = create oleobject
ll_status = saprfc.connecttonewobject("sap.functions")
connection2 = saprfc.connection
//服务器ip
connection2.applicationserver = "192.168.99.57"//"192.168.100.10"
//系统编号
connection2.systemnumber ='15'//'00'
//端口号
connection2.client ='210'//'800'
//用户
connection2.user ='zhongy'//'orderin'
//密码
connection2.password ='`123456'//'wlsl'
//登陆语言
没有合适的资源?快使用搜索试试~ 我知道了~
PB调用SAP接口源码,RFC接口源码
共50个文件
dll:40个
sql:2个
txt:2个
2星 需积分: 9 15 下载量 116 浏览量
2018-09-05
11:13:23
上传
评论
收藏 7.45MB RAR 举报
温馨提示
pb10.2.1及其以上版本,含SAP接口操作说明文档,数据库是sql server, 采用存储过程方式与数据库进行数据交互;
资源推荐
资源详情
资源评论
收起资源包目录
pb_sap_rfc.rar (50个子文件)
DBnetlib.dll 60KB
pbmss90.dll 225KB
lua5.1.dll 318KB
ButtonSkin.dll 83KB
getcpuid.dll 59KB
Getfont.dll 50KB
getbitmap.dll 1.25MB
sqloledb.dll 460KB
libjlog.dll 32KB
Dbmsspxn.dll 32KB
logfile
atl71.dll 87KB
libjcc.dll 348KB
ClientKeyDll.dll 180KB
MWRF32.DLL 60KB
pbole100.dll 416KB
SAP_RFC.txt 12KB
hrms.ini 250B
sap_hr.exe 39KB
gdiplus.dll 1.57MB
CVRApi.dll 64KB
oci.dll 336KB
DRW.dll 86KB
Dbmsvinn.dll 28KB
hr_employee_sap.sql 954B
msvcr71.dll 340KB
mfc71u.dll 1023KB
dbmsgnet.dll 24KB
hk_sbz.pbd 193KB
cdw.dll 28KB
dbmsqlgc.dll 33KB
Pbshr100.dll 1.04MB
Dbmsrpcn.dll 28KB
dbmslpcn.dll 20KB
pbsys90.dll 1.74MB
SAP_rfc例子.txt 5KB
msvcp71.dll 488KB
接口操作说明.doc 383KB
Dbmsadsn.dll 32KB
Dbmssocn.dll 28KB
hk_sbz.pbt 154B
Pbdwe100.dll 2.84MB
pbvm90.dll 4.58MB
dbnmpntw.dll 32KB
Dbmsshrn.dll 32KB
sp_process_oupu_empinfo.sql 2KB
sdtapi.dll 154KB
my3l_Ex.dll 180KB
pbvm100.dll 4.02MB
pbodb90.dll 461KB
hk_sbz.pbl 1.13MB
共 50 条
- 1
资源评论
- JY创建美好2022-07-29下载前要搞清楚连接方式,别下了没用,这个等于是调用sap的中间函数库(需装相关工具)的方式,非http api的方式直接调用。
davencsdn
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功