on 06-20-2009 6:04 AM
Hi,
Please find details of my scenario.
Oracle(VIEW)
Sender JDBC--
> RFC request
and RFC response I need to update some other table in Oracle using storeprocedure.
and have one more storeprocesdure to update the View so that I will not get duplicate entry.
I am not using UPDATE statement in JDBC sender communication channel, insted of that to update VIEW I am using storeprocedure.
Please let me know how I can achive it with BPM.
Thanks,
Bhupesh
Hi,
>>>Please let me know how I can achive it with BPM.
- async receive step (to receive jdbc data)
- transformation to RFC.request
- synchronous send step - rfc
- transformation step from RFC.response to jdbc xml
- async send step (to send to to jdbc)
Regards,
Michal Krawczyk
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Michal,
Thanks for quick response.
can you please explain datatypes and message types needed for this whole scenario.
I need one datatype format for my JDBC receiver for storeprocedure.
right now I am using follwoing format for storeprocedure
DT
Statement
updatestatus
action-- EEXECUTE
table -- Storeprocedure name
field1
type--CHAR
field2
type--CHAR
Thanks,
Bhupesh
do look at this link to know abt the data type - http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
can you please explain datatypes and message types needed for this whole scenario
For JDBC -
> BPM
1 DT, 1 MT, 1 OB Async MI (at JDBC end), 1 ABS Async MI (at BPM receive)
For BPM <---> RFC
RFC, 1 ABS Sync MI (to send from BPM), 1 IN Sync MI (at the RFC end).....the MIs here will be based on the RFC
For BPM ---> JDBC
1DT, 1 MT, 1 ABS Async MI (at BPM), 1 IN Async MI (at JDBC end)
Regards,
Abhishek.
Hi,
1) If the structure send by JDBC is not acceptable by the BPM then you need one Mapping in JDBC ---> BPM flow.
2) If the structure send by JDBC is same as the receiving structure of BPM then no need of Mapping.
3) You will need one Mapping to map JDBC req message to the RFC req message; one mapping program to convert RFC response to the JDBC stored-procedure message....
So your scenario with mappings will be:
JDBC --> Interface Determination (Mapping Optional as per pt.1) -
> BPM
BPM <-> Interface Determination (Request-Response Mapping) <--> RFC
In the above mapping program your ABS MI of BPM should have below MTs
Req Message -
> Original Message Received from JDBC
Response Message ---> Message which needs to be send to the JDBC stored-procedure.
Now your IN SYNC MI at the RFC end should have below MTs
Req Message ---> RFC request message
Resp Message ---> RFC response massage.
Then in the Interface Detremination of BPM <----> RFC flow develop a IM with below mapping programs:
Request Mapping between ---> MessageFromJDBC_to_RFCRequest
ResponseMapping between ---> RFCResponse_to_JDBCStoredProcedure
BPM -
> JDBCStoredProcedure
For this flow there is no need of Mapping program...
using the above mappings programs you can ensure that there is no Transformation step in your BPM...this is to help you in achieving a good performance out of your BPM...
You need a Syns ABS and Sync IN message Interface for BPM <---> RFC communication.
Regards,
Abhishek.
if you can see in my first post..my requirement is to send RFC response to 2 storeprocedure so
that one store procedure will update table and one will update View
Ok...didnt see that...
so what you can do is get the RFC response as-is in your BPM.....no need perform a RFCResponse_to_JDBCStored Procedure mappings as mentioned in my previous reply
then once you havea the RFC response in your BPM perform the transformation to convert the Response to JDBCUpdate and JDBCView...
Regards,
Abhishek.
The Mapping will have the RFC response as Source and at the target you will have two Statement nodes (in your [JDBC structure for receiver|http://help.sap.com/saphelp_nw70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm]) one each for Update and View....
Are you performing the Update and View action on the same table?....if yes then you will need only one DT, MT, MI at the BPM ---> StoredProcedure end....
Regards,
Abhishek.
here is my full scenario in detail:
Request side:
View (JDBC sender--- only Select at communication channel)
NAME: ABC View: -
> PI----
> RFC request
_________________________________________________________________________________
reponse side
Update:
VIEW: ABC(by using storeprocedure (structure is different)) <-PI <--
RFC response
Update
Table:XYZ(by 2nd storeprocedure) <--
RFC response
-
so here if you can see I need to pass same RFC response to 2 storeprocedure
1set storeprocdeure will get response from RFC and will update table XYZ
2nd storeprocedure will get response from same RFC and will update VIEW ABC(I need to update just 1 field.. storeprocedue is mandatory)
2nd storeprocedure will get response from same RFC and will update VIEW ABC(I need to update
just 1 field.. storeprocedue is mandatory)
not sure on how the logic needs to be applied for a VIEW....
1set storeprocdeure will get response from RFC and will update table XYZ
For this you can refer this link on how to creata a DT for Executing a stored procedure:
http://help.sap.com/saphelp_nw70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
From the above link:
<StatementName5>
<storedProcedureName action=u201D EXECUTEu201D>
<table>realStoredProcedureeName</table>
<param1 [isInput=u201Dtrueu201D] [isOutput=true] type=SQLDatatype>val1</param1>
</storedProcedureName >
</StatementName5>
Check it out..
For more info on StoredProcedure:
/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
/people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
Regards,
Abhishek.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.