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 » Generic ServiceAdapters for SAP Input y SAP Request nodes!!!

Post new topic  Reply to topic Goto page 1, 2  Next
 Generic ServiceAdapters for SAP Input y SAP Request nodes!!! « View previous topic :: View next topic » 
Author Message
dprogwmb
PostPosted: Tue Jul 19, 2011 3:05 pm    Post subject: Generic ServiceAdapters for SAP Input y SAP Request nodes!!! Reply with quote

Voyager

Joined: 19 Jul 2011
Posts: 96

Hi all!!!

Im using 7.0.2 version of Websphere Message broker.

In my work I was asked to make a service solution for accessing SAP Adapters (inadapter and outadapter) parameter based ... Actually there are a lot of flows accessing different adapters of SAP, and the idea is to create an unique subflow that makes that access helping the adapter maintenance. So if there's a change of the destination SAP system (eg change in the ip address) , that changes are made in 1 only place...

For system 1 SAP:
For input (SAP Input node) I use: ALE (IDOC)
For Request (SAP Request node) I use: BAPI

For system 2 SAP:

For input (SAP Input node) I use: ALE (IDOC)
For Request (SAP Request node) I use: ALE (IDOC)

I've seen a pattern for Input (that comes with toolkit) that uses IDOC Generic format message... but for the Requests, I'm only thinking in using 1 only adapter with all the RFC's used and for the configuration of the conection to sap use an Configurable service for that adapter.

Any ideas or best practices?

Regards!!!!
Back to top
View user's profile Send private message
joebuckeye
PostPosted: Wed Jul 20, 2011 6:23 am    Post subject: Re: Generic ServiceAdapters for SAP Input y SAP Request node Reply with quote

Partisan

Joined: 24 Aug 2007
Posts: 365
Location: Columbus, OH

dprogwmb wrote:
Actually there are a lot of flows accessing different adapters of SAP, and the idea is to create an unique subflow that makes that access helping the adapter maintenance. So if there's a change of the destination SAP system (eg change in the ip address) , that changes are made in 1 only place...


The change may only be in one place (which is good) but you will still need to rebuild all the flows using the changed subflow and then deploy them.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Wed Jul 20, 2011 8:39 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.

Quote:

So if there's a change of the destination SAP system (eg change in the ip address) , that changes are made in 1 only place...



Look at configurable services for SAP. This is already covered.

We build one adapter that is hard configured for DEV. Then in Test, UAT & Prod the configurable service overrides the configured properties. we also set the username/password with mqsisetdbparms.

simples said the meerkat.
_________________
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
dprogwmb
PostPosted: Wed Jul 20, 2011 12:52 pm    Post subject: Reply with quote

Voyager

Joined: 19 Jul 2011
Posts: 96

mmm... Are my ideas correct?

1)I'm planning to use the IDOC Pattern from the toolkit for the SAP Input node, is it ok? (it already has the configurable service) - only posible problem is the MQInput node with DataObject Domain... (I have never used it in MQ) ... has any of you use it?

2)For the Sap Request node: I'm planning to use a Generic sub-flow in which I invoque the Sap Request and I pass a parameter to that sub flow with the method name I whish to invoque from the outside message flow, is it good?

Any comments?

Thanksss!!!!
Back to top
View user's profile Send private message
smdavies99
PostPosted: Wed Jul 20, 2011 11:22 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.

Part of the configuration of your SAP Adapter is the discovery ofthe SAP Document Structure.
I've never used IDOCs only BAPI's but it seems to me that because each interface is different you are goingto have to have separate adapters.
This is how you get your message set that describes the data format you need to pass to SAP. SAP is very VERY pernikerty in its data. If you pass it the wrong data it really gets into a bit of a tizzy.

I think you might be wasting your time. If I am wrong I am sure some more experienced colleagues will be along to correct me.
_________________
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
dprogwmb
PostPosted: Thu Jul 21, 2011 4:13 am    Post subject: Reply with quote

Voyager

Joined: 19 Jul 2011
Posts: 96

Yes, I'm planning to use different adapters (one for BAPi -request- and one for IDOC-input)... but I'm not sure if any of you have used the Pattern for Idoc -for the sap input-, for the toolkit... and I wish to know if that pattern can be usefull for me? -using after that MQInput for the dataobject-

