|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
SAP Transactional Control / Subflows Transactional Behaviour |
« View previous topic :: View next topic » |
Author |
Message
|
dprogwmb |
Posted: Wed Aug 31, 2011 6:32 am Post subject: SAP Transactional Control / Subflows Transactional Behaviour |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
Hi guys,
I'm want to manage SAP Request nodes TRANSACTIONALLY in my flows, that is:
"If the message flow fails in another node after using the SAP Request node=> the SAP Request function called is not commited on SAP tables"...
1) Is it possible (configuring the Transactional mode property on YES, does it work) ? Or does the SAP Request node behaviours like the SOAP Request node (which is NOT TRANSACTIONAL) ?
I've been reading in infocenter, but I'm still don't know if it's possible?
2) If I configure the Retry Mechanism of the SAP input node to Short and Long Retry is it possible to REPROCESS the same message again , if the flow fails in another node (for example a Mapping node)?
Another general cuestion:
3) if I have subflows in an principal flow, and for example: if one subflow fails, does the principal flow rollbacks the Databases actualizations (if the compute mode of compute node of principal Flow is set to Automatic)?... Does It applies for subflows too? (or only for principal flows)
That are my 3 questions...
Thanks in advance for your help.
REGARDS |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Aug 31, 2011 12:29 pm Post subject: Re: SAP Transactional Control / Subflows Transactional Behav |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
dprogwmb wrote: |
1) Is it possible (configuring the Transactional mode property on YES, does it work) ? Or does the SAP Request node behaviours like the SOAP Request node (which is NOT TRANSACTIONAL) ?
|
You can do that, but I prefer leaving Transactional mode to No and creating compensating transactions in my error handler.
dprogwmb wrote: |
2) If I configure the Retry Mechanism of the SAP input node to Short and Long Retry is it possible to REPROCESS the same message again , if the flow fails in another node (for example a Mapping node)? |
The short answer is no, which is why I prefer compensating transactions. IMHO, WMB Transactionality is best suited for simple message flows. Once you get past three or four nodes in a flow, the whole concept of automatic compensation becomes nebulous to the point of uncertainty.
dprogwmb wrote: |
Another general cuestion:
3) if I have subflows in an principal flow, and for example: if one subflow fails, does the principal flow rollbacks the Databases actualizations (if the compute mode of compute node of principal Flow is set to Automatic)?... Does It applies for subflows too? (or only for principal flows)
|
If you use WMB Transactionality, it applies to the whole unit of work, both main flow and subflows. Again, it is worth repeating, if the complexity of your flow has reached subflows, then your reliance on WMB automated Transactionality is not well founded.
Is it possible? Yes. From a design perspective, I prefer more intuitively obvious solutions, such as explicit compensation in the error logic. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
dprogwmb |
Posted: Thu Sep 01, 2011 7:24 am Post subject: |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
lancelotlinc,
3 more things:
1) If message broker sends the message through sap request node, how do I assure that it hasn't commited that message on sap server?
2) Does sap request adapter of broker, use commits or rollbacks to sap , depending of WMB transactionality? (for example: if the flow fails => then the adapter send a rollback of the SAP Request to SAP)
3) The only way that WMB Transactionality works, is only if the exception is not caught by the Input node of the flow, so if I want to process an Exception Message I can't use the WMB Transactionality, is it correct?
Regards |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Sep 01, 2011 7:37 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
dprogwmb wrote: |
lancelotlinc,
3 more things:
1) If message broker sends the message through sap request node, how do I assure that it hasn't commited that message on sap server?
2) Does sap request adapter of broker, use commits or rollbacks to sap , depending of WMB transactionality? (for example: if the flow fails => then the adapter send a rollback of the SAP Request to SAP)
3) The only way that WMB Transactionality works, is only if the exception is not caught by the Input node of the flow, so if I want to process an Exception Message I can't use the WMB Transactionality, is it correct?
Regards |
1. You should save the SAP Transaction Id in the local environment and issue a command to SAP in your error handler to compensate the transaction. This compensation can be explicit (which I prefer) or implicit: see http://help.sap.com/saphelp_nw04/helpdata/en/23/5f5fd653b6f64d9bb0b468a8689838/content.htm .
2. It can, but as I explained before, once you get past a simple flow, the WMB Transactionality becomes nebulous.
3. No this is not correct. Exceptions can be thrown or caught in different spots, depending on your design.
Have you attended the IBM-supplied training, WM663? _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Sep 01, 2011 10:25 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It also depends rather a bit on which interface you use to talk to SAP.
In some cases, SAP handles the transactions for you, and in others it doesn't. |
|
Back to top |
|
 |
Gaya3 |
Posted: Thu Sep 01, 2011 11:11 am Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
i suggest it to hand over that matter to SAP, its not quite easy, i tried my level best on it.
if there is connectivity issue - we can handle it in Message broker by using some back out scenario in error handler
if there is any other data issue - where you already posted to SAP and want to roll it back - quite meaningless.
Regards
Gayathri _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|