通过RFC把外部数据写进SAP标准表

本文介绍了如何通过VBA代码与ABAP函数配合,实现从Excel到SAP RFC表的数据自动更新流程。详细阐述了设置SAP连接、编写RFC函数以及在Excel中调用RFC的方法,旨在提升数据处理效率。

1. 用Tcode: SE11建立一个标准表ZTBRFC

2. 写好RFC.

3. 在EXCEL中调用该RFC, 并把当前EXCEL Sheet1的数据写入ZTBRFC.

 

''''''''''''''''''VBA代码:''''''''''''''''''

Private Sub updateRFCTB()
Dim func, iTable As Object
Dim RC As Integer

RC = ActiveSheet.Range("A65535").End(xlUp).Row

 

  If sapConn() Then
   
    Set ofun = CreateObject("SAP.FUNCTIONS")
    Set ofun.Connection = oConnection
    Set func = ofun.Add("ZRFC_ZTBRFC_DATA")

   

    For j = 2 To RC
       ' func.exports("ZMANDT") = Range("A" + Trim(Str(j)))
        func.exports("ZAUFNR") = Range("B" + Trim(Str(j)))
        func.exports("ZKUNNR") = Range("C" + Trim(Str(j)))
        func.exports("ZVKORG") = Range("D" + Trim(Str(j)))
        func.exports("ZERDAT") = Range("E" + Trim(Str(j)))
        func.exports("ZLSMENG") = Range("F" + Trim(Str(j)))
        func.exports("ZMEINS") = Range("G" + Trim(Str(j)))

       

        If func.Call = True Then
            Set iTable = func.TABLES("ZTB_LIST")
            Debug.Print iTable.RowCount           
        End If
   
    Next
    
  Else
    MsgBox "无法连接SAP服务器,请检查网络是否正常!", vbExclamation, "操作提示:"
  End If
End Sub
 

  

 

Function sapConn() As Boolean

Set oFunction = CreateObject("SAP.LogonControl.1")
Set oConnection = oFunction.NewConnection
oConnection.ApplicationServer = "192.12.12.10"
oConnection.client = "300"
oConnection.Language = "ZH"
oConnection.user = "myRFC"
oConnection.Password = "myPW"
oConnection.codepage = "8400"
oConnection.SystemNumber = "00"

sapConn = oConnection.logon(0, True)


End Function

 

''''''''''''''''''

 

*********ABAP CODE***************************

 

FUNCTION ZRFC_ZTBRFC_DATA.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(ZAUFNR) LIKE  AUFK-AUFNR DEFAULT SPACE
*"     VALUE(ZKUNNR) LIKE  VBAK-KUNNR DEFAULT SPACE
*"     VALUE(ZVKORG) LIKE  VBAK-VKORG DEFAULT SPACE
*"     VALUE(ZERDAT) LIKE  AUFK-ERDAT DEFAULT SPACE
*"     VALUE(ZLSMENG) LIKE  VBAP-LSMENG DEFAULT SPACE
*"     VALUE(ZMEINS) LIKE  VBAP-MEINS DEFAULT SPACE
*"  TABLES
*"      ZTB_LIST STRUCTURE  ZTBRFC OPTIONAL
*"----------------------------------------------------------------------

TABLES: ZTBRFC.

DATA: BEGIN OF ITAB OCCURS 0,
      AUFNR LIKE AUFK-AUFNR,
      KUNNR LIKE VBAK-KUNNR,
      VKORG LIKE VBAK-VKORG,
      ERDAT LIKE AUFK-ERDAT,
      LSMENG LIKE VBAP-LSMENG,
      MEINS LIKE VBAP-MEINS,
      END OF ITAB.


  ITAB-AUFNR = ZAUFNR.
  ITAB-KUNNR = ZKUNNR.
  ITAB-VKORG = ZVKORG.
  ITAB-ERDAT = ZERDAT.
  ITAB-LSMENG = ZLSMENG.
  ITAB-MEINS = ZMEINS.


     MOVE-CORRESPONDING ITAB TO ZTB_LIST.
     APPEND ZTB_LIST.

  MODIFY ZTBRFC FROM TABLE ZTB_LIST.
  COMMIT WORK AND WAIT.


ENDFUNCTION.

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值