cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping , If condition without else values get suppressed

Former Member
0 Kudos

Hi All,

I am using If condition without else , it is such that when my condition is satisfied it must pass some values to the target field, i have set the properties as True, but when i check the queque , i find that even though value is true it is suppressed ,

please help me in this thaning you

Sridhar

Accepted Solutions (1)

Accepted Solutions (1)

sunil_singh13
Active Contributor
0 Kudos

Hi Sridhar,

There is bug in ifwithoutElse in PI7.1.

1) you check or or don't check the Keeps property it will always pass the SUPPRESS if the input is false

2) If you have not mapped the output of ifWithoutElse directly to the output field it will not pass SUPPRESS(Not Change context) to the target if value is false .

if you have used some logic between the output of ifWithoutElse and the Target then the output will not be the desired one. (And the same problem you are facing).

There is seems to be some context change happend due to this behaviour in your case.

As a work around create UDF to function as ifWithoutElse.

Not Sure if SAP has Released any patches for this.

Thanks,

Sunil Singh

Former Member
0 Kudos

can i write a UDF for concatenating 10 fields , if so please help me in this , should i give all tha value as input to the UDF in this case , please help me in this

Thanking you

Former Member
0 Kudos

HI,

UDF is simple..

While creating the UDF, you have to define "pf, name1, name2........ name10" in Arguments and then pase the below code.

String res = "";

 if(pf.equals("WE"))
{
res = name1 + name2 + name3 + name4 + name5 + name6 + name7 + name8 + name9 + name10;
}
return res;

Regards,

Sarvesh

sunil_singh13
Active Contributor
0 Kudos

Hi Sridhar,

If value is not WE then what you want to do, I mean if condition is false node should be suppressed right (do not create that field in the output) or there is something else you want to perform if condition is false.

Thanks,

Sunil Singh

Answers (2)

Answers (2)

MichalKrawczyk
Active Contributor
0 Kudos

hi,

did you see this example of the function?

do you fill the data as here?

http://help.sap.com/saphelp_NW04/helpdata/en/5d/db0e83e8e74202a5bff527055ab7e5/content.htm

Regards,

Michal Krawczyk

prateek
Active Contributor
0 Kudos

Check the context of the source fielsd. Must be some problem with that.

Regards,

Prateek

Former Member
0 Kudos

hey sorry , it is problme with the concatenate, it is only supressing the value even though i have value , it is supressing the value please help me in this

thaning you

Sridhar

Former Member
0 Kudos

I hope i am getting error casue of the is supress only in both concatenate and if without else , how to by pass this , it is totally stopping my messages , i am using PI 7.1

Thanking you

sridhar

Former Member
0 Kudos

Can provide your mapping ?

Regards,

Sarvesh

Former Member
0 Kudos

thank you

if the partner fuction is equalt'WE' which i have given a constant = , "WE" if this satisfies

i must concatenane t the name1 name2 name3 name4 and pass to target field, for this i am using IF without else , and have propertiy as True

please help me casue i am getting supress when i check the display queuie

prateek
Active Contributor
0 Kudos

What could you see in queue entries at concat? If entries are proper, add removeContext after concat before sending data to target field.

Regards,

Prateek

Former Member
0 Kudos

hi thank you very much , for every concatenate , it is been supressed , i have 10 fields to be supressed , when i check the display queue , ifind that my value is been supressed

please help me in this ,

thanking you '

Sridhar

Former Member
0 Kudos

The problem could be of context. Check if the context of name1, name2, name3, name4 are same as of partner function. you need to set the context in a right way.

Regards,

Sarvesh

Former Member
0 Kudos

it is all in the same node only and can i use removecontext to overcome this

thanking you

Sridhar

Former Member
0 Kudos

Hi,

I think the problem can be in equals function, as it's case-sensitive. Try to convert the strings you compare to upper-case first and just then execute the comparison.

Regards

Former Member
0 Kudos

no it is problem with concatenate only i have checked the dosplay queue

Former Member
0 Kudos

if it is in the same node then there shouldn't be any problem at all. Try one thing exit from your mapping and open it again. Actually no need to use RemoveContext when you are in same node, but since I have not seen your full mapping then may be you can try it.

Regards,

Sarvesh