Текущее время: Вт, июл 22 2025, 16:15

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Создание RANGE таблицы
СообщениеДобавлено: Пт, авг 24 2012, 16:50 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Добрый день.

Из таблицы читаю данные во внутреннею таблицу(состоит из 2 полей)

Далее нужно по второй колонке внутренней таблицы создать Range.
Возможно это сделать без использования цикла(или как можно оптимизировать данный процесс)

С уважением


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание RANGE таблицы
СообщениеДобавлено: Пт, авг 24 2012, 18:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
LELUK написал(а):
Добрый день.

Из таблицы читаю данные во внутреннею таблицу(состоит из 2 полей)

Далее нужно по второй колонке внутренней таблицы создать Range.
Возможно это сделать без использования цикла(или как можно оптимизировать данный процесс)

С уважением

Нельзя. Да и что там оптимизировать - убирать повторяющиеся значения? :)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание RANGE таблицы
СообщениеДобавлено: Сб, авг 25 2012, 10:35 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Когда будете "лупить" используйте ASSIGNING, быстрее будет, если скорость так критична.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание RANGE таблицы
СообщениеДобавлено: Пн, авг 27 2012, 08:33 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Эх, я думал можно селектить сразу в 2 таблицы....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание RANGE таблицы
СообщениеДобавлено: Вт, сен 11 2012, 15:51 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Code:
r_range1-sign   = 'I'.
r_range1-option = 'EQ'.
r_range2-sign   = 'I'.
r_range2-option = 'EQ'.

SELECT field1  FIELD2 from TABLE
into lv_field1,lv_field2
where ...
r_range1-low = lv_field1.
append r_range1.
r_range2-low = lv_field2.
append r_range2.

endselect.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание RANGE таблицы
СообщениеДобавлено: Вт, сен 11 2012, 16:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
я бы задумался над целью данного телодвижения :roll:
возможно, имеет смысл подобрать COLLECT'ом значения во внутреннюю табличку и сделать SELECT FOR ALL ENTRIES ?

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание RANGE таблицы
СообщениеДобавлено: Чт, сен 13 2012, 07:38 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 21 2005, 12:40
Сообщения: 371
Пол: Мужской
Besa написал:
Когда будете "лупить" используйте ASSIGNING, быстрее будет, если скорость так критична.


Заметил, что несколько раз (в последнее время) уважаемый Besa дает подобный совет.
М.б. просто недавно познакомился с данной конструкцией?
Но в данном случае - с таблицей из 2-х полей - данный совет неверен.

Code:
Advantages of Field Symbols

When you read from an internal table, there are no overheads for copying the table line to the work area. When you change an internal table with the MODIFY statement, you must first fill a work area with values, and then assign them to the internal table. If you work with field symbols instead, you do not have this overhead. This can improve performance if you have large or complex internal tables. It also makes it easier to process nested internal tables.

Overheads of READ

Note that internal overheads arise when you access internal tables using field symbols. After a READ statement with a field symbol, the system has to register the assignment. When you delete a table line to which a field symbol is pointing, the system also has to unassign the field symbol to prevent it from pointing to an undefined area.

When you read individual table lines, it is worth using field symbols with the READ statement for tables with a line width of 1000 bytes or more. If you also change the line using the MODIFY statement, using field symbols is worthwhile from a line width of 100 bytes onwards.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание RANGE таблицы
СообщениеДобавлено: Чт, сен 13 2012, 10:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
PP написал:
Но в данном случае - с таблицей из 2-х полей - данный совет неверен.

Ну да, конечно :lol:
В Вашей цитате вот что нужно смотреть:
Цитата:
When you read individual table lines, it is worth using field symbols with the READ statement for tables with a line width of 1000 bytes or more. If you also change the line using the MODIFY statement, using field symbols is worthwhile from a line width of 100 bytes onwards.

А у топикстартера речь идет о массовой обработке :wink:

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


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

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


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

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


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

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