3
votes

I have a big string containing 400 MByte JSON data in rfc function module.

See debugger:

sap-debugger

Unfortunately my pyRFC client only receives roughly 34 MByte.

Where and why does my data get cut?

Is this a well known limitation of sap-rfc?

Strange but true, I already transferred json strings with 77 MByte successfully.

Related issue at github: https://github.com/SAP/PyRFC/issues/97

1
Try to call this function module via RFC from another SAP system if you can to see whether this is somehow connected with your environment settings.Jagger

1 Answers

1
votes

It cannot be a limitation of SAP RFC. I have made a simple test. I created an RFC function module in one of the systems (let us name the RFC destination for it DEV000). It looks like this.

FUNCTION Z_TEST .
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  EXPORTING
*"     VALUE(E_STRING) TYPE  STRING
*"----------------------------------------------------------------------

e_string = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`.

DO 23 TIMES.
  e_string = e_string && e_string.
ENDDO.

ENDFUNCTION.

Then I wrote a simple program in another system that calls this function module.

REPORT ZZZ.

DATA: g_string TYPE string.

CALL FUNCTION `Z_TEST`
  DESTINATION `DEV000`
  IMPORTING
    e_string = g_string.

BREAK-POINT.

The string gets transferred in full, so it cannot be a limitation of SAP RFC. I guess you have to search for the cause rather in your pyRFC library or in your Python's client code.