on 06-07-2010 7:53 PM
Hi,
I have a scenario where data is coming from different databases into XI and after processing the data it creates a file at the target side. Some calculations are to be done in the middleware and the result will be sent through a file.
My question is
1. BPM will be used in this scenario?
2. There will 2 outbound interfaces(one for each database access), 2 abstract interfaces and one inbound interface(file). Please correct me if I am wrong.
3. I have to multiply the value of field from one database to a particular value in another database and get the final result. For e.g exchange rate from one database is multiplied to Transaction currency in another database and get the group currency value in the output. Can anyone give the sequence of steps in the intergration process for this scenario as I am new to BPM.
Thanks,
Aparna
1. BPM will be used in this scenario?
Could be, could not be.
BPM for sure can be used in your case. But you can just use normal scenario, with JDBC sender to get data from DB1, and use JDBC lookup to get exchange rate from DB2
Regards
Liang
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Abhishek. It was a stupid mistake.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks a lot Liang and madhusudana for your responses.
Since I can use JDBC lookup for this in my nornal scenario I think no need for BPM.
I have created the advanced UDF for JDBC lookup code. Below is the code.
String Query = " ";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
MappingTrace importanttrace;
importanttrace = container.getTrace();
// Build the Query String
Query = "Select home_cur_code FROM gltrxcp WHERE company_code = '" + a[0] + "' ";
try{
//Determine a channel, as created in the Configuration
channel = LookupService.getChannel("BS_JDBC_send","cc_JDBClookup_rec");
//Get a system accessor for the channel. As the call is being made to an DB, an DatabaseAccessor is obtained.
accessor = LookupService.getDataBaseAccessor(channel);
//Execute Query and get the values in resultset
resultSet = accessor.execute(Query);
importanttrace.addWarning("resultset" + resultSet );
for(Iterator rows = resultSet.getRows();rows.hasNext();){
Map rowMap = (Map)rows.next();
result.addValue((String)rowMap.get("HOME_CUR_CODE"));
importanttrace.addWarning("result" + result );
}
}
catch(Exception ex){
result.addValue(ex.getMessage());
}
finally{
try{
if (accessor!=null) accessor.close();
}
catch(Exception e){
result.addValue(e.getMessage());
}
}
But I am not getting the desired result. I am getting result as 'Null'.
Can you please help in resolving this issue. I have also used trace for find out where it is passing Null and found that 'result' is coming null. Do i also need to parse it before passing it to 'result'?
Can anyone send sample code for JDBC lookup.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
As your source payload is coming from 2 different databases BPM is must in this case. Please proceed below steps sequentially
2 outbound interfaces and 2 abstract interfaces
In BPM use Fork step with 2 branches and use 2 container varables of 2 abstract interfaces in 2 receive steps. after fork step there should be TRANSFORMATION step in which you are using 2 abstract interfaces at source side and one abstract interface(receiver file type structure) at target side. In this mapping you can multiple field of first database message and second database message. After this transformation step use SEND step(which is final message of receiver).
In ID:
2 sender agreements
2 receiver determination(for BPM)
2 interface determinations
1 receiver determination for actual receiver
1 interface determinatin for receiver
1 receiver agreement for receiver
Please start the interface developmetn then you can get the idea.
thanks,
madhu
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.