cancel
Showing results for 
Search instead for 
Did you mean: 

How the Connector works inside ?

0 Kudos

Hello,

now I got a sample with a BAPIRET2 table and it is working, but I have a general question to integer types. I saw that the field "ROW" is an ..._INT (INT4) and has a 4 byte length exactly how the byte store in memory. The ABAP dictionary says a length of 10. Think I'm right, that this length is only for the display ? A next point is that the offset can't be direct calulated as offset + length = offset of next field ?! in case of the field "ROW" there are 2 undefined ? bytes after the "PARAMETER" field. "PARAMETER" starts at 470 with a length of 32, so I was thinking "ROW" has an offset of 502, but in the working code I got 504 ! Why ? Will be the integer aligned to a 4byte range ? Or why there are 2 additional bytes before the "ROW" field ?

Regards

Holger

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Holger,

I am going to try to help. Not 100% sure what you are asking. Here is what I know.

Within .NET you need to declare a variable that is a new instance of the BAPIRET2 table. Something like (I will use vb code....easier to read)

Dim retTable2 as new BAPIRET2

After returning the value from a function you need to loop through the table and read the values. Something like this

For i as integer = 0 to retTable2.Count - 1

Dim param as string = retTable2(i).parameter

Dim row1 as integer = convert.toInt32(retTable2(i).row)

Next

I think I have the syntax correct. I am not in front of a .net right now to verify. I hope this may help answer your question.

0 Kudos

Hello Ryan,

na, that is not I was expecting, but I found the cause and the discussion ist now continuing in this thread .

Regards

Holger