Sample Concurrent Program

Sample Concurrent Program

PROCEDURE SUBMIT_ECC_DATA_LOAD(
                                        ERRBUF  OUT NOCOPY VARCHAR2 ,
                                        RETCODE OUT NOCOPY VARCHAR2 ,
                                        p_system_name   IN VARCHAR2,
                                        p_load_type     IN VARCHAR2,
                                        p_languages     IN VARCHAR2,
                                        p_log_level     IN VARCHAR2, p_trace_enabled    IN VARCHAR2
        ) IS    
                l_app_short_name varchar2(10) := 'icx'; l_request_id    number;
                l_req_data varchar2(10); l_req_data1 varchar2(10); l_load_type varchar2(200);
        BEGIN

                l_req_data := fnd_conc_global.request_data;
                SELECT decode(p_load_type, 'FULL_LOAD', 'METADATA_LOAD', p_load_type) INTO l_load_type FROM dual;

                IF l_req_data ='END' THEN fnd_file.put_line(FND_FILE.OUTPUT,'Executed the sub request: ICX
ECC Data Load for load type : ' || p_load_type); fnd_file.put_line(FND_FILE.LOG,'Executed the sub request: ICX ECC
Data Load for load type : ' || p_load_type); RETURN;
        END IF;

                IF (l_req_data ='END-META' and p_load_type = 'FULL_LOAD') THEN 
                                        fnd_file.put_line(FND_FILE.OUTPUT,'Executed the sub request:
ICX ECC Data Load for load type : ' || l_load_type); fnd_file.put_line(FND_FILE.LOG,'Executed the sub request: ICX
ECC Data Load for load type : ' || l_load_type); l_request_id   := 
                                                fnd_request.submit_request(
                                                                                application => 'FND', 
                                                                                program => 'ECCRUNDL',
                                                                                description => 'ECC - Run Data Load', 
                                                                                start_time      => sysdate,
                                                                                argument1       => p_system_name, 
                                                                                argument2       => l_app_short_name, 
                                                                                argument3       => null,
                                                                                argument4       => p_load_type, 
                                                                                argument5       => p_languages, 
                                                                                argument6       => p_trace_enabled, 
                                                                                argument7       => p_log_level, 
                                                                                sub_request => true);
                                                fnd_file.put_line(FND_FILE.OUTPUT,'ECC Load for load type : '
|| p_load_type || ' Job Request ID:'||l_request_id); fnd_file.put_line(FND_FILE.LOG,'ECC Load for load type : ' ||
p_load_type || ' Job Request ID:'||l_request_id);

                                                IF l_request_id = 0 THEN
                                                                        --
                                                                        -- If request submission failed, exit with error.
                                                                        --
 

                ELSE
--

        -                                                               - Here we set the globals to put the program into the
                                                        -- PAUSED status on exit, and to save the state in
                -- request_data.
                                                                        --
                                                                        fnd_conc_global.set_req_globals(conc_status => 'PAUSED', request_data => 'END');

                                                                        ERRBUF := 'Sub-Request submitted!'; RETCODE := 0 ;

                                                                        END IF; 
                                                                        RETURN;
                END IF;
                        -- Submit l_load_type which can be either METADATA_LOAD or INCREMENTAL_LOAD.
                        l_request_id    := fnd_request.submit_request(
                                                                                                        application => 'FND', program        => 'ECCRUNDL',
                                                                                                        description => 'ECC - Run Data Load', 
                                                                                                        start_time      => sysdate,
                                                                                                        argument1       => p_system_name, 
                                                                                                        argument2       => l_app_short_name, 
                                                                                                        argument3       => null,
                                                                                                        argument4       => l_load_type, 
                                                                                                        argument5       => p_languages, 
                                                                                                        argument6       => p_trace_enabled, 
                                                                                                        argument7       => p_log_level, 
                                                                                                        sub_request => true);

                        fnd_file.put_line(FND_FILE.OUTPUT,'ECC Load for load type : ' || l_load_type || ' Job Request ID:'||l_request_id);
                        fnd_file.put_line(FND_FILE.LOG,'ECC Load for load type : ' || l_load_type || ' Job Request ID:'||l_request_id);
                                        
                                        IF l_request_id = 0 THEN
                                                --
                                                -- If request submission failed, exit with error.
                                                --
                                                ERRBUF := fnd_message.get; 
                                                RETCODE := 2;
                                        ELSE
                                                --
                                                -- Here we set the globals to put the program into the
                                                -- PAUSED status on exit, and to save the state in
                                                -- request_data.
                                                --
 

                                                        IF(l_load_type = 'METADATA_LOAD' AND p_load_type='FULL_LOAD')
                        THEN
                                                                                l_req_data1 := 'END-META'; ELSE
                                                                                l_req_data1 := 'END'; END IF;
 
                                                fnd_conc_global.set_req_globals(conc_status => 'PAUSED',request_data => l_req_data1);

                                                ERRBUF := 'Sub-Request submitted!'; RETCODE := 0 ;

                                        END IF; 
                                RETURN; 
                        EXCEPTION
                        WHEN OTHERS 
                                THEN RETCODE 
                                := 1;
                                fnd_file.put_line(FND_FILE.OUTPUT,'OTHERS exception while submitting
                                : ICX ECC Data Load' || sqlerrm); fnd_file.put_line(FND_FILE.LOG,'OTHERS exception while submitting :
                                ICX ECC Data Load' || sqlerrm);
                                        ERRBUF := fnd_message.get; RETCODE := 2
END SUBMIT_ECC_DATA_LOAD;