Author |
Message
|
burman.abhishek |
Posted: Wed Jan 10, 2007 3:56 am Post subject: Parse a Incoming Message against multipleMessageSets in ESQL |
|
|
Apprentice
Joined: 23 Aug 2006 Posts: 37
|
HI,
Can we parse an Incoming Message against multipleMessageSets in ESQL ( Compute Node ).
I have attached a code by which we can achieve this , but we have to compulsorily create an MRM domain.
I do not want to do "Creating MRM domain part " but only "Parsing" the message part of it.
CREATE NEXTSIBLING OF OutputRoot.MQMD DOMAIN 'MRM'
PARSE(InputRoot.BLOB.BLOB OPTIONS options ENCODING InputRoot.MQMD.Encoding CCSID
InputRoot.MQMD.CodedCharSetId SET 'SAP_MESSAGESET' TYPE 'ZGENERICIDOC' FORMAT 'XML1'); _________________ With warm Regards,
Burman |
|
Back to top |
|
 |
kimbert |
Posted: Wed Jan 10, 2007 4:12 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
hi there,
- Not sure that I understand the question. Can you give a bit more detail please.
- You seem to be parsing an XML message using the MRM domain. Are you intending to validate it?
- You are creating the MRM node as a top-level child of the root. You don't really need CREATE...PARSE for that ( unless SET / TYPE / FORMAT are variables which are set earlier in the ESQL ). You can just set the input node properties instead, or use an RCD node. |
|
Back to top |
|
 |
burman.abhishek |
Posted: Wed Jan 10, 2007 5:02 am Post subject: |
|
|
Apprentice
Joined: 23 Aug 2006 Posts: 37
|
I want to parse fixed width messages against multiple message sets at runtime, that too without creating OutputRoot message domains ie. MRM.
I just want to validate the incoming message against message sets, and if successful, insert into database. I do not want to propagate it forward, hence I do not want to create the message domains. _________________ With warm Regards,
Burman |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 10, 2007 5:10 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Have you looked at the Validate node? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
MQ_SURESH |
Posted: Wed Jan 10, 2007 5:29 am Post subject: |
|
|
Newbie
Joined: 10 Jan 2007 Posts: 1
|
Hi all,
This is in continuation with the same question,
We are trying to implement this multiple validation in esql code without using any other (RCD or validate)node.
Please let us know if there is any way to to this. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 10, 2007 5:31 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You're looking for some magical thing where you can parse the message without creating a properly formed logical message tree.
Broker ships with absolutely no magic in it at all. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
kimbert |
Posted: Wed Jan 10, 2007 6:55 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
I want to parse fixed width messages |
But your physical format is called 'XML1'? Why is that?
Quote: |
We are trying to implement this multiple validation in esql code without using any other (RCD or validate)node. |
How about
Code: |
CREATE LASTCHILD OF Environment Name 'ThrowAwayTree' PARSE DOMAIN 'MRM'...OPTIONS myValidationOptions |
...and repeat once for each message definition that you want to validate against. Obviously that will create a temporary tree in the environment, but you cannot parse without creating a tree in WMB.
I'm interested in the requirement. Why do you need to validate against more than one message definition? Do you really want validation or do you simply want to check that the message parses successfully? |
|
Back to top |
|
 |
|