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

Разница между IN BACKGROUND TASK и IN UPDATE TASK



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> SQL and Database Changes
View previous topic :: View next topic  
Author Message
z01
Специалист
Специалист



Joined: 18 Jan 2008
Posts: 59

PostPosted: Tue Feb 24, 2009 3:28 pm    Post subject: Разница между IN BACKGROUND TASK и IN UPDATE TASK Reply with quote

Здравствуйте!
Объясните разницу между запуском ФМ в двух режимах
CALL FUNCTION ... IN BACKGROUND TASK и
CALL FUNCTION ... IN UPDATE TASK.
в случае запуска первой в одной системе (DESTINATION ‘NONE’).

Интересует момент, будет ли запущен FM ... IN BACKGROUND TASK,
если LUW вызвавшего его процесса завершился с ошибкой уже после COMMIT WORK.

В случае с IN UPDATE TASK понятно, что основной процесс и апдейтные процессы выполняются в рамках одного LUW.
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Tue Feb 24, 2009 6:49 pm    Post subject: Reply with quote

Вызов произойдет, т.к. запуск ..in background task начинается после успешного завершения V1-процессов.
Quote:
В случае с IN UPDATE TASK понятно, что основной процесс и апдейтные процессы выполняются в рамках одного LUW.

Не факт. В рамках одного LUW выполняются локальные и синхронные update-процессы, при асинхронных update-процессах это разные шаги.
См. help.sap.com Wink

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
z01
Специалист
Специалист



Joined: 18 Jan 2008
Posts: 59

PostPosted: Tue Feb 24, 2009 8:16 pm    Post subject: Reply with quote

Спасибо за ссылки. Стало почти понятно Smile
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Wed Feb 25, 2009 8:01 am    Post subject: Reply with quote

Удав, поясните плиз момент:
если ошибка возникает в background-task ФМ, то есть такая строчка:
- Other previously executed updates are rolled back.

я правильно понимаю, будут откачены все уже выполненные V1 и V2?
Или неправильно? Smile
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Feb 25, 2009 1:51 pm    Post subject: Reply with quote

Неправильно Smile
Из практических наблюдений за поведением при IN BACKGROUND TASK:
1.Т.к. это отдельный LUW, то при ошибке будут откачены только те изменения, которые совершались ВНУТРИ этого ФМ (тем более, что внутри этого ФМ должен быть свой COMMIT WORK, если внутри производится сохранение данных Wink )
2.При исключительной ситуации с RAISE внутри ФМ возникает дамп, т.к. ФМ запускается без ...EXCEPTIONS, это нужно учесть при написании такого ФМ
3.Каждый запускаемый ФМ выполняется в своем отдельном диалоговом процессе, поэтому это обстоятельство нужно учесть при массовой обработке данных (в частности, не "вешать" на сохранение документов ФМ ...IN BACKGROUND TASK, которые могут запускаться например в пакетном вводе)
4.Отлаживать такие ФМ нормальным образом в режиме IN BACKGROUND TASK невозможно, поэтому в них нужно вести протокол действий(например с помощью журнала приложений с ограниченным сроком действия журнала), чтобы ловить неточности алгоритма в "боевом" режиме.
5.При необходимости работы с документом, из которого был вызван ФМ ...IN BACKGROUND TASK, необходимо выполнять проверку сохранения этого документа, лучше всего это делать с помощью цикла с проверкой блокировок.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Wed Feb 25, 2009 5:40 pm    Post subject: Reply with quote

спасибо большое!
Теперь понятно
Back to top
View user's profile Send private message Blog
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> SQL and Database Changes 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.