Wednesday, August 8, 2018

Chlld Concurrent requests goes into Inactive and No manager state

When you are calling fnd_request.submit_request and setting sub request parameter as TRUE to create the parent child relationship, all the child requests finish as Inactive/No Manager.

Set the parent program as PAUSED, this will allows the successful execution of child requests.

So the sequence to use fnd_request.submit_request with sub_request as TURE is

--It will be null for first time parent scan by concurrent manager.
lc_req_data := fnd_conc_global.request_data;
--
IF lc_req_data IS NULL THEN
--
   l_reqid := fnd_request.submit_request
                                    (application     => <Program application short name>
                                    ,program         => <Program short name>
                                    ,description      => ''
                                    ,start_time       => SYSDATE
                                    ,sub_request => TRUE
                                    ,argument1      => <Argument(s)>
                                    );

COMMIT;
    -- Set program status as 'PAUSED'. Setting this status will make sure that parent will wait till all child  gets completed. Otherwise they will finish as Inactive/No Manager
    fnd_conc_global.set_req_globals(conc_status    => 'PAUSED',

                                                               request_data => '1'
                                                              );
ELSIF  lc_req_data = 'END' THEN
    RETURN;
END IF;








Ref: (Doc ID 2282106.1)

1 comment:

  1. Can you please tell me how to run this in a loop ?

    ReplyDelete