Текущее время: Чт, мар 28 2024, 16:41

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Ведение динамических таблиц
СообщениеДобавлено: Пн, ноя 07 2022, 11:24 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
broker.chelny написал:
Для сравнения 2 внутренних динамических таблиц я обычно использую поле-структуру с ключами.
Т.е. первым полем завожу структуру, а дальше уже остальные данные.



Можете наглядно написать пожалуйста, как это выглядит ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ведение динамических таблиц
СообщениеДобавлено: Вт, ноя 08 2022, 13:12 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 131
Откуда: Набережные Челны
Пол: Мужской
Объявляешь переменную с нужной структурой.
Далее получаешь описание структуры по переменной (RTTS класс), хотя можно и по имени получить.
Далее в таблицу с компонентами будущей таблицы добавляешь описание этой структуры, например с именем KEY. Потом по таблице с компонентами создаешь описание структуры, по ней создаешь описание внутренней таблицы и создаешь ее в памяти.
Далее заполняешь внутреннюю таблицу.
Потом можно сделать сортировку
Code:
SORT <itab> BY ('KEY')

Потом можно искать запись через
Code:
READ TABLE <itab> WITH KEY ('KEY') = lv_key BINARY SEARCH...


Никто не мешает в памяти создавать отсортированные и хэшированные таблицы, тогда можно уже искать так:
Code:
FIELD-SYMBOL: <fs_key> TYPE ts_key.
assign component 1 of structure <wa_data> to <fs_key>.
<fs_key> = lv_key.
Или <fs_key>-comp1 = '...'. <fs_key>-comp2 = '...'.
READ TABLE <itab> FROM <wa_data>...

Только в памяти еще нужно будет создать рабочую область (<wa_data>) со структурой внутренней таблицы


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Ведение динамических таблиц
СообщениеДобавлено: Чт, ноя 10 2022, 13:23 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 08 2018, 14:09
Сообщения: 87
Откуда: Челябинск
Пол: Мужской
Благодарю!

Подскажите а существует ли способ выполнить операцию COLLECT для динамической таблицы или можно как то по другому быстро сгруппировать строки по ДТ?
На форуме в самом конце человек аналогичный вопрос задает.....
https://blogs.sap.com/2013/06/11/dynami ... nal-table/


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ведение динамических таблиц
СообщениеДобавлено: Пт, ноя 11 2022, 09:24 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 131
Откуда: Набережные Челны
Пол: Мужской
Не знаю.
Я пользуюсь самописным методом, который принимает на вход ANY TABLE и меняет HASHED TABLE.
Группировка идет по ключам определенными в хэшированной таблице.
+ дополнительно передаю по каким поля считать сумму, по каким находить минимум или максимум, по каким брать первое попавшееся значение.


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

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


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

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


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

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