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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Не сортируется внутренняя таблица по оператору SORT
СообщениеДобавлено: Пт, окт 12 2012, 06:56 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, май 14 2005, 09:55
Сообщения: 73
Пол: Мужской
Сделал маленький пример - оператор не работает:
Code:
TYPES: BEGIN OF days,
         i TYPE i,
        END   OF days.
DATA tdays TYPE days OCCURS 0 WITH HEADER LINE.

tdays-i = '7'.
APPEND tdays.

tdays-i = '7'.
APPEND tdays.

tdays-i = '14'.
APPEND tdays.

tdays-i = '14'.
APPEND tdays.
sort tdays DESCENDING.


Во внутренней таблице так и остается:
7
7
14
14


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сортируется внутренняя таблица по оператору SORT
СообщениеДобавлено: Пт, окт 12 2012, 07:11 
Менеджер
Менеджер

Зарегистрирован:
Пн, янв 28 2008, 16:56
Сообщения: 512
Откуда: Воронеж
Пол: Мужской
не указано поле, по которому надо сортировать.

sort tdays by i.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сортируется внутренняя таблица по оператору SORT
СообщениеДобавлено: Пт, окт 12 2012, 07:16 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 492
Пол: Мужской
СПРАВКА написал(а):
If no explicit sort key is entered using the BY addition, the internal table itab is sorted by the primary table key. The priority of the sort is based on the order in which the key fields are specified in the table definition. In standard keys, the sort is prioritized according to the order of the key fields in the row type of the table. If the primary table key of a standard table is empty, then no sort takes place.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сортируется внутренняя таблица по оператору SORT
СообщениеДобавлено: Пт, окт 12 2012, 07:18 
Менеджер
Менеджер

Зарегистрирован:
Пн, янв 28 2008, 16:56
Сообщения: 512
Откуда: Воронеж
Пол: Мужской
... ASCENDING|DESCENDING


Effect

The addition ASCENDING or DESCENDING can be used to specify the sort direction explicitly as ascending or descending. If neither of the additions is specifed, the table is sorted in ascending order. This sort direction can be overwritten after the BY addition for components that are individually listed there.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сортируется внутренняя таблица по оператору SORT
СообщениеДобавлено: Пт, окт 12 2012, 12:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
JoHnY, Вам Korvax уже ответил, но есть пару уточнений.
В Вашем случае таблица стандартная и имеет в качестве первичного ключа стандартный ключ.
СПРАВКА написал(а):
The key fields of the standard key are defined as follows:
- In tables with a structured row type, the standard key is formed from all components with character-like and byte-like data types, with any substructures being expanded by elementary components. If the row type does not contain components like these, then the standard key is empty for standard tables, meaning it does not contain any key fields.
- The standard key for tables with non-structured row types is the entire table row, if the row type itself is not table-like. If the row type is table-like, then the standard key is empty for standard tables.
Поскольку у Вас только поле типа I, то и ключ отсутствует.

P.S. Можно воспользоватся псевдо компонентом TABLE_LINE
Code:
SORT tdays BY table_line DESCENDING.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сортируется внутренняя таблица по оператору SORT
СообщениеДобавлено: Вт, окт 16 2012, 07:01 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, май 14 2005, 09:55
Сообщения: 73
Пол: Мужской
От того что указать "SORT by" все равно ничего не будет сортироваться, а вот если имя поля "i" переименовать в любое другое - то всё окей. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сортируется внутренняя таблица по оператору SORT
СообщениеДобавлено: Вт, окт 16 2012, 07:46 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2012, 14:20
Сообщения: 252
Откуда: РБ, г. Гомель
Пол: Мужской
JoHnY написал:
От того что указать "SORT by" все равно ничего не будет сортироваться, а вот если имя поля "i" переименовать в любое другое - то всё окей. :)

а не надо давать полям имена встроенных типов ABAP :shumlol:


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

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


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

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


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

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