Текущее время: Сб, авг 02 2025, 14:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Проверка на дубликаты во внутренней таблице
СообщениеДобавлено: Пт, мар 16 2007, 03:14 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, май 22 2006, 15:45
Сообщения: 82
Народ подскажите простейший метод для фильтрации внутренней таблицы от одинаковых записей.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 16 2007, 03:27 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Delete + RTFM


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 16 2007, 08:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Пономарев Артем написал:
Delete + RTFM


ХМ.... А мне раньше казавось шо
DELETE ADJACENT DUPLICATES FROM itab :lol:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 16 2007, 08:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
ROKO написал:
Пономарев Артем написал:
Delete + RTFM


ХМ.... А мне раньше казавось шо
DELETE ADJACENT DUPLICATES FROM itab :lol:

сортировку не забудь сначала


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 16 2007, 08:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Skif написал:
сортировку не забудь сначала


Ну да че-то про это забыл..... Хорошо, что есть старшие товарищи, они всегда поправят! :oops:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 25 2007, 18:05 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, май 22 2006, 15:45
Сообщения: 82
Skif написал:
ROKO написал:
Пономарев Артем написал:
Delete + RTFM


ХМ.... А мне раньше казавось шо
DELETE ADJACENT DUPLICATES FROM itab :lol:

сортировку не забудь сначала

сортировку делать по всем полям таблицы или только по ключевым?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 25 2007, 18:37 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
wax написал(а):
Народ подскажите простейший метод для фильтрации внутренней таблицы от одинаковых записей.

DELETE ADJACENT DUPLICATES FROM itab COMPARING ALL FIELDS

wax написал(а):
сортировку делать по всем полям таблицы или только по ключевым?


А предварительно сортировку придется сделать по "всем" полям через SORT itab BY F1 .. FN.

НО! если таблица объявлена с уникальным ключом, то достаточно просто
SORT itab.
DELETE ADJACENT DUPLICATES FROM itab.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 26 2007, 21:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Tetty написал:
НО! если таблица объявлена с уникальным ключом, то достаточно просто
SORT itab.

А зачем вообще объявлять ключ, если речь идет об удалении полных дубликатов записей? :)
См. справку.
Там родным английским языком сказано:
"The default key is made up of the non-numeric fields of the table line in the order in which they occur."

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 27 2007, 12:55 
Специалист
Специалист

Зарегистрирован:
Чт, июн 23 2005, 18:05
Сообщения: 119
А разве хештаблица не проще?:
lt_tbl TYPE HASHED TABLE OF ttt WITH UNIQUE KEY fld1 fld2 и т.д.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 27 2007, 16:27 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Удав написал(а):
Tetty написал:
НО! если таблица объявлена с уникальным ключом, то достаточно просто
SORT itab.

А зачем вообще объявлять ключ, если речь идет об удалении полных дубликатов записей? :)
См. справку.
Там родным английским языком сказано:
"The default key is made up of the non-numeric fields of the table line in the order in which they occur."


признаюсь, что удалять дубликаты при уникальном ключе бессмысленно, так как это уже сделала система ранее; но и ошибки не будет...

но недостаточно просто сделать DELETE ADJACENT DUPLICATES FROM itab (даже с COMPARING ALL FIELDS), так как предварительно надо сделать SORT, который тоже поможет лишь при сортировке по всем полям, если хоть одно из них является числовым.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Проверка на дубликаты во внутренней таблице
СообщениеДобавлено: Пт, июн 29 2007, 18:20 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 01 2005, 11:45
Сообщения: 98
А как можно сразу из таблицы T1 вставить в таблицу T2 все записи, которые не встречаются в T2(критерий совпадение записей считать полное совпадение полей K1, K2, K3 в записях) ? Чтобы не пользоваться оператором delete


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка на дубликаты во внутренней таблице
СообщениеДобавлено: Пт, июн 29 2007, 20:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Герман написал(а):
А как можно сразу из таблицы T1 вставить в таблицу T2 все записи, которые не встречаются в T2(критерий совпадение записей считать полное совпадение полей K1, K2, K3 в записях) ? Чтобы не пользоваться оператором delete

За одну операцию никак :D . Я бы сваял вот так:
Code:
SORT T2 BY K1 K2 K3.
LOOP T1 INTO WA_T1.
READ TABLE T2 INTO WA_T2
WITH KEY K1 = WA_T1-K1
               K2 = WA_T1-K2
               K3 = WA_T1-K3
BINARY SEACH.
IF SY-SUBRC NE 0.
MOVE-CORRESPONDING WA_T1 TO WA_T2.
INSERT WA_T2 INTO T2.
ENDIF.
ENDLOOP.


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

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


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

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


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

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