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 » Creating idoc Message Sets with .h import files

Post new topic  Reply to topic
 Creating idoc Message Sets with .h import files « View previous topic :: View next topic » 
Author Message
pottas
PostPosted: Tue May 09, 2006 3:57 am    Post subject: Creating idoc Message Sets with .h import files Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

Guys,
I have a problem creating Message Set definitions using .h files.
I get the following exception: 'Message Id not in CWF File'.

These are the steps I follow:
Create a Message Set Project:
1. Physical Format: CWF

Create a Message Definition File:
1. Message Definition Source: C Header File
2. I select my .c header file
3. I select my Message set I just created
4. I import and check all the structures
5. Padding Char for string: SPACE

In my flow, I use a ResetContentDescriptor to select the message definition I just created.
Then I create a bar file with the Msg Set and the flow and deploy it to my execution group.

...and this is where I get the mentioned error. I googled the error and searched on this site - found nothing.

...so now I desperately require assistance
any help will be greatly appreciated.
Thanks
pottas
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue May 09, 2006 4:56 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Your error is BIP5180 (it's always worth quoting the error number). This is what BIP5180 says:
Quote:
The CWF parser or writer has received an unknown message type identifier in the message properties.
The specified message set ('&3') does not contain a message type with this identifier.
Previous errors will supply the message set name and the message type identifier.
- Check that the supplied message identifier is correct
- Check that the supplied message set identifier is correct
- Check that the message set contains a message type with the specified identifier.
So have you performed these checks?
Back to top
View user's profile Send private message
dsriksha
PostPosted: Tue May 09, 2006 5:05 am    Post subject: Reply with quote

Voyager

Joined: 27 Feb 2005
Posts: 95

As par as I know and as Kimbert said this is a problem with MessageType. Enter correct Message Type in RCD.
Back to top
View user's profile Send private message Send e-mail
pottas
PostPosted: Tue May 09, 2006 6:06 am    Post subject: Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

Apologies for not giving the error number... my bad...
Thanks for the replies. I checked everything and can confirm that it is fine.
The funny thing is - I am busy with a migration project from 2.1 --> 6 and even with the migrated idoc Message Sets, the same error occurs.
We did some investigation around it and this is what we found. Here's an extract of 2 trace files:

Trace File1 (This one fails):

Code:
    (0x01000000):DD      = (
      (0x03000000):segnam   = 'E2EDL22                       '
      (0x03000000):mandt2   = '100'
      (0x03000000):docnum2  = '0060000002283214'
      (0x03000000):segnum   = '000002'
      (0x03000000):psgnum   = '000001'
      (0x03000000):hlevel   = '03'
      (0x01000000):sdatatag = (
        (0x01000021):MRM =


Trace File2 (This one works):
Code:

    (0x01000000):DD      = (
      (0x03000000):segnam   = 'E2EDL22AAAAAAAAAAAAAAAAAAAAAAA'
      (0x03000000):mandt2   = '100'
      (0x03000000):docnum2  = '0060000002283214'
      (0x03000000):segnum   = '000002'
      (0x03000000):psgnum   = '000001'
      (0x03000000):hlevel   = '03'
      (0x01000000):sdatatag = (
        (0x01000021):MRM = (
          (0x0300000B):vstel_bez = 'Unifoods SACCA shipping point '
          (0x0300000B):vkorg_bez = 'Foods Local         '
          (0x0300000B):lstel_bez = '                    '
          (0x0300000B):vkbur_bez = '                    '
          (0x0300000B):lgnum_bez = '                         '
          (0x0300000B):inco1_bez = '                              '
          (0x0300000B):route_bez = 'Finished Goods 24 hour route            '
          (0x0300000B):vsbed_bez = 'Truck               '
          (0x0300000B):traty_bez = '                    '
          (0x0300000B):pad775    = '   '
        )
      )
    )



...if the physical CWF message name is 'E2EDL22', then using trace file 1 the idoc parser seems to look for:
Code:
segnam   = 'E2EDL22                       '

where the segment name includes the spaces. In the Toolkit the message name cannot be defined with spaces.

With Trace file 2 we renamed the Physical message and it worked fine.

A bug perhaps where the parser should actually be looking for a segment name EXCLUDING the spaces? (As far as I know this is how it worked in 2.1.)

Any ideas / suggestions / fixes?
Thanks in advance
Back to top
View user's profile Send private message
pottas
PostPosted: Tue May 09, 2006 11:12 pm    Post subject: Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

In addition to my previous posting, I've had a look at the fixes in support pack 6.0.0.1:

Code:
IC47696 BIP5180E WHEN PARSING WITH THE IDOC DOMAIN


I also worked through the error description for IC47696:

http://www-1.ibm.com/support/docview.wss?uid=isg1IC47696

...and I can confirm we are on fixpack 6.0.0.1

So I suspect it wasn't fixed...

Okay, so my question is: Are there anyone out there that tried parsing idocs with the latest fixpack loaded on broker 6?
Back to top
View user's profile Send private message
shanson
PostPosted: Wed May 10, 2006 3:14 am    Post subject: Reply with quote

Partisan

Joined: 17 Oct 2003
Posts: 344
Location: IBM Hursley

The problem you are describing is exactly that described by the APAR and fixed in runtime 6.0.0.1. Are you sure that your broker is at 6.0.0.1 and not just your toolkit? Toolkit 6.0.0.1 was released a couple of months ahead of runtime 6.0.0.1.

If your broker is definitely at 6.0.0.1 then please raise a PMR.
Back to top
View user's profile Send private message
pottas
PostPosted: Wed May 10, 2006 4:03 am    Post subject: Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

shanson,
Thanks for the reply.
We have found the link to the Message Broker fixpack. You were right... we only installed the fixpack for the toolkit. Please excuse my ignorance, but I thought we were fine with only the toolkit fixpack. We are busy downloading the Broker Fixpack.
Will keep you updated.
Thanks again
pottas
Back to top
View user's profile Send private message
pottas
PostPosted: Mon May 15, 2006 4:01 am    Post subject: Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

Ok, I've loaded fixpack 6.0.0.1 for my Broker and I can successfully parse an IDOC message - thanks shanson!

...but I have another question - and since it is related to this post, I'll keep it here instead of starting a new thread.

I have a .h file that I need to create a message definition from. When I create my message definition, it creates messages for me with an 'msg_' prefix. This is not quite right.
The alternative is to create the definition without selecting the imported structures (step 4 in the 'New Message Set Definition' in the wizard). This will then create all my Types and no Messages in the .mxsd. I will have to create the messages manually then.

Please correct me if I'm wrong. ...or if I am missing something - maybe there's a better way.

Thanks in advance
pottas
Back to top
View user's profile Send private message
shanson
PostPosted: Mon May 15, 2006 5:00 am    Post subject: Reply with quote

Partisan

Joined: 17 Oct 2003
Posts: 344
Location: IBM Hursley

There are several things to take care of when importing a C header file exported from SAP. Take a look at help topic "Building the message model for the IDOC parser" (ac20030_). It guides you through the process and also refers you to supportpac IA0F which contains a Perl script that pre-processes the C header into a suitable form. It:
1) Removes some preprocessor directives
2) Translates Char to char
3) Pads the structure to the correct fixed size
There's two other steps you need to do yourself:
4) Rename the message from msg_xxx to XXX
5) Rename any field called compl (this is a C++ reserved word!)
We are looking into enhancing the C importer to do all of this automatically, but that won't be until a future release. If this is something you would like to see, please raise an official WebSphere requirement to give it added weight.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Creating idoc Message Sets with .h import files
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.