Function ImpToSap(rfcName As String,inTabName As String,impStr As String,_

flagItem As NotesItem,retRtfItem As NotesRichTextItem)

      

'===================================================================

'

'      功能:用于调用输入输出均在Tables项中的SAP RFC

'

'      传入参数说明:

'      rfcName              RFC函数名

'      inTabName   RFC中用于输入的表名称

'      impStr          需要传递给RFC输入表的数据字符串

'      flagItem        用于存放每一条数据是否成功导入SAP的标志位,OK为成功,ERR为失败

'      retRtfItem    存储用于最终显示给用户查看的SAP返回信息的RTF域名称

'     

'===================================================================

Dim rfcApp As Variant

Dim inTable,outTable As Variant

Dim inRow As Variant

Dim rowStr,cellStr As Variant

Dim rowCount As Integer

Dim retMsg As String

Dim isErr As String

Dim mess1 As String

Dim flagList As Variant

On Error Goto hdl    报错跳转

Set rfcApp = Func.ADD("ZRFC_MM_015")

Set inTable = rfcApp.Tables("ITAB")

rowStr = Split(impStr, "^#")                                            '拆分行

rowCount = Ubound(rowStr)                                           '输入记录条数

For i = 0 To Ubound(rowStr)-1                                               '不输入最后一个空行

Set inRow = inTable.Rows.InsertRow                       'RFC的输入Table插入新行

cellStr = Split(Cstr(rowStr(i)), "^*")                          '拆分列

inRow.value("SPCTR") = Trim(CStr(cellStr(0)))

inRow.value("LIFNR") = Trim(CStr(cellStr(1)))

inRow.value("MATNR") = Trim(CStr(cellStr(2)))

inRow.value("EKORG") = Trim(CStr(cellStr(3)))

inRow.value("WERKS") = Trim(CStr(cellStr(4)))

inRow.value("ESOKZ") = Trim(CStr(cellStr(5)))

Next

If rfcApp.Call Then

Msgbox "RFC函数"+rfcName+"调用成功,等待返回结果......"

'If outTable.Rows.Count<=0 Then

'retRtfItem.AppendText("未查到相关记录!请重新输入关键字!")

'Exit Function

'End If

Redim flagList(1 To rowCount+1) As String

Set outTable = rfcApp.Tables("ITAB")

isErr = "OK"

For j = 1 To rowCount

Set outRow = outTable.Rows(j)

retMsg = CStr(outRow.value("SFLAG"))    '是否查询成功的标志

retMsg21 = CStr(outRow.value("ERMSG"))    '是否查询成功的返回信息

retMsg1 = CStr(outRow.value("LIFNR"))    '供应商编号

retMsg2 = CStr(outRow.value("MATNR"))    '物料号

retMsg3 = CStr(outRow.value("MAKTX"))    '物料描述

retMsg4 = CStr(outRow.value("LIFTX"))    '供应商名称

retMsg5 = CStr(outRow.value("EKGRP"))    '采购组

retMsg6 = CStr(outRow.value("OUNIT"))    '订单单位

retMsg7 = CStr(outRow.value("KONWA"))    '货币

retMsg8 = CStr(outRow.value("KPEIN"))    '定价单位(每)

retMsg9 = CStr(outRow.value("KMEIN"))    '定价单位

retMsg10 = CStr(outRow.value("KUMNE"))   '价格单位:订单单位(价格单位的比值)

retMsg11 = CStr(outRow.value("KUMZA"))   '价格单位:订单单位(订单单位的比值)

retMsg12=retMsg12+retMsg2+"^*"+Fulltrim(retMsg3)+"^*"+Fulltrim(retMsg6)+"^*"+Fulltrim(retMsg7)+"^*"+Fulltrim(retMsg8)+"^*"+Fulltrim(retMsg9)+"^*"+Fulltrim(retMsg10)+"^*"+Fulltrim(retMsg11)+"^#"

If retMsg = "Y" Then

flagList(j) = "OK"

doc.RtfSAPReturn100 = retMsg12

Else

isErr = "ERR"

flagList(j) = "ERR"

Call retRtfItem.AppendText("第 " + Cstr(j))

Call retRtfItem.AddTab(1)

Call retRtfItem.AppendText("条数据导入SAP失败!原因是:")

Call retRtfItem.AddNewline(1)

Call retRtfItem.AppendText(retMsg21)

Call retRtfItem.AddNewline(1)

End If

Next

flagItem.Values = flagList

If isErr = "OK" Then

Msgbox "全部成功导入SAP!"

'Call retRtfItem.AppendText("全部成功导入SAP!")

Else

Msgbox "存在导入SAP失败的情况!"

doc.RtfSAPReturn100="未查到相关记录!请重新输入关键字!"

End If

Msgbox "RFC函数"+rfcName+"调用执行完毕,结果已接收!"

Else

