SAP for Retail Discussions
Join conversations about personalization, omnichannel strategies, and operational excellence in retail using SAP for Retail software.
cancel
Showing results for 
Search instead for 
Did you mean: 

Performance Issue from PI to POSDM

Former Member
0 Kudos

Hello Everyone!

We noticed that the data passing through our PI system to the POSDM system is taking too long to process. As was discussed with our non-SAP POS system, they will send 2,000 XML files every 5 minutes to the FTP in order for PI to process it and send to POSDM.

We got all the start times of the messages (as I assume this is the time it took PI to get the files from the FTP server) and it only took 1 minute and 44 seconds to finish. But if we look at the end times of the messages after the third transaction, it would take more than 2 seconds to finish. Note that the screenshot below is only the first 15 messages out of 2,000 messages from PI:

We checked our service interfaces if it was set to synchronous as this might cause the delay but, they were already set to asynchronous. We also checked our mapping if there's any customized program but we only used standard functions. The transfer protocol used in the PI to POSDM communication channel is through RFC, calling the standard BAPI /POSDW/BAPI_POSTR_CREATE.

We were thinking if the standard BAPI program in POSDM can only take one XML file at a time?

Is there anything else we failed to check out?

Any help is greatly appreciated.

Thanks in advance!

1 ACCEPTED SOLUTION

amit_tunara
Active Contributor

Hi Carmina,

From the above BAPI function module and your problem description, it seems the BAPI is called to process transactions one by one which in turn taking more processing time.

In SAP PI, try combining multiple transactions into one BAPI RFC call which will increase the processing time for sure because posting transaction one by one and posting in batch makes a big difference. You can write the logic to fill the multiple transactions in BAPIs internal tables and then call the BAPI to post the data.

Alternatively, you can suggest the creation of standard POS DM IDoc /POSDW/POSTR_CREATEMULTIPLE01 from SAP PI. When you are using this IDoc, make sure the process code in partner profile is BAPI. This will further improve the performance.

I hope this will help.

Regards,

Amit

View solution in original post

3 REPLIES 3

amit_tunara
Active Contributor

Hi Carmina,

From the above BAPI function module and your problem description, it seems the BAPI is called to process transactions one by one which in turn taking more processing time.

In SAP PI, try combining multiple transactions into one BAPI RFC call which will increase the processing time for sure because posting transaction one by one and posting in batch makes a big difference. You can write the logic to fill the multiple transactions in BAPIs internal tables and then call the BAPI to post the data.

Alternatively, you can suggest the creation of standard POS DM IDoc /POSDW/POSTR_CREATEMULTIPLE01 from SAP PI. When you are using this IDoc, make sure the process code in partner profile is BAPI. This will further improve the performance.

I hope this will help.

Regards,

Amit

0 Kudos

Hi Amit!

Thank you for your suggestion. We would like to use the standard IDOC you've mentioned but as we are new to SAP PI, would you mind sharing how we'll use /POSDW/POSTR_CREATEMULTIPLE01? Will we declare this in the communication channel?

Or any links for this would also be appreciated

0 Kudos

Hi Carmina,

Did you check about the implementation of your BAPI? Changing from BAPI to IDoc is a big effort and need enough thought for changing.

I am not a PI expert, but any ABAPer or PI consultant can write a proxy code to fill the required internal tables for POS DM IDoc and then call the RFC to generate IDoc. It is same as creating a program for generating any standard IDoc.

You can use transaction WE60 to study the structure of the POS DM IDoc. In WE60 screen, give the above message type and proceed see the detailed explanation of IDoc fields.

I hope this will help you.

Regards,

Amit