Skip to Content
author's profile photo Former Member
Former Member

What are the differences of the way calling RFC in Personas 2.0 and 3.0?


I am here rather like to get confirmation of my understanding of how RFC is done in Personas 2.0 and 3.0.
Below is my observations:

In Personas 2.0:

A function module has to be created in backend to manipulate the return data of a function/BAPI called, such as compose the return strings in JSON format. Such function module has to be maintained for each RFC call if the return data structure are different. Namely, it is not possible to have one function module to call different BAPIs.

In Personas 3.0:

Since the return data are manipulate inside the Personas script based on the BAPI data, there is no extra function module to be created as the interface wrapper, thus maintain is simpler.

My questions:

Q1: Is the above understanding correct?

Q2: When dealing with a BAPI that has a large import/export tables, would there be any performance issue due to parsing large data?


Dong Zhu

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Sep 17, 2015 at 12:02 PM

    The major difference is that in Personas 2,0 you need to implement a Function Module as a wrapper, but in Personas 3.0 the return is directly parsed in JS code without extra FM.


    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Aug 26, 2015 at 08:47 AM

    While it is certainly easier with Personas 2 to have a separate WebRFC wrapper for each BAPI you want to call, you could in theory write a single wrapper to which you passed the name of the BAPI. The return value is just a JSON string so its structure can vary as much as you need. I wouldn't do it this way myself, but you could.

    Yes, in Personas 3 you call the BAPI directly in the script, so no WebRFC wrapper is required. You can of course still call WebRFCs the same way as you do in Personas 2 if you need to.

    Calling a BAPI from a Personas 3 script does require data format conversions from JavaScript to ABAP and back again, so it is clearly less efficient than calling the same BAPI directly from ABAP. And the more data you have to convert the bigger that effect. I've not yet tried passing large amounts of data this way (although I have some plans to do so) but I'd be surprised if the penalty was huge. Certainly compared to getting the same data from a SAPgui transaction the traditional Personas way I'd expect it to be much faster. This is just a guess, though, for now. If you plan on testing this I'd be really interested to see the results 😊 What's the scenario you have in mind?


    Add a comment
    10|10000 characters needed characters exceeded

    • I think it depends on how simplified the UI is going to be. If you need search helps for materials, units of measure, vendors, plants, storage locations, etc. then I think a Personas UI might get quite complicated and I'd suggest thinking about a web dynpro or UI5 interface instead. Or maybe build an ABAP dynpro transaction to deal with all the data and put a Personas UI over the top of that.

      All of those things can be done in Personas, although in v2 it will get quite messy, but the more freedom the users have, and so the more validation you need to provide, the more I think Personas isn't the right tool for this. If you can have fixed dropdown lists of materials, etc. so that you don't need search helps or validation, then I might consider it.


Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.