cancel
Showing results for 
Search instead for 
Did you mean: 

EXIT_SAPLRRS0_001 / ZXRSRU01 can not take numeric values ????

Former Member
0 Kudos

Hi ABAP BW Guru's,

I got an ABAP type problem with RANGE and numeric values in EXIT_SAPLRRS0_001

in I_STEP=1 or I_STEP=2.

How to convert / fill / cast a numeric value into l_e_t_range-low ?

My characteristic is CONNID Type NUMC 4

My customer-/ user-exit variable on CONNID is named CONNID_EXIT_STEP_2.

My ABAP processing in the exit for the user-exit varibale is quite simple (testcase):

DATA: l_e_t_range TYPE rsr_s_rangesid.

l_e_t_range-low = 17.

* or:

* l_e_t_range-low = '17'. # does not work anyway

l_e_t_range-opt = 'EQ'.

l_e_t_range-sign = 'I'.

APPEND l_e_t_range TO e_t_range.

My Error message in the BEX Analyser is:

Value "17" for user-exit variable CONNID_EXIT_STEP_2 is inavlid

What's wrong with the ABAP processing in the exit (testcase) ?

The debugger clearly shows l_e_t_range-low with value 17.

Anyone can give a tip how to cast / convert / Fill correct ?

ThanXs

Martin

Edited by: Martin Sautter on May 6, 2010 12:40 PM

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

it's an issue concerning the conversion exits.

The underlying format of the numeric

of the conversion exit can be checked in

RSA1 / InfoObjects / Masterdata

SE16

SE11

properly only with the settings:

/Settings

/User Parameters

Ouptut List:

(Checked) SE16 Standard List

Format:

(Checked) Check Conversion Exits

Filling a TYPE Range for a Numeric value works than fine, while simply setting

the low to the evaluated format displayed

with the conervsion exits, here to a character with '0017'.

(As mentioned before'17' does not work.)

Codesample is than:

DATA: l_e_t_range TYPE rsr_s_rangesid.

l_e_t_range-low = '0017'.

=======

l_e_t_range-opt = 'EQ'.

l_e_t_range-sign = 'I'.

APPEND l_e_t_range TO e_t_range.

ThankXs

Martin

Former Member
0 Kudos

Hi.

First goto listcube and take a look how value of CONNID written in cube.

May you should write 0017 instead of 17 ...

Regards.

Former Member
0 Kudos

hi,

get into the function module EXIT_SAPLRRS0_001 and check what datatype is defined for the low value field.

create one variable assighning the same data type and assighn the value to the variable and then assighn the varible to low value field in the function module.

Regards,

M Kalpana.

Former Member
0 Kudos

Hi,

sorry. Neither takeing the base type C(60) nor takeing

the derived type,RSCHAVL, worked out whil beeign run

in a BEX Analyser conext.

Also running / testing / debugging it in a standalone FM,

it worked out.

    • Takeing base typ of l_e_t_range-low did not work:*

DATA: carrid_char60_help(60) TYPE C.

carrid_char60_help = '17'.

l_e_t_range-low = carrid_char60_help.

l_e_t_range-opt = 'EQ'.

l_e_t_range-sign = 'I'.

APPEND l_e_t_range TO e_t_range.

    • Takeing derived typ of l_e_t_range-low did not work:*

DATA: carrid_char60_r_help TYPE RSCHAVL.

carrid_char60_r_help TYPE = '17'.

l_e_t_range-low = carrid_char60_r_help.

l_e_t_range-opt = 'EQ'.

l_e_t_range-sign = 'I'.

APPEND l_e_t_range TO e_t_range.

Any aother clue ?

Thank You

Martin

.

Former Member
0 Kudos

hi,

1. check the info-provider & field in the info-provider on which you have created this query and eventully the customer exit variable has the value that you are entring in the customer exit variable. NOw in your case '17'. If 17 is not there in specific field on which you have created this customer exit variable, this message will come.

Solution: hard code that value which is available in info-provider for that field.

2. If you are trying to execute the report in analyzer or on portal immediately after you making change in CMOD, some times it causes problem.

solution: go to RSRT transactio and there you try to execute the report.

also on the safer side enter the value for high as well as you are hardcoding for low.

Regards,

Akshay