Author |
Message
|
whydieanut |
Posted: Mon Aug 01, 2011 10:57 pm Post subject: |
|
|
 Disciple
Joined: 02 Apr 2010 Posts: 186
|
I am using the ALE interface to send iDocs to an SAP system using the SAP adapter (WMB Version 7).
When I send an iDoc to the SAP server, I get back a message with only the SAP transaction id in the Body; from the out terminal of the SAP request node. The rest of the message content is absent.
How can I get back more details of the transaction from the SAP server?
How do I use RFH to get details of the SAP transaction status? |
|
Back to top |
|
 |
exerk |
Posted: Tue Aug 02, 2011 12:17 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
whydieanut, please do not reopen 5 year old posts; it's better to start a new one and reference any related posts within it. Splitting the post and moving it to the Broker forum. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
mapa |
Posted: Mon Aug 08, 2011 3:47 am Post subject: Turn on RFC trace |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
Turn on the rfc trace.
For instance using mqsicreateconfigurableservice:
Code: |
mqsicreateconfigurableservice BK_MYBKR -c SAPConnection -o mySAPAdapter.outadapter -n RFCTraceLevel,RFCTraceOn,RFCTracePath -v 1,true,D:/Logs/
|
You can do it using the WMB Explorer directly if you prefer that.
Or when I think of it, I may have misinterpreted your post, you want more feedback in flow itself.
From this article:
http://www.ibm.com/developerworks/websphere/library/techarticles/1101_batey/batey.html
Quote: |
The success of the transaction can be verified by inspecting the IDocs that have been generated in SAP. Only a return code (success or failure) is returned, and no return data is sent back to the adapter. |
|
|
Back to top |
|
 |
rglack10 |
Posted: Mon Aug 08, 2011 8:35 am Post subject: |
|
|
Apprentice
Joined: 06 Jul 2011 Posts: 34
|
whydieanut wrote: |
I am using the ALE interface to send iDocs to an SAP system using the SAP adapter (WMB Version 7).
When I send an iDoc to the SAP server, I get back a message with only the SAP transaction id in the Body; from the out terminal of the SAP request node. The rest of the message content is absent.
How can I get back more details of the transaction from the SAP server?
How do I use RFH to get details of the SAP transaction status? |
Normally a transaction ID is returned when the adapter has failed which allows you to replay the same message with ID etc. |
|
Back to top |
|
 |
whydieanut |
Posted: Fri Aug 12, 2011 4:16 am Post subject: |
|
|
 Disciple
Joined: 02 Apr 2010 Posts: 186
|
@rglack10
The transaction Id is passed even when the adapter has been successful in putting the message into SAP. I have confirmed this.
@mapa
Quote: |
The success of the transaction can be verified by inspecting the IDocs that have been generated in SAP. Only a return code (success or failure) is returned, and no return data is sent back to the adapter. |
Have read this, but I have come across a couple of posts here which mention getting back more info through RFH.
Though I am kinda convinced that this is not possible, especially since ALE is an asynchronous interface and SAP would have consumed the IDOC by the time the adapter is done and forwards the response to it's out terminal.
Will try and search for those posts and post them here. |
|
Back to top |
|
 |
whydieanut |
Posted: Fri Aug 12, 2011 4:18 am Post subject: |
|
|
 Disciple
Joined: 02 Apr 2010 Posts: 186
|
|
Back to top |
|
 |
mapa |
Posted: Fri Aug 12, 2011 4:57 am Post subject: |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
I don't know why you need more feedback.
If SAP accepts the IDOC the responsibility of the transaction is now in SAP and not in broker.
If you need synchronous business data in a response message you should consider the BAPI interface instead of ALE.
From the WMB 7.0.0.3 Info center:
Quote: |
After passing the data to SAP, the adapter performs one of the following steps:
1. If the call is not managed by a local transaction that uses the broker's Local Transaction Manager, the adapter releases the connection to SAP and does not return any data to the caller. When no exceptions are raised, the outbound transaction is considered successful. You can verify whether the data is incorporated into the SAP application by inspecting the IDocs that have been generated in SAP.
2. If the call is managed by a local transaction that uses the broker's Local Transaction Manager, the adapter returns the transaction ID.
The adapter uses the tRFC protocol to support J2C local transactions.
|
_________________ Brgds, Magnus Palmér
Enfo Zystems |
|
Back to top |
|
 |
whydieanut |
Posted: Mon Aug 15, 2011 11:57 pm Post subject: |
|
|
 Disciple