And for the outadapter (BAPI) I wish to know if my possible solution seems to be good - using a generic subflow for the request, only passing the methodname as parameter-? (I've a planning very tight for my job... ho ho ho).

I hope you can help me!!!

Thanks to everybody!!!
Back to top
View user's profile Send private message
whydieanut
PostPosted: Thu Sep 29, 2011 1:28 am    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

Hi,

I have used the provided pattern with the Generic ALE Passthrough Adapter.
I have also tried using the DataObject Parser to parse the BLOB that the flow in the pattern puts into the specific queue. It works as expected.

As to if this is the best way to do it, that I am not sure of.

I have tried creating multiple adapters each only dealing with a single IDoc type, but then yoou'd need separate Program Ids / RFC Destinations on SAP for each Adapter. I have tried using the same Program Id with multiple Adapters, but then the IDocs were picked up randomly by the adapters thus failing to be processed.
The other option is to use a single Adapter in normal ALE mode and specify ALL possible Idocs that you might need. But then you have the problem that each time a new IDoc needs to be processed, you'd have to recreate/update the Adapter.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Sep 29, 2011 1:50 am    Post subject: Reply with quote

Grand High Poobah

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

Use a generic ALE adapter that will allow you to parse the EDI_DC40 and the EDI_DD40. Thus each IDOC is built with 1 DC40 and multiples of DD40 (unbound). This will be enough to enable you to route accordingly to the IDOC name and type etc... (info on the DC40).

Now if you have a convention of the queue name being like the IDOC name you can add an IDOC without changing your adapter config.

You will however need to prepare your environment and add an extra flow to process the new type.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
whydieanut
PostPosted: Thu Sep 29, 2011 2:29 am    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

Can I say that the ALE Passthrough Adapter is a good enough solution if you expect newer IDocs?

Also, if its known that there will be no more IDoc type additions later on, what is a better approach in terms of performance, maintainability?

Normal ALE Adapter configured for all IDocs that will be required OR ALE Passthrough Adapter?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Sep 29, 2011 8:12 am    Post subject: Reply with quote

Grand High Poobah

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

whydieanut wrote:
Can I say that the ALE Passthrough Adapter is a good enough solution if you expect newer IDocs?

Also, if its known that there will be no more IDoc type additions later on, what is a better approach in terms of performance, maintainability?

Normal ALE Adapter configured for all IDocs that will be required OR ALE Passthrough Adapter?

If you are going for speed and throughput you might want to use generic IDOC. You will then have to process them in a different flow.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
whydieanut
PostPosted: Fri Sep 30, 2011 2:47 am    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

Thanks.

Now to figure out how to use the ALE Passthrough Adapter for OutBound!
Back to top
View user's profile Send private message
whydieanut
PostPosted: Mon Oct 03, 2011 1:45 am    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

Hi, I am facing a problem similar to the one mentioned in the below thread:

http://www.mqseries.net/phpBB2/viewtopic.php?t=53828&view=next&sid=b0b5d85ad872841833aab5e2087387ee

I have 2 Message Sets created, one with the SAP field DESCRIPTIONS (default) and another with the SAP field NAMES.

With a normal ALE Inbound Adapter, the MSet with the SAP field Names works fine.

I also tried using the SAP Passthrough ALE Inbound Adapter (from the sample pattern). In addition I created another flow to read specific IDocs from the Queues meant for each type of IDoc.

This is successful only when I use the MSet with the SAP field Descriptions in the MQInput node of the second flow.
It fails when I use the other MSet with the SAP field Names, with the exact same error message from the above thread.

I plan to use the SAP field Names in my flows as they are easier to deal with.

Has anyone tried using the SAP field Names in the Message Set for the specific IDoc flows when using the Passthrough Adapter?
Back to top
View user's profile Send private message
whydieanut
PostPosted: Tue Oct 04, 2011 12:55 am    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

Update:

I created yet another Message Set, but this time, I set the IDoc Control Record field names to SAP field Descriptions (the default - check box unchecked)
And the Set the Data Record to use SAP field Names.

This time, the Message Set worked and I got data like below, where the Control Record had SAP field Description text and Data Record had SAP field Name text:


Code:
<NS1:SapDebmas07 xmlns:NS1="http://www.ibm.com/xmlns/prod/websphere/j2ca/sap/sapdebmas07">
 <SapDebmas07IDocBO>
  <SapIDocControlRecord>
   <NameOfTableStructure>EDI_DC40</NameOfTableStructure>
   <Client>100</Client>
   <IdocNumber>00000000000000001</IdocNumber>
   <SapReleaseForIdoc>700</SapReleaseForIdoc>
   <StatusOfIdoc>30</StatusOfIdoc>
                 ...
                 ...
                 ...
   <ReferenceToMessage></ReferenceToMessage>
   <EdiArchiveKey></EdiArchiveKey>
   <EdiAleSerializationField>123123123123123</EdiAleSerializationField>
  </SapIDocControlRecord>
  <SapDebmas07DataRecord>
   <SapDebmas07E2kna1m005>
    <MSGFN>000</MSGFN>
    <KUNNR>00000000</KUNNR>
    <ANRED></ANRED>
    <AUFSD></AUFSD>
                 ...
                 ...
                 ...
     <NODEL></NODEL>
     <TLFNS></TLFNS>
     <CESSION_KZ></CESSION_KZ>
     <GMVKZD></GMVKZD>
     <SapDebmas07E2knbwm000>
      <MSGFN>000</MSGFN>
      <WITHT>AA</WITHT>
      <WT_WITHCD>AB</WT_WITHCD>
      <WT_AGENT>A</WT_AGENT>
      <WT_AGTDF>1111111</WT_AGTDF>
      <WT_AGTDT>2222222</WT_AGTDT>
      <WT_WTSTCD></WT_WTSTCD>
     </SapDebmas07E2knbwm000>
    </SapDebmas07E2knb1m006>
   </SapDebmas07E2kna1m005>
  </SapDebmas07DataRecord>
 </SapDebmas07IDocBO>
</NS1:SapDebmas07>
Back to top
View user's profile Send private message
DGoo
PostPosted: Sun Oct 09, 2011 10:08 am    Post subject: Hi Reply with quote

Newbie

Joined: 09 Oct 2011
Posts: 6

I am trying the Passthroug IDOC. I got the Message to the Queue based on the IDOC type. I need help on how you parsed the CWF format to XML and which Message set you have used.

The Message Set created by the Adapter connection by connecting to SAP or you have created the Message set differently.
Back to top
View user's profile Send private message
whydieanut
PostPosted: Sun Oct 09, 2011 10:01 pm    Post subject: Reply with quote

Disciple

Joined: 02 Apr 2010
Posts: 186

The message set used in the second flow to parse the specific IDOCs was created using the Adapter Connection wizard.
Just remember to leave the filed name option to default (use SAP Field Descriptions in stead of Field Names).

Field Names don't seem to work for the Control Record. Read above post.
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 » Generic ServiceAdapters for SAP Input y SAP Request nodes!!!
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.