cancel
Showing results for 
Search instead for 
Did you mean: 

Case statement in an object

Former Member
0 Kudos

PFA

Hi,

I am using the below case statement in an object of a BO Universe but i am getting the oracle errors while parsing the object. please suggest.

  CASE WHEN ( LINE_ITEM_DN.AUTH_DISC_OT_PC/100 )<( Case

                                                                                                    When LINE_ITEM_DN.LINE_TYPE = 'BD'

                                                                                                     Then LINE_ITEM_DN.BL_GUIDANCE_FLOOR_PCT

                                                                                                      else LINE_ITEM_DN.LDS_GUIDANCE_FLOOR_PCT

                                                                                                    end )  THEN "BF"

          WHEN ( LINE_ITEM_DN.AUTH_DISC_OT_PC/100 )=( Case

                                                                                          When LINE_ITEM_DN.LINE_TYPE = 'BD'

                                                                                          Then LINE_ITEM_DN.BL_GUIDANCE_FLOOR_PCT

                                                                                           else LINE_ITEM_DN.LDS_GUIDANCE_FLOOR_PCT

                                                                                            end ) THEN "AF"

          WHEN ( LINE_ITEM_DN.AUTH_DISC_OT_PC/100 ) BETWEEN (( Case

                                                                                                              When LINE_ITEM_DN.LINE_TYPE = 'BD'

                                                                                                               Then LINE_ITEM_DN.BL_GUIDANCE_FLOOR_PCT

                                                                                                                else LINE_ITEM_DN.LDS_GUIDANCE_FLOOR_PCT

                                                                                                                   end )

                                                                                                          AND ( Case

                                                                                                                        When LINE_ITEM_DN.LINE_TYPE = 'BD'

                                                                                                                        Then LINE_ITEM_DN.BL_GUIDANCE_TYPICAL_PCT

                                                                                                                             else LINE_ITEM_DN.LDS_GUIDANCE_TYPICAL_PCT

                                                                                                                   end )) THEN "FT"

          ELSE "NG"

Thanks,

Bhaskar

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

You need to have a "END" after the case statement to work..

Former Member
0 Kudos

Yes Mishra. Initially I was forgot to use End. But later I tried with END as well, but still getting the same  operator error.

I think we can't use between operator in CASE function in SELECT clause

What do you think?

0 Kudos

It looks like syntax error, try single case staments first and nested them.

Former Member
0 Kudos

I am not sure on if Between is supported in case or not but the best way to check is to replace the between with a equal (=) and see if it works ...else most likely between is not supported with Case

Former Member
0 Kudos

Ya I will try an alternative for Between then we will see

Former Member
0 Kudos

Yes, BETWEEN operator is not working in Case stmt for an object. So i am using AND operator as an alternative for BETWEEN operator

Any suggests !!

Former Member
0 Kudos

Correction:

We can use between operator in CASE:

Example:

CASE

          WHEN object1 < object2 THEN 'AF'

          WHEN object1 between object2 and object3 THEN 'AF'

          ELSE 'NG' 

END



Thanks,

Bhaskar

Former Member
0 Kudos

Correction:

We can use between operator in CASE:

Example:

CASE

          WHEN object1 < object2 THEN 'AF'

          WHEN object1 between object2 and object3 THEN 'AF'

          ELSE 'NG'

END



Thanks,

Bhaskar

Answers (0)