cancel
Showing results for 
Search instead for 
Did you mean: 

To Update SAP table from PI with the fields in message Payload.

ashish_goel4
Active Participant
0 Kudos

Hello Experts,

We have a requirement to update a custom table in SAP with the fields in the incoming/outgoing message payloads in PI for a particular set of interfaces (around 60). All message have same fields which needs to be updated.

We need to update them on daily basis. Or can be real time also. 

I cannot modify any of the existing interfaces.

Pls let me know if it is possible.

Thanks,

Ashish

Message was edited by: Ashish Goel

Accepted Solutions (1)

Accepted Solutions (1)

nabendu_sen
Active Contributor
0 Kudos

Hi Ashish,

You can use RFC Lookup (a RFC needs to be exposed and RFC Code should update the fields in SAP table from PI xml payload). But in that case you have to add this look up and modify your message mapping.

ashish_goel4
Active Participant
0 Kudos

Yes Nabendu we can do that, but for that I need to change mapping of 60 interfaces. Is there any other way without touching existing interfaces and develop 1 or 2 new interfaces for this purpose ?

Is there any table in PI where payload is stored for the message and lookup can be done ?

anupam_ghosh2
Active Contributor
0 Kudos

Hi Ashish,

                    How will the new interfaces capture the data meant for existing interfaces? I think you need to alter each of the existing interfaces to add RFC lookup. The first one will take some time rest all will follow same design.

Regards

Anupam

ashish_goel4
Active Participant
0 Kudos

Hi Anupam,

If the incoming data is stored in some table in PI system then we can fetch data from it through function module and RFC call. But I don't know where any such table exists or not.

ambrish_mishra
Active Contributor
0 Kudos

Hi Ashish,

If you don't want to touch the existing interfaces at all and want to build a new functionality, to would be a complex framework you would have to build to update the Z table in ECC. You can get leads from the following link

http://wiki.sdn.sap.com/wiki/x/w4MQB

Hope it helps.

Ambrish

ashish_goel4
Active Participant
0 Kudos

Hi Ambrish,

this is what I was looking for. With this function module ( modifying it according to my requirement),  I hope I can achieve it. Though looks bit complex.

Thanks for your inputs.

Answers (1)

Answers (1)

ambrish_mishra
Active Contributor
0 Kudos

Hi Ashish,

You can create a function module in ECC and call this function module to update the Z table during inbound processing of the set of interfaces in play. This way you would not be required to change the interfaces in PI but yes, you might be required to call this function module within proxy code (in case of ABAP proxy) or user exit (in case of IDocs) within ECC. It will be very-very tricky to make this possible without changing the existing interfaces in ECC or in PI.

Ambrish

nabendu_sen
Active Contributor
0 Kudos

Hi Ambrish,

Can you please explain your solution in detail? When 60 interfaces are processing payloads, from where within PI we can call a function module of ECC? Also not sure why have you mentioned about ABAP code within Proxy / User exit. Please explain.

ambrish_mishra
Active Contributor
0 Kudos

Hi Nabendu,

Instead of making RFC call from PI, assuming that these 60 interfaces are processing data inbound in ECC through IDoc or ABAP proxy, I suggested to create a function module in ECC and call this function module in inbound processing in ECC in a user exit (if is an IDoc interface) or proxy code (if it is an ABAP proxy).

Hope it clears the confusion.

Ambrish

nabendu_sen
Active Contributor
0 Kudos

Hi Ambrish,

Your solution just shifted the changes from PI to ECC side.

For proxy code also, you need to make changes for each Outbound program. For standard IDocs, you need to again handle this in a custom User exit. If client is really want to handle these at SAP side not in PI, we can try, not sure whether would be achieve everything.