We have added search box. Key in SAP issue keyword to search
TopBottom

Announcement: wanna exchange links? contact me at sapchatroom@gmail.com.

RE:[sap-dev] SAP RFC Call Returns Error in Return Parameter from Vb Before the RFC Call

Posted by Admin at
Share this post:
Ma.gnolia DiggIt! Del.icio.us Yahoo Furl Technorati Reddit

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.
 
__.____._
Manage Settings | Unsubscribe | Create FAQ | Send Feedback
  
Copyright © 2012 Toolbox.com and message author.
Toolbox.com 4343 N. Scottsdale Road Suite 280, Scottsdale, AZ 85251
mrg1968  
Software Engineer
 
Mark as helpful
View this online
Ask a new question
 
In the Spotlight
Toolbox.com for iPhone & Android: Ask Questions & Get Answers Anywhere. Download the Free App

_.____.__

0 comments:

Post a Comment

T r a n s l a t e to your language