Announcement:
wanna exchange links? contact me at sapchatroom@gmail.com.
Posted by
Admin at
Reply from mrg1968 on Aug 22 at 10:15 AM Hi, everyone. I finally solved the 'Error 0' mistery. I tried with the following code
Set objRfcFunc = sapConn.Add("BAPI_GL_ACC_EXISTENCECHECK" ) objRfcFunc.exports("COMPANYCODE") = "C100" objRfcFunc.exports("GLACCT") = "0000000001" Dim objReturn As Object Set objReturn = objRfcFunc.imports("RETURN") Rem *** BAPI CALL *** If objRfcFunc.Call = False Then ErrorMsg = objRfcFunc.Exception 'Message collection MsgBox ErrorMsg, 16, "Error" sapConn.Connection.logoff Exit Sub End If Dim errorCond As String errorCond = Trim(objReturn.Value(1) & " " & objReturn.Value(2) & " " & objReturn.Value(3)) if errorCond="" then MsgBox "GLACCT Existent " else MsgBox "GLACCT Not Existent" end if I had to: 1) Declare the export parameter of RETURN before the RFC call 2) The result was again 'Error 0' with no object vision, but I ignored this (as suggested by Pierre Richer, thanks!) 3) I just accessed the object without trying to get the named elements ("TYPE", i.e.) but the column numbers of the table BAPIRETURN and get what I'm looking for It's clearly a SAP *annoyance* but I hope someone else getting this kind of error will not get stuck on this a lot of days like myself. Again, thanks to everybody ... Mauro
| | | ---------------Original Message--------------- From: Mauro Re Garbagnati Sent: Thursday, August 16, 2012 6:29 AM Subject: SAP RFC Call Returns Error in Return Parameter from Vb Before the RFC Call Hi everybody. I'm trying to call a SAP BAPI using RFC from vb but I'm having some problem to get the result of the call. The BAPI "BAPI_GL_ACC_EXISTENCECHECK" (from General Ledger Account module) has two parameters, COMPANYCODE and GLACCT, and a RETURN parameter. I wrote the attached piece of code to make the call and I had no problem to establish the SAP Connection (I use the SAP Logon Control OLE/COM object to do the job). I then instantiate the input Parameters COMPANYCODE and GLACCT and again no problem. However, when I try to instantiate the RETURN parameter (the result), I get an 'Error 0' in it. The strange thing is that when I make the call it gives no error because the RFC call returns true and no exception. However, looking through the objReturn object/parameter, it has a value "Error 0" in it. I was expecting a complex structure like the BAPIRETURN object in SAP or something similar if the account doesn't exist. BTW, Final Notes: the user that makes the call has SAP_ALL / SAP_NEW authorization 'BAPI RFC Call Set objRfcFunc = sapConn.Add("BAPI_GL_ACC_EXISTENCECHECK" ) objRfcFunc.exports("COMPANYCODE") = "C100" objRfcFunc.exports("GLACCT") = "0000000001" Dim objReturn As Object Set objReturn = objRfcFunc.imports("RETURN") Rem *** BAPI CALL *** If objRfcFunc.Call = False Then ErrorMsg = objRfcFunc.Exception 'Message collection MsgBox ErrorMsg, 16, "Error" sapConn.Connection.logoff Exit Sub End If Thanks in advance for your precious answers or suggestions ... | | Reply to this email to post your response. __.____._ | _.____.__ |