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 » Design question - SAP inbound

Post new topic  Reply to topic Goto page 1, 2  Next
 Design question - SAP inbound « View previous topic :: View next topic » 
Author Message
Bravo
PostPosted: Tue Dec 20, 2011 3:29 pm    Post subject: Design question - SAP inbound Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

Hi All,

I have developed 2 inbound synchronous msg flow from SAP to Broker uses same RFC program ID totally different functionality.

first msg flow is to get Order details from Oracle DB and other msg flow is get to parts info from thrid party application, the response should be send back to SAP.

When I tried to test first flow from SAP to Broker, its working but inconsistent behaviour in calling from SAP. I have to try 2 to 3 times to make it work in Broker,sometime DUMP and sometime SYSTEM FAILURE in SAP. So I stopped second flow and tested first flow. Now, no SAP DUMP error just system failure error.

Do I need to build some kind a inbound common router from SAP to Broker and call msg flows based on the Business object?

How Broker inbound process work from SAP for 10-15 inbound msg flows or more? Can somebody help me with this design question?
_________________
Bravo
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Dec 20, 2011 8:42 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

First you need to decide whether you want to deal with IDOCs or RFC function calls.

If dealing with RFC function calls (SAP to broker), one product ID connection in SAP must provide for all function calls allocate internally in SAP to that connection. You cannot have 2 different connections one catering for Function1 and the other catering for Function2 under the same program Id. They need to both cater to Function1 and Function2...

Dealing with BAPI RFC calls inbound to SAP no such constraint exists.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Bravo
PostPosted: Wed Dec 21, 2011 2:28 pm    Post subject: Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

Thanks fjb_saper.

Its a RFC function calls (synchronous BAPI) and I understood using same program id.

what will be the best partice to design inbound RFC calls to Broker?

Any suggestion!!!
_________________
Bravo
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Dec 21, 2011 9:12 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

keep it simple, down to earth, and logical
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Bravo
PostPosted: Thu Dec 22, 2011 10:59 am    Post subject: Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

I got it..but that doesn't answer my question..Thanks

I need some ideas/inputs/suggestions to design this process. I am looking for a suggestion at broader picture, design as well as maintenance for 20 to 30 RFC sync call and IDOC transaction from SAP to Broker.

I am suprised that there are no suggestion/best practice from this group that runs inbound SAP to Broker process!!!
_________________
Bravo
Back to top
View user's profile Send private message
smdavies99
PostPosted: Thu Dec 22, 2011 11:10 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

If you are working with a modern version of SAP may I suggest that you use a Webservice interface from SAP to Broker.

This will IMHO make your life a lot easier.

I'm talking about versions newer than V4. Prior to that, SAP charges and arm and a leg to webservice enable SAP and to put it frankly, their ability to take WSDL's and XSD's of any complexity is... well as bad as a BSOD on Windows.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Bravo
PostPosted: Thu Dec 22, 2011 12:00 pm    Post subject: Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

I totally understand and you are correct.Yes, we are using latest version of Broker and SAP.

If we would have taken web service as an design approach which can be doable from SAP FM module, then there is no reason to use Websphere adapter for SAP.

Correct me if I am wrong

But enterprise architecture design has been made to use Websphere adapter for SAP for any inbound/outbound transaction, we do not want to use different protocol/pattern/approach.

We do not have issues with outbound (Broker to SAP) using adapter, we have issues with inbound(SAP to Broker).
_________________
Bravo
Back to top
View user's profile Send private message
smdavies99
PostPosted: Thu Dec 22, 2011 12:47 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

We have also had issues with SAP to Broker operations.
It seems to work much more reliably when we use a WebService call from SAP to Broker.
Going in the other direction (Broker to SAP) works fine.
Sadly SAP charge a huge amount to get this facility (webservices) on older SAP installations. Actually far more than IBM charge for the SAP Adapter.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Bravo
PostPosted: Mon Dec 26, 2011 9:11 pm    Post subject: Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

Thank you smdavies99 for your inputs.

Ok, I will come up with a router design and let you know the outcome.
_________________
Bravo
Back to top
View user's profile Send private message
whydieanut
PostPosted: Mon Dec 26, 2011 9:38 pm    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

If you plan on using the ALE Interface, there is an option to use the ALE Adapter in Passthrough mode.
It's there in one of the in-built patterns in the Toolkit.
Back to top
View user's profile Send private message
Bravo
PostPosted: Thu Jan 19, 2012 9:36 pm    Post subject: Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

Atlast came up with a design, so far it works great.

Its a limitation in SAP JCO adapter, one RFC desitnation is tied to one inadapter (i.e. SAP Input node). All inbound sync flows from SAP uses one RFC destination, then Broker routes flow based on the BO's and reply back to SAP.