Msgbox "RFC函数"+rfcName+"调用失败!原因是:"+Cstr(rfcApp.message)

Call retRtfItem.AppendText("RFC函数"+rfcName+"调用失败!原因是:")

Call retRtfItem.AddNewline(1)

Call retRtfItem.AppendText(Cstr(rfcApp.message))

End If

Exit Function

LOTUS调用RFC相关推荐

  1. 异步调用RFC:CALL FUNCTION ‘ZXXXXXXXXX‘ IN UPDATE TASK

    使用场景 外部系统调用SAP RFC,SAP RFC又调用外部系统接口,如果SAP RFC调用外部接口不通或者外部系统压力过大导致返回结果时间过长, 导致外部系统调用SAP RFC超时, 这个场景是S ...

  2. SAP:远程调用RFC,SM59配置

    SAP中远程调用RFC,需要在SM59中配置被调用方的相关信息: 2. 3.调用方法: DATA:lv_dest TYPE rfcdes-rfcdest. "目标名称 lv_dest = ' ...

  3. .NET连接SAP系统专题:C#调用RFC代码(三)

    本文就说明在C#中如何编写代码来调用SAP中的RFC函数获取数据. 首先需要引用两个NCO3.0的DLL DLL下载地址:http://files.cnblogs.com/mengxin523/SAP ...

  4. java jco连接sap帐号权限设定,Java连接SAP的JCO调用RFC配置

    第一步:下载librfc32.dll和sapjcorfc.dll文件,版本分别为6405.5.132.5092 - 6400.132.12.49905 第二步:将下载的两个DLL文件放在的window ...

  5. java使用jco连接sap调用rfc函数,环境配置+代码

    Windows环境配置 1.将sapjco3.jar引入 2.配置sapjco3.dll文件 32位系统:将sapjco3.dll放到C:\Windows\System32下  或者放到jdk/bin ...

  6. VS2010 调用RFC 时注意(.net4.0) 使用nco

    需要在配置文件中加入 <startup useLegacyV2RuntimeActivationPolicy="true">     <supportedRunt ...

  7. ABAP RFC远程调用

    RFC 可以在SAP系统之间.SAP系统与非SAP系统之间进行远程调用,且调用可以是双向的(SAP系统可以调用非SAP系统.非SAP系统也可以调用SAP系统--如Java通过Jco连接器来访问SAP) ...

  8. 还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠

    相比于从零开始构建全套信息化系统,基于成熟的ERP等行业软件做二次开发是更多中大型企业应对个性化软件需求的首选方案.如何在二开模块中,可靠地对成品软件的数据库进行读写操作,以满足单据自动创建.元数据自 ...

  9. php调用sap端rfc接口,SAP 接口编程之 RFC 系列(15) : 调用自定义函数

    从外部环境调用自定义函数 (FM, Function Module)与调用 SAP 内置的函数并没有不同,需要注意的是在 SAP 系统自定义 FM 的要点: 1)FM 必须是 Remote-enabl ...

最新文章

  1. 什么是人工神经网络?
  2. Linux禁止普通用户su至root
  3. 在多线程中使用spring的bean
  4. 很多文章是在下转载贴在此处,是为了自己以后遇到类似问题一时想不起来
  5. Linux装c编译器gcc,c编译器进阶之路,linux下的gcc c编译器使用教程
  6. 图解Kafka中的基本概念
  7. JQuery EasyUI-1.5.x-Of-Insdep-Theme后台模板
  8. MVC4发布到IIS7报404错误
  9. python 迭代多个对象
  10. 【渝粤教育】国家开放大学2018年秋季 0709-21T初级会计实务(一) 参考试题
  11. 锐捷校园网:小米mini路由刷Padavan固件实现wifi上网
  12. RAID磁盘列阵介绍
  13. SOCOFing指纹数据集
  14. 【bioinfo】sam文件可选区域字段(Optional Feild)含义
  15. 玩转华为ENSP模拟器系列 | 配置RSTP功能示例
  16. CAD图块全攻略:别羡慕我下班早,我的CAD软件会开挂!
  17. FUZ-2204-7环形dp
  18. 是学不会的OD啊(一)->初次见面,请多指教
  19. FireFox下Canvas使用图像合成绘制SVG的Bug
  20. 数字电路学习——三极管的使用

热门文章

  1. 惠普战66五代锐龙版配置 怎么样
  2. 惠普战66五代和2022款联想小新air15选哪个好
  3. DataFrame某一列使用append追加数据为什么为空
  4. swoft2.x swoftCli 自动重启服务
  5. wps 文档未保存就关闭了或手滑点成不保存(帮你找回自己的文档)
  6. DSP频谱分析——选取合适的N和窗函数得到6根非零谱线
  7. python3实现n阶魔阵
  8. Cnskype for business协同办公软件对企业的意义
  9. 极品校园八大尴尬时刻
  10. 手机订货软件for android1.5