Текущее время: Пт, авг 01 2025, 15:55

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


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

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


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

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