Текущее время: Вс, июл 27 2025, 09:20

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Как перевернуть таблицу?
СообщениеДобавлено: Пт, сен 23 2011, 13:46 
Ассистент
Ассистент

Зарегистрирован:
Чт, сен 08 2011, 09:06
Сообщения: 32
Откуда: Москва
Пол: Женский
Здравствуйте!, подскажите пожалуйста как перевернуть внутеннюю таблицу?


Последний раз редактировалось Daisy Пт, сен 23 2011, 13:59, всего редактировалось 1 раз.

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

Зарегистрирован:
Ср, май 04 2011, 23:46
Сообщения: 228
Отсортировать 2 раза в обычном порядке :D

А вообще нажать F1 на SORT


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как перевернуть таблицу
СообщениеДобавлено: Пт, сен 23 2011, 13:58 
Ассистент
Ассистент

Зарегистрирован:
Чт, сен 08 2011, 09:06
Сообщения: 32
Откуда: Москва
Пол: Женский
Извиняюсь, неправельно сформалировала вопрос, так как ввели в заблуждение.

В общем есть таблица и ее надо перевернуть, чтобы последняя запись стала первой ну и соответственно все остальное?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как перевернуть таблицу
СообщениеДобавлено: Пт, сен 23 2011, 14:06 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Daisy написала:
Извиняюсь, неправельно сформалировала вопрос, так как ввели в заблуждение.

В общем есть таблица и ее надо перевернуть, чтобы последняя запись стала первой ну и соответственно все остальное?

Заведите до поле в таблице, при заполнении таблицы проставляете в это поле номер по порядку. Затем сортировкой перевернете.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как перевернуть таблицу?
СообщениеДобавлено: Пт, сен 23 2011, 14:13 
Ассистент
Ассистент

Зарегистрирован:
Чт, сен 08 2011, 09:06
Сообщения: 32
Откуда: Москва
Пол: Женский
Так я тоже додумалась, просто думала вдруг есть какой-то другой способ в abap'е.....

Но все равно спасибо!))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как перевернуть таблицу?
СообщениеДобавлено: Пт, сен 23 2011, 14:28 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
только руками )))
можно например так

Code:
loop at tab into ls.
  insert ls into tab2 index 1.
endloop.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как перевернуть таблицу?
СообщениеДобавлено: Пт, сен 23 2011, 14:41 
Ассистент
Ассистент

Зарегистрирован:
Чт, сен 08 2011, 09:06
Сообщения: 32
Откуда: Москва
Пол: Женский
zsap огромное спасибо)))) это и хотелось узнать!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как перевернуть таблицу
СообщениеДобавлено: Пн, сен 26 2011, 10:56 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
Besa написал:
Daisy написала:
Извиняюсь, неправельно сформалировала вопрос, так как ввели в заблуждение.

В общем есть таблица и ее надо перевернуть, чтобы последняя запись стала первой ну и соответственно все остальное?

Заведите до поле в таблице, при заполнении таблицы проставляете в это поле номер по порядку. Затем сортировкой перевернете.


zsap написал:
только руками )))
можно например так

Code:
loop at tab into ls.
  insert ls into tab2 index 1.
endloop.


Вариант Besa ИМХО лучше, так как, можно перевернуть за одну операцию, чем делать цикл по таблице, тем более, если там записей будет много.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как перевернуть таблицу
СообщениеДобавлено: Пн, сен 26 2011, 11:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Bimit написал(а):
Вариант Besa ИМХО лучше, так как, можно перевернуть за одну операцию, чем делать цикл по таблице, тем более, если там записей будет много.

Вы сами пробовали измерить, что будет лучше (с учетом добавления нового поля)? :?
Ну, а исключением использования памяти :wink:

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как перевернуть таблицу
СообщениеДобавлено: Пн, сен 26 2011, 13:17 
Начинающий
Начинающий

Зарегистрирован:
Ср, сен 14 2011, 10:05
Сообщения: 17
Bimit написал(а):
Вариант Besa ИМХО лучше, так как, можно перевернуть за одну операцию, чем делать цикл по таблице, тем более, если там записей будет много.


Насколько я сталкивался с алгоритмами сортировки, любой из них опирается как минимум на вложенных 2 цикла. С другой стороны вставка в начало таблицы - тоже достаточно трудозатратная операция, если только это не реализовано списками.
Поэтому, если не обращать внимание на доп. затраты памяти, то мне кажется, что лучше сделать так

Code:
count = lines( tab ).
pos = count.
do count times.
  read table tab index pos into ls.
  append ls to tab2.
  add -1 to pos.
endloop.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как перевернуть таблицу
СообщениеДобавлено: Пн, сен 26 2011, 17:05 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
Игорь М написал(а):
Насколько я сталкивался с алгоритмами сортировки, любой из них опирается как минимум на вложенных 2 цикла

Дело не в количестве вложенных циклов. Для таблицы из N строк сортировка работает за время N*ln(N). Если написана по уму конечно.
Вставка записи по индексу теоретически работает за ln(N) времени. С учетом того, что вставка у нас идет в цикле (N), получается так же N*ln(N)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как перевернуть таблицу?
СообщениеДобавлено: Вт, сен 27 2011, 11:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
пользователь лишние 10 сек подождёт, читабельность кода важнее


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как перевернуть таблицу?
СообщениеДобавлено: Вт, сен 27 2011, 12:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
trop написал(а):
пользователь лишние 10 сек подождёт, читабельность кода важнее

Индексы базе данных не нужны. Пользователь должен уметь ждать! (С)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как перевернуть таблицу?
СообщениеДобавлено: Вт, сен 27 2011, 12:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
abap-код и индекс бд, казалось бы одно и то же.
но есть один нюанс :mrgreen:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как перевернуть таблицу?
СообщениеДобавлено: Вт, сен 27 2011, 13:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
trop написал(а):
abap-код и индекс бд, казалось бы одно и то же.
\
Я прокомментировал подход :wink:

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


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

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


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

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


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

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