SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

FAQ



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> Programming Techniques | Приемы программирования
View previous topic :: View next topic  
Author Message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Mon Jun 01, 2009 11:43 am    Post subject: FAQ Reply with quote

Q. Как исключить влияние окружения (данных оставшихся в памяти) при повторном запуске ФМ?
A.
1) Вызывать ФМ в отдельной программе по submit ... and return.
2) CALL FUNCTION func DESTINATION 'NONE'
3) запускать FM в новой сессии
CALL FUNCTION func STARTING NEW TASK taskname.
4) Поискать в этой функциональной группе FM, который чистит внутренние таблицы. Как правило он называется *FEFRESH*, *INIT*

Parallel-Processing Function Modules
http: /help.sap.com/erp2005_ehp_04/helpdata/EN/fa/096ff6543b11d1898e0000e8322d00/frameset.htm
Удав wrote:
Основные моменты
1. Если запускаешь процессы в цикле, кроме SPBT_INITIALIZE лучше вызывть SPBT_GET_CURR_RESOURCE_INFO в начале каждого цикла для определения свободных процессов на текущий момент
2. Для определения окончания параллельной обработки лучше использовать 2 счетчика: количество запущенных задач и количество завершенных задач. Счетчик количества запущенных задач увеличивать только в случае успешного вызова ФМ в режиме STARTING NEW TASK. Счетчик количества завершенных задач - в процедуре с RECEIVE RESULTS .
3.Лучше запускать такую обработку на отдельный сервер/группу серверов
4.Занимать все свободные процессы не рекомендуется.
5.Очень редко, но случается, что ФМ, вызванный с помощью STARTING NEW TASK валится в дамп по разным причинам - от сетевых до переполнения памяти. Поэтому мониторинг со стороны администраторов обязателен. Одним журналом приложений(или логом обработки ошибок и т.п.) не обойтись.


Q. Как предотвратить падение программы в dump по time-out?
A.
Для версии выше 4.7 переодический вызов
Ф.м. TH_REDISPATCH

Для версий до 4.7 можно использовать переодический вызов
SAPGUI_PROGRESS_INDICATOR, но надо учитывать, что он будет тормозить выполнение отчета из-за rfc обмена с клиентом. Поэтому есть смысл вызывать его с интервалом, например при обработке 10-20% записей.

Сам таймаут задается в базисе
Тр. RZ11
Параметр rdisp/max_wprun_time
"Maximum work process run time"
По умолчанию там стоит 600 сек - обычно не хватает.
Необходима перезагрузка сервера.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> Programming Techniques | Приемы программирования All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.