Текущее время: Чт, июн 19 2025, 05:10

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Сб, авг 20 2016, 23:24 
Начинающий
Начинающий

Зарегистрирован:
Сб, авг 20 2016, 23:15
Сообщения: 1
Какая разница между:

Code:
data gt_t1 type standard table of mara with non-unique key matnr


и

Code:
data gt_t2 type sorted table of mara with non-unique key matnr


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Пн, авг 22 2016, 15:06 
Ассистент
Ассистент

Зарегистрирован:
Пн, дек 02 2013, 09:42
Сообщения: 33
sorted - всегда отсортирована.(Лучше если надо много раз читать)
standard - будет сортироваться при первом обращении к ключу, после изменения данных в таблице.(Лучше если надо быстро набросать и циклом пробежаться )


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Вт, авг 23 2016, 05:54 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
standard-таблица сортируется при обращении по ключу??


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Вт, авг 23 2016, 14:25 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
Если ручками отсортируешь перед считыванием :lol:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Чт, окт 06 2016, 14:46 
Ассистент
Ассистент

Зарегистрирован:
Пн, дек 02 2013, 09:42
Сообщения: 33
AFH написал(а):
standard-таблица сортируется при обращении по ключу??

Igor_34_rus написал(а):
standard - будет сортироваться при первом обращении к ключу

то есть да.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Чт, окт 06 2016, 14:46 
Ассистент
Ассистент

Зарегистрирован:
Пн, дек 02 2013, 09:42
Сообщения: 33
Bimit написал(а):
Если ручками отсортируешь перед считыванием

Нет, этого делать не надо.
Для этого идёт объявление ключа в объявлении переменной
Круглый написал(а):
data gt_t1 type standard table of mara with non-unique key matnr


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Чт, окт 06 2016, 15:11 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 13 2016, 20:18
Сообщения: 49
Igor_34_rus написал(а):
sorted - всегда отсортирована.(Лучше если надо много раз читать)
standard - будет сортироваться при первом обращении к ключу, после изменения данных в таблице.(Лучше если надо быстро набросать и циклом пробежаться )

у меня что-то standard не сортируется:

Code:
data: BEGIN OF data_struc,
         a  type i,
         b TYPE text20,
  END OF data_struc.

  Data tab1 like STANDARD TABLE OF data_struc WITH NON-UNIQUE key a.
  Data tab2 like SORTED TABLE OF data_struc WITH NON-UNIQUE key a.


  data_struc-a = 5.
  data_struc-b = 'five'.

  insert data_struc into table tab1.
  insert data_struc into table tab2.


  data_struc-a = 6.
  data_struc-b = 'six'.

  insert data_struc into table tab1.
  insert data_struc into table tab2.

  data_struc-a = 4.
  data_struc-b = 'four'.

  insert data_struc into table tab1.
  insert data_struc into table tab2.

  data_struc-a = 6.
  data_struc-b = 'six'.

  insert data_struc into table tab1.
  insert data_struc into table tab2.
"Начальное заполнение:
write: / 'standard table tab1:'.
LOOP AT tab1 INTO data_struc.
write: / data_struc-a,'-',data_struc-b.
ENDLOOP.

write: / 'sorted table tab2:'.
LOOP AT tab2 INTO data_struc.
write: / data_struc-a,'-',data_struc-b.
ENDLOOP.

uline.

"поменяем данные
READ TABLE tab1 INTO data_struc WITH TABLE KEY a = 4.
data_struc-b = 'four_modif'.
MODIFY tab1 FROM data_struc INDEX sy-tabix.
*
READ TABLE tab2 INTO data_struc WITH TABLE KEY a = 4.
data_struc-b = 'four_modif'.
MODIFY tab2 FROM data_struc INDEX sy-tabix.

"Обратимся по ключу
READ TABLE tab1 INTO data_struc WITH TABLE KEY a = 4.
READ TABLE tab2 INTO data_struc WITH TABLE KEY a = 4.
"выведем измененные данные
write: / 'standard table tab1:'.
LOOP AT tab1 INTO data_struc.
write: / data_struc-a,'-',data_struc-b.
ENDLOOP.

write: / 'sorted table tab2:'.
LOOP AT tab2 INTO data_struc.
write: / data_struc-a,'-',data_struc-b.
ENDLOOP.


вывод:
Code:
standard table tab1:
         5  - five
         6  - six
         4  - four
         6  - six
sorted table tab2:
         4  - four
         5  - five
         6  - six
         6  - six
----------------------------------------------------------------------------------------
standard table tab1:
         5  - five
         6  - six
         4  - four_modif
         6  - six
sorted table tab2:
         4  - four_modif
         5  - five
         6  - six
         6  - six


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Чт, окт 06 2016, 16:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
эм? а где у вас оператор sort в коде?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Чт, окт 06 2016, 16:19 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 13 2016, 20:18
Сообщения: 49
Кодер написал(а):
эм? а где у вас оператор sort в коде?

Ну так Игорь выше утверждал, что сап отсортирует стандартную таблицу сам при обращении по ключу. в вот демонстрация бчто без SORT стандартная таблица не сортируется вообще никак
Но насколько я знаю, стандартная таблица хранит данные в том порядке, в каком положили.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Чт, окт 06 2016, 16:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Цитата:
Ну так Игорь выше утверждал

Аааа. точно. Ну пусть дальше утверждает :-)

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разница между STANDARD TABLE WITH NON-UNIQUE KEY и SORTED TABLE WITH NON-UNIQUE KEY
СообщениеДобавлено: Чт, окт 06 2016, 17:25 
Ассистент
Ассистент

Зарегистрирован:
Пн, дек 02 2013, 09:42
Сообщения: 33
Для меня было удивлением, что это не работает с первичным клюём.
Если изменить код так, то работает
Code:
  DATA tab1 LIKE STANDARD TABLE OF data_struc "WITH NON-UNIQUE key a
                                              WITH NON-UNIQUE SORTED KEY a COMPONENTS a.
...
LOOP AT tab1 INTO data_struc USING KEY a.
....


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

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


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

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


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

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