Добрый вечер коллеги,
Такой вопрос:
куб-1: завод, материал, партия, склад и.т.д.
куб-2: завод, материал, партия, склад(в источнике нету склада) и.т.д.
В трансформации для куб-2 хочу чтобы в поле Склад, залить данные из куб-1.
То есть делаю линк Завод, Материал, Партия на поле Склад и выбираю Подпрограмма.
Вопрос, можно ли сопоставить поля Завод, Материал, Партия из куб-1 и источника для куб-2 и залить данные для Склада?
Чтобы в кубе-2 были данные по складам.
Запили такой код в рутине, но он в дамп кидает пишет тайм аут. Есть ли другой вариант?
Code:
TYPES:
BEGIN OF gt_s_data ,
plant(4) type c,
material(18) TYPE c,
zb_charg(10) TYPE c,
zlgort(4) TYPE c,
Z_KBETR01(9) TYPE p DECIMALS 2,
END OF gt_s_data.
DATA:
g_s_data TYPE gt_s_data,
g_t_data TYPE STANDARD TABLE OF gt_s_data
WITH DEFAULT KEY INITIAL SIZE 10,
g_s_sfc TYPE rsdri_s_sfc,
g_th_sfc TYPE rsdri_th_sfc,
g_s_sfk TYPE rsdri_s_sfk,
g_th_sfk TYPE rsdri_th_sfk,
g_s_range TYPE rsdri_s_range,
g_t_range TYPE rsdri_t_range,
s type /BIC/OIZLGORT.
CLEAR g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = '0PLANT'.
g_s_sfc-chaalias = 'plant'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = '0MATERIAL'.
g_s_sfc-chaalias = 'material'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'ZB_CHARG'.
g_s_sfc-chaalias = 'zb_charg'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'ZLGORT'.
g_s_sfc-chaalias = 'zlgort'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_th_sfk.
CLEAR g_s_sfk.
g_s_sfk-kyfnm = 'Z_KBETR01'.
g_s_sfk-kyfalias = 'Z_KBETR01'.
g_s_sfk-aggr = 'SUM'.
INSERT g_s_sfk INTO TABLE g_th_sfk.
CLEAR g_t_range.
CLEAR g_s_range.
g_s_range-chanm = 'OPLANT'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = SOURCE_FIELDS-WERKS.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = 'OMATERIAL'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = SOURCE_FIELDS-MATNR.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = 'ZB_CHARG'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = SOURCE_FIELDS-CHARG.
APPEND g_s_range TO g_t_range.
DATA: g_end_of_data TYPE rs_bool,
g_first_call TYPE rs_bool.
g_end_of_data = rs_c_false.
g_first_call = rs_c_true.
WHILE g_end_of_data = rs_c_false.
CALL FUNCTION 'RSDRI_INFOPROV_READ'
EXPORTING
i_infoprov = 'C_Z_MCHB'
i_th_sfc = g_th_sfc
i_th_sfk = g_th_sfk
i_t_range = g_t_range
i_reference_date = sy-datum
i_save_in_table = rs_c_false
i_save_in_file = rs_c_false
i_packagesize = 10
* i_authority_check = rsdrc_c_authchk-read
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
illegal_download = 8
illegal_tablename = 9
OTHERS = 11.
endwhile.
read table g_t_data into g_s_data index 1.
g_s_data-zlgort = s.
RESULT = s.