My Blog List

Wednesday, April 17, 2013

Calling Oracle apps concurrent program report through Plsql code


CREATE OR REPLACE PROCEDURE APPS.XXASHRPEITEXCEL (errbuf             VARCHAR2
                  ,retcode            NUMBER
                  ,p_location         varchar2
                  ,p_eff_date         varchar2
                     )
    IS
        xml_layout                      BOOLEAN;
        req_id                          NUMBER;
        l_request_status                BOOLEAN;
        x_phase                         VARCHAR2(240);
        x_status                        VARCHAR2(240);
        x_dev_phase                     VARCHAR2(240);
        x_dev_status                    VARCHAR2(240);
        x_message                       VARCHAR2(240);

    BEGIN
        --
        xml_layout := FND_REQUEST.ADD_LAYOUT('XXAS'
                                            ,'XXASHRPEIT'
                                            ,'en'
                                            ,'US'
                                            ,'EXCEL'
                                            ); ---CALLING XML TEMPLATE
        --
        req_id := FND_REQUEST.SUBMIT_REQUEST('XXAS'
                                            ,'XXASHRPEIT'
                                            ,''
                                            ,''
                                            ,FALSE
                                            ,p_location --concurrent program parameters
                                            ,p_eff_date --concurrent program parameters
                                            ); ---CALLING Concurrent program
        --
        COMMIT;
        --
        IF req_id <> 0
        THEN
            l_request_status := FND_CONCURRENT.WAIT_FOR_REQUEST(req_id
                                                               ,30
                                                               ,0
                                                               ,x_phase
                                                               ,x_status
                                                               ,x_dev_phase
                                                               ,x_dev_status
                                                               ,x_message
                                                               );
        END IF;
        --
        COMMIT;
    END XXASHRPEITEXCEL;
/