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 » Parse Flat File IDOC with WMB 7

Post new topic  Reply to topic
 Parse Flat File IDOC with WMB 7 « View previous topic :: View next topic » 
Author Message
jbanoop
PostPosted: Wed Jun 09, 2010 12:55 pm    Post subject: Parse Flat File IDOC with WMB 7 Reply with quote

Chevalier

Joined: 17 Sep 2005
Posts: 401
Location: SC

All,

Env:
AIX
WMB 7.0
MQ 7.0.1

We needed to parse IDOCs in the Flat-File format (524 byte control segment, variable length data segment with line delimiters) using WMB.

The message sets created using enterprise Service Discovery (ESD) is apparently expecting the IDOC in the ALE R3 Link format (contagious 524 byte control segment followed by each data record of size 1063 bytes).

Is there a way to accomplish this ?
Any inputs would be really helpful
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Wed Jun 09, 2010 8:45 pm    Post subject: Reply with quote

Grand High Poobah

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

Use a BLOB preprocessing stage.
Output each line into it's own format (EDI_DC40 / EDI_DD40) and keep together with a groupid. Assemble the group and you have the IDOC in the expected format...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
kimbert
PostPosted: Thu Jun 10, 2010 1:50 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Why can't you parse the variable-length stuff using a TDS message set, and output the fixed-length version using a different TDS message set?
Back to top
View user's profile Send private message
jbanoop
PostPosted: Thu Jun 10, 2010 6:56 am    Post subject: Reply with quote

Chevalier

Joined: 17 Sep 2005
Posts: 401
Location: SC

Kimert and fjb_saper,
The requirement is like this:
there is an application which sends a message to a queue to be processed by WMB. This message is in the flat IDOC format.

Now, I can create the message set (for that particular IDOC type) using the WMB adapter connection (ESD) from ECC. However, this messageset uses the DataObject domain and is expecting an R3Link format for the incoming message and fails with the flat file format of the IDOC.

The two options I could think of were:
1)Pad the IDOC segments with spaces, remove the carriage returns and then parse it using the above created message set.
or
2)Tweak the message set created by ESD, add a TDS wire format and change the properties accordingly to be able to parse the delimited IDOC format.

The con with #1 is that every IDOC we receive from this application would have to undergo this conversion from delimited to R3Link format just so that the generated message set can parse it.
The con with #2 is that each generated message set will have to get manually retrofitted to parse the delimited format.

I was wondering if there was a way of directly generating message sets using ESD or otherwise (support pacs etc) which would be able to parse the delimited format.

Regards,
Anoop
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Thu Jun 10, 2010 12:27 pm    Post subject: Reply with quote

Grand High Poobah

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

Anoop,

I believe the file format drops any trailing spaces.
This means that it could drop more than just the unused space until the end of the segment....

By using a preprocessing method that restores the full length of the IDOC segment and inserts the R3Link header, you ensure that the processing does not get too complex...

By the way, why process from a file and not use ALE for processing those IDOCs?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
jbanoop
PostPosted: Thu Jun 10, 2010 1:06 pm    Post subject: Reply with quote

Chevalier

Joined: 17 Sep 2005
Posts: 401
Location: SC

fjb_saper,


Quote:
1)Pad the IDOC segments with spaces, remove the carriage returns and then parse it using the above created message set.


I just wanted to clarify that your reference to the "preprocessing" approach refered to the statement above.

Quote:
This means that it could drop more than just the unused space until the end of the segment....

So in this case even SAP would have prolbems trying to parse a file IDOC it creates isnt it ?

I didnt quite understand what you meant by the R3Link header. Is it something other than the DC and the DDs ? I have looked at the IDOC content generated by the adapter node and it looks to be 524 byte DC followed by n*1063 DD segments without delimiters (contagious).
Is this R3Link header something I am missing ?

About your question of why process from a file:
Apparently there exists a legacy system (non-SAP) here which creates files/messages in this (file IDOC) format. We (WMB) needs to parse, transform (to canonical),transform (to target IDOC struct) and then route these messages into ECC.

Am trying to sort my way through a myriad of requirements and working around/ tweaking various functionalities of these adapter nodes. I am also relatively new to working with these adapter nodes and IDOC passhrough concepts and hence might be missing something.
Back to top
View user's profile Send private message Yahoo Messenger
fatherjack
PostPosted: Thu Jun 10, 2010 2:00 pm    Post subject: Reply with quote

Knight

Joined: 14 Apr 2010
Posts: 522
Location: Craggy Island

jbanoop wrote:
Apparently there exists a legacy system (non-SAP) here which creates files/messages in this (file IDOC) format. We (WMB) needs to parse, transform (to canonical),transform (to target IDOC struct) and then route these messages into ECC.


So, as Kimbert said earlier today, why can't you use one message set for the input and the ESD generated message set for the output.

Or just do it all in ESQL maybe
_________________
Never let the facts get in the way of a good theory.
Back to top
View user's profile Send private message
redcherry
PostPosted: Mon Sep 15, 2014 10:56 am    Post subject: Idocs as text string Reply with quote

Newbie

Joined: 25 Jul 2014
Posts: 4

Hi Anoop,

We are facing similar problem. SAP Idocs are received via MQS as Text String.

what approach should we take?

Thanks!
Back to top
View user's profile Send private message
JosephGramig
PostPosted: Mon Sep 15, 2014 11:35 am    Post subject: Reply with quote

Grand Master

Joined: 09 Feb 2006
Posts: 1231
Location: Gold Coast of Florida, USA

redcherry,

You opened an old post. Best to start new. jbanoop has not posted in a very long time, so don't get your hopes up on this post.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Parse Flat File IDOC with WMB 7
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.