‎2008 Dec 08 3:32 PM
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
‎2008 Dec 08 3:39 PM
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.
‎2008 Dec 08 3:41 PM
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.
‎2008 Dec 08 3:47 PM
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.
‎2008 Dec 08 3:58 PM
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
‎2008 Dec 08 4:06 PM
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?
‎2008 Dec 08 4:25 PM
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.
‎2008 Dec 08 5:32 PM
‎2008 Dec 08 6:48 PM
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.
‎2008 Dec 08 7:18 PM
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
‎2008 Dec 08 7:46 PM
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.
‎2008 Dec 08 8:17 PM
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?
‎2008 Dec 08 10:17 PM
‎2008 Dec 09 3:50 PM
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?
‎2009 Mar 19 4:51 PM
‎2011 Nov 19 7:02 AM
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