Текущее время: Пн, сен 08 2025, 06:10

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: рутина для заливки данных в признак во время трансформации
СообщениеДобавлено: Сб, июн 14 2014, 20:09 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 10 2013, 12:00
Сообщения: 16
Добрый вечер коллеги,

Такой вопрос:

куб-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.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: рутина для заливки данных в признак во время трансформации
СообщениеДобавлено: Пн, июн 16 2014, 12:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, ноя 08 2013, 13:25
Сообщения: 78
Используйте InfoSet.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB