cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Read table vs RFC Stream

0 Kudos

Hi,

I created an SAP Datastore with Transport method as RFC. I registered RFC Program ID in SAP and i am able to extract data in a regular dataflow. Surprisingly, even if i remove RFC destination in datastore and put a dummy value, i'm still able to extract data.

I am curious as how is it working. It should throw an error. is it using RFC Read table function in SAP ?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

former_member187605
Active Contributor
0 Kudos

From the documentation, SAP Data Services Supplement for SAP guide, section 7.1.1.1 Datastore:

     Destination name - If using an sapnwrfc.ini file, enter the destination name to reference.

That parameter is simply ignored by default.

0 Kudos

Hi Dirk,

Not sure if i understand this correctly. We have set sapnwrfc.ini to NO.

If i set Transport method as RFC, does it work even if don't provide anything in RFC Destination ?

in such scenario which function will be used RFC_READ_TABLE or RFC_STREAM_READ_TABLE

Thanks

former_member187605
Active Contributor
0 Kudos

Yes, that's what is says, the RFC Destination parameter is only relevant with sapnwrfc.ini.


And also from the same documentation:


You can select an SAP application table as a source in any data flow. However, when you use an SAP application table as a data flow source, Data Services extracts data using the Data Services-provided RFC (remote function call) /BODS/RFC_STREAM_READ_TABLE. If this function is not loaded to the SAP application server, Data Services extracts data using the SAP-supplied function, RFC_READ_TABLE. This function call limits extracted data to 512 bytes per row.

Please, RT*M.

0 Kudos

Thanks Dirk. 2nd point is clear.

on the 1st point, my understanding is if i set sapnwrfc.ini to YES in Datastore, then i need to provide RFC destination name. If i set it to NO, we need not to give anything in RFC destination.

correct me if i am wrong.

former_member187605
Active Contributor
0 Kudos

You're 100% right!

0 Kudos

There is a time which is set for 10 mins in general for any SAP ECC system This is a common error when using SAP table in a regular DF. I understand this runs in foreground. Although we set EXECUTE IN BRACKGROUND to YES in datastore, it really doesn't work.

Any way we can force the RFC call to run in background ? using an ABAP DF is one option.

0 Kudos

Hope we are not confused between RFC destination (below Transfer method) and Destination (below saprfcnw.ini) options

former_member187605
Active Contributor
0 Kudos

That's how I've understood it, as well. Though there are others who claim setting Execute in background (batch) to Yes does solve the problem. Cf.

former_member187605
Active Contributor
0 Kudos

I am afraid we are . RFC Destination should match an existing destination in the source SAP system, indeed. Maybe the original value is still cached somewhere? And it won't work anymore after restart of either of both systems, SAP or DS?

0 Kudos

I tried it. It is still extracting the data. I think the question drill down to-

If i am using SAP table in a regular DF, what is it different between using different transfer methods in Data store settings ? These transfer methods makes sense only when using ABAP dataflows. Otherwise, just nothing.

former_member187605
Active Contributor
0 Kudos

Yes, more confusion . You clearly mentioned regular data flow in your post. But becasue it started with a reference to the transport method, I've been assuming it was all about ABAP data flows. And that's the only place where it really matters.

0 Kudos

I'll raise an OSS ticket with SAP to get more clarity on this.

Answers (0)