Автор Тема: Условия при каких можно использовать READ TABLE?  (Прочитано 44531 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Условия при каких можно использовать READ TABLE?
« Ответ #25 : Декабрь 18, 2008, 02:40:58 am »
Для себя что бы потом сновая не искать, как пользоватся:

Код: You are not allowed to view links. Register or Login
FORM test TABLES   gt_bk_in_move.
  DATA: rt_outtab TYPE STANDARD TABLE OF gs_outtab
        WITH HEADER LINE WITH KEY matnr werks.

  rt_outtab[] = gt_outtab[].

  LOOP AT gt_bk_in_move INTO ls_bk_in_move.
    READ TABLE rt_outtab WITH KEY matnr = ls_bk_in_move-matnr
                                  werks = ls_bk_in_move-werks.
    IF sy-subrc NE 0.
      rt_outtab-matnr  = ls_bk_in_move-matnr.
      rt_outtab-werks  = ls_bk_in_move-werks.
      rt_outtab-pmenge = ls_bk_in_move-menge.
      rt_outtab-pdmbtr = ls_bk_in_move-dmbtr.
      rt_outtab-waers  = ls_bk_in_move-waers.
      rt_outtab-meins  = ls_bk_in_move-meins.
      APPEND rt_outtab.
    ELSE.
      rt_outtab-pmenge = rt_outtab-pmenge + ls_bk_in_move-menge.
      rt_outtab-pdmbtr = rt_outtab-pdmbtr + ls_bk_in_move-dmbtr.
      MODIFY rt_outtab FROM rt_outtab INDEX sy-tabix.
    ENDIF.
  ENDLOOP.

  " ПЕРЕНОС ДАННЫХ
  gt_outtab[] = rt_outtab[].
  FREE rt_outtab[].

ENDFORM.         
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Условия при каких можно использовать READ TABLE?
« Ответ #26 : Декабрь 18, 2008, 03:53:07 pm »
You are not allowed to view links. Register or Login
Для себя что бы потом сновая не искать, как пользоватся:
Код: You are not allowed to view links. Register or Login
  LOOP AT gt_bk_in_move INTO ls_bk_in_move.
    READ TABLE rt_outtab WITH KEY matnr = ls_bk_in_move-matnr
                                  werks = ls_bk_in_move-werks.
  
А как по поводу BINARY SEARCH?.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Условия при каких можно использовать READ TABLE?
« Ответ #27 : Декабрь 18, 2008, 04:28:24 pm »
Второй раз намекают на это, что-то не пойму что не так
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн NachDenken

  • Newbie
  • *
  • Сообщений: 158
  • Репутация: +9/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Условия при каких можно использовать READ TABLE?
« Ответ #28 : Декабрь 18, 2008, 04:44:05 pm »
Привет, народу
вот у меня тоже как раз выборка bseg/bset
и сделав выборку по bset во внут табличку (созданную с типом таблица с ключами)
и выполнив поиск по ней с использование бинари сертч,
удалось добиться ускорения аж на 5 -10 %
ну не знаю...
мож у меня в консерватории нужно поправить :)

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Условия при каких можно использовать READ TABLE?
« Ответ #29 : Декабрь 18, 2008, 04:50:47 pm »
You are not allowed to view links. Register or Login
Второй раз намекают на это, что-то не пойму что не так
Посмотри код, выше скинул же, только до цикла сортируй. :)

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Условия при каких можно использовать READ TABLE?
« Ответ #30 : Декабрь 18, 2008, 04:53:34 pm »
спасибо, сразу не заметил  :)
Цитировать
SORT gt_outtab BY werks matnr.
READ TABLE gt_outtab WITH TABLE KEY werks = l_items-werks matnr = l_items-matnr BINARY SERCH.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Условия при каких можно использовать READ TABLE?
« Ответ #31 : Декабрь 18, 2008, 05:01:47 pm »
You are not allowed to view links. Register or Login
и выполнив поиск по ней с использование бинари сертч,
удалось добиться ускорения аж на 5 -10 %
Ну так 10% это уже не мало...  как говорится там 10 тут 5, глядишь и стало пошустрее... или оптимизация это когда 100-200%? Так это уже называется переписывание кода!

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Условия при каких можно использовать READ TABLE?
« Ответ #32 : Декабрь 18, 2008, 11:14:06 pm »
а BINARY SERCH кроме скорости еще что то дает, хотя глупый вопрос конечно, не думаю что точность ...
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Условия при каких можно использовать READ TABLE?
« Ответ #33 : Декабрь 18, 2008, 11:49:22 pm »
You are not allowed to view links. Register or Login
а BINARY SERCH кроме скорости еще что то дает, хотя глупый вопрос конечно, не думаю что точность ...
В  смысле что-то дает? Вопрос не корректен, это типа а педаль газа в машине что-то кроме увеличения скорости дает? Ответ, дает больший расход бензина и увеличение скорости, чего мы и добиваемся, программа не только должна правильно считать, но и считать как можно быстрее  ;) вот бинарный поиск и позволяет получить ускорение в 5% - 10%, как по мне это не мало, особенно если поиск вызывается в каком-нибудь цикле пару тысяч раз.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Условия при каких можно использовать READ TABLE?
« Ответ #34 : Декабрь 19, 2008, 12:21:57 pm »
You are not allowed to view links. Register or Login
В  смысле что-то дает? Вопрос не корректен, это типа а педаль газа в машине что-то кроме увеличения скорости дает? Ответ, дает больший расход бензина и увеличение скорости, чего мы и добиваемся, программа не только должна правильно считать, но и считать как можно быстрее  ;) вот бинарный поиск и позволяет получить ускорение в 5% - 10%, как по мне это не мало, особенно если поиск вызывается в каком-нибудь цикле пару тысяч раз.

Да Вопрос не корректен, просто тестирую, вижу что суммы не сходятся ...... грешным делом подумал на BINARY SERCH, потом правда нашел.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Sapforum.Biz

Re: Условия при каких можно использовать READ TABLE?
« Ответ #34 : Декабрь 19, 2008, 12:21:57 pm »