I did a process that triggers a certain concurrent several times (within a loop), I did a logic to make a kind of parallelism and break a processing in various parts for performance improvement, until then okay, it worked and such
but I need to make another validation after the execution of these concurrents that are called inside the loop, and I need to know if all the ones that were called finished successfully, so then Continue
I have passed the example of the API / function core fnd_concurrent.wait_for_request, but I could not understand the functioning of it, can you give me some tips?
I did:
I store the request_ids in the type l_trequests within the loop that triggers the concurrents as often required (control this According to the QTDE of records to be processed)
with the type loaded with the concurrents reschest_ids that are being performed at the moment I do:
FOR l_nInd IN l_tRequests.FIRST..l_tRequests.LAST LOOP
--
l_bCall_Status :=
FND_CONCURRENT.WAIT_FOR_REQUEST ( request_id => l_tRequests(l_nInd).request_id
,interval => 1 -- IN
,max_wait => 0 -- IN
,phase => l_vPhase -- OUT
,status => l_vStatus -- OUT
,dev_phase => l_vDev_phase -- OUT
,dev_status => l_vDev_status -- OUT
,message => l_vMessage -- OUT
);
END LOOP;
How do the input and output parameters work, how to use them?
How do I test if all concurrents finished processing ???
The return of Wait_For_Request is true only when Concurrent ends successfully?
for the face called the wait_for_request She is in "wait" until concurrent ends?