Dear Hai Long,
IMHO, the result in the SP09 mapping seems to be the correct one - there is only 1 context in the first input, and many contexts in the second, so it should only be able to compare the first context.
I think the behavior that you are seeing in SP05 is a bug and that is why it might have been fixed. And if it is a bug, it won't be reported in release notes - only enhancements are. However, you can check in the corresponding OSS notes for releases SP06-SP09 to see the associated bugs that were fixed.
I would not suggest adding the logic above just to retain previous behavior and have the mapping work based on a bug behavior. If you need to compare 1 value against many value, you can always add a UseOneAsMany for your first input before it goes into the DateBefore function.
See Stefan Grube's response in the blog above:
Mappings which are wrong designed based on the wrong behaviour will fail after the fix, but mappings which are designed correct will still work.
It does not seem worthwhile reverting to an older SP just to retain a buggy behavior. The latest SPs comes with bug fixes and tons of enhancements and new functionalities.
Rgds
Eng Swee
Message was edited by: Eng Swee Yeoh