Я реализую отчет, который выполняет один и тот же код дважды, параллельно.
Для этого я делаю следующее:
call function 'my_func'
starting new task 'T1' destination 'NONE'
calling go_results->receive_results on end of task
exporting
it_pernr_tab = lt_1st_half
is_selection_parameters = gs_parm.
call function 'my_func'
starting new task 'T2' destination 'NONE'
calling go_results->receive_results on end of task
exporting
it_pernr_tab = lt_2nd_half
is_selection_parameters = gs_parm.
wait until go_results->mv_received_results = 2.
Это создаст две новые задачи,который будет выполняться очень хорошо.
Но я вообще не делаю никаких проверок, я просто вызываю задачу дважды, потому что я решил это сделать.
Я не знаю, достаточно ли "места" для двух новых задач, и есть ли место для 10, и я мог бы использовать их лучше.
И это как раз мой вопрос:
а) Можно ли как-то рассчитать максимальное количество задач, которые я могу создать, чтобы я использовал парализм в полной мере?например, получить количество доступных рабочих процессов?