Author |
Message
|
born2win |
Posted: Fri Dec 29, 2006 9:00 am Post subject: one input message to 3 different formats |
|
|
 Novice
Joined: 01 Feb 2006 Posts: 16
|
I am new to message broker and have a generic question . I would really appreciate your help in understanding this.
Assuming there is a scenario where an incoming X12 message
needs to be routed to 3 different applications like to SAP in
IDOC format, to another application in XML format, and to a
mainframe in CWF format,
1) Is it enough if I have one message set
with 3 different 4 messages corresponding each of these formats?
2)If I create 3 message maps to convert from X12 to each of these formats
would it be sufficient?
3)Are there scenarios where more than one message set might be required
in the above example?
4)will one message flow with a routetolabel node, handle these 3
different routings?  |
|
Back to top |
|
 |
pathipati |
Posted: Fri Dec 29, 2006 9:21 am Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
I guess you are in right direction.. |
|
Back to top |
|
 |
mvarghese |
Posted: Sat Dec 30, 2006 8:29 pm Post subject: |
|
|
Centurion
Joined: 27 Sep 2006 Posts: 141
|
If one source --->3 destinations
1)One source but message content diff....First use a route to label..then route to three sub flows based on content...then use Reset Content DES node to change format and then dum tp dest Queue
2) One source ...diff message format coming< i don't know this chance>....then first put in a queue...
then use filter node and route based on format..and then do format change based on destinations using RCD node.
3)One source same message wants to go to diff destination...
Use Propagate function...and then route it....later change format before going to diff destination. _________________ Jain Varghese |
|
Back to top |
|
 |
pathipati |
Posted: Sat Dec 30, 2006 9:28 pm Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
Quote: |
3)One source same message wants to go to diff destination...
Use Propagate function...and then route it....later change format before going to diff destination |
. No need to use Propogate for this, you can connect Output Terminal of MQInput node to any number of Output Nodes. |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Dec 30, 2006 10:39 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
pathipati wrote: |
Quote: |
3)One source same message wants to go to diff destination...
Use Propagate function...and then route it....later change format before going to diff destination |
. No need to use Propogate for this, you can connect Output Terminal of MQInput node to any number of Output Nodes. |
And you can as well use pub/sub.... Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
pathipati |
Posted: Sat Dec 30, 2006 10:50 pm Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
Quote: |
where an incoming X12 message
needs to be routed to 3 different applications like to SAP in
IDOC format, to another application in XML format, and to a
mainframe in CWF format, |
InputNode > 3 Mapping Nodes > 3 OutputNodes ( for 3 different Applications)
Quote: |
4)will one message flow with a routetolabel node, handle these 3
different routings? |
and even no need of Route to Label ( if you allways want to route every input message to 3 different applications) |
|
Back to top |
|
 |
born2win |
Posted: Sun Dec 31, 2006 9:39 am Post subject: |
|
|
 Novice
Joined: 01 Feb 2006 Posts: 16
|
Thank you all for your response.
I assume for all these 4 different message formats in the discussion I will have to define 4 different messages but they will be in 1 message set. Like Message set A, will have 4 different messages in it: 1 - for XML, 1- for X12, 1 - for IDOC, 1 - for Cobol copy book format. Is this correct? Or will I need more than one message set? |
|
Back to top |
|
 |
pathipati |
Posted: Sun Dec 31, 2006 9:50 am Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
Quote: |
assume for all these 4 different message formats in the discussion I will have to define 4 different messages but they will be in 1 message set. Like Message set A, will have 4 different messages in it: 1 - for XML, 1- for X12, 1 - for IDOC, 1 - for Cobol copy book format. Is this correct? |
Correct, but one limitation is u can't have more than one Global Element with same name in your message Set. |
|
Back to top |
|
 |
mvarghese |
Posted: Sun Dec 31, 2006 11:58 pm Post subject: |
|
|
Centurion
Joined: 27 Sep 2006 Posts: 141
|
Quote: |
assume for all these 4 different message formats in the discussion I will have to define 4 different messages but they will be in 1 message set. Like Message set A, will have 4 different messages in it: 1 - for XML, 1- for X12, 1 - for IDOC, 1 - for Cobol copy book format. Is this correct? |
I don't this will work or not.
U can have 1+4 message sets create it.
1 message set for input node for parsing input if u want.
Rest all<4> message set use in compute node ESQL for routing the outputformat.
This will help to manage the ESQl or Msgset future too...or also resuse it.[/quote][/list] _________________ Jain Varghese |
|
Back to top |
|
 |
