cancel
Showing results for 
Search instead for 
Did you mean: 

multiple mapping programs

Former Member
0 Kudos

Hi ,

Currently we have 5 interfaces with 5 different IDOCs which are going to SQL[IDOC to JDBC].

We want to conver them to Proxy-->JDBC. Since Oracle does not need all the data in IDOCs.

I was thinking if I could define one Data type containing all the fields required by different SQL table and generate a Proxy class. Is this the right approach?

But i would have 5 different Mapping Programs and One operation mapping between the source Proxy and 5 different stored procedures which insert data in different table in SQL.

If not I was thinking creating a data type seperately for fields in each IDOC and create seperate message types and SI and MM.

Please advice.

Thanks,

Teresa

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Question: 

Do you have large volume messages and you see a performance issue?  If your answer is yes, then you need to replace idoc with proxy. Though we handle or tweak required fields to the target structure via mapping, still  the conversion of idoc to equivalent idoc xml takes some considerable processing time. If your answer is no, then don't replace the sender system.

>>If not I was thinking creating a data type seperately for fields in each IDOC and create seperate message types and SI and MM.

If you stay with idoc as sender, then deal with individual data structure for each interface.  But certainly you can call multiple tables using the single data structure which contains statement tag with necessary access and key elements for every table.  Or you can also do query statement structure to join those five tables.


Hope that helps

Answers (3)

Answers (3)

rajasekhar_reddy14
Active Contributor
0 Kudos

Moving to Proxy will not give any greater advantage because IDoc and Proxy performance same,coming to unwanted data fields once PI executes mapping it create only mapped fields so this is also not a problem.

If you dont want unwanted fields then request ABAP team to suppress those fields from their end.

If still you want to go for ABAP Proxy then define 5 different structures and 5 different mappings,if you are defining which interface to cal based on data then one proxy structure is right idea.

Regards,

Raj

iaki_vila
Active Contributor
0 Kudos

Hi Teresa,

I was thinking if I could define one Data type containing all the fields required by different SQL table and generate a Proxy class.

From the sender side is ok, from the receiver side you must follow the XML format that SAP PI supports.

But i would have 5 different Mapping Programs and One operation mapping between the source Proxy and 5 different stored procedures which insert data in different table in SQL.

If those different tables must be updated in one call, why don't you wrap all in one stored procedure and you call only one?

Regards.

former_member184681
Active Contributor
0 Kudos

Hi Teresa,

A few hints from me:

>>> We want to conver them to Proxy-->JDBC. Since Oracle does not need all the data in IDOCs.

Why would you change anything on the sender side, just because you want a different receiver structure? Isn't it better to use mapping to get rid of the unwanted data, without changing anything on the sender side? This is how I would approach it personally.

If all those 5 scenarios are not connected, you should rather think of them as 5 separate ones, and keep them separated, including Message Mapping & Operation Mapping.

>>> If not I was thinking creating a data type seperately for fields in each IDOC and create seperate message types and SI and MM.

Almost a good one But why not use IDoc to JDBC mapping instead? Less work for you

Hope this helps,

Greg