Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

E_T_Range Result table

Former Member
0 Kudos

ABAP Gurus,

Where to find the E_T_Range table values for the following code.

L_S_Range-low = 'value1'.

L_S_Range-high ='value10'.

L_S_Range-opt = 'BT'.

L_S_Range-sign = 'I'.

Append L_S_Range to E_T_Range

*******************************************

All I am looking for the values, the system takes between value1 and value10.

when I debug the code for E_T_Range, shows I<b> BT value1 value10</b> but not the all the values between value1 and value10.

Please find the following post for the previous discussion on the same issue.

All your efforts will be highly appreciated.

(Full Points will be assigned)

10 REPLIES 10

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

I'm going to say that it is returning the right values based on the range. Why? Because in character fields value1 and vaue10 are next to each other, in order to get a range between them, you would need to have the single digit values with a zero before them.

value01
value02
value03
value04
value05
value06
value07
value08
value09
value10

Then using the range.....

L_S_Range-low = 'value01'.
L_S_Range-high ='value10'.

It would retrieve all values.

Make sense?

Regards,

Rich Heilman

0 Kudos

Hi Rich,

what ever you said is very true.

I am just wondering Is there any way I can see these values in any table. Just to make sure while debugging, the system is considering all the expected values.

Thanks for the response.

0 Kudos

Hi,

As RICH said, you can just go on with this sample code to see the values.

<b>SELECT <fields> FROM <database table> INTO <int table> WHERE value IN e_t_range.

By this select query you'll get select the fields from DATABASE TABLE which satisfy the values in e_t_range

</b>

Regards,

Pavan

0 Kudos

Rich/Pavan,

<This code is in CMOD, FUNCTION EXIT_SAPLRRS0_001, ZXRSRU01>

I think e_t_range is dynamically populated. The values are not stored in the database, they are populated during the program execution.

Is there any transaction which shows the tables created during program execution?

This is the code which is populating e_t_range table, but e_t_range not declared any where in the code.

Any thoughts??

DATA:l_s_range TYPE rsr_s_rangesid,

l_s_range1 TYPE rsr_s_rangesid.

DATA:loc_var_range LIKE rrrangeexit,

loc_var_range1 LIKE rrrangeexit.

WHEN 'ZEXS_PL5'.

IF i_step = 2.

LOOP AT i_t_var_range INTO loc_var_range

WHERE vnam = 'ZSEG_CC1'.

CASE loc_var_range-low."

WHEN '000021'.

l_s_range-low = '00'.

l_s_range-high = '20'.

WHEN '000020'.

l_s_range-low = '00'.

l_s_range-high = '00'.

WHEN '000202'.

l_s_range-low = '00'.

l_s_range-high = '20'.

ENDCASE.

l_s_range-sign = 'I'.

l_s_range-opt = 'BT'.

APPEND l_s_range TO e_t_range.

EXIT.

ENDLOOP.

ENDIF.

0 Kudos

Hi BiBoy,

this exit FUNCTION EXIT_SAPLRRS0_001 is part of function group RRS0 - Initialization of reports.

The range table id part of the interface

*" EXPORTING

*" VALUE(E_T_RANGE) TYPE RSR_T_RANGESID

The declaration is done in the calling program. The interface just tells us about the data type which is RSR_T_RANGESID.

RSR_T_RANGESID is defined in type-group RSR as rsr_t_rangesid type rsdd_t_range.

This is a table with line structure RRRANGESID.

This is defined in dictionary as


.INCLUDE	RRRANGE		0	0	Range table in brain
SIGN	RALDB_SIGN	CHAR	1	0	SIGN field in creation of SELECT-OPTIONS tables
OPT	RSZ_OPERATOR	CHAR	2	0	Operator in Select Options and other Expressions
LOW	RSCHAVL	CHAR	60	0	Dim: Field for a User-Defined Characteristic Value
HIGH	RSCHAVL	CHAR	60	0	Dim: Field for a User-Defined Characteristic Value
SIDLOW	RSSID	INT4	10	0	Master data ID
SIDHIGH	RSSID	INT4	10	0	Master data ID
LOWFLAG	RSZTYPEFLAG	NUMC	1	0	Flag for 'typing' an entry
HIGHFLAG	RSZTYPEFLAG	NUMC	1	0	Flag for 'typing' an entry
KEYFL	RRKEYFL	CHAR	1	0	Select according to key

