Текущее время: Пн, авг 11 2025, 11:02

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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