on 12-12-2014 5:50 PM
i have a question how to make the mapping on my scenario Proxy->PI->JDBC, asynchronous.
i have to transfer the information of 30 tables (catalogs tables) to the DB of SQL server, what is the best way to do the interface, to make this transfer in one interface?
my interface will be execute with a job
Do i need on my Operation Mapping to make one interface with lots of Message Mapping of each table with their respectively Service Interface?.. or am i wrong with it?
or if you have a link where i could fine this best way to make the interface, I appreciate the help.
Regards,
Erick Rodriguez
Better keep separate tables unless the business say they are dependent and business urge you to implement in 1 message.
1) The message will be bulky if you implement 1 single data source hence, ask ABAP team to send the data in batch of 50 or 100 to make it more reliable in case of 1 single structure. This might have cons that if any one of the mapping fails , all the tables are failed. So take care of this.
2) Better approach to maintain 30 interfaces separately if you do not have dependency of the tables.
Hope it is helpful.
Cheers !!
Ciao.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI Eric,
I also came acress the same requirement and used one operation mapping and one Message Mapping/XSLT mapping.
You need to generate final output(which goes to jdbc adapter) like below
<?xml version="1.0"?>
<root>
<TABLE1_INSERT>
<TABLE1 action="INSERT">
<table>RealtableName</table>
<access>
<column1>test</column1>
<column2>test2</column2>
</access>
</TABLE1>
</TABLE1_INSERT>
<TABLE2_INSERT>
<TABLE2 action="INSERT">
<table>RealtableName</table>
<access>
<column1>test</column1>
<column2>test2</column2>
</access>
</TABLE2>
</TABLE2_INSERT>
</root>
Thanks
Sandeep Maurya
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
You may use a single Operation Mapping and Single Mapping (with multiple STATEMENT) for Insert or update (action).
1) While you want the insert/update to happen in all the tables simultaneously. You can set a condition if the insert/update fails in any one table, the all the tables should roll back.
Go to receiver JDBC channel --> Advanced Mode --> activate "Batch Mode".
2) Along with this keep the check box enabled for Transaction Isolation level = "serializable". This would make you data consistent.
Configuring the Receiver JDBC Adapter - SAP XI: Runtime - SAP Library
Thanks,
Sudhansu
Hi Erick,
You can proceed with one Operation mapping scenario where you have to create 30 different node structures and insert data to tables. Or
You can discuss with your database system team if they can create a stored procedure to handle the logic of insertion to 30 tables and you can create single structure and execute the stored procedure. Error handling would be easy in this scenario.
Regards,
Pranav
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Erick,
I think it wont be possible to insert values in 30 tables with single scenario . you have to create 30 scenarios ( one scenario for one table) , since every table will have different structure and jdbc receiver schema will be vary according to table schema.
Regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.