Application Development and Automation 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: 
Read only

Problem reading infocube

alejandro_romero2
Participant
0 Likes
1,536

Hi gurus i have this problem, i use the RSDRI_INFOPROV_READ' for retrieving data from an infocube for

the year 2007, and it works fine, but when i use the same function for retrievieng data for the year 2008, it doesnt work, what should i do? i use the following funtion and i only change the year it works fine with 2007, but id doesnt work for 2008.

CALL FUNCTION 'RSDRI_INFOPROV_READ'

EXPORTING

i_infoprov = 'ZBCS_C50'

i_th_sfc = g_th_sfc

i_th_sfk = g_th_sfk

i_t_range = g_th_range

i_reference_date = sy-datum

i_packagesize = ' '

i_authority_check = 'R'

IMPORTING

E_T_DATA = g_t_data

e_end_of_data = g_end_of_data

CHANGING

c_first_call = g_first_call

EXCEPTIONS

illegal_input = 1

illegal_input_sfc = 2

illegal_input_sfk = 3

illegal_input_range = 4

illegal_input_tablesel = 5

no_authorization = 6

ncum_not_supported = 7

illegal_download = 8

illegal_tablename = 9

15 REPLIES 15
Read only

Former Member
0 Likes
1,472

When you say it doesn't work, you mean it returns no records, correct?

This function module requires that you look through it as below. Have you done that, and then looped through and collected the results?

WHILE g_end_of_data = rs_c_false.
  CALL FUNCTION 'RSDRI_INFOPROV_READ'
    EXPORTING
      i_infoprov             = 'ZBCS_C50'
      i_th_sfc               = g_th_sfc
      i_th_sfk               = g_th_sfk
      i_t_range              = g_th_range
      i_reference_date       = sy-datum
      i_packagesize          = ' '
      i_authority_check      = 'R'
    IMPORTING
      e_t_data               = g_t_data
      e_end_of_data          = g_end_of_data
    CHANGING
      c_first_call           = g_first_call
    EXCEPTIONS
      illegal_input          = 1
      illegal_input_sfc      = 2
      illegal_input_sfk      = 3
      illegal_input_range    = 4
      illegal_input_tablesel = 5
      no_authorization       = 6
      ncum_not_supported     = 7
      illegal_download       = 8
      illegal_tablename      = 9.
ENDWHILE.

Read only

0 Likes
1,472

thanks for your answer, and yes i have looped through this function, but i dont get any data for the year 2008

but if i change the yer for 2007 i get the data.

Read only

0 Likes
1,472

Do you have a reason to use i_reference_date? That is optional, and I don't use it in the one routine in which I call this function. You might see what happens if you take that out.

Read only

0 Likes
1,472

i have took out the i_reference_date but i have the same problem only get records for year 2007 but nothing for the year 2008, and i dont know why because the cube has records for 2008 year

Read only

0 Likes
1,472

What do you have for your range table? I.e., what are you supplying to the parameter i_t_range? Do you have more than one InfoObject in the table? Could there be a conflict?

I.e. year = 2007 and zobj2 = 'abc' works, but there is no 'abc' for zobj2 for year 2008?

Read only

0 Likes
1,472

I have this data in the g_th_range for both cases

  • Parametros de entrada

*Unidad de consolidacion

IF NOT p_uni IS INITIAL.

g_s_range-chanm = '0CS_UNIT'.

g_s_range-sign = 'I'.

g_s_range-compop = 'EQ'.

g_s_range-low = p_uni.

INSERT g_s_range INTO TABLE g_th_range.

ENDIF.

*Periodo

IF NOT p_per IS INITIAL.

g_s_range-chanm = '0FISCPER3'.

g_s_range-low = p_per.

INSERT g_s_range INTO TABLE g_th_range.

ENDIF.

  • Ejercicio

IF NOT p_ejer IS INITIAL.

g_s_range-chanm = '0FISCYEAR'.

g_s_range-low = p_ejer.

INSERT g_s_range INTO TABLE g_th_range.

ENDIF.

*Parametros fijos para la consulta de infocubo

*no esta incluido en el documento, se debe agregar

*0CS_PLEVEL Nivel de imputacion, valor constante 00

g_s_range-chanm = '0CS_PLEVEL'.

g_s_range-low = '00'.

INSERT g_s_range INTO TABLE g_th_range.

*0CS_DIMEN (Vista de Consolidación, con valor constante = ?ZD?)

g_s_range-chanm = '0CS_DIMEN'.

g_s_range-low = 'ZD'.

INSERT g_s_range INTO TABLE g_th_range.

*

**0CS_VERSION (Versión de Consolidación, con valor constante = ?001?)

g_s_range-chanm = '0CS_VERSION'.

g_s_range-low = '003'.

INSERT g_s_range INTO TABLE g_th_range.

*

**0CS_CHART (Plan de Posiciones, con valor constante = ?ZP?)

g_s_range-chanm = '0CS_CHART'.

g_s_range-low = 'ZP'.

INSERT g_s_range INTO TABLE g_th_range.

*

**0FISCVARNT (Variante del Ejercicio, con valor constante = ?K4?)

g_s_range-chanm = '0FISCVARNT'.

g_s_range-low = 'K4'.

INSERT g_s_range INTO TABLE g_th_range.

*

**0CURKEY_GC (Moneda de Grupo, con valor constante ?MXN?)

g_s_range-chanm = '0CURKEY_GC'.

g_s_range-low = 'MXN'.

INSERT g_s_range INTO TABLE g_th_range.

  • Tomar solo información histórica si la empresa no es MQM

If p_uni NE cMQM.

g_s_range-chanm = '0CS_ITEM'.

g_s_range-compop = 'CP'.

g_s_range-low = '1*'. "cuentas 1+++++

INSERT g_s_range INTO TABLE g_th_range.

Read only

0 Likes
1,472

does anyone have an idea ?

Read only

0 Likes
1,472

Remove all other ranges from the internal table. Pass only year int the range table.

May be the values you are currently passing in the range table are not present for the year 2008.

Read only

0 Likes
1,472

thanks for your answere but the values are present for year 2008 and 2009 also but i cant get data from this years, only i can get data from year 2007

Read only

0 Likes
1,472

To ensure that all your selection parameters are valid across years, you could right click on your cube to "Display Data", and enter the selection criteria for each of your characteristics, and then vary just the year characteristics to see if you still get back data for each year.

Read only

0 Likes
1,472

hi i have used the tx listcube and in this transaction y fill the same characteristics for years 2007,2008,2009

and i only change the year but the others characteristics still the same.

In the listcube transaction i can get the data from 2007,2008 and 2009 but in my report when i use the function RSDRI_INFOPROV_READ i only get data from 2007 year but nothing from 2008 and 2009 i dont know why, do you have any idea?

Read only

0 Likes
1,472

any idea guys????????????

Read only

0 Likes
1,472

is there any posibility that years 2008 and 2009 were unavailable in any way?.

can some one post an example using the same function i am using for year 2008 or 2009?

Read only

alejandro_romero2
Participant
0 Likes
1,472

thanks i solved by my self

Read only

0 Likes
1,472

Hi ,

I have same problem as you had in past.

Please suggest me for the same .

I am getting x_message exception while executing the rsdri_infoprov_read Function Module.

Please suggest me so that i can solve my problem .

Regards,

Rohit