Scheduler PLSQL Procedure

 CREATE OR REPLACE PROCEDURE SYB_SECURITY_USER_WRAPPER_PRC (

    P_USER           IN  VARCHAR2,

    P_INSTANCE_ID    IN  VARCHAR2,

    P_STATUS_OUT     OUT VARCHAR2,

    P_ERROR_MSG_OUT  OUT VARCHAR2

)

IS

    l_job_name       VARCHAR2(240) := NULL;

    x_status         VARCHAR2(1)   := NULL;

    x_job_name       VARCHAR2(50)  := 'SYB_SECURITY_USER_PROGRAM_WRAP';


    V_STATUS_OUT     VARCHAR2(2000);

    V_ERROR_MSG_OUT  VARCHAR2(2000);

BEGIN

    l_job_name := 'SYB_SECURITY_USER_PROGRAM_WRAP' || P_INSTANCE_ID;


    BEGIN

        DBMS_SCHEDULER.CREATE_JOB(

            job_name    => l_job_name,

            job_type    => 'PLSQL_BLOCK',

            job_action  => 'BEGIN

                               SYB_USER_PKG.SYB_MISS_ROLE_PRC(''' || P_USER || ''',''' || V_STATUS_OUT || ''',''' || V_ERROR_MSG_OUT || ''');

                            END;',

            start_date  => SYSDATE,

            auto_drop   => TRUE,

            enabled     => TRUE

        );

    END;


    P_STATUS_OUT    := V_STATUS_OUT;

    P_ERROR_MSG_OUT := V_ERROR_MSG_OUT;


EXCEPTION

    WHEN OTHERS THEN

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

END SYB_SECURITY_USER_WRAPPER_PRC;


No comments:

Post a Comment