Текущее время: Вс, июн 29 2025, 22:36

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


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

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


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

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