Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Passing table parameters via RFC using VBA / VB.NET

Former Member
0 Kudos

Hi,

I try to invoke an official SAP RFC, which has optional table parameters. When I do the coding in VB.NET, the connection is established properly. Yet the call to send data using the table parameter fails.

ST22 dump analysis shows the following error: <b>"Invalid Delta Manager object ID (20 <=> 14)"</b>.

Error analysis section states: <i>"Internal error with RFC (Remote Function Call). An object was supposed to be registered in the Delta Manager, but the proposed object number 20 has already been used."</i>

Does it have something to do with passing tables as parameters? Because the function is called successfully when I don't specify tables.

Here's the relevant bit of my VB.NET code:

'--- start of code

'... after establishing the connection

        'Academics-related RFC function
        theFunc = functionCtrl.Add("HRIQ_STUDENT_STUDIES_DT_RFC")

        Dim oTableFactoryCtrl As Object
        Dim oTable As Object
        oTableFactoryCtrl = CreateObject("SAP.TableFactory.1")

        oTable = oTableFactoryCtrl.NewTable()
        oTable.CreateFromR3Repository(sapConnection, "PIQRFCAGD_DATES", "ANTICIP_GRADUATION")

        theFunc.Tables.Add(oTable)

        oTable.AppendRow()
        oTable.Value(1, "ANTICIPATEYEAR") = "2007"
        oTable.Value(1, "ANTICIPATEPERIOD") = "1"
        oTable.Value(1, "PROGRAM_OBJECTID") = "50000782"

        Dim returnFunc As Boolean
        returnFunc = theFunc.Call

'--- end of code

"ANTICIP_GRADUATION" is the name of the table parameter while "PIQRFCAGD_DATES" is the underlying type of this table.

Anyone encountered this error?

Janek

1 REPLY 1

Former Member
0 Kudos

I was passing two tables with the same name. Passing only one solved the issue.