Author |
Message
|
Bravo |
Posted: Tue Dec 20, 2011 3:29 pm Post subject: Design question - SAP inbound |
|
|
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 |
|
 |
fjb_saper |
Posted: Tue Dec 20, 2011 8:42 pm Post subject: |
|
|
 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 |
|
 |
Bravo |
Posted: Wed Dec 21, 2011 2:28 pm Post subject: |
|
|
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 |
|
 |
fjb_saper |
Posted: Wed Dec 21, 2011 9:12 pm Post subject: |
|
|
 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 |
|
 |
Bravo |
Posted: Thu Dec 22, 2011 10:59 am Post subject: |
|
|
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 |
|
 |
smdavies99 |
Posted: Thu Dec 22, 2011 11:10 am Post subject: |
|
|
 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 |
|
 |
Bravo |
Posted: Thu Dec 22, 2011 12:00 pm Post subject: |
|
|
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 |
|
 |
smdavies99 |
Posted: Thu Dec 22, 2011 12:47 pm Post subject: |
|
|
 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 |
|
 |
Bravo |
Posted: Mon Dec 26, 2011 9:11 pm Post subject: |
|
|
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 |
|
 |
whydieanut |
Posted: Mon Dec 26, 2011 9:38 pm Post subject: |
|
|
 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 |
|
 |
Bravo |
Posted: Thu Jan 19, 2012 9:36 pm Post subject: |
|
|
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 |
|
 |
fjb_saper |
Posted: Fri Jan 20, 2012 12:43 pm Post subject: |
|
|
 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 |
|
 |
mqsiuser |
Posted: Sun Jan 22, 2012 1:20 am Post subject: |
|
|
 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 |
|
 |
whydieanut |
Posted: Mon Feb 20, 2012 11:30 pm Post subject: |
|
|
 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 |
|
 |
mqsiuser |
Posted: Tue Feb 21, 2012 12:12 am Post subject: |
|
|
 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 |
|
 |
|