Текущее время: Ср, апр 24 2024, 04:34

Часовой пояс: 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
Сообщения: 1246
эм? а где у вас оператор 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
Сообщения: 1246
Цитата:
Ну так Игорь выше утверждал

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

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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 часа


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

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


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

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