Joined: 02 Apr 2010 Posts: 186
|
Quote: |
If you need synchronous business data in a response message you should consider the BAPI interface instead of ALE. |
Ya, seems like BAPI is the only option for what I am trying to achieve.
IF not using BAPI, and continuing with ALE, is it a good idea to actuallly have SAP send back a new IDOC with the status of an IDOC sent to it earlier?
I am asking this because the SAP guys want the broker to log failures happening in SAP, as they're not directly talking to the front end applications sending messages to SAP, but through the Broker.
Is this good design? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Aug 16, 2011 5:58 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
whydieanut wrote: |
Quote: |
If you need synchronous business data in a response message you should consider the BAPI interface instead of ALE. |
Ya, seems like BAPI is the only option for what I am trying to achieve.
IF not using BAPI, and continuing with ALE, is it a good idea to actuallly have SAP send back a new IDOC with the status of an IDOC sent to it earlier?
I am asking this because the SAP guys want the broker to log failures happening in SAP, as they're not directly talking to the front end applications sending messages to SAP, but through the Broker.
Is this good design? |
Not really. Once the IDOC is in SAP the responsability of processing them lies with SAP, as well as the responsibility for resolving any errors.
Some can be fixed in SAP, some may involve the sending system...
SAP will have to coordinate any fixing that needs to happen...
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
whydieanut |
Posted: Tue Aug 16, 2011 9:40 pm Post subject: |
|
|
 Disciple
Joined: 02 Apr 2010 Posts: 186
|
Thanks for the reply. I thought so too.
Especially since we're planning to send meta data regarding what system the particular message came from. There seems to be no need for them to route statuses back to the broker.
On top of that, it's a batch processing flow.
Just wanted to clarify regarding this.
Drifting away from the topic a bit now; are there any good resources for learning about best practices when it comes to designing WMB applications?
Discussing even specific scenarios like working with SAP, Files, etc. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 17, 2011 7:51 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
talk to your SAP team. I am sure they have literature about ALE, IDOCs and BAPIs.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mapa |
Posted: Wed Aug 17, 2011 8:18 am Post subject: |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
Seems that my last answer never got posted properly, it is not here.
Give you the quick and short version instead.
If you absolutely must, I'd go for the SYSTAT01 idoc. Not sure if you can send it only for errors or not, but think you can. 10+ years since I last used it...
Make sure you populate the EDI_DC40 meta data fields that you need in the status response. If I remember it correctly.
Besides taking classes I'd say working together with an experienced WMB developer/designer is my favorite.
In literature I would recommend to complement the product documentation with checking out IBM Redbooks. _________________ Brgds, Magnus Palmér
Enfo Zystems |
|
Back to top |
|
 |
whydieanut |
Posted: Thu Aug 18, 2011 10:10 pm Post subject: |
|
|
 Disciple
Joined: 02 Apr 2010 Posts: 186
|
At the moment we're using the ALEAUD IDOC for sending back the status to WMB.
I am aware that this particular IDOC is used to send back a confirmation to SAP in case of InBound processing from SAP, though we're using it for OutBound processing. Is there any reason why this shouldn't be done, and that only the SYSTAT01 IDOC should be used?
Also, I noticed that the TABNAM field is set to EDI_DC40 when an IDOC is sent from SAP to WMB without me having done anything in particular.
What does this value mean and how can I use it to receive the status? |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 19, 2011 6:44 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
whydieanut wrote: |
At the moment we're using the ALEAUD IDOC for sending back the status to WMB.
I am aware that this particular IDOC is used to send back a confirmation to SAP in case of InBound processing from SAP, though we're using it for OutBound processing. Is there any reason why this shouldn't be done, and that only the SYSTAT01 IDOC should be used?
Also, I noticed that the TABNAM field is set to EDI_DC40 when an IDOC is sent from SAP to WMB without me having done anything in particular.
What does this value mean and how can I use it to receive the status? |
Talk to your SAP team.
The IDOC is built with
1 EDI_DC40 segment => EDI_DC40 mandatory in the tabnam...
x EDI_DD40 segments with the structure name in the segment name field.
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
whydieanut |
Posted: Mon Aug 29, 2011 11:43 pm Post subject: |
|
|
 Disciple
Joined: 02 Apr 2010 Posts: 186
|
@fjb_saper
Hi, Thanks for the reply.
We are able to do the following:
Flow 1:
Code: |
MQ -> WMB -> SAP -> WMB (SAP Transaction Id) |
Front end application sends batches of messages to WMB which converts them into IDOC and sends to SAP (ALE Interface).
The SAP Request Node's Out terminal returns an SAP Transaction Id for each IDOC it receives, which is saved in a DB (In the same flow).
Flow 2:
Code: |
SAP -> WMB (Batch of Statuses with Transaction Id) |
At a later time SAP Processes the IDOCS and sends an Inbound IDOC to WMB with a set of Statuses for the processed IDOCS.
WMB correlates these statuses with the original IDOCS using the SAP Transaction Id (saved earlier in the DB) and raises alerts to the front end application depending on the status.
Is this a reasonable design? |
|
Back to top |
|
 |
|