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 » MRM Parser error - CWF Mismatch

Post new topic  Reply to topic
 MRM Parser error - CWF Mismatch « View previous topic :: View next topic » 
Author Message
fazz
PostPosted: Wed Nov 10, 2004 6:32 am    Post subject: MRM Parser error - CWF Mismatch Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

Hi,

I am building an outgoing message tree based on a CWF MRM structure.
It was defined using a COBOL Copy Book.There is a field called IGM_OI_TYPE which is defined as PIC X(01).

I set this field in a compute node to a value of 'R' (one char in length), but when the message is output an MRM Parser error occurs telling me that there is mismatch between the logical and physical tree. The element it is complaining about is the one mentioned above.

I have re-checked the message layout again and again, made sure all elements are created,in the right order and have defualt values set, but alas it still does not work.

This is the trace produced after the compute node which matches my message layout:

Quote:
(0x1000021)MRM = (
(0x1000000)IGM_OI_HEADER = (
(0x300000B)IGM_OI_TYPE = 'R'
(0x300000B)IGM_OI_DEVICE_ID = 'GB~AHE~~12345678901234567'
(0x300000B)IGM_OI_MESSAGE_NR = '12345678'
(0x3000000)IGM_OI_PAYLOAD_LN = '0000'
(0x3000000)IGM_OI_RESERVED = ' '


And this is the error given:

Quote:
3228 ParserException BIP5344E: CWF Output: Mismatch between logical definition and message tree.
Message : MW_LOADSCAN_OUTPUT_OI_V2
Element : IGM_OI_TYPE


Any ideas anyone, any help would be greatly appreciated.

Cheers,
Fazz
Back to top
View user's profile Send private message
JT
PostPosted: Wed Nov 10, 2004 5:45 pm    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

Fazz,

Please provide details of your error by turning on a debug trace and posting the results here.
Back to top
View user's profile Send private message
kirani
PostPosted: Wed Nov 10, 2004 11:59 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Something looks wrong with your trace. I see the hex value before each element is different for some elements. They all should look same if the elements are at same level.
Try doing a drag-drop of your MRM element in a compute node and assign value to it. What happens if you don't assign a value to this element in your compute node and use Default constraint instead?
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
fazz
PostPosted: Thu Nov 11, 2004 1:58 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

This is the result from the trace:

Quote:
2003-05-10 14:11:44.750000 3228 UserTrace BIP2537I: Node 'AOFL.CPLDPL.V01R04.Transform NewOD Data': Executing statement 'SET OutputRoot.BLOB.BLOB = X'0d' || X'0a' || ASBITSTREAM(OutputRoot.MRM ENCODING InputRoot.Properties.Encoding CCSID InputRoot.Properties.CodedCharSetId SET 'E2TI0O008K001' TYPE 'MW_LOADSCAN_OUTPUT_OI_V2' FORMAT 'CWF');' at (78, 3).
2003-05-10 14:11:44.750000 3228 UserTrace BIP2538I: Node 'AOFL.CPLDPL.V01R04.Transform NewOD Data': Evaluating expression 'X'0d' || X'0a' || ASBITSTREAM(OutputRoot.MRM ENCODING InputRoot.Properties.Encoding CCSID InputRoot.Properties.CodedCharSetId SET 'E2TI0O008K001' TYPE 'MW_LOADSCAN_OUTPUT_OI_V2' FORMAT 'CWF')' at (78, 45).
2003-05-10 14:11:44.750000 3228 UserTrace BIP2538I: Node 'AOFL.CPLDPL.V01R04.Transform NewOD Data': Evaluating expression 'X'0d' || X'0a'' at (78, 36).
2003-05-10 14:11:44.750000 3228 UserTrace BIP2539I: Node 'AOFL.CPLDPL.V01R04.Transform NewOD Data': Finished evaluating expression 'X'0d' || X'0a'' at (78, 36). This resolved to 'X'0d' || X'0a''. The result was 'X'0d0a''.
2003-05-10 14:11:44.750000 3228 UserTrace BIP2538I: Node 'AOFL.CPLDPL.V01R04.Transform NewOD Data': Evaluating expression 'ASBITSTREAM(OutputRoot.MRM ENCODING InputRoot.Properties.Encoding CCSID InputRoot.Properties.CodedCharSetId SET 'E2TI0O008K001' TYPE 'MW_LOADSCAN_OUTPUT_OI_V2' FORMAT 'CWF')' at (78, 4.
2003-05-10 14:11:44.750000 3228 UserTrace BIP2538I: Node 'AOFL.CPLDPL.V01R04.Transform NewOD Data': Evaluating expression 'InputRoot.Properties.Encoding' at (78, 75).
2003-05-10 14:11:44.750000 3228 UserTrace BIP2538I: Node 'AOFL.CPLDPL.V01R04.Transform NewOD Data': Evaluating expression 'InputRoot.Properties.CodedCharSetId' at (78, 105).
2003-05-10 14:11:44.750000 3228 UserTrace BIP2231E: Error detected whilst processing a message 'AOFL.CPLDPL.V01R04.AOFL.BIQ.004'.
The message broker detected an error whilst processing a message in node 'AOFL.CPLDPL.V01R04.AOFL.BIQ.004'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.
2003-05-10 14:11:44.750000 3228 RecoverableException BIP2230E: Error detected whilst processing a message in node 'AOFL.CPLDPL.V01R04.Transform NewOD Data'.
The message broker detected an error whilst processing a message in node 'AOFL.CPLDPL.V01R04.Transform NewOD Data'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2003-05-10 14:11:44.750000 3228 ParserException BIP5286E: Message Translation Interface Writing Errors have occurred:
Message Set Name : 'MW_LOADSCAN_OUTPUT_OI_V2'
Message Set Level : '1'
Message Format : 'CWF'
Message Type Path : 'MW_LOADSCAN_OUTPUT_OI_V2'
Review further error messages for an indication to the cause of the errors.
2003-05-10 14:11:44.750000 3228 ParserException BIP5167E: Custom Wire Format error while parsing/writing message 'MW_LOADSCAN_OUTPUT_OI_V2'.
2003-05-10 14:11:44.750000 3228 ParserException BIP5350E: Custom Wire Format writing error. While writing the message quoted above, the CWF writer encountered an error.
The error occurred during or after the writing of element '/MW_LOADSCAN_OUTPUT_OI_V2/IGM_OI_HEADER/IGM_OI_DEVICE_ID'.
Check that you have built the message correctly.
See following messages for more details.
2003-05-10 14:11:44.750000 3228 ParserException BIP5344E: CWF Output: Mismatch between logical definition and message tree.
Message : MW_LOADSCAN_OUTPUT_OI_V2
Element : IGM_OI_TYPE
The CWF writer has been given a message tree which does not match the logical message definition.
The elements may have been added to the message tree in the wrong order, or there may be elements missing from the message tree.
The message type or message set may be incorrect.
If the output message was assembled in a Compute node, check that the elements were added to the message in the order specified in the logical message definition.
Check that the output message contains all the elements in the logical message definition (perhaps you need to copy the entire input message to the output tree before modifying it)
Check that the output message has the correct message set and message type properties.
Check that the output message does not contain self-defining elements.
Check that any missing elements have default values defined.


I think the hex values are correct as TYPE,DEVICE_ID,MESSAGE_NR, PAYLOAD_LN and RESERVED are children of HEADER. Although you would think that PAYLOAD and RESERVED would be 0x300000B not 0x3000000??

I did use the drap drop method in a compute node and have tried setting and not setting a value, the outcome is exactly the same.

Thanks
Fazz
Back to top
View user's profile Send private message
fazz
PostPosted: Thu Nov 11, 2004 4:13 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

This is the COBOL copy book used to create the message set. The message set created seems to match this OK.

Code:
       01 IGM-OI.
          03 IGM-OI-HEADER.
             05 IGM-OI-TYPE            PIC X(01).
             05 IGM-OI-DEVICE-ID       PIC X(25).
             05 IGM-OI-MESSAGE-NR      PIC X(08).
             05 IGM-OI-PAYLOAD-LN      PIC X(04).
             05 IGM-OI-RESERVED        PIC X(21).
          03 IGM-OI-CODE               PIC X(2).
          03 IGM-OI-CONNOTE            PIC X(9).
          03 IGM-OI-DATA.
             05 IGM-OI-ITEM-NR         PIC XX OCCURS 99.
Back to top
View user's profile Send private message
JT
PostPosted: Thu Nov 11, 2004 6:06 am    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

I don't see theses elements:

Code:
          03 IGM-OI-CODE               PIC X(2).
          03 IGM-OI-CONNOTE            PIC X(9).
          03 IGM-OI-DATA.
             05 IGM-OI-ITEM-NR         PIC XX OCCURS 99.

in your output message:

Code:
(0x1000021)MRM = (
(0x1000000)IGM_OI_HEADER = (
(0x300000B)IGM_OI_TYPE = 'R'
(0x300000B)IGM_OI_DEVICE_ID = 'GB~AHE~~12345678901234567'
(0x300000B)IGM_OI_MESSAGE_NR = '12345678'
(0x3000000)IGM_OI_PAYLOAD_LN = '0000'
(0x3000000)IGM_OI_RESERVED = ' '
Back to top
View user's profile Send private message
fazz
PostPosted: Thu Nov 11, 2004 6:09 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

Sorry thats just my cutting and pasting skills!

Heres the complete output:

Code:
(0x1000021)MRM        = (
    (0x1000000)IGM_OI_HEADER  = (
      (0x300000B)IGM_OI_TYPE       = 'R'
      (0x300000B)IGM_OI_DEVICE_ID  = 'GB~AHE~~12345678901234567'
      (0x300000B)IGM_OI_MESSAGE_NR = '12345678'
      (0x3000000)IGM_OI_PAYLOAD_LN = '0000'
      (0x3000000)IGM_OI_RESERVED   = '                     '
    )
    (0x3000000)IGM_OI_CODE    = 'OI'
    (0x3000000)IGM_OI_CONNOTE = '123456789'
    (0x1000000)IGM_OI_DATA    = (
      (0x300000B)IGM_OI_ITEM_NR = '01'
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
      (0x3000000)IGM_OI_ITEM_NR = '  '
    )
  )
)
Back to top
View user's profile Send private message
JT
PostPosted: Thu Nov 11, 2004 7:06 am    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

Please post the ESQL code.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Nov 11, 2004 7:14 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Reading the ESQL in your user trace... I see that the error is occuring when you are trying to use ASBITSTREAM.

Can you show us the ESQL used to create the tree you are trying to convert to a bitstream?

Also, why are you trying to prepend a blank line to the front of the resulting bitstream?

Try assigning OutptuRoot.BLOB.BLOB to just the result of the ASBITSTREAM, and then reassign it with the blank line at the front.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fazz
PostPosted: Thu Nov 11, 2004 8:01 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

What i'm doing is building up one MRM then writing it to the output root. Then building another MRM and writing that to the output root seperated by a control return and line feed char (don't ask! its all to do with legacy systems)

Now my original code was:
Code:
SET OutputRoot.BLOB.BLOB = X'0D' || X'0A' || ASBITSTREAM(OutputRoot.MRM,InputRoot.Properties.Encoding,InputRoot.Properties.CodedCharSetId,'E2TI0O008K001','MW_LOADSCAN_OUTPUT_OI_V2','CWF');


but I realised this was wrong in itself because it would be overwriting the previous MRM, so I changed it to:

Code:
SET OutputRoot.BLOB.BLOB = OutputRoot.BLOB.BLOB || X'0D' || X'0A' || ASBITSTREAM(OutputRoot.MRM,InputRoot.Properties.Encoding,InputRoot.Properties.CodedCharSetId,'E2TI0O008K001','MW_LOADSCAN_OUTPUT_OI_V2','CWF');


which made the whole thing work??! I quite frankly find this strange as I thought it would have been the ASBITSTREAM function that was failing.

Thanks for all your replies, If anyone can explain this I would love to know!

Fazz
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 » MRM Parser error - CWF Mismatch
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.