WRAPPER Procedure To Schedule Program

CREATE OR REPLACE PROCEDURE SYB_SEC_USER_WRAPPER_PRC (

    P_USER           IN   VARCHAR2,

    P_STATUS_OUT     OUT  VARCHAR2,

    P_ERROR_MSG_OUT  OUT  VARCHAR2

)

IS

    --***** Procedure Details and Tables Effected *****--


    -- DBA_SCHEDULER_JOBS

    -- Scheduler Job Details will be available in above table


    -- DBA_SCHEDULER_JOB_RUN_DETAILS

    -- After Completion of Scheduled Job details will be inserted in above table 


    --***** Procedure Details and Tables Effected END *****--

/* TABLES REQUIRED --

DBA_SCHEDULER_JOB_RUN_DETAILS

DBA_SCHEDULER_PROGRAMS

DBA_SCHEDULER_JOBS


--***** END *****---

*/


    l_job_name      VARCHAR2(240) := NULL;


BEGIN

    l_job_name := 'SYB_SEC_USE_WRAP_PROGRAM';


    BEGIN

        DBMS_SCHEDULER.CREATE_JOB(

            job_name      => l_job_name,

            program_name  => 'SYB_SEC_USE_WRAP_PROGRAM',

            enabled       => FALSE

        );


        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(

            job_name       => l_job_name,

            argument_name  => P_USER,

            argument_value => P_USER

        );


        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(

            job_name       => l_job_name,

            argument_name  => P_STATUS_OUT,

            argument_value => P_STATUS_OUT

        );


        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(

            job_name       => l_job_name,

            argument_name  => P_ERROR_MSG_OUT,

            argument_value => P_ERROR_MSG_OUT

        );


        DBMS_SCHEDULER.ENABLE(l_job_name);

    END;


EXCEPTION

    WHEN OTHERS THEN

        DBMS_OUTPUT.PUT_LINE('Error WHile Creating Job ' || SQLERRM);


END SYB_SEC_USER_WRAPPER_PRC;


No comments:

Post a Comment