cancel
Showing results for 
Search instead for 
Did you mean: 

Should we store business data in PI?

Former Member
0 Kudos

Hi Gurus,

I have come across a situation where business demands filtering of an IDOC based on certain values, existing in different IDOC.

For this I need to store filter values somewhere, either in PI or ERP.

Filter values are of articles and hence huge in number.

Now looking into the current situation where other systems are also using the same PI system, where would you recommend storing the data, i.e. in PI or ERP?

Or to put it differently is it recommended by SAP to store data in PI? And if not, do we have any supporting document by SAP on this?

I suppose it is not recommended because PI is a middleware which is not suppose to store the business data.

Any help would be highly appreciated.

Regards,

Vikash

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

You can use BPM.

BPM is used to keep on the process running untill all idocs are received(can be based on time or Counter) and then pass the collected IDOC to Transformation Step(Mapping) Where you can filter the data on the basis of your requirement and then pass to the final targets system.

I hope this will help ..

Regards

PS

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi

If you are looking for a long term solution, i would propose to use UKMS solution provided by SAP.

you can maintain n number of tables and table maintanence also can be given business/funtional consultants.

But this would require lot of effort to set it up initially.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>Now looking into the current situation where other systems are also using the same PI system, where would you recommend storing the data, i.e. in PI or ERP.

Storing values in ERP is the better approach. Since PI is a middleware and not meant for storing large values over there. You might want to consider value mapping or value mapping replica to see that helps. ValueMapping replica method can access tables of backend to check values. You can achieve this during mapping. or use RFC lookup and fetch values from the backend during mapping.

Former Member
0 Kudos

Dear Prabha,

Thanks for your reply!

I know with BPM it is possible but in BPM data is stored temporarly, just for the time until all the messages get processed.

But my question is...should we store the business data (in some customized Z table) permanently in PI, which we can use for filtering purpose during the processing of IDOCs?

Regards,

Vikash

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Vikash,

yes you can store data in PI ABAP stack , but most of the client wont allow to store data in PI ABAP stack, if ERP system in landscape use ECC and create tables and store the data and perform look to get the values.

Regards,

Raj

Former Member
0 Kudos

Hi,

the main reason we (or a client) don't want to store data in PI abap table, it's because after that you should authorize fonctional consultants or Business teams to have an access to a pure technical tool (e.g PI = middleware). That's not recommended.

Moreover, if you do that, you will certainly have a warning from SAP like "you have too much persons with a log on on your PI" (we already had it with a huge maintenance team, so with fonctional and businness... it's sure you will have it.)

Depending on data, it's better to do a RFC lookup to an ECC table, or to use a Value Mapping directly in PI (defined by a PI consultant) or to use a Value Mapping Replication so a table defined in ECC (maintained by SM30) and with a replication of this table inside a Value Mapping. Be careful of Value Mapping content: you cannot have:

aaa --> my1stdata

AAA --> my1stdata.

because in a Value Mapping it's not really like a table, there is no Key !!!

a solution to manage that is to use a prefix that you remove in mapping. exam:

p1_aaa --> p1_my1stdata

p2_AAA --> p2_my1stdata.

regards.

Mickael