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/ |