cancel
Showing results for 
Search instead for 
Did you mean: 

BW BEx using a wildcard ("*")???

Former Member
0 Kudos

Hello BW Gurus,

Does anyone know if it’s possible to select characteristics in BW BEx using a wildcard-like (“”) approach. For example, if you wanted to filter on 6 digit GL Accounts that start with a 3 and end with a 1 (“31”). I can seem to come up with anything. As a test I’ve tried to use the customer exit and the CMOD structure:

l_s_range-low = ‘3000001’.

l_s_range-sign = 'I'.

l_s_range-opt = 'EQ'.

append l_s_range to e_t_range.

l_s_range-low = ‘3001001’.

l_s_range-sign = 'I'.

l_s_range-opt = 'EQ'.

append l_s_range to e_t_range.

Thinking that I could use a select statement and a loop to fill e_t_range but it appears that e_t_range only holds one record at a time (i.e. BEX errors out when I try this code).

Anyone have any ideas?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Have you tried this?

l_s_range-sign = 'I'.

l_s_range-opt = 'CP'.

l_s_range-low = ‘3*1’.

append l_s_range to e_t_range.

Maybe its necessary to insert leading 0s if the g/l account field is of type NUMC.

Regards,

Pedro

Answers (2)

Answers (2)

Former Member
0 Kudos

Unfortunately I could not get the ‘CP’ operator to not work in the CMOD but if I add a a clear statement "CLEAR L_S_RANGE." to the code as in...

CLEAR L_S_RANGE.

L_S_RANGE-LOW = '0000310000'.

L_S_RANGE-SIGN = 'I'.

L_S_RANGE-OPT = 'EQ'.

APPEND L_S_RANGE TO E_T_RANGE.

--> CLEAR L_S_RANGE.

L_S_RANGE-LOW = '0000410000'.

L_S_RANGE-SIGN = 'I'.

L_S_RANGE-OPT = 'EQ'.

APPEND L_S_RANGE TO E_T_RANGE.

it works. I believe the BEX variable must be defined with the multiple single select option.

Thanks you

Charles Harlton

Former Member
0 Kudos

Hi Charles,

We are on BW 3.5 and this can be achieved without a customer exit..

All you got to do is create a variable with selection option and below that select contains pattern..

Put in the default value as 3* and uncheck the check box for ready for input..so that the user can`t change it..

I have done this and it works perfectly fine..

Ashish

Former Member
0 Kudos

hi,

maybe you can use this:

l_s_range-low = ‘3000001’.

l_s_range-high = ‘3001001’.

l_s_range-sign = 'I'.

l_s_range-opt = 'BT'.

append l_s_range to e_t_range.

Regards,

Andrzej