|
Home > Archive > BizTalk Server General > June 2004 > How Do I Combine Messages In A Transformation Map?
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
How Do I Combine Messages In A Transformation Map?
|
|
|
| I have an orchestration that first receives data from a stored procedure (Message1). I then take that data, transform it (Message2) & insert it into another database via a stored procedure. The stored procedure inserts the data from Message2 & returns a n
ew message (Message3) which contains an element called "IDNO" that is returned as a result of the stored procedure. I then want to take the "IDNO" value from Message3 and combine it with Message1 (since there are still many elements contained in Message1
that I still need to insert into other database tables) and do a transform to create Message4 that inserts into my second database table.
My problem is that when I open the transform configuration wizard, I select Message1 for my first source transform, click the "Click here to add a new row!" display message & add Message3 as my second source transform (which is my "IDNO" message returned
from my previous stored procedure). I then add Message4 as my destination transform. When I hit OK, Biztalk launches my new transformation map. My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_0. InputMessagePart_0 cont
ains all the expected data elements from my original Message1 but ImputMessagePart_1 just contains the element "ns1:" and does not contain the expected data from Message3. Now, if I delete the transformation map & go back through the whole transform conf
iguration wizard process & add Message3 first & then Message1 for my source transform, when Biztalk opens the new tranformation map, Message3 will now show up as InputMessagePart_0 with all the expected data elements and InputMessagePart_1 still just has
the "ns1:" element w/o the expected data from Message1. Why does InputMessagePart_1 never contain the data from the second transform source that I specified when using the Transform Configuration Wizard? Any help is greatly appreciated!!
| |
|
| First off...sorry for 3 posts of the same question...I kept getting an error message when I posted my question, so I tried posting multiple times & low and behold, my question got posted even when I was getting the error message. 
I noticed a typo in my question. When I said "My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_0", I meant to say "My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_1". I just wanted to clarif
y that.
"Mike" wrote:
> I have an orchestration that first receives data from a stored procedure (Message1). I then take that data, transform it (Message2) & insert it into another database via a stored procedure. The stored procedure inserts the data from Message2 & returns a
new message (Message3) which contains an element called "IDNO" that is returned as a result of the stored procedure. I then want to take the "IDNO" value from Message3 and combine it with Message1 (since there are still many elements contained in Message
1 that I still need to insert into other database tables) and do a transform to create Message4 that inserts into my second database table.
> My problem is that when I open the transform configuration wizard, I select Message1 for my first source transform, click the "Click here to add a new row!" display message & add Message3 as my second source transform (which is my "IDNO" message returne
d from my previous stored procedure). I then add Message4 as my destination transform. When I hit OK, Biztalk launches my new transformation map. My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_0. InputMessagePart_0 co
ntains all the expected data elements from my original Message1 but ImputMessagePart_1 just contains the element "ns1:" and does not contain the expected data from Message3. Now, if I delete the transformation map & go back through the whole transform co
nfiguration wizard process & add Message3 first & then Message1 for my source transform, when Biztalk opens the new tranformation map, Message3 will now show up as InputMessagePart_0 with all the expected data elements and InputMessagePart_1 still just ha
s the "ns1:" element w/o the expected data from Message1. Why does InputMessagePart_1 never contain the data from the second transform source that I specified when using the Transform Configuration Wizard? Any help is greatly appreciated!!
>
| |
| Jan Eliasen 2004-06-26, 10:51 am |
| Hi.
How much is in the message3 that you need? You could use
expression-shapes to put the data from message3 into message1.
Jan Eliasen
On Tue, 22 Jun 2004 08:31:01 -0700, "Mike"
<Mike@discussions.microsoft.com> wrote:
>First off...sorry for 3 posts of the same question...I kept getting an error message when I posted my question, so I tried posting multiple times & low and behold, my question got posted even when I was getting the error message. 
>
>I noticed a typo in my question. When I said "My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_0", I meant to say "My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_1". I just wanted to clari
fy that.
>
>"Mike" wrote:
>
a new message (Message3) which contains an element called "IDNO" that is returned as a result of the stored procedure. I then want to take the "IDNO" value from Message3 and combine it with Message1 (since there are still many elements contained in Messag
e1 that I still need to insert into other database tables) and do a transform to create Message4 that inserts into my second database table.[vbcol=seagreen]
ed from my previous stored procedure). I then add Message4 as my destination transform. When I hit OK, Biztalk launches my new transformation map. My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_0. InputMessagePart_0 c
ontains all the expected data elements from my original Message1 but ImputMessagePart_1 just contains the element "ns1:" and does not contain the expected data from Message3. Now, if I delete the transformation map & go back through the whole transform c
onfiguration wizard process & add Message3 first & then Message1 for my source transform, when Biztalk opens the new tranformation map, Message3 will now show up as InputMessagePart_0 with all the expected data elements and[vbcol=seagreen]
>InputMessagePart_1 still just has the "ns1:" element w/o the expected data from Message1. Why does InputMessagePart_1 never contain the data from the second transform source that I specified when using the Transform Configuration Wizard? Any help is grea
tly appreciated!![vbcol=seagreen]
--
Jan Eliasen, representing himself and not the company he works for.
| |
|
| Hi Jan,
Thank you for your reply. There is very little information in Message3...here is what the message looks like:
<RespRoot>
<Test2>
<IDNO>123</IDNO>
</Test2>
</RespRoot>
Message1 (abbreviated for display) looks something like this:
<InSQLRoot>
<PlansToExport>
<FirstInsertField1>John</FirstInsertField1>
<FirstInsertField2>Doe</FirstInsertField2>
<FirstInsertField3>Sr.</FirstInsertField3>
<SecondInsertField1>123 Main St.</SecondInsertField1>
<SecondInsertField2>Anywhere</SecondInsertField2>
<SecondInsertField3>NY</SecondInsertField3>
<PlansToExport>
<InSQLRoot>
So, when I do my second database insertion, I need to use IDNO from Message3 and also the "SecondInsertFields" from Message1 so that the when I do my second insertion of data into the database, the different tables that I inserted to will be related on th
e value of "IDNO".
I am a Biztalk novice and haven't used expression shapes yet...do you have any suggestions or know where I might find an example on how to do this? Would I need to something like add a blank "IDNO" element to Message1, set it as a promoted property, then
set IDNO in Message3 as a promoted property, & then use an expression shape to do something like:
Message1.InSQLRoot.PlansToExport.IDNO = Message3.RespRoot.Test2.IDNO;
Thanks again for your help!
Mike
"Jan Eliasen" wrote:
> Hi.
>
> How much is in the message3 that you need? You could use
> expression-shapes to put the data from message3 into message1.
>
> Jan Eliasen
>
> On Tue, 22 Jun 2004 08:31:01 -0700, "Mike"
> <Mike@discussions.microsoft.com> wrote:
>
rify that.[vbcol=seagreen]
s a new message (Message3) which contains an element called "IDNO" that is returned as a result of the stored procedure. I then want to take the "IDNO" value from Message3 and combine it with Message1 (since there are still many elements contained in Mess
age1 that I still need to insert into other database tables) and do a transform to create Message4 that inserts into my second database table.[vbcol=seagreen]
rned from my previous stored procedure). I then add Message4 as my destination transform. When I hit OK, Biztalk launches my new transformation map. My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_0. InputMessagePart_0
contains all the expected data elements from my original Message1 but ImputMessagePart_1 just contains the element "ns1:" and does not contain the expected data from Message3. Now, if I delete the transformation map & go back through the whole transform
configuration wizard process & add Message3 first & then Message1 for my source transform, when Biztalk opens the new tranformation map, Message3 will now show up as InputMessagePart_0 with all the expected data elements and[vbcol=seagreen]
eatly appreciated!![vbcol=seagreen]
>
> --
> Jan Eliasen, representing himself and not the company he works for.
>
| |
| Jan Eliasen 2004-06-27, 7:47 am |
| Hi.
I'd map message1 into message4 and then use an expression-shape to add
the value from message3 nto message4.
Jan Eliasen
On Wed, 23 Jun 2004 08:24:01 -0700, "Mike"
<Mike@discussions.microsoft.com> wrote:
>Hi Jan,
>
>Thank you for your reply. There is very little information in Message3...here is what the message looks like:
>
><RespRoot>
> <Test2>
> <IDNO>123</IDNO>
> </Test2>
></RespRoot>
>
>Message1 (abbreviated for display) looks something like this:
>
><InSQLRoot>
> <PlansToExport>
> <FirstInsertField1>John</FirstInsertField1>
> <FirstInsertField2>Doe</FirstInsertField2>
> <FirstInsertField3>Sr.</FirstInsertField3>
> <SecondInsertField1>123 Main St.</SecondInsertField1>
> <SecondInsertField2>Anywhere</SecondInsertField2>
> <SecondInsertField3>NY</SecondInsertField3>
> <PlansToExport>
><InSQLRoot>
>
>So, when I do my second database insertion, I need to use IDNO from Message3 and also the "SecondInsertFields" from Message1 so that the when I do my second insertion of data into the database, the different tables that I inserted to will be related on t
he value of "IDNO".
>
>I am a Biztalk novice and haven't used expression shapes yet...do you have any suggestions or know where I might find an example on how to do this? Would I need to something like add a blank "IDNO" element to Message1, set it as a promoted property, then
set IDNO in Message3 as a promoted property, & then use an expression shape to do something like:[vbcol=seagreen]
>
>Message1.InSQLRoot.PlansToExport.IDNO = Message3.RespRoot.Test2.IDNO;
>
>Thanks again for your help!
>
>Mike
>
>"Jan Eliasen" wrote:
>
arify that.[vbcol=seagreen]
ns a new message (Message3) which contains an element called "IDNO" that is returned as a result of the stored procedure. I then want to take the "IDNO" value from Message3 and combine it with Message1 (since there are still many elements contained in Mes
sage1 that I still need to insert into other database tables) and do a transform to create Message4 that inserts into my second database table.[vbcol=seagreen]
urned from my previous stored procedure). I then add Message4 as my destination transform. When I hit OK, Biztalk launches my new transformation map. My source schema shows 2 message parts...InputMessagePart_0 and InputMessagePart_0. InputMessagePart_
0 contains all the expected data elements from my original Message1 but ImputMessagePart_1 just contains the element "ns1:" and does not contain the expected data from Message3. Now, if I delete the transformation map & go back through the whole transfor
m configuration wizard process & add Message3 first & then Message1 for my source transform, when Biztalk opens the new tranformation map, Message3 will now show up as InputMessagePart_0 with all the expected data elements and[vbcol=seagreen]
reatly appreciated!![vbcol=seagreen]
--
Jan Eliasen, representing himself and not the company he works for.
|
|
|
|
|