I do not know how SAP PI works or any other application that uses JCO..I am looking for answer!!
_________________
Bravo
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jan 20, 2012 12:43 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Bravo wrote:
Atlast came up with a design, so far it works great.

Its a limitation in SAP JCO adapter, one RFC desitnation is tied to one inadapter (i.e. SAP Input node). All inbound sync flows from SAP uses one RFC destination, then Broker routes flow based on the BO's and reply back to SAP.

I do not know how SAP PI works or any other application that uses JCO..I am looking for answer!!


SAP PI can work with an MQ as foreign JMS implementation...
JCO: all SAP to JCO calls going to the same registered adapter MUST be catered for by the corresponding JCO server/ SAP adapter implementation.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqsiuser
PostPosted: Sun Jan 22, 2012 1:20 am    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

fjb_saper wrote:
keep it simple, down to earth, and logical

SAP has data structures that have a couple of fields and a couple of options (structurally). IMHO all for a good reason (business reasons), but not that easy to transform and send/receive to other systems. Try and reduce complexity whenever possible, e.g. request XML from them (if possible ... hmm, when I think again... probably you should insist on xml ) and not use flatfile IDOCs.

fjb_saper wrote:
SAP PI can work with an MQ as foreign JMS implementation...

SAP PI will essentially convert the IDOC-flat-File into an IDOC-XML-Message, which relieves you of parsing and makes the interface more robust and transparent (in case you need to take a look during error situations). SAP-PI can also connect directly with MQ (via a Server Connection Channel). We used to put one MQ-Server next to each SAP-System and set up channels to the Broker-QM. We used native MQ for SAP to (the SAP-local) MQ-Server connection (I think you also need to give "the 3 mq client jars" to the SAP team). Try out JMS, it is more standardized, but ask if you need that. We had more trouble with JMS than with MQ-SVRCONN. Somewhere in SAP(-PI) you put in a (MQ-)Server-Connection-String, some connection testing, thats it. No husseling to understand JMS to MQ Field/Concept-mappings (you will have to look at some extra docu and illustration pictures when "adding" JMS).

Ask the SAP team to put and get their messages from queues (you agree on the queue names, that is standard stuff). When you send messages to SAP, it will likely return error codes or other (limited) error information. Within SAP you will find more detailed description (that is also the same with any system of that kind). O.k. I must admit, that this is a description without using the SAP adapter.

Bravo wrote:

Do I need to build some kind a inbound common router from SAP to Broker and call msg flows based on the Business object?

Basically: Yes. I would either let SAP write to different queues for each business object (ORDER, INVOICE, INVENTORY, ...) ...or... If SAP needs to write into a single queue "SAP.IN" (and probably reads from one other queue "SAP.OUT"), then you should write a dispatcher (you say "router") flow and dispatch based on BOs to end up as if SAP already does the writting into separate queues.

Bravo wrote:

How Broker inbound process work from SAP for 10-15 inbound msg flows or more? Can somebody help me with this design question?

Either make SAP dispatch or write a dispacher(-flow). But, yes: For different BOs use different message flows (anybody has a different opinion? ).

Think about what you desperately need (e.g. usually you desperately need transformation code) and what you might spare, e.g. an adapter, jms and webservices (just send and receive messages through mq, that works great). Don't fall for vague promises
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
whydieanut
PostPosted: Mon Feb 20, 2012 11:30 pm    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

mqsiuser wrote:

Bravo wrote:

How Broker inbound process work from SAP for 10-15 inbound msg flows or more? Can somebody help me with this design question?

Either make SAP dispatch or write a dispacher(-flow). But, yes: For different BOs use different message flows (anybody has a different opinion? ).

Think about what you desperately need (e.g. usually you desperately need transformation code) and what you might spare, e.g. an adapter, jms and webservices (just send and receive messages through mq, that works great). Don't fall for vague promises



Just to add, the SAP ALE Inbound Adapter in Passthrough mode is a very good solution when having to read in multiple IDoc types.
On the other hand, having a normal ALE Inbound Adapter with each of the IDoc types configured is hard to maintain - Have to update it every time a new IDoc needs to be dealt with; AND I've have had trouble deploying flows with a HUGE Message Set (created with the Adapter Creation Wizard) which had definitions for 3-4 different IDoc types, one of which (HRMD) was so huge, that my Message Set kept failing to get deployed.
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Tue Feb 21, 2012 12:12 am    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

Fine! Just to add: If you are parsing in/out flatfiles you really need message sets (to hook up the parsing rules). XML "already is" tree-data, so you don't need message sets (that much).

Though your Adater likely requires them ?!
_________________
Just use REFERENCEs
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 » Design question - SAP inbound
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.