cancel
Showing results for 
Search instead for 
Did you mean: 

Function Module RSDRI_DATA_WRAP_V

Former Member
0 Kudos

BI Experts,

As part of BI 7.0 SAP has delivered a Function Module 'RSDRI_DATA_WRAP_V' which is basically called by the Function Module 'RSDRI_INFOPROV_READ_RFC'. In our particular case we are exposing FM ' RSDRI_INFOPROV_READ_RFC' as a web service. Using this method we are extracting data in the form of a single array, Which mean to say that if we request for 20,000 rows and 4 fields from a info provider (DSO/Cube) the length of the array would be 20,000 X 4 = 80,000

In the function module 'RSDRI_DATA_WRAP_V' there is a limit hard coded (Line 57) to 100,000. This is way to low for our application needs. We checked if there are any enhancement points in this FM so that if we change it, we are still within the enhancement framework. Unfortunately that is not possible.

We need to know from why is there a limit of only 100,000 in this function module. However as a feedback, we changed this value to 4,000,000 in our Sandbox and and we did not see any performance impact.

Has anyone encountered this yet. Any feedback will be very helpful. Thanks Community!

Regards

Yashu Raj

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Yashu,

There is a default SAP guideline that stipulates data packets should be no more than 100,000 lines.

This should coincide with the internal table space memory that Basis sets. There is a rough calculation that SAP has published to work out the best data packet size optimized for loading.

I would recommend that you play around with your data packet sizes, I would not recommend increasing the max lines as this will cause other issues. Your Basis contact should be able to provide more insight as to why this is. Below I have done a small outline of how this is done.

You need to know the structure width (ABAP length) you can get this via SE11, view DataSource as a data type, not a data base table. Then under extras look at the Structure width/ABAP length.

In our case say the width is 250

Max lines at highest its setting is 100,000 lines (SAP recommended) this setting can be changed via the Scheduler menu DataS. Default Data Transfer max is 20,000 lines unless you maintain table ROOSPRMS

Then you need an idea of the number of records to be transferred say 10,000,000

The calculation of “Number of records per Data Packet” would be

(Max Lines/Structure Width x 1,000)

The calculation of “Total Number of Data Packets” would be

(Number of Records/Number of records per Data Packet)

So in my example the calc would be

(100,000/250) x 1,000 = 400,000 records per data packet

And the number of packets would be

(10,000,000/400,000) = 25 data packets

So in summary decrease your packet size and as a result the number of packets will increase but your information will pass through the function module

Have a look at these links as well

http://help.sap.com/saphelp_sem40bw/helpdata/EN/b8/5b723b9b4f8f7de10000000a114084/frameset.htm

http://help.sap.com/saphelp_sem40bw/helpdata/EN/17/e0603801be792de10000009b38f842/content.htm

Hope this helps, Good Luck

Ben

Please assign points if useful