on 05-06-2010 11:34 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi.
First goto listcube and take a look how value of CONNID written in cube.
May you should write 0017 instead of 17 ...
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
.
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
User | Count |
---|---|
81 | |
24 | |
11 | |
9 | |
7 | |
5 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.