pathipati |
Posted: Mon Jan 01, 2007 8:41 am Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
Quote: |
Rest all<4> message set use in compute node ESQL for routing the outputformat. |
in Compute Node ESQL message definitions are used. |
|
Back to top |
|
 |
Bill.Matthews |
Posted: Mon Jan 01, 2007 12:56 pm Post subject: Re: one input message to 3 different formats |
|
|
 Master
Joined: 23 Sep 2003 Posts: 232 Location: IBM (Retired)
|
born2win wrote: |
... Assuming there is a scenario where an incoming X12 message
needs to be routed to 3 different applications like to SAP in
IDOC format, to another application in XML format, and to a
mainframe in CWF format... |
My assumption is that for each X12 input message you want to produce three output messages in different formats.
One of the prior answers has suggested that you use four message sets rather than attempting to manage everything in one. I would certainly agree with the suggestion.
For the message flow, you could have a situation as simple as:
MQInput Node --> Mapping Node1 --> MQOutput node1
--> Mapping Node2 --> MQOutput node2
--> Mapping Node3 --> MQOutput node3
Where all three mapping nodes are connected to the same output terminal of the MQInput node. This takes advantage of the way a msg flow operates - in that the msg flow process will follow each "path" (i.e. connection) sequentially. When the end of each path is reached, control is returned back to the last place where there is more than one connection wired to the same output terminal and the next path is taken - with the original input message..
No Route To label or Propagate needed.
However - IF only one path should be taken (based on some criteria), then either a RouteTo Label - or - Propagate to Label - or - Progagate to terminal should be used.
Cheers, Bill _________________ Bill Matthews |
|
Back to top |
|
 |
pathipati |
Posted: Mon Jan 01, 2007 1:02 pm Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
is it not possible with one message set and four message definitions? |
|
Back to top |
|
 |
Bill.Matthews |
Posted: Mon Jan 01, 2007 5:27 pm Post subject: |
|
|
 Master
Joined: 23 Sep 2003 Posts: 232 Location: IBM (Retired)
|
pathipati wrote: |
is it not possible with one message set and four message definitions? |
Is it possible? Maybe. You will have to be very careful and make backups of the message set as you go along. Look back in the discussion about global names ..
Since this is you first experience, I would suggest that you build the message sets as independent projects first. That will also give you some experience. Then you can make an attempt at a combined definition. _________________ Bill Matthews |
|
Back to top |
|
 |
pathipati |
Posted: Mon Jan 01, 2007 6:34 pm Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
How to mention more than one message set in Input Node properties? |
|
Back to top |
|
 |
mvarghese |
Posted: Mon Jan 01, 2007 8:50 pm Post subject: |
|
|
Centurion
Joined: 27 Sep 2006 Posts: 141
|
As per my understanding and seen in used in my old projects:<Messager Broker 6.0>
Only one Message set possible with one parser ...but u can have use diff physical prorperties like CWF,TDS...
And also u can have any number of Message definitions<.mxsd files>...where we defining the parsing tree struct using elements etc...
As per pathipati Quest:Input Node how we can specify only Message Set properties...
If the case is same queue diff format message coming:
1.Take input as BLOB,
eg: Check for soem specific info in input which differ from other input
like Filter Module
SET sFirstThreeChar = CAST ( SUBSTRING( Root.BLOB.BLOB FROM 13 FOR 3 ) AS CHARACTER CCSID 819 );
IF ( sFirstThreeChar = 'RAD' ) THEN
SET LocalEnvironment.Destination.RouterList.DestinationData.labelname = 'To_StripIIH_DestinationRouter';
RETURN TRUE;
END IF;
2)After the above filter node then use Route to Label, then use RCD node, here we need to specify the input format and output format.
We have a project which used this case,u can try also. _________________ Jain Varghese |
|
Back to top |
|
 |
|