BTS2006 not filtering on decimal
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > BizTalk Server > BizTalk Server > BTS2006 not filtering on decimal




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    BTS2006 not filtering on decimal  
Søren


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
04-27-06 12:25 PM

I am having a problem filtering in Send port in BizTalk Server 2006

I have a schema on which I promoted a decimal element (named
TotalCompensation, datatype xs:decimal) through a PropertySchema. In the
property schema the element is a decimal as well.

I have a receive port which receives an instance of that schema. I use the
XMLReceive pipeline on the location so promoted elements are copied to the
message context.

I have 2 send ports:

Port 1 filters on the name of the Receive Port and on
MySchemas.TotalCompensation <= 500
Port 2 filters on the name of the Receive Port and on
MySchemas.TotalCompensation > 500

That is: Send port one should pick up the "cheap" ones (less than 500) and
the "expensive" ones should be picked up by send port 2.

I then send in a message with TotalCompensation less than 500 and Send port
1 picks it up as expected
Now I send a messsage with TotalCompensation greater than 500 (1300.95), but
this time it is also picked up by send port 1.
I thought it was doing a string compare so I sent in with TotalCompensation
equal to 7300.95, but still it is picked up by send port 1

I tried changing the filter value on both ports from 500 to 500.00 - again
no result.

Please help me figuring out what I'm doing wrong.





[ Post a follow-up to this message ]



    RE: BTS2006 not filtering on decimal  
Søren


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
04-27-06 12:25 PM

I just tried out on integers (xs:int) - same result.

"Søren" wrote:

> I am having a problem filtering in Send port in BizTalk Server 2006
>
> I have a schema on which I promoted a decimal element (named
> TotalCompensation, datatype xs:decimal) through a PropertySchema. In the
> property schema the element is a decimal as well.
>
> I have a receive port which receives an instance of that schema. I use the
> XMLReceive pipeline on the location so promoted elements are copied to the
> message context.
>
> I have 2 send ports:
>
> Port 1 filters on the name of the Receive Port and on
> MySchemas.TotalCompensation <= 500
> Port 2 filters on the name of the Receive Port and on
> MySchemas.TotalCompensation > 500
>
> That is: Send port one should pick up the "cheap" ones (less than 500) and
> the "expensive" ones should be picked up by send port 2.
>
> I then send in a message with TotalCompensation less than 500 and Send por
t
> 1 picks it up as expected
> Now I send a messsage with TotalCompensation greater than 500 (1300.95), b
ut
> this time it is also picked up by send port 1.
> I thought it was doing a string compare so I sent in with TotalCompensatio
n
> equal to 7300.95, but still it is picked up by send port 1
>
> I tried changing the filter value on both ports from 500 to 500.00 - again
> no result.
>
> Please help me figuring out what I'm doing wrong.





[ Post a follow-up to this message ]



    RE: BTS2006 not filtering on decimal  
Michael Elizarov [MSFT]


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
04-27-06 12:25 PM

Stop the sendport so that the message is automatically suspended. Go into
the MMC HubPage, find the suspended instance, go to the suspended message
and look into its context at the promoted properties and see what is really
being promoted. That should tell you why it is being routed the way it is.

--------------------[vbcol=seagreen] 
the[vbcol=seagreen] 
the[vbcol=seagreen] 
the[vbcol=seagreen] 
and[vbcol=seagreen] 
port[vbcol=seagreen] 
(1300.95), but[vbcol=seagreen] 
TotalCompensation[vbcol=seagreen] 
again[vbcol=seagreen] 






[ Post a follow-up to this message ]



    RE: BTS2006 not filtering on decimal  
Søren


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
04-27-06 12:25 PM

Yes - that was a help (and very useful in future)

I could see that the promoted field was promoted as it should (with value
7300). So I made a query on subscriptions and could see the filter value was
50000 and not 500. On the send port the filter was 500.00, so this is
apparently interpreted as 50000. The decimal was from a previous attempt and
removing it (writing 500 instead of 500.00) solved the problem and
subscription is now working as expected for INT

Then I went back to decimals (my original setup) and now this was working
perfectly as well :-)
So I think nothing was wrong, I had just ended up in some weird situation
where it wasen't (maybe my decimals on the port filter was cached, so now I
set Cache Refresh to 1 second, development only of course).

Thanx, Søren




"Michael Elizarov [MSFT]" wrote:

> Stop the sendport so that the message is automatically suspended. Go into
> the MMC HubPage, find the suspended instance, go to the suspended message
> and look into its context at the promoted properties and see what is reall
y
> being promoted. That should tell you why it is being routed the way it is.
>
> -------------------- 
> the 
> the 
> the 
> and 
> port 
> (1300.95), but 
> TotalCompensation 
> again 
>
>





[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 06:07 AM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register