当前位置:网站首页>VBA appelle SAP RFC pour réaliser la lecture et l'écriture des données
VBA appelle SAP RFC pour réaliser la lecture et l'écriture des données
2022-04-23 07:52:00 【Willie y】
1、RFCStructure
RFCConfiguration des propriétés:
RFCParamètres d'entrée:
ZSCE_MAT×Structure du tableau:
RFCParamètres de sortie:
2、VBACode
Public Const StartRow% = 2 ' Ligne de départ des données
Public Const EndRow% = 3 ' Ligne de fin de données
Public Const DataSheetName$ = "Data"
Public SAP As Object
'******************************************************************************
'* Function Desc:VBAAppelezSAP RFC
'* Author:
'* Param:
'* Returns:
'******************************************************************************
Sub InputData()
Dim WrtDataResult As String
Dim IMATNR$, ZYIELD$
If ContectSAP = False Then
MsgBox "ConnexionSAPÉchec"
Exit Sub
End If
If MsgBox("ConnexionSAPSuccès! Oui Non " & DataSheetName & "Importation de donnéesSAP?", vbYesNo, "Attention") = vbNo Then
Exit Sub
End If
Call OperationPrompts("Écrire des données àSAP,Attendez, s'il vous plaît.……")
Application.DisplayAlerts = False
Application.ScreenUpdating = False
With ThisWorkbook.Sheets(DataSheetName)
For i = StartRow To EndRow
IMATNR = .Cells(i, 1).Value
ZYIELD = .Cells(i, 2).Value
WrtDataResult = CallRFC(IMATNR, ZYIELD)
.Cells(i, 3).Value = WrtDataResult
Next i
'Déconnecter
SAP.Connection.LOGOFF
Call OperationPrompts("DéconnectéSAP……")
UF_Prompt.Label1.Caption = "【Programme terminé】"
ThisWorkbook.Save
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
AppelezRFCCode de base:
'******************************************************************************
'* Function Desc:VBAAppelezSAP RFC
'* Author:
'* Param:
'* MATNR_No:
'* ZYIELD_value:
'* Returns:
'******************************************************************************
Public Function CallRFC(MATNR_No$, ZYIELD_Value$) As String
Dim LogFlag As Boolean
Dim Result As String
Dim InputTable As Object
Dim Result1 As Object
Dim Result2 As Object
Set RFC = SAP.Add("RFC_Z_SCE_CHANGEMATERIAL")
Set InputTable = RFC.Tables("ZSCE_MAT_GDPW")
'rfc Assignation des tables de paramètres
With InputTable
.Rows.Add
.Value(.RowCount, "MATNR") = MATNR_No
'.Value(.ROWCOUNT, "VOLUM") = VOLUM_Value
.Value(.RowCount, "ZYIELD") = ZYIELD_Value
End With
'call RFC
LogFlag = RFC.Call
If LogFlag = True Then
' Définir les paramètres de retour
Set Result1 = RFC.Imports("ZMSGNO")
Set Result2 = RFC.Imports("ZMESSG")
CallRFC = MATNR_No & "," & Result1.Value & "," & Result2.Value
Else
CallRFC = "RFCL'appel a échoué!"
End If
InputTable.FreeTable
Set InputTable = Nothing
Set Result1 = Nothing
Set Result2 = Nothing
Set RFC = Nothing
End Function
Dans le CodeRFC L'assignation de la structure du tableau nécessite une assignation ligne par ligne .Exports Parameter Transfer participation ImportsParamètres similaires.
RFCDans l'appel de,ExportsIndique l'entréeRFCParamètres pour,ImportsReprésentationRFC Résultat de l'appel retourné .
Résumé:
Dans le travail quotidien,VBALireSAPTableau,Ou appelerRFCC'est plus pratique.,Pas besoin deSAPUtiliserABAP Développement et transmission de systèmes de production assortis , Fondamentalement, le code ci - dessus peut être modifié .
Pour de plus amples informations, veuillez consulter:ExcelVBAAvecSAPRFCInstance d'appel d'interface - Filet de douding
版权声明
本文为[Willie y]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230628041296.html
边栏推荐
猜你喜欢
Django uses MySQL database to solve error reporting
Dropping Pixels for Adversarial Robustness
Common markdown grammar learning
Houdini地形与流体解算(模拟泥石流)
利用Lambda表达式解决c#文件名排序问题(是100大还是11大的问题)
Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments
Scrapy 修改爬虫结束时统计数据中的时间为当前系统时间
企业微信免登录跳转自建应用
如何展示您的数字作品集:来自创意招聘人员的建议
Simple random roll call lottery (written under JS)
随机推荐
Event system (II) multicast events
SampleCameraFilter
How does Apache Hudi accelerate traditional batch mode?
自己封装unity的Debug函数
FSM finite state machine
One of event management
The page displays the current time in real time
Custom time format (yyyy-mm-dd HH: mm: SS week x)
js之排他思想及案例
Apache Hudi 如何加速传统的批处理模式?
Xamarin版的C# SVG路径解析器
Nodejs (four) character reading
双面显示的shader
移动端布局(3D转换、动画)
Unable to process jar entry [module info. Class]
Mongodb starts warning information processing
Unity 获取一个资源被那些资源引用
03Scanner类的使用(控制台输入)
快排的练习
url转成对象