ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » IDOCs to SAP

Post new topic  Reply to topic Goto page 1, 2  Next
 IDOCs to SAP « View previous topic :: View next topic » 
Author Message
whydieanut
PostPosted: Mon Aug 01, 2011 10:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
exerk
PostPosted: Tue Aug 02, 2011 12:17 am    Post subject: Reply with quote

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
View user's profile Send private message
mapa
PostPosted: Mon Aug 08, 2011 3:47 am    Post subject: Turn on RFC trace Reply with quote

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
View user's profile Send private message Visit poster's website
rglack10
PostPosted: Mon Aug 08, 2011 8:35 am    Post subject: Reply with quote

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
View user's profile Send private message
whydieanut
PostPosted: Fri Aug 12, 2011 4:16 am    Post subject: Reply with quote

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
View user's profile Send private message
whydieanut
PostPosted: Fri Aug 12, 2011 4:18 am    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

http://www.mqseries.net/phpBB2/viewtopic.php?p=138370&sid=e6a2970e4254aaf70b189a1de0bed7a7

and

http://www.mqseries.net/phpBB2/viewtopic.php?p=138092&sid=8113a0660d2a877fb44852b86ed810f8


I can't get something like what these guys are doing, to work for me.
Any idea what they're talking about? The posts are really old and I don't expect any replies there.
Back to top
View user's profile Send private message
mapa
PostPosted: Fri Aug 12, 2011 4:57 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
whydieanut
PostPosted: Mon Aug 15, 2011 11:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Tue Aug 16, 2011 5:58 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
whydieanut
PostPosted: Tue Aug 16, 2011 9:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Wed Aug 17, 2011 7:51 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
mapa
PostPosted: Wed Aug 17, 2011 8:18 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
whydieanut
PostPosted: Thu Aug 18, 2011 10:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Fri Aug 19, 2011 6:44 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
whydieanut
PostPosted: Mon Aug 29, 2011 11:43 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » IDOCs to SAP
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.