Obviously this code is used to initialize select-option ranges.

Regards,

Clemens

0 Kudos

HI Clemens,

Thanks for the response, is there any way to know the contents of the E_T_Range table during runtime.

Thanks

0 Kudos

Hi BI_BOY,

where is the problem?

In the userexit EXIT_SAPLRRS0_001 you can see the data in E_T_Range. In debugger, use TABLE to show internal table E_T_Range.

But this is an export parameter; you are supposed to fill it with data.

Please tell us why you are using this exit function and what is the goal?

The exit is used in a couple of SAP standard function modules for initializing some kind of (BW) reporting.

Possibly one of the SAP notes is useful:

1. 0.420 BW-BCT-ISR 569826 Replace constant 0CALDAY in the update to IC 0RT_C01 30.01.2004

2. 0.400 BW-BEX-OT-OLAP-AUT 686219 Variable for nodes: Incorrect InfoObject in customer exit 04.03.2004

3. 0.400 BW-BEX-OT-OLAP-VAR 912473 Brain 039 in customer exit variables for hierarchy nodes 04.01.2006

4. 0.400 BW-BEX-OT-OLAP-VAR 968350 I_STEP 2 values of the exit variables disappear 28.07.2006

5. 0.400 BW-BEX-OT-OLAP-VAR 1048095 Checking variables and I_STEP equal to three in exit 30.04.2007

6. 0.340 BW-BEX 174627 Call sequence in user exit global variables 28.09.1999

7. 0.320 BW-BEX-OT-OLAP-AUT 882916 BRAIN 804 "No authorization" with RSSB_GET_AUTHS_FILTERED 08.11.2005

8. 0.310 BW 160873 SAPBWNews for BW 1.2B Patch 12 30.11.2000

9. 0.310 BW-BEX-OT-OLAP-AUT 396388 I_IOBJNM set to 0TCTAUTHH in the customer exit 04.03.2004

10. 0.300 BW-BEX-OT-OLAP-AUT 428899 INFOCUBE field initial when calling CustomerExit RS0_001 28.08.2001

Regards,

Clemens

0 Kudos

Hi Clemens,

I wrote this customer exit in one of the consolidation reports.

Please find the other replies on this thread

and also

Pavan has described my problem more precisely.

<b>I got your problem.

RANGES is used to group a range of values into an internal table like thing, which is created similar to the selection table when we declare select-options on the selection screen the selection table consist of the field SIGN,OPTION,LOW and HIGH fields.

So, when ever you debug the program, it means that you are seeing the values of RANGES internal table which has four fields SIGN = 'I',OPTION = 'BT' ,LOW = 'value 1' and HIGH = 'value 2'.

So you'll not be able to see all the values whenever you debug the program. But that range value which you mentioned in the RANGES will be reflected when ever you run the program.</b>

Thanks for all you help.

Former Member
0 Kudos

Hi,

I got your problem.

<b>RANGES is used to group a range of values into an internal table like thing, which is created similar to the selection table when we declare select-options on the selection screen the selection table consist of the field SIGN,OPTION,LOW and HIGH fields.</b>

So, when ever you debug the program, it means that you are seeing the values of RANGES internal table which has four fields SIGN = 'I',OPTION = 'BT' ,LOW = 'value 1' and HIGH = 'value 2'.

So you'll not be able to see all the values whenever you debug the program. But that range value which you mentioned in the RANGES will be reflected when ever you run the program.

Here is a sample program

RANGES:

R_ZTERM FOR KNVV-ZTERM, " Payment Terms

R_ZTERM-LOW = '0010'. " TBD based on Credit Approval

R_ZTERM-HIGH = '0030'.

R_ZTERM-OPTION = 'BT'.

R_ZTERM-SIGN = 'I'.

APPEND R_ZTERM.

loop at r_zterm.

write:

r_zterm-low,

r_zterm-high.

endloop.

Regards,

Pavan.

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

So you want to see these values in the database table? If so, you would probably have to look to see how the E_T_Range is being used further in the program, is it used in a SELECT statement using the IN operator, if so that SELECT statement will most likely tell you the table or view where these values are stored.

Is this your question?

Regards,

Rich Heilman