cancel
Showing results for 
Search instead for 
Did you mean: 

how to call only one RFC on SUP 2.1.3

Former Member
0 Kudos

Hi everyone,

My project includes 3 RFC ;

  1. List RFC :  returns a list of purchase requests.
  2. Detail RFC : returns a request's all information.
  3. Approval RFC : returns a request's approval status.

i wanna call the RFCs step by step. Firstly, i must call List RFC. Then if I want to see a request's detail, i must call Detail RFC. And finally when approval button clicked, Approval RFC must be called.

To do this, I use operations with my MBOs.  I called operation like below, All RFC have been called.

           GetDetailOperation *other = [[GetDetailOperation alloc] init];

            other.I_PREQNO=@"**********";

            other.I_PREQITEM = @"******";

            [other save];

            [other submitPending];

            [******DB synchronize];

I don't want to call all RFC .  How do I only one RFC on SUP 2.1.3 ? Is there any detailed tutorial or any example ?

Thanks,

Busra

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello Busra Deniz,

From your question, I understand that you are trying to come up with the "Master - Delayed Details" architecture (mentioned in this presentation; the link takes you to the relevant part but feel free to watch the whole thing when you have the time). Basically, you want to retrieve data in gradual steps; first the list and then the details.

On top of this architecture, you are trying to get some more data (approval status in your case) that is specific to an item (request in your case).

I see 3 possible approaches:

1) I am assuming that your application is built for offline usage. However, this last step of getting the approval status must be done in an online fashion. That makes the app a mixture of online & offline. The thread http://scn.sap.com/thread/2127594  discusses this and more information can be found there. I also don't have much experience in this end.

2) What about merging RFC 2 with RFC 3? When you get the details of a request, you can also retrieve its approval status. In this scenario, your first MBO would be the request header (retrieved via RFC 1) and your second MBO would be the request details (retrieved via RFC 2) including the approval status.

3) Similar to the previous approach, you can still have 2 MBOs (header and details). In the details MBO, you can have a flag indicating whether the approval status has been retrieved or not. The client side (iOS client) can set this flag and do an update on this detail MBO. The update of the detail MBO calls RFC 3 to get its approval status and sets it accordingly in the detail MBO. In this scenario, only RFC 3 should be called.

The approach 3 is a bit of a workaround and I am pretty sure that are more elegant solutions. Hope these alternatives can get you thinking on the right path. The presentation that I have mentioned before can also help you in the process. Meanwhile, it would be great if you could provide a little bit more details on your current scenario/setup (for example your MBO design).

Also, one important detail: Are you getting the approval status of a request (read-only) or are you actually getting the request to be approved (read-write)?

Cheers,

Guven.