cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping Builtin function does not work as before

hai_long3
Explorer
0 Kudos

Hi Experts,

after we patch our PO system from 7.40 SP05 to SP09, some of the builtin mapping function does not work as before. Partically we have notice that the "DateBefore" function has different conextswitch handeling. We don't find any annoucement about this kind of change in the Release Note. Please have a look on the attached screenshots.

We want to rollback our system to SP05 and probably patch to SP08. Could someone tell me whether this problem exist in SP08 ?

Any help will be appreciated.

best regards,

Hai

Accepted Solutions (1)

Accepted Solutions (1)

engswee
Active Contributor
0 Kudos

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

hai_long3
Explorer
0 Kudos

Hi Eng Swee,

we have currently two different SAP PI/PO Systems. SAP PI 7.11SP13 and SAP PO 7.40SP05. The mentioned BuiltIn function "DateBefore" has the same behaviour in both enviroment. After patch from SP05 to SP09 the behaviour has been changed as described.

I am not sure whether it is a 'Bug' or not, it depends on the definition of function. I am just get a bit confused about this kind of change without annoucement. Maybe I just overlook something. Is there any documentation about this kind of changes?

regards,

Hai

engswee
Active Contributor
0 Kudos

Hi Hai Long

I am working on a PO7.4 SP08 system and it has the same behaviour as your PO7.4 SP05.

However, IMHO, I really think that behaviour is incorrect - comparison should only work with two queues which contain same number of contexts and values.

Maybe SAP only FINALLY realised the bug after all this years and fixed it in 7.4 SP09. If there is really no announcement about this change, I cannot tell why - and if you are really desperate for an answer, you can try raising a call with SAP.

IMO, you should fix the mapping by adding a useOneAsMany before your first input to DateBefore.

Rgds

Eng Swee

engswee
Active Contributor
0 Kudos

Hi Hai Long

This is my suggestion for the fix, and how the queues for DateBefore function would look like.

Eventually, whether now or in the future, there would be a need to upgrade the SP level, so this will have to be fixed one way or the other. I'd recommend you fix it now.

Rgds

Eng Swee

hai_long3
Explorer
0 Kudos

Hi Eng Swee,

I am glad to see SP08 has the same behavior as SP05, thank you very much for your reply. Actually we already fix the problem with some modification in our original mapping. Nevertheless we are not sure about whether some similar changes which could be hidden somewhere in other function.

IMO Bug or feature depends on definition how the function should work, any changes in the buildin function may cause tedious efforts. I have already raised a call by SAP and hope to get an answer from SAP shortly.

best regards,

Hai Long

engswee
Active Contributor
0 Kudos

Hi Hai Long

Do keep this thread updated once you get the answer from SAP. Interested to hear what SAP has to say, and it will be beneficial to the community here too.

Rgds

Eng Swee

Former Member
0 Kudos

Hi Hai Long,

we have raised a ticket to SAP for similar issue. SAP confirmed we have to fix the problem according to the new functionality of the functions. Nevertheless if you get different reply from SAP then pls let us know.

Cheers

Hidayat

hai_long3
Explorer
0 Kudos

Hi Hidayat,

are any other buildin function beside  "DateBefore" changed in the SP09? Thanks for your Information!

regards,

Hai

engswee
Active Contributor
0 Kudos

Hi Hai Long

Any feedback from SAP regarding this issue?

Rgds

Eng Swee

hai_long3
Explorer
0 Kudos

Hi Eng Swee,

here you go!

regards,

Hai Long

*****

We are able to recreate the issue internally in our landscape. This

seems to

be a  bug and  I had fixed the issue. I will trigger the

patch process and it

will take 2-3 weeks for the fix to be available

in service market place. I

would like to move the incident to 'OnHold'

status(till 6thMar) till the

patch is delivered.

***

The patch is now available in service market place for download. Find

below

the patch details:

ESR 7.40, SAPXIESR09P (SP-Level #09, Patch - Level

#5)

MESSAGING SYSTEM SERVICE 7.40,MESSAGING09P (SP-Level #09, Patch

-

Level #8)

Kindly apply the patches and see if it resolves the issue.

******

engswee
Active Contributor
0 Kudos

Great. Thanks for getting back to us with the update. Will be useful info for others who faced this in the future. If your testing yields positive results, then please proceed to close the thread with your reply as the correct answer.

Answers (1)

Answers (1)

Harish
Active Contributor
0 Kudos

Hi Hai,

this was the issue in PI 7.1 or 7.3 upgrade. Please refer the below blog

you can overcome this by adding below line in init function.

retainlastValueofPreviousContext=true;


regards,

Harish

hai_long3
Explorer
0 Kudos

Hi Harish,

I think we are talking about different PI version. The mentioned blog is from 2009, our system is on 7.40SP05 and 7.40SP09.

I still get the same problem even if I add the code line "retainlastValueofPreviousContext=true;".

regards,

Hai