cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Z Datasource on the R/3 side

Former Member
0 Kudos

Hi Gurus,

When I check in the 'Details' tab in the Monitor of a Infopackage created on a Standard DataSource,

it shows data received as packets of size 25908 records.

"25908 Records sent ( 25908 Records received ) "

"25908 Records sent ( 25908 Records received ) "

"25908 Records sent ( 25908 Records received ) " and so on.

I created a Z data source on FM. When I try to execute the infopackage created for this Z Datasource,

it tried to fetch all the records in a single packet and failed.

"1920452 Records sent ( 0 Records received )".

Am I missing some settings for this datasource.

This is failing in the R/3 side with error "TSV_TNEW_PAGE_ALLOC_FAILED" because it is appending all the data to a single internal table in this case. Whereas in the above standard datasource case, it is sending data in form of packets.

Please suggest if i am missing any settings in this case.

Regards

Nageswara Reddy

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

(1) In the Infopackage screen goto "Scheduler"

(2) select "DataS. Default Data Trasnfer"

(3) Set the value for "Maximum size of a datap Packet in Kbyte" to 500 or 1000 and "No: of data packets per Info-iDoc" to 1

(4) save and schedule the Infopackage again

Regards,

Santosh

Answers (4)

Answers (4)

amol_jaiswal
Explorer
0 Kudos

hi,

You can also maintain entry in table ROIDOCPRMS on R/3 side for your source system. Please refer to the sap note 401847 for more details on this. Other thing you can do is at Infopackage level, you can maintain the datapackage size.

Hope this helps.

Amol

0 Kudos

Hi Nageswara,

You would find the following code in the function module,

  • Fill parameter buffer for data extraction calls

S_S_IF-REQUNR = I_REQUNR.

S_S_IF-DSOURCE = I_DSOURCE.

S_S_IF-MAXSIZE = I_MAXSIZE.

Here you have to determine number of database records to be read per FETCH statement

from input parameter I_MAXSIZE. If there is a one to one relation between DataSource table lines and database entries, this is trivial. In other cases, it may be impossible and some estimated value has to

be determined.

As per the above statement, you have to estimate some value for the parameter I_MAXSIZE.

This would resolve your issue

Regards,

Prem

Former Member
0 Kudos

Your Z extractor is failing because you are not add something like this piece of code

FETCH NEXT CURSOR S_CURSOR

APPENDING CORRESPONDING FIELDS

OF TABLE E_T_DATA

PACKAGE SIZE S_S_IF-MAXSIZE.

If not add something like this your extractor try to send all the data in one package and got a memory error....

Check the functiona module RSAX_BIW_GET_DATA_SIMPLE

This is the universal template for all Z extractors....

Regards

mansi_dandavate
Active Contributor
0 Kudos

Hi,

It is failing because at a time it cannot store such large no of records into a internal table.

That much memory is not available.

What is the package size in your infopackage?? Try to change it to 500 or 1000 and then load.

Regards,

Mansi