Текущее время: Сб, июл 05 2025, 17:27

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Удаление данных из куба по 2ум и более критериям
СообщениеДобавлено: Пн, дек 22 2014, 15:56 
Начинающий
Начинающий

Зарегистрирован:
Пн, дек 22 2014, 15:30
Сообщения: 7
Ребят подскажите, что ни так!
1). Прилагаю рабочий код - по 1ому критерию(0DATE) - работает корректно, удаляет из куба(ZWCBECV01) данные за 20141204:

Code:
DATA:
            ROWS TYPE string,
          ROWS2 TYPE string.

Select COUNT(*) FROM /BIC/FZWCBECV01 into ROWS.
WRITE:/'Количество строк до удаления: ',ROWS.

TYPE-POOLS: RSDRD, RSDQ, RSSG.
DATA:
L_UID TYPE RSSG_UNI_IDC25,
L_T_MSG TYPE RS_T_MSG,
L_THX_SEL TYPE RSDRD_THX_SEL.

data: i_t_range type standard table of RSDRD_S_RANGE,
i_l_sel type RSDRD_SX_SEL,
i_l_range type RSDRD_S_RANGE.

i_l_range-sign = 'I'.
i_l_range-option = 'EQ'.

i_l_sel-iobjnm = '0DATE'.
i_l_range-low = '20141204'.
i_l_range-sidlow = 20141204.
append i_l_range to i_t_range.
i_l_sel-t_range[] = i_t_range[].
insert i_l_sel into table l_thx_sel.
clear i_t_range.

CALL FUNCTION 'RSDRD_SEL_DELETION'
EXPORTING
I_DATATARGET = 'ZWCBECV01'
I_THX_SEL = L_THX_SEL
I_AUTHORITY_CHECK = 'X'
I_THRESHOLD = '1.0000E-02'
I_MODE = 'D'
I_NO_LOGGING = 'X'
I_PARALLEL_DEGREE = 1
I_NO_COMMIT = ''
I_WORK_ON_PARTITIONS = ''
I_REBUILD_BIA = ''
I_WRITE_APPLICATION_LOG = 'X'
CHANGING
C_T_MSG = L_T_MSG
  EXCEPTIONS
X_MESSAGE.

Select COUNT(*) FROM /BIC/FZWCBECV01 into ROWS2.
WRITE:/'Количество строк после удаления: ',ROWS2.


2) То же рабочий код, но со 2ым критерием (0CALMONTH) - работает корректно, удаляет данные из куба(ZWCBECV0) за период 201210:

Code:
DATA:
      ROWS TYPE string,
      ROWS2 TYPE string.

Select COUNT(*) FROM /BIC/FZWCBECV01 into ROWS.
WRITE:/'Количество строк до удаления: ',ROWS.

TYPE-POOLS: RSDRD, RSDQ, RSSG.
DATA:
L_UID TYPE RSSG_UNI_IDC25,
L_T_MSG TYPE RS_T_MSG,
L_THX_SEL TYPE RSDRD_THX_SEL.

data: i_t_range type standard table of RSDRD_S_RANGE,
i_l_sel type RSDRD_SX_SEL,
i_l_range type RSDRD_S_RANGE.

i_l_range-sign = 'I'.
i_l_range-option = 'EQ'.

i_l_sel-iobjnm = '0CALMONTH'.
i_l_range-low = '201210'.
i_l_range-sidlow = 201210.
append i_l_range to i_t_range.
i_l_sel-t_range[] = i_t_range[].
insert i_l_sel into table l_thx_sel.
clear i_t_range.

CALL FUNCTION 'RSDRD_SEL_DELETION'
EXPORTING
I_DATATARGET = 'ZWCBECV01'
I_THX_SEL = L_THX_SEL
I_AUTHORITY_CHECK = 'X'
I_THRESHOLD = '1.0000E-02'
I_MODE = 'D'
I_NO_LOGGING = 'X'
I_PARALLEL_DEGREE = 1
I_NO_COMMIT = ''
I_WORK_ON_PARTITIONS = ''
I_REBUILD_BIA = ''
I_WRITE_APPLICATION_LOG = 'X'
CHANGING
C_T_MSG = L_T_MSG
  EXCEPTIONS
X_MESSAGE.

Select COUNT(*) FROM /BIC/FZWCBECV01 into ROWS2.
WRITE:/'Количество строк после удаления: ',ROWS2.


Всё бы хорошо, но мне нужно чтобы данные из этого куба удалились те, которые принадлежат КАК ПЕРВОМУ КРИТЕРИЮ ТАК И ВТОРОМУ!!!
Вставляю код общий для обоих признаков - итого, не удаляет вообще ничего!
В табличку записывает 2 строчки - по двум критериям - всё как надо!

Code:
DATA:
      ROWS TYPE string,
      ROWS2 TYPE string.

Select COUNT(*) FROM /BIC/FZWCBECV01 into ROWS.
WRITE:/'Количество строк до удаления: ',ROWS.

TYPE-POOLS: RSDRD, RSDQ, RSSG.
DATA:
L_UID TYPE RSSG_UNI_IDC25,
L_T_MSG TYPE RS_T_MSG,
L_THX_SEL TYPE RSDRD_THX_SEL.

data: i_t_range type standard table of RSDRD_S_RANGE,
i_l_sel type RSDRD_SX_SEL,
i_l_range type RSDRD_S_RANGE.

i_l_range-sign = 'I'.
i_l_range-option = 'EQ'.

i_l_sel-iobjnm = '0DATE'.
i_l_range-low = '20141204'.
i_l_range-sidlow = 20141204.
append i_l_range to i_t_range.
i_l_sel-t_range[] = i_t_range[].
insert i_l_sel into table l_thx_sel.
clear i_t_range.

i_l_sel-iobjnm = '0CALMONTH'.
i_l_range-low = '201210'.
i_l_range-sidlow = 201210.
append i_l_range to i_t_range.
i_l_sel-t_range[] = i_t_range[].
insert i_l_sel into table l_thx_sel.
clear i_t_range.


CALL FUNCTION 'RSDRD_SEL_DELETION'
EXPORTING
I_DATATARGET = 'ZWCBECV01'
I_THX_SEL = L_THX_SEL
I_AUTHORITY_CHECK = 'X'
I_THRESHOLD = '1.0000E-02'
I_MODE = 'D'
I_NO_LOGGING = 'X'
I_PARALLEL_DEGREE = 1
I_NO_COMMIT = ''
I_WORK_ON_PARTITIONS = ''
I_REBUILD_BIA = ''
I_WRITE_APPLICATION_LOG = 'X'
CHANGING
C_T_MSG = L_T_MSG
  EXCEPTIONS
X_MESSAGE.

Select COUNT(*) FROM /BIC/FZWCBECV01 into ROWS2.
WRITE:/'Количество строк после удаления: ',ROWS2.



Что я делаю ни так?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Удаление данных из куба по 2ум и более критериям
СообщениеДобавлено: Вт, дек 23 2014, 10:04 
Начинающий
Начинающий

Зарегистрирован:
Пн, дек 22 2014, 15:30
Сообщения: 7
Разобрался, закрываем тему! :gigi:


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

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


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

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


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

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