cancel
Showing results for 
Search instead for 
Did you mean: 

How do I read multiple lines in RFC_READ_TEXT with one request?

Former Member
0 Kudos

Hello,

I am going through some problems, I need to access a large number of texts relating to the Purchase Order.

With the help of this topic(Retrieve texts from a sales order by using RFC_READ_TEXT), could use function RFC_READ_TEXT to access one of the purchase orders I needed.

But I need to access more than 22,000 requests per month. And according to the thread I mentioned I can only return one text at a time.

How could I do to extract a set of Purchase Order text with one request using RFC_READ_TEXT?

I really appreciate everyone's attention.

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Guys,

I discovered the answer to the question i've made "Meanwhile, someone could tell me if there is any way to pass more than one record in the table in a single request using PDI?"

On PDI - SAP Input you can deal with Table structures for input passing an string containing ";".

Ex:

OPTIONS = "TEST TEST TEST TEST ... TEST" < More than 72 chars without ";" (Don't work)

OPTIONS = "TEST TEST; ... TEST; ...TEST; ... TEST" < More than 72 chars with ";" (Works)

Thanks.

Fillipe

Former Member
0 Kudos

Hi Fillipe,

I am trying to do a similar retrieval using RFC_READ_TEXT in PDI.

Will it be possible for you to share a screen shot of the SAP Input or provide a sample KTR.

Thanks

Sanjay

Former Member
0 Kudos

Sanjay Sukumaran


Of course, there is my example:



Inputs came from STXH. And i used the answer of this thread to concatenate all fields with ';'.


If you have any issue please contact me.


Best Regards

Answers (1)

Answers (1)

chinna_babu2
Active Participant
0 Kudos

Hi

Did you try adding multiple records in the table?

  IRfcTable table = func.GetTable("TEXT_LINES");


  table
.Insert();
  table
[0].SetValue("TDOBJECT", "VBBK");
  table
[0].SetValue("TDNAME", "3147856016");
  table
[0].SetValue("TDID", "Z019");
  table
[0].SetValue("TDSPRAS", "L");


  table.Insert();
  table
[1].SetValue("TDOBJECT", "VBBK");
  table
[1].SetValue("TDNAME", "3147856017");
  table
[1].SetValue("TDID", "Z019");
  table
[1].SetValue("TDSPRAS", "L");


  table.Insert();
  table
[2].SetValue("TDOBJECT", "VBBK");
  table
[2].SetValue("TDNAME", "3147856018");
  table
[2].SetValue("TDID", "Z019");
  table
[2].SetValue("TDSPRAS", "L");


  func.Invoke(dest);
 
return table;


Regards,

Murthy

Former Member
0 Kudos

Narasimha Murthy Balla,

Many thanks for the quick response. I am currently using the PDI (Pentaho Data Integration - Kettle) tool with SAP Input Step. It only lets me set a record for the table.

I will try to program something in Java using the Connector sapjco3 to make a code like this you said and post here the results I get.

Meanwhile, someone could tell me if there is any way to pass more than one record in the table in a single request using PDI?

Again thank you, I will do the tests.

Fillipe.