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: 

Filtering of data while reading with "RSDRI_INFOPROV_READ" from infocube.

Former Member
0 Kudos
196

Hi all,

I am working with a function module "rsdri_infoprov_read" to read data from multi provider. Here i am facing a problem with the parameter 'i_t_range' - select options, I have filled elements of this parameter, but regardless of my selection it brings some more data from cube. It would be so helpful for me if somebody can can have a look at it. The value apppending to i_t_range is as shown below,

  • plant is the selectio screen input.

LOOP AT s_plant.

g_s_range-chanm = 'GCSLOCT'.

g_s_range-sign = 'I'.

g_s_range-compop = 'EQ'.

g_s_range-low = s_plant-low.

APPEND g_s_range TO g_t_range.

ENDLOOP.

  • material is the selectio screen input for which product.

LOOP AT i_t_materials.

g_s_range-chanm = 'GCSMATE'.

g_s_range-sign = 'I'.

g_s_range-compop = 'EQ'.

g_s_range-low = i_t_materials-sub_type.

APPEND g_s_range TO g_t_range.

ENDLOOP.

  • version is the planning book version constant.

g_s_range-chanm = 'GCSPLVER'.

g_s_range-sign = 'I'.

g_s_range-compop = 'EQ'.

g_s_range-low = version.

APPEND g_s_range TO g_t_range.

ENDLOOP.

  • week is the selectio screen input for period.

g_s_range-chanm = '0CALWEEK'.

g_s_range-sign = 'I'.

g_s_range-compop = 'BT'.

g_s_range-low = s_period-low.

g_s_range-high = s_period-high.

APPEND g_s_range TO g_t_range.

It should fetch data for the plant which i given in s_plant-low(select option) only but it returns other plants too in the output internal table e_t_data.So it effects the perfomance and here i need to fliter the other plants while reading itself.

This is for plant, but coming to other inputs like material,version and period into the i_t_range table and for which it returns the corrct values only.The problem's with the plant input selection only.

I hpe you guys can easilyhelp me with this,,

thanks in advance for all.

Regards

ashir ck

6 REPLIES 6

Former Member
0 Kudos
76

Please Help....!!!

I've been trying hard but i am not able to figure this out as i am a fresher in abap....

Regards

Ashir

Edited by: ashir.ck on Oct 21, 2010 5:38 PM

0 Kudos
76

does yoyr internal table s_plant contains only one plant?

0 Kudos
76

Hi, Sometimes scenario may come with two plants.

But for 1 plant also it do the same error, in this case we are passing only low value of select option s_plant into the low value of itable g_t_range but it returns some other plants stoo.

my doubt is that would it be fetching all records for version, or material or period ?

thank you very much for your response,

Regards

ashir ck!

0 Kudos
76

Did you verify that the value of the field name you are using for S_Plant is the correct name. Based on your postings, this is the only thing that would make sense. If the select is using the correct field name, you should either get what you are asking or get nothing at all.

0 Kudos
76

S-plant-low is passing the low value of my select option only.And th chanm 'GCSLOCT' is the corrsponding label name for plant in the infoprovider 'GCSC00100'.But still it's like it's fetching unwanted records.

Would the retrival is only looking at condition other than plant ? also formats of values passing would be a problem?

Thanks and regards

Ashir ck

0 Kudos
76

Just as double check,

Put in a breakpoint after it gets out of the Loop at S_plant and check what is in table g_t_range. Maybe something there is a value in there that you are not expecting.

  • plant is the selectio screen input.

LOOP AT s_plant.

g_s_range-chanm = 'GCSLOCT'.

g_s_range-sign = 'I'.

g_s_range-compop = 'EQ'.

g_s_range-low = s_plant-low.

APPEND g_s_range TO g_t_range.

ENDLOOP.

PUT A BREAKPOINT HERE