SAPфорум.RU
https://sapboard.ru/forum/

Оптимизация переноса документов в FI-SL
https://sapboard.ru/forum/viewtopic.php?f=92&t=78485
Страница 1 из 1

Автор:  cfgthq [ Чт, сен 06 2012, 13:28 ]
Заголовок сообщения:  Оптимизация переноса документов в FI-SL

Коллеги, вопрос по переносу документов из других модулей (в частности FI) в FI-SL. В ТПР для переноса используется ФМ J_3RF_TAX_SELECT_OBJ_FI. Так вот там есть цикл как я понимаю по проверке дополнительных условий в критериях выбора:
Code:
LOOP AT lt_addfields.
...
ENDLOOP.


И я так понимаю, что форма CHECK_SO в этом цикле как раз и проверяет выполняется условие или нет и возвращает информацию об этом в B_OK.
Так вот, если B_OK = ' ', то почему бы сразу не выйти из этого цикла? Зачем цикл идет дальше, ведь если x_add_ok очистили, то оно так и будет пустым и нет смысла проверять другие условия в этом правиле выбора. На мой взгляд надо сразу писать так:
Code:
      IF B_OK = ' '.
        CLEAR x_add_ok.
        EXIT.
      ENDIF.


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

Автор:  cfgthq [ Чт, сен 13 2012, 09:35 ]
Заголовок сообщения:  Re: Оптимизация переноса документов в FI-SL

Ну что коллеги, так никто и не выскажется по этому поводу?
Господа SL-щики со знанием абап - посмотрите пожалуйста ФМ о котором я писал.

Автор:  SB [ Пт, май 10 2013, 16:54 ]
Заголовок сообщения:  Re: Оптимизация переноса документов в FI-SL

И таких мест в коде САП немало. Удивляться нечему.
Однако, как правило основная причина тормозов при переносе полей - пользовательские экзиты, читающие таблицы MSEG, BSEG, VBAK и так далее.

Автор:  Sedlo [ Пт, июл 05 2013, 09:01 ]
Заголовок сообщения:  Re: Оптимизация переноса документов в FI-SL

SB написал(а):
И таких мест в коде САП немало. Удивляться нечему.
Однако, как правило основная причина тормозов при переносе полей - пользовательские экзиты, читающие таблицы MSEG, BSEG, VBAK и так далее.

Именно. Причем без использования возможностей формирования полного ключа или использования вторичных таблиц типа BSID/BSAD. Хотя возможность формирования полного ключа или обращения к вторичным ключам обычно есть.

Автор:  -TT- [ Ср, сен 11 2013, 13:21 ]
Заголовок сообщения:  Re: Оптимизация переноса документов в FI-SL

cfgthq написал(а):
Коллеги, вопрос по переносу документов из других модулей (в частности FI) в FI-SL. В ТПР для переноса используется ФМ J_3RF_TAX_SELECT_OBJ_FI. Так вот там есть цикл как я понимаю по проверке дополнительных условий в критериях выбора:
Code:
LOOP AT lt_addfields.
...
ENDLOOP.


И я так понимаю, что форма CHECK_SO в этом цикле как раз и проверяет выполняется условие или нет и возвращает информацию об этом в B_OK.
Так вот, если B_OK = ' ', то почему бы сразу не выйти из этого цикла? Зачем цикл идет дальше, ведь если x_add_ok очистили, то оно так и будет пустым и нет смысла проверять другие условия в этом правиле выбора. На мой взгляд надо сразу писать так:
Code:
      IF B_OK = ' '.
        CLEAR x_add_ok.
        EXIT.
      ENDIF.


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

А если не выполняется сразу второе? :) Тогда что?
Вы тут рассуждаете с позиции, когда у вас в селекционном критерии один признак, тогда да, все это пианино с лупом по всей таблице lt_addfields не нужно, а если их несколько в рамках одного RTAXOBJ, и расхождение возникает далее, чем на первом признаке в списке?!

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/