Scheduled Chained Steps

I've been trying to create a Scheduler Chain in Oracle 11.2 to kick off steps based off of a schedule.  Below is an example script I used to attempt this, what I would like is Step1 to execute with the start of the chain, then Step2 to execute on a schedule, then Step3 to execute once Step1 and Step2 are complete.  This is for a nightly process where Step1 would execute at midnight, then Step2 would execute at 1AM.  The step I'm having issues with is defining the start of Step2 is at line 134.
I also couldn't find an example of using DBMS_SCHEDULER.DEFINE_CHAIN_EVENT_STEP using the event_schedule_name overload, so if anyone has come across one please share.
/* CREATE TABLE */
Create table chain_table
    chain_ts timestamp default current_timestamp,
    chain_step varchar2(100)
/* CREATE PROCEDURE */
create procedure chain_test_proc
    step_name in varchar2
) as
begin
    execute immediate 'insert into chain_table (chain_step) values (:1)'
    using step_name;
    commit;
end chain_test_proc;
/* CREATE SCHEDULE */
begin
    dbms_scheduler.create_schedule
        repeat_interval  => 'FREQ=MINUTELY;',   
        start_date => to_timestamp_tz('2014-03-17 12:14:00.000000000 AMERICA/CHICAGO','YYYY-MM-DD HH24:MI:SS.FF TZR'),
        comments => 'Runs minutely for testing',
        schedule_name  => '"STEP2_SCHEDULE"');
end;
/* CREATE PROGRAMS */
begin
    dbms_scheduler.create_program
        program_name => 'STEP1_PROGRAM',
        program_action => 'CHAIN_TEST_PROC',
        program_type => 'STORED_PROCEDURE',
        number_of_arguments => 1,
        comments => null,
        enabled => false
    dbms_scheduler.define_program_argument
        program_name => 'STEP1_PROGRAM',
        argument_position => 1,
        argument_name => 'STEP_NAME',
        argument_type => 'VARCHAR2',
        default_value => 'STEP1',
        out_argument => false
    dbms_scheduler.create_program
        program_name => 'STEP2_PROGRAM',
        program_action => 'CHAIN_TEST_PROC',
        program_type => 'STORED_PROCEDURE',
        number_of_arguments => 1,
        comments => null,
        enabled => false
    dbms_scheduler.define_program_argument
        program_name => 'STEP2_PROGRAM',
        argument_position => 1,
        argument_name => 'STEP_NAME',
        argument_type => 'VARCHAR2',
        default_value => 'STEP2',
        out_argument => false
    dbms_scheduler.create_program
        program_name => 'STEP3_PROGRAM',
        program_action => 'CHAIN_TEST_PROC',
        program_type => 'STORED_PROCEDURE',
        number_of_arguments => 1,
        comments => null,
        enabled => false
    dbms_scheduler.define_program_argument
        program_name => 'STEP3_PROGRAM',
        argument_position => 1,
        argument_name => 'STEP_NAME',
        argument_type => 'VARCHAR2',
        default_value => 'STEP3',
        out_argument => false
    dbms_scheduler.enable ('STEP1_PROGRAM');
    dbms_scheduler.enable ('STEP2_PROGRAM');
    dbms_scheduler.enable ('STEP3_PROGRAM');
end;
begin
/* CREATE CHAIN */
    sys.dbms_scheduler.create_chain
        chain_name          => 'MY_CHAIN',
        rule_set_name       => null,
        evaluation_interval => null,
        comments            => null
/* CREATE CHAIN STEPS */
    sys.dbms_scheduler.define_chain_step
        chain_name          => 'MY_CHAIN',
        step_name           => 'STEP1_PROG',
        program_name        => 'STEP1_PROGRAM'
    sys.dbms_scheduler.define_chain_step
        chain_name          => 'MY_CHAIN',
        step_name           => 'STEP2_PROG',
        program_name        => 'STEP2_PROGRAM'
    sys.dbms_scheduler.define_chain_event_step
        chain_name          => 'MY_CHAIN',
        step_name           => 'STEP2_SCHED',
        event_schedule_name => 'STEP2_START_SCHEDULE'
    sys.dbms_scheduler.define_chain_step
        chain_name          => 'MY_CHAIN',
        step_name           => 'STEP3_PROG',
        program_name        => 'STEP3_PROGRAM'
/* CREATE CHAIN RULES */
    -- Start of Chain
    sys.dbms_scheduler.define_chain_rule
        chain_name          => 'MY_CHAIN',
        condition           => 'TRUE',
        action              => 'START STEP1_PROG',
        rule_name           => 'STEP1',
        comments            => null
    -- Step having issues with
    sys.dbms_scheduler.define_chain_rule
        chain_name          => 'MY_CHAIN',
        condition           => 'STEP2_SCHED COMPLETED',
        action              => 'START STEP2_PROG',
        rule_name           => 'STEP2',
        comments            => 'Runs on a schedule'
    -- Last step
    sys.dbms_scheduler.define_chain_rule
        chain_name          => 'MY_CHAIN',
        condition           => 'STEP1_PROG COMPLETED AND STEP2_PROG COMPLETED',
        action              => 'START STEP3_PROG',
        rule_name           => 'STEP3',
        comments            => null
    -- End Chain
    sys.dbms_scheduler.define_chain_rule
        chain_name          => 'MY_CHAIN',
        condition           => 'STEP3_PROG COMPLETED',
        action              => 'END',
        rule_name           => 'END_CHAIN',
        comments            => null
/* ENABLE CHAIN */
    dbms_scheduler.enable (name => 'MY_CHAIN');
end;
/* RUN CHAIN */
-- exec dbms_scheduler.run_chain (chain_name => 'MY_CHAIN', start_steps => null, job_name => null);
/* ROLLBACK
    -- Drop Chain
    exec dbms_scheduler.drop_chain ('MY_CHAIN');
    -- Drop Programs
    exec dbms_scheduler.drop_program ('STEP1_PROGRAM, STEP2_PROGRAM, STEP3_PROGRAM');
    -- Drop Schedule
    exec dbms_scheduler.drop_schedule ('STEP2_SCHEDULE');
    -- Drop table
    drop table chain_table;
    -- Drop procedure
    drop procedure chain_test_proc;

Hi,
Another possible workaround I thought about: play with the PAUSE attribute of the chain.
When your chain starts, alter it inside program1 to pause Step2:
DBMS_SCHEDULER.ALTER_CHAIN(chain_name =>'MY_CHAIN',
                           step_name  => 'STEP2_PROG',
                           attribute  => 'PAUSE',
                           value      => TRUE
Create an independant scheduler job to alter the PAUSE attribute of the chain:
DBMS_SCHEDULER.CREATE_JOB(job_name       => 'ALTER_MY_CHAIN_JOB',
                          job_type       => 'PLSQL_BLOCK',
                          job_action     => 'BEGIN
                                                  DBMS_SCHEDULER.ALTER_CHAIN(chain_name =>''MY_CHAIN'',
                                                                             step_name  => ''STEP2_PROG'',
                                                                             attribute  => ''PAUSE'',
                                                                             value      => FALSE
                                             END;',
                          repeat_interval => 'FREQ=DAILY;BYHOUR=1',
                          enabled         => TRUE,
                          auto_drop       => FALSE
This job will run everyday at 1am to set the PAUSE attribute to FALSE for the chain. This way the chain should restart.   
Again, it's a suggestion, needs to be tested!

Similar Messages

  • Oracle Scheduler Chain Step - Succeeds and Fails at the same time?

    Hi,
    I have a chain program that executes a script :-
    exec DBMS_SCHEDULER.CREATE_PROGRAM (
    program_name => 'xxxx_execute_script'
    ,program_type => 'EXECUTABLE'
    ,program_action => '/home/xxx/run_remote_xxxx.sh'
    ,number_of_arguments => 0
    ,enabled => true
    ,comments => 'execute drms shell script'
    The script does a remote execute to a another script on a different machine.
    I have a chain step setup as :-
    exec DBMS_SCHEDULER.DEFINE_CHAIN_STEP (
    chain_name => 'xxx_drms_manual_load',
    step_name => 'STEP30',
    program_name => 'drms_execute_script');
    I have chain rules :-
    (execute the script)
    exec DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
    chain_name => 'xxx_drms_manual_load'
    ,condition => 'STEP20 succeeded'
    ,action => 'START STEP30'
    ,rule_name => 'drms_rule_030'
    ,comments => 'start drms step30 - execute_script'
    (chain rule for failed - executes a stored procedure to sends a warning email)
    exec DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
    chain_name => 'jpl_drms_manual_load'
    ,condition => 'STEP30 failed'
    ,action => 'start step31'
    ,rule_name => 'drms_rule_035'
    ,comments => 'drms - sends unix script error email'
    (chain rule for succeeded - executes a stored procedure to check for certain processing codes)
    exec DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
    chain_name => 'jpl_drms_manual_load'
    ,condition => 'STEP30 succeeded'
    ,action => 'START STEP40'
    ,rule_name => 'drms_rule_050'
    ,comments => 'start drms step40 - check for errors'
    Everything has been running fine until a couple of days ago.
    The job chain now seems to run Step 31 (failed) AND step40 (successful) ! How can this be?
    All job steps run according to the oracle job log (all_SCHEDULER_JOB_RUN_DETAILS) - (STEP31 does not appear in the log - even though it runs - we recieve a warning email)
    There no non zero return codes for the job steps.
    Is there a way to see the return code from the execution of the script (STEP30) to see what the return code is ??
    Thanks in advance,

    Hi,
    You can select from the dba_scheduler_job_run_details and filter on job name to track the execution progress of a chain.
    Hope this helps,
    Ravi.

  • Missing chain step name in events raised by the scheduler

    I use events raised by the scheduler (SYS.SCHEDULER$_EVENT_QUEUE) to monitor scheduler chains processing.
    For event_type = "JOB_STARTED" (chain step started in case of chains) in event message (sys.scheduler$_event_info) there is no log_id (log_id is null).
    In user_scheduler_job_log view there is column job_subname that contains chain step name but this column is missing in the event message.
    Is there any way to get chain step name for event_type = "JOB_STARTED"?
    Job configuration:
    dbms_scheduler.set_attribute(
    name => job_name,
    attribute => 'logging_level',
    value => dbms_scheduler.logging_full
    dbms_scheduler.set_attribute(
    name => job_name,
    attribute => 'raise_events',
    value => dbms_scheduler.job_all_events
    Database:
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
    OS:
    CentOS - redhat-4
    Regards
    Mariusz

    I want to track chain processing by dequeue messages from SCHEDULER$_EVENT_QUEUE.
    Examples of messages automatically inserted by scheduler into SCHEDULER$_EVENT_QUEUE (user_data column from SCHEDULER$_EVENT_QTAB)
    SYS.SCHEDULER$_EVENT_INFO('JOB_SUCCEEDED','CDWMAIN','JOB_NAME','2011-07-27 16:19:11.191969',0,NULL,0,340374,1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)
    SYS.SCHEDULER$_EVENT_INFO('JOB_STARTED','CDWMAIN','JOB_NAME','2011-07-27 16:19:10.947994',0,NULL,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)
    SYS.SCHEDULER$_EVENT_INFO('JOB_CHAIN_STALLED','CDWMAIN','JOB_NAME','2011-07-27 15:45:13.727127',0,NULL,0,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)
    For event JOB_SUCCEEDED there is log_id = 340374 so we can find job_subname (chain step name) in log table.
    For JOB_STARTED and JOB_CHAIN_STALLED there is no log_id so we do not know wich chain step in this case was started and wich chain was stalled.
    JOB_NAME is the same for all steps in case of chain processing

  • Export scheduler job but chain step and chain rule failed with ORA-24150 ORA-06512 during executed sql script.

    Hi Folks,
    I used expdp utility to export all Oracle scheduler jobs and chains with below method, after that generate sql script by impdp, later on executing sql script encountered some errors.
    Only chain step and chain rule for executing script. Does anyone bright me some light? Thanks!
    My env: Oracle 11g + Oracle Linux 5.5
    My steps as below:
    1. export(expdp) oracle scheduler job(chain)
    2. generate sql script by impdp.
    3. remove orginal scheduler job(chain)
    4. execute sql script
    5. job with no chain well but job with chain failed
    [oracle@linux1 ~]$ expdp scott/tiger directory=db_dump_dir dumpfile=scott_job.dmp include=procobj:\" in \(select \
    > name from sys.obj$ where type\# in \(46,59,66,67,68,69,72,74,79\)\)\"  schemas=scott
    Export: Release 11.2.0.1.0 - Production on Tue Dec 3 17:42:31 2013
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, Real Application Clusters, OLAP, Data Mining
    and Real Application Testing options
    Starting "SCOTT"."SYS_EXPORT_SCHEMA_01":  scott/******** directory=db_dump_dir dumpfile=scott_job.dmp include=procobj:" in (select name from sys.obj$ where type# in (46,59,66,67,68,69,72,74,79))" schemas=scott
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    Total estimation using BLOCKS method: 0 KB
    Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ
    Master table "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
    Dump file set for SCOTT.SYS_EXPORT_SCHEMA_01 is:
      /u03/database/usbo/BNR/dump/scott_job.dmp
    Job "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully completed at 17:42:54
    [oracle@linux1 ~]$ impdp scott/tiger sqlfile=scott_job.sql directory=db_dump_dir dumpfile=scott_job.dmp logfile=imp_scott_job.log
    Import: Release 11.2.0.1.0 - Production on Tue Dec 3 17:43:04 2013
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, Real Application Clusters, OLAP, Data Mining
    and Real Application Testing options
    Master table "SCOTT"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded
    Starting "SCOTT"."SYS_SQL_FILE_FULL_01":  scott/******** sqlfile=scott_job.sql directory=db_dump_dir dumpfile=scott_job.dmp logfile=imp_scott_job.log
    Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ
    Job "SCOTT"."SYS_SQL_FILE_FULL_01" successfully completed at 17:43:07
    [oracle@linux1 ~]$ more /u03/database/usbo/BNR/dump/scott_job.
    scott_job.dmp  scott_job.sql 
    [oracle@linux1 ~]$ more /u03/database/usbo/BNR/dump/scott_job.sql
    -- CONNECT SCOTT
    ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';
    ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';
    ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';
    ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';
    ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';
    ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';
    -- new object type path: SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ
    BEGIN
    BEGIN
    dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_1"','1=1',NULL, 'First link in the chain.',0,NULL);
    END;
    COMMIT;
    END;
    BEGIN
    BEGIN
    dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_2"',':"CHAIN_STEP_1".COMPLETED = ''TRUE''',NULL, 'Second link in the chain.',0,NULL);
    END;
    COMMIT;
    END;
    BEGIN
    BEGIN
    dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_3"',':"CHAIN_STEP_2".COMPLETED = ''TRUE''',NULL, 'Third link in the chain.',0,NULL);
    END;
    COMMIT;
    END;
    BEGIN
    BEGIN
    dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_4"',':"CHAIN_STEP_3".COMPLETED = ''TRUE''',NULL, 'End of the chain.',0,NULL);
    END;
    COMMIT;
    END;
    BEGIN
    BEGIN
    dbms_rule_imp_obj.import_rule_set('"SCHED_RULESET$1"','"SCHED_EV_CTX$1"',NULL, 0);
    END;
    COMMIT;
    END;
    BEGIN
    dbms_scheduler.create_program('"TEST_PROC_1"','PLSQL_BLOCK',
    'BEGIN
                             INSERT INTO tb_schduler (id, descr, cr_date)
                             VALUES (tb_schduler_seq.NEXTVAL, ''test_proc_1'', SYSDATE);
                             COMMIT;
                           END;'
    ,0, TRUE,
    'Program for first link in the chain.'
    COMMIT;
    END;
    BEGIN
    dbms_scheduler.create_program('"TEST_PROC_3"','PLSQL_BLOCK',
    'BEGIN
                             INSERT INTO tb_schduler (id, descr, cr_date)
                             VALUES (tb_schduler_seq.NEXTVAL, ''test_proc_3'', SYSDATE);
                             COMMIT;
                           END;'
    ,0, TRUE,
    'Program for last link in the chain.'
    COMMIT;
    END;
    BEGIN
    dbms_scheduler.create_program('"TEST_PROC_2"','PLSQL_BLOCK',
    'BEGIN
                             INSERT INTO tb_schduler (id, descr, cr_date)
                             VALUES (tb_schduler_seq.NEXTVAL, ''test_proc_2'', SYSDATE);
                             COMMIT;
                           END;'
    ,0, TRUE,
    'Program for second link in the chain.'
    COMMIT;
    END;
    BEGIN
    dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
    , rule_set_name=>'"SCHED_RULESET$1"   '
    dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
    dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
    dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
    COMMIT;
    END;
    BEGIN
    dbms_scheduler.create_job('"TEST_CHAIN_1_JOB"',
    job_type=>'CHAIN', job_action=>
    'test_chain_1'
    , number_of_arguments=>0,
    start_date=>TO_TIMESTAMP_TZ('03-DEC-2013 05.38.56.718161000 PM +08:00','DD-MON-RRRR HH.MI.SSXFF AM TZR','NLS_DATE_LANGUAGE=english'), repeat_interval=>
    'freq=minutely; interval=2'
    , end_date=>TO_TIMESTAMP_TZ('03-DEC-2013 06.08.56.000000000 PM +08:00','DD-MON-RRRR HH.MI.SSXFF AM TZR','NLS_DATE_LANGUAGE=english'),
    job_class=>'"DEFAULT_JOB_CLASS"', enabled=>FALSE, auto_drop=>TRUE,comments=>
    NULL
    COMMIT;
    END;
    [oracle@linux1 ~]$ export ORACLE_SID=usbo
    [oracle@linux1 ~]$ sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.1.0 Production on Tue Dec 3 17:44:43 2013
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, Real Application Clusters, OLAP, Data Mining
    and Real Application Testing options
    sys@USBO> show parameter db_name
    NAME                                 TYPE                              VALUE
    db_name                              string                            usbo
    sys@USBO> conn scott/tiger;
    Connected.
    --remove job and chain.
    scott@USBO> EXEC DBMS_SCHEDULER.drop_job(job_name => 'test_chain_1_job');
    EXEC DBMS_SCHEDULER.drop_chain (chain_name  => 'test_chain_1');
    EXEC DBMS_SCHEDULER.drop_program (program_name  => 'test_proc_1');
    EXEC DBMS_SCHEDULER.drop_program (program_name  => 'test_proc_2');
    EXEC DBMS_SCHEDULER.drop_program (program_name  => 'test_proc_3');
    PL/SQL procedure successfully completed.
    scott@USBO> @/u03/database/usbo/BNR/dump/scott_job.sql
    Session altered.
    Session altered.
    Session altered.
    Session altered.
    Session altered.
    Session altered.
    PL/SQL procedure successfully completed.
    PL/SQL procedure successfully completed.
    PL/SQL procedure successfully completed.
    PL/SQL procedure successfully completed.
    BEGIN
    ERROR at line 1:
    ORA-24150: evaluation context SCOTT.SCHED_EV_CTX$1 does not exist
    ORA-06512: at "SYS.DBMS_RULEADM_INTERNAL", line 28
    ORA-06512: at "SYS.DBMS_RULE_IMP_OBJ", line 40
    ORA-06512: at line 3
    PL/SQL procedure successfully completed.
    PL/SQL procedure successfully completed.
    PL/SQL procedure successfully completed.
    BEGIN
    ERROR at line 1:
    ORA-24141: rule set SCOTT.SCHED_RULESET$1 does not exist
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
    ORA-06512: at "SYS.DBMS_ISCHED", line 1694
    ORA-01403: no data found
    ORA-06512: at "SYS.DBMS_SCHEDULER", line 1638
    ORA-06512: at line 5
    PL/SQL procedure successfully completed.

    Thanks all of you!
    Hi DK2010,
    I took some test that the data dict(dba_rule_sets/dba_evaluation_contexts) no any data returned after I had removed the job.
    So I tried to create evaluation context and re-executed script(only exception setion.) the first error has gone. For the second still have some issue.
    ---->no any returned
    scott@USBO> select * from dba_rule_sets where rule_set_owner='SCOTT';       
    no rows selected
    scott@USBO> select * from dba_evaluation_contexts WHERE evaluation_context_owner='SCOTT';
    no rows selected
    -->add new EVALUATION CONTEXT
    scott@USBO> exec DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT('SCOTT.SCHED_EV_CTX$1');
    PL/SQL procedure successfully completed.
    --->now it looks fine
    scott@USBO> BEGIN
      2  BEGIN
      3  dbms_rule_imp_obj.import_rule_set('"SCHED_RULESET$1"','"SCHED_EV_CTX$1"',NULL, 0);
      4  END;
      5 
      6  COMMIT;
      7  END;
      8  /
    PL/SQL procedure successfully completed.
    --->add new rule set, it prompt aleady exists
    scott@USBO> exec DBMS_RULE_ADM.CREATE_RULE_SET('SCOTT.SCHED_RULESET$1') 
    BEGIN DBMS_RULE_ADM.CREATE_RULE_SET('SCOTT.SCHED_RULESET$1'); END;
    ERROR at line 1:
    ORA-24153: rule set SCOTT.SCHED_RULESET$1 already exists
    ORA-06512: at "SYS.DBMS_RULEADM_INTERNAL", line 28
    ORA-06512: at "SYS.DBMS_RULE_ADM", line 138
    ORA-06512: at line 1
    -->chain rule still could not find.
    scott@USBO> @job_chain_rules.sql
    no rows selected
    -->rerun
    scott@USBO> BEGIN
      2  dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
      3  , rule_set_name=>'"SCHED_RULESET$1"   '
      4  );
      5  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
      6  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
      7  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
      8  COMMIT;
      9  END;
    10  /
    BEGIN
    ERROR at line 1:
    ORA-27477: "SCOTT.TEST_CHAIN_1" already exists 
    ORA-06512: at "SYS.DBMS_ISCHED", line 1148
    ORA-06512: at "SYS.DBMS_SCHEDULER", line 1598
    ORA-06512: at line 2
    -->drop chain
    scott@USBO> exec dbms_scheduler.drop_chain('TEST_CHAIN_1');
    BEGIN dbms_scheduler.drop_chain('TEST_CHAIN_1'); END;
    ERROR at line 1:
    ORA-27479: Cannot drop "SCOTT.TEST_CHAIN_1" because other objects depend on it
    ORA-06512: at "SYS.DBMS_ISCHED", line 1319
    ORA-06512: at "SYS.DBMS_ISCHED", line 1222
    ORA-06512: at "SYS.DBMS_SCHEDULER", line 1854
    ORA-06512: at line 1
    scott@USBO> exec dbms_scheduler.drop_chain('TEST_CHAIN_1',force=>TRUE);
    PL/SQL procedure successfully completed.
    scott@USBO> BEGIN
      2  dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
      3  , rule_set_name=>'"SCHED_RULESET$1"   '
      4  );
      5  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
      6  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
      7  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
      8  COMMIT;
      9  END;
    10  /
    BEGIN
    ERROR at line 1:
    ORA-24141: rule set SCOTT.SCHED_RULESET$1 does not exist   --->still returned no rule set
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
    ORA-06512: at "SYS.DBMS_ISCHED", line 1694
    ORA-01403: no data found
    ORA-06512: at "SYS.DBMS_SCHEDULER", line 1638
    ORA-06512: at line 5
    scott@USBO> exec DBMS_RULE_ADM.CREATE_RULE_SET('SCOTT.SCHED_RULESET$1')
    PL/SQL procedure successfully completed.
    scott@USBO> BEGIN
      2  dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
      3  , rule_set_name=>'"SCHED_RULESET$1"   '
      4  );
      5  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
      6  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
      7  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
      8  COMMIT;
      9  END;
    10  /
    BEGIN
    ERROR at line 1:
    ORA-27477: "SCOTT.TEST_CHAIN_1" already exists
    ORA-06512: at "SYS.DBMS_ISCHED", line 1148
    ORA-06512: at "SYS.DBMS_SCHEDULER", line 1598
    ORA-06512: at line 2
    scott@USBO> exec dbms_scheduler.drop_chain('TEST_CHAIN_1',force=>TRUE);
    PL/SQL procedure successfully completed.
    scott@USBO> BEGIN
      2  dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
      3  , rule_set_name=>'"SCHED_RULESET$1"   '
      4  );
      5  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
      6  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
      7  dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
      8  COMMIT;
      9  END;
    10  /
    BEGIN
    ERROR at line 1:
    ORA-24141: rule set SCOTT.SCHED_RULESET$1 does not exist
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
    ORA-06512: at "SYS.DBMS_ISCHED", line 1694
    ORA-01403: no data found
    ORA-06512: at "SYS.DBMS_SCHEDULER", line 1638
    ORA-06512: at line 5
    Would you like to give me more clue?
    Thanks again.

  • Event Based Chain Step?

    For a couple days now I've been trying to come up with a working example of a Job Chain w/ an Inline Event for a Chain Step.
    Would anyone happen to have a fairly simple example of this, or be able to point me in the right direction?
    Thanks,
    James

    Hi James,
    An inline event in a chain allows the chain to wait until an event is received before continuing with one or more branches of the chain. The way this works is that one of the chain steps is an event step which does nothing but wait for an event and completes successfully as soon as that event is received.
    In a database events are represented by AQ messages to the chain event step waits until a message is received into a certain queue. Here is a simple complete example with comments. First step1 runs, then step 2 waits for an event . After the message is received, the final step3 runs and the chain completes. If you have any more questions, please reply.
    Hope this helps,
    Ravi.
    -- ================= simple complete chain with event step example ==============
    -- grant necessary privileges to scott
    grant create job to scott ;
    grant execute on dbms_aq to scott;
    grant execute on dbms_aqadm to scott;
    begin
    dbms_rule_adm.grant_system_privilege
    (dbms_rule_adm.CREATE_EVALUATION_CONTEXT_OBJ, 'scott', FALSE);
    dbms_rule_adm.grant_system_privilege
    (dbms_rule_adm.CREATE_RULE_SET_OBJ, 'scott', FALSE);
    dbms_rule_adm.grant_system_privilege
    (dbms_rule_adm.CREATE_RULE_OBJ, 'scott', FALSE);
    end ;
    connect scott/tiger
    -- setup a multiple consumers queue for event messages
    create or replace type msg_type as object ( col1 varchar2(20) ) ;
    begin
    dbms_aqadm.create_queue_table('qt1','msg_type',multiple_consumers => TRUE);
    dbms_aqadm.create_queue ( queue_name => 'Q1', queue_table => 'QT1');
    dbms_aqadm.start_queue ( queue_name => 'Q1' ) ;
    end ;
    -- create a scheduler program and chain
    exec dbms_scheduler.create_program('prog1','plsql_block','null;',0,true);
    begin
    dbms_scheduler.create_chain('chain1');
    dbms_scheduler.define_chain_step('chain1','step1','prog1');
    dbms_scheduler.define_chain_event_step('chain1','step2',
    'tab.user_data.col1 is not null', 'Q1');
    dbms_scheduler.define_chain_step('chain1','step3','prog1');
    dbms_scheduler.define_chain_rule('chain1','true','START step1');
    dbms_scheduler.define_chain_rule('chain1','step1 completed', 'start step2');
    dbms_scheduler.define_chain_rule('chain1','step2 completed','start step3');
    dbms_scheduler.define_chain_rule('chain1','step3 completed','end');
    dbms_scheduler.enable('chain1');
    end;
    -- now create the master chain job, and enable it so it runs immediately
    exec dbms_scheduler.create_job('job1','chain','chain1',0,enabled=>true);
    -- wait a second or two to let first step complete
    select * from all_scheduler_job_log where job_name='JOB1' order by log_id;
    -- observe that only first step has completed
    -- now enqueue message to complete second step
    declare
    msg msg_type;
    my_msgid RAW(16);
    props dbms_aq.message_properties_t;
    enqopts dbms_aq.enqueue_options_t;
    begin
    msg := msg_type('test');
    dbms_aq.enqueue('q1', enqopts, props, msg, my_msgid);
    end;
    commit;
    -- now check that chain has completed successfully
    select * from all_scheduler_job_log where job_name='JOB1' order by log_id;
    -- ======= end of complete inline event step example

  • Process chain step by step documentation

    Hi friends,
    I am looking step by step documentation for process chains,please  send me documents.
    thanks for advace
    bye
    habeeb
    [email protected]

    Hi Habeeb,
    look at www.service.sap.com/bi --> SAP BW old release --> BI Infoindex --> P: you will find 5 documents on Process Chains.
    Go through this help documents and downloads.
    http://help.sap.com/saphelp_nw04/helpdata/en/67/13843b74f7be0fe10000000a114084/content.htm
    SAP help Creating process chains..
    http://help.sap.com/saphelp_nw2004s/helpdata/en/8f/c08b3baaa59649e10000000a11402f/frameset.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/8da0cd90-0201-0010-2d9a-abab69f10045
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/19683495-0501-0010-4381-b31db6ece1e9
    ..http://help.sap.com/saphelp_nw2004s/helpdata/en/8f/c08b3baaa59649e10000000a11402f/frameset.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/8da0cd90-0201-0010-2d9a-abab69f10045
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/19683495-0501-0010-4381-b31db6ece1e9
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/36693695-0501-0010-698a-a015c6aac9e1
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9936e790-0201-0010-f185-89d0377639db
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3507aa90-0201-0010-6891-d7df8c4722f7
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/263de690-0201-0010-bc9f-b65b3e7ba11c
    Process Chains
    Steps for Creating Process chain!
    http://help.sap.com/saphelp_nw04/helpdata/en/67/13843b74f7be0fe10000000a114084/frameset.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/events/sap-teched-03/using%20process%20chains%20in%20sap%20business%20information%20warehouse
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/19683495-0501-0010-4381-b31db6ece1e9
    and also check this.
    http://help.sap.com/saphelp_nw04s/helpdata/en/58/9c6c4251e4c153e10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/44/60c800738d311de10000000a155369/content.htm
    /people/sap.user72/blog/2005/12/27/the-new-sap-netweaver-job-scheduler-a-redwood-oem-tool
    http://help.sap.com/saphelp_nw2004s/helpdata/en/86/6ff03b166c8d66e10000000a11402f/frameset.htm
    ***Pls assign the points , if info is useful**
    Regards
    CSM Reddy

  • Alter chain (step) - restart_on_failure

    I have got Oracle 11gr2 I use dbms_scheduler, it works fine. :o)
    I'd like to use 'RESTART_ON_FAILURE'-mechanism in my chain and if it is possible, in my chain steps. But not with default Oracle settings
    Oracle PlSql Packages reference, on page 128-41 ->
    'RESTART_ON_FAILURE' - If set to TRUE for a step and the step fails due to an application error, then the step is retried using the normal Scheduler retry mechanism (after 1 second, after 10 seconds, after 100 seconds, and so on, up to a maximum of 6 times). If all 6 retries fail (after about 30 hours), then the chain step is marked FAILED. If this attribute is set to FALSE (the default), a failed chain step is immediately marked FAILED.
    Can I set number of retries (not need 6 -> it is enough 3 for me)?
    And can I set constant number of seconds for (e.g. 100 sec) for all retries?
    Is it possible setting these parameters for chain steps too?
    What can I do in this case (3 retries with 3x100 sec retries) if "no" is the answer for all above question?
    Thanks a lot for any kind of information
    Edited by: user6244574 on 2011.03.07. 5:45

    1st idea:
    Oracle® Business Activity Monitoring - Architect User's Guide 10g (10.1.3.1.0) - B28992-01
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28992.pdf
    Usage:
    http://<host>:<http_port>/oraclebam
    Documentation:
    ■ Oracle Business Activity Monitoring Installation Guide
    ■ Oracle Business Activity Monitoring Administrator's Guide
    ■ Oracle Business Activity Monitoring Active Studio User's Guide
    You can read this kind of information ;)
    Setmonitoring [name=plan_name]
    *[restartonfailure=never|always|count]*
    *[restartfrequencymax=none|count_in_minutes]*
    2nd idea: MAX_FAILURES,FAILURE_COUNT,RETRY_COUNT with DBMS_SCHEDULER.SET_ATTRIBUTE ???? (But it is possible, only the Oracle Scheduler can change these attributes during processing)
    select JOB_NAME,JOB_SUBNAME,MAX_FAILURES,FAILURE_COUNT,RETRY_COUNT from ALL_SCHEDULER_JOBS ;
    select JOB_NAME,JOB_SUBNAME,FAILURE_COUNT,RETRY_COUNT from ALL_SCHEDULER_JOB_DESTS ;
    select PROGRAM_NAME,MAX_FAILURES from ALL_SCHEDULER_PROGRAMS ;
    Edited by: user6244574 on 2011.05.12. 3:14

  • Passing Arguments to Scheduler Chains

    Dear fellows of the Oracle,
    can I pass arguments to programs within a chain?
    What already works is calling a program from a job, passing an argument to the program. So far, so good.
    What I'm trying to do is to run a Scheduler Chain, where one of its steps starts the said program.
    Now, when I create a job to run the chain, I cannot add an argument value anymore with
    DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE
    because this throws an ora-27475.
    Looking at the docs it seems as if there's no way to do what I want - which I thought I could take for granted...
    Any ideas, anyone?
    I'm on 11.2.0.2.
    Kind regards,
    Uwe

    Eric,
    thanks for the explanation about the (potentially) non-deterministic execution order. From this point of view I can understand the limitation, although I still find it quite uncomfortable to use the workaround that Eddie pointed me to.
    On the other hand, if a step of my chain calls a program, maybe I just don't care about the execution order but I know that the arguments I need to pass to this program are the same at any point in time. That's exactly what happens when using the workaround with job metadata and a lookup table. From this point of view I cannot understand the limitation.
    OK, there can be chain configurations where different steps could call the same program and then with different arguments -- but even that wouldn't be possible with this limitation in place. Now, with that woraround I'll have to care about another table, clean it up after job execution etc... not so good, don't you agree?
    Enlighten me, please, should I have missed something.
    Cheers,
    Uwe

  • R4 EA - Scheduler Chain GUI - loss of utility

    In SQL Developer version 4 (Early Adopter), the default display for a Scheduler Chain has changed significantly.
    In version 3.2, the display is of the Chain beginning and end, connected by a mesh of steps (displayed as square icons) connected by rules (displayed as lines). It visually resembles a web or fishing net. This is very useful for seeing the flow of the chain and dependencies for each step.
    In version 4, the display is of a steps (displayed as green sprocket icons) in a single line. The rules appear to be woven into a single blue line connecting the sprocket icons. This is a significant reduction in utility. One can no longer see the relationships among steps.
    The new icons are fine, but please restore the web effect for the rules.

    Here are the results of the queries you sent. Let me know if you need anything further, or if you want the results in a different format.
    BEGIN
    dbms_scheduler.create_chain('"HP_DAILY_WF1"', evaluation_interval=>NULL, comments=>NULL
    , rule_set_name=>'"SCHED_RULESET$6"   '
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"ADD_BTCH_TO_SENT_EVNT_1"', program_name=>'"ADD_BATCH_TO_SENT_EVENTS_1"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"ADD_BTCH_TO_SENT_EVNT_2"', program_name=>'"ADD_BATCH_TO_SENT_EVENTS_2"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"ADD_BTCH_TO_SENT_EVNT_3"', program_name=>'"ADD_BATCH_TO_SENT_EVENTS_3"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"ADD_BTCH_TO_SENT_EVNT_4"', program_name=>'"ADD_BATCH_TO_SENT_EVENTS_4"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_BNCD_CAT_EVTS_DAILY"', program_name=>'"AGG_BNCD_CAT_EVENTS_DAILY"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_EVENTS_DAILY"', program_name=>'"AGG_EVENTS_DAILY"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_EVENTS_UNIQUE"', program_name=>'"AGG_EVENTS_UNIQUE"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_FIRST_EVNT_DTL_CLKD"', program_name=>'"AGG_FIRST_EVENT_DETAIL_CLKD"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_FIRST_EVNT_DTL_OPND"', program_name=>'"AGG_FIRST_EVENT_DETAIL_OPND"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_FIRST_EVNT_DTL_UNSUB"', program_name=>'"AGG_FIRST_EVENT_DETAIL_UNSUB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_MAIL_USER_LAST_ACT"', program_name=>'"AGG_MAIL_USER_LAST_ACT_CURR"');
    dbms_scheduler.alter_chain('"HP_DAILY_WF1"', step_name=>'"AGG_MAIL_USER_LAST_ACT"', attribute=>'SKIP', value=>TRUE);
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_SUBSCRB_USERS"', program_name=>'"AGG_SUBSCRB_USERS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_UNIQ_EVNT_DTL_CLKD"', program_name=>'"AGG_UNIQUE_EVENT_DETAIL_CLKD"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_UNIQ_EVNT_DTL_OPND"', program_name=>'"AGG_UNIQUE_EVENT_DETAIL_OPND"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_UNIQ_EVNT_DTL_UNSUB"', program_name=>'"AGG_UNIQUE_EVENT_DETAIL_UNSUB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_USER_EVENTS"', program_name=>'"AGG_USER_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EMAIL_CHAIN_STALLED"', program_name=>'"EMAIL_CHAIN_STALLED"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EMAIL_CHAIN_SUCCESS"', program_name=>'"EMAIL_CHAIN_SUCCESS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_BOUNCED_EVENTS"', program_name=>'"EXTRACT_BOUNCED_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_CACI_LKUP"', program_name=>'"EXTRACT_CACI_LKUP"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_CAMPAIGNS"', program_name=>'"EXTRACT_CAMPAIGNS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_CONTENTURL_HPCCM"', program_name=>'"EXTRACT_CONTENTURLALIAS_HPCCM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_CONTENTURL_HPUSA"', program_name=>'"EXTRACT_CONTENTURLALIAS_HPUSA"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_CONV_EVENTS"', program_name=>'"EXTRACT_CONVERSION_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_DIVISION_EVENTS"', program_name=>'"EXTRACT_DIVISION_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_EMAIL_MASTER"', program_name=>'"EXTRACT_EMAIL_MASTER"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_EMAIL_UNSUBSCRB"', program_name=>'"EXTRACT_EMAIL_UNSUBSCRB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_EVENTS"', program_name=>'"EXTRACT_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_E_C_VALUES"', program_name=>'"EXTRACT_E_C_VALUES"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_LIST_SOURCE"', program_name=>'"EXTRACT_LIST_SOURCE"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_TQS_PROGRAM"', program_name=>'"EXTRACT_TQS_PROGRAM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_URLALIAS"', program_name=>'"EXTRACT_URLALIAS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"EXTRACT_USERS"', program_name=>'"EXTRACT_USERS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"FILTER_OPENED_EVENTS"', program_name=>'"FILTER_OPENED_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"FILTER_SEND_EVENTS"', program_name=>'"FILTER_SEND_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"FILTER_USER2_DIM"', program_name=>'"FILTER_USER2_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_BATCH_DIM"', program_name=>'"LOAD_BATCH_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_BOUNCED_EVENTS"', program_name=>'"LOAD_BOUNCED_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_CAMPAIGN_DIM"', program_name=>'"LOAD_CAMPAIGN_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_CLICKED_EVENTS"', program_name=>'"LOAD_CLICKED_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_CONVERSION_EVENTS"', program_name=>'"LOAD_CONVERSION_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_EMAIL_MASTER"', program_name=>'"LOAD_EMAIL_MASTER"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_EMAIL_UNSUBSCRB"', program_name=>'"LOAD_EMAIL_UNSUBSCRB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_E_C_ATTR_MSG_BRIDGE"', program_name=>'"LOAD_E_C_ATTR_MSG_BRIDGE"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_E_C_ATTR_NAME_DIM"', program_name=>'"LOAD_E_C_ATTR_NAME_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_E_C_ATTR_VALUE_DIM"', program_name=>'"LOAD_E_C_ATTR_VALUE_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_LIST_SOURCE_DIM"', program_name=>'"LOAD_LIST_SOURCE_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_OPENED_EVENTS"', program_name=>'"LOAD_OPENED_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_POSTAL_CODE_DIM"', program_name=>'"LOAD_POSTAL_CODE_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_SENT_EVENTS"', program_name=>'"LOAD_SENT_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_TQS_PROGRAM_DIM"', program_name=>'"LOAD_TQS_PROGRAM_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_UNIQ_EVNT_DTL_CLKD"', program_name=>'"LOAD_UNIQUE_EVENT_DETAIL_CLKD"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_UNIQ_EVNT_DTL_OPND"', program_name=>'"LOAD_UNIQUE_EVENT_DETAIL_OPND"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_UNIQ_EVNT_DTL_UNSUB"', program_name=>'"LOAD_UNIQUE_EVENT_DETAIL_UNSUB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_UNMAILABLE_EVENTS"', program_name=>'"LOAD_UNMAILABLE_EVENTS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_URLALIAS_DIM_1"', program_name=>'"LOAD_URLALIAS_DIM_1"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_URLALIAS_DIM_2"', program_name=>'"LOAD_URLALIAS_DIM_2"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_USER2_DIM"', program_name=>'"LOAD_USER2_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_USERAGENT_DIM"', program_name=>'"LOAD_USERAGENT_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_USERS"', program_name=>'"LOAD_USERS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_USERS_SUBSCRB"', program_name=>'"LOAD_USERS_SUBSCRB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_USERS_UNSUBSCRB"', program_name=>'"LOAD_USERS_UNSUBSCRB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOAD_USER_LIST_SRC_BRDG"', program_name=>'"LOAD_USER_LIST_SRC_BRIDGE"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOG_WORKFLOW_END"', program_name=>'"LOG_DAILY_WORKFLOW_END"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"LOG_WORKFLOW_START"', program_name=>'"LOG_DAILY_WORKFLOW_START"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"PREP_AGG_1ST_EVNT_CLKD"', program_name=>'"PREP_AGG_FIRST_EVNT_DTL_CLKD"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"PREP_AGG_1ST_EVNT_OPND"', program_name=>'"PREP_AGG_FIRST_EVNT_DTL_OPND"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"PREP_AGG_1ST_EVNT_UNSUB"', program_name=>'"PREP_AGG_FIRST_EVNT_DTL_UNSUB"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"REFRESH_MVS"', program_name=>'"REFRESH_MVS"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"REFRESH_MV_TQS_PGM_DENRM"', program_name=>'"REFRESH_MV_TQS_PGM_DENORM_CURR"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"REFRESH_MV_USER_TENURE"', program_name=>'"REFRESH_MV_USER_TENURE"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"REFRESH_USER_TENURE_RPT"', program_name=>'"REFRESH_MV_USER_TENURE_RPT"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"SET_NEXT_RUN_BOUNDS"', program_name=>'"DETERMINE_EXTRACT_BOUNDARIES"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"UPDATE_USER2_DIM"', program_name=>'"UPDATE_USER2_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"UPDATE_USERAGENT_DIM"', program_name=>'"UPDATE_USERAGENT_DIM"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_EVENTS_MOBILE_DAILY"', program_name=>'"AGG_EVENTS_MOBILE_DAILY"');
    dbms_scheduler.define_chain_step('"HP_DAILY_WF1"', step_name=>'"AGG_EVENTS_AOID_DAILY"', program_name=>'"AGG_EVENTS_AOID_DAILY"');
    dbms_scheduler.enable('"HP_DAILY_WF1"');
    COMMIT;
    END;
    "RULE_NAME"
    "CONDITION"
    "ACTION"
    "R003"
    "EXTRACT_EMAIL_MASTER SUCCEEDED AND LOAD_CAMPAIGN_DIM SUCCEEDED"
    "START ""LOAD_EMAIL_MASTER"""
    "R004"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_USERS"""
    "R005"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_CACI_LKUP"""
    "R006"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_EVENTS"""
    "R007"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_CONV_EVENTS"""
    "R008"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_BOUNCED_EVENTS"""
    "R009"
    "LOAD_SENT_EVENTS SUCCEEDED and LOAD_EMAIL_MASTER SUCCEEDED"
    "START ""EXTRACT_EMAIL_UNSUBSCRB"""
    "R010"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_DIVISION_EVENTS"""
    "R011"
    "EXTRACT_CACI_LKUP SUCCEEDED and EXTRACT_USERS SUCCEEDED and LOAD_EMAIL_MASTER SUCCEEDED"
    "START ""LOAD_USERS"""
    "R012"
    "EXTRACT_EVENTS SUCCEEDED"
    "START ""FILTER_SEND_EVENTS"""
    "R013"
    "LOAD_EMAIL_MASTER SUCCEEDED"
    "START ""LOAD_BATCH_DIM"""
    "R014"
    "LOAD_BATCH_DIM  SUCCEEDED and FILTER_SEND_EVENTS SUCCEEDED"
    "START ""ADD_BTCH_TO_SENT_EVNT_1"""
    "R015"
    "ADD_BTCH_TO_SENT_EVNT_1 SUCCEEDED"
    "START ""ADD_BTCH_TO_SENT_EVNT_2"""
    "R016"
    "ADD_BTCH_TO_SENT_EVNT_2 SUCCEEDED"
    "START ""ADD_BTCH_TO_SENT_EVNT_3"""
    "R017"
    "ADD_BTCH_TO_SENT_EVNT_3 SUCCEEDED"
    "START ""ADD_BTCH_TO_SENT_EVNT_4"""
    "R018"
    "ADD_BTCH_TO_SENT_EVNT_4 SUCCEEDED and LOAD_USERS SUCCEEDED AND LOAD_USER2_DIM SUCCEEDED"
    "START ""LOAD_SENT_EVENTS"""
    "R019"
    "LOAD_SENT_EVENTS SUCCEEDED and UPDATE_USERAGENT_DIM SUCCEEDED AND LOAD_URLALIAS_DIM_1 SUCCEEDED AND LOAD_URLALIAS_DIM_2 SUCCEEDED"
    "START ""LOAD_CLICKED_EVENTS"""
    "R020"
    "LOAD_SENT_EVENTS SUCCEEDED  and UPDATE_USERAGENT_DIM SUCCEEDED AND FILTER_OPENED_EVENTS SUCCEEDED"
    "START ""LOAD_OPENED_EVENTS"""
    "R021"
    "LOAD_SENT_EVENTS SUCCEEDED"
    "START ""LOAD_UNMAILABLE_EVENTS"""
    "R022"
    "EXTRACT_BOUNCED_EVENTS SUCCEEDED and  LOAD_SENT_EVENTS SUCCEEDED"
    "START ""LOAD_BOUNCED_EVENTS"""
    "R023"
    "EXTRACT_CONV_EVENTS SUCCEEDED and  LOAD_SENT_EVENTS SUCCEEDED"
    "START ""LOAD_CONVERSION_EVENTS"""
    "R024"
    "EXTRACT_EMAIL_UNSUBSCRB SUCCEEDED and LOAD_SENT_EVENTS SUCCEEDED"
    "START ""LOAD_EMAIL_UNSUBSCRB"""
    "R025"
    "EXTRACT_DIVISION_EVENTS SUCCEEDED and LOAD_USERS SUCCEEDED and LOAD_SENT_EVENTS SUCCEEDED AND LOAD_USER2_DIM SUCCEEDED"
    "START ""LOAD_USERS_SUBSCRB"""
    "R026"
    "EXTRACT_DIVISION_EVENTS SUCCEEDED and LOAD_USERS SUCCEEDED and LOAD_SENT_EVENTS SUCCEEDED AND LOAD_USER2_DIM SUCCEEDED"
    "START ""LOAD_USERS_UNSUBSCRB"""
    "R027"
    "LOAD_OPENED_EVENTS SUCCEEDED and LOAD_CLICKED_EVENTS SUCCEEDED and LOAD_CONVERSION_EVENTS SUCCEEDED and LOAD_BOUNCED_EVENTS SUCCEEDED"
    "START ""AGG_EVENTS_DAILY"""
    "R028"
    "AGG_UNIQ_EVNT_DTL_OPND SUCCEEDED and AGG_UNIQ_EVNT_DTL_CLKD SUCCEEDED and AGG_UNIQ_EVNT_DTL_UNSUB SUCCEEDED"
    "START ""AGG_EVENTS_UNIQUE"""
    "R029"
    "LOAD_USERS SUCCEEDED"
    "START ""AGG_SUBSCRB_USERS"""
    "R030"
    "LOAD_USERS_SUBSCRB SUCCEEDED and LOAD_USERS_UNSUBSCRB SUCCEEDED and LOAD_UNMAILABLE_EVENTS SUCCEEDED"
    "START ""AGG_USER_EVENTS"""
    "R031"
    "AGG_EVENTS_DAILY SUCCEEDED and AGG_EVENTS_UNIQUE SUCCEEDED"
    "START ""REFRESH_MVS"""
    "R032"
    "REFRESH_MVS SUCCEEDED and AGG_EVENTS_MOBILE_DAILY SUCCEEDED AND AGG_EVENTS_AOID_DAILY SUCCEEDED AND AGG_USER_EVENTS SUCCEEDED and AGG_SUBSCRB_USERS SUCCEEDED AND AGG_BNCD_CAT_EVTS_DAILY SUCCEEDED AND AGG_MAIL_USER_LAST_ACT SUCCEEDED AND REFRESH_MV_TQS_PGM_DENRM SUCCEEDED AND  LOAD_E_C_ATTR_MSG_BRIDGE SUCCEEDED AND REFRESH_USER_TENURE_RPT SUCCEEDED AND AGG_FIRST_EVNT_DTL_OPND SUCCEEDED AND AGG_FIRST_EVNT_DTL_CLKD SUCCEEDED AND AGG_FIRST_EVNT_DTL_UNSUB SUCCEEDED"
    "START ""LOG_WORKFLOW_END"""
    "R033"
    "LOG_WORKFLOW_END SUCCEEDED AND EMAIL_CHAIN_SUCCESS SUCCEEDED"
    "START ""SET_NEXT_RUN_BOUNDS"""
    "R034"
    "SET_NEXT_RUN_BOUNDS SUCCEEDED"
    "END "
    "R035"
    "EXTRACT_EVENTS SUCCEEDED"
    "START ""LOAD_USERAGENT_DIM"""
    "R036"
    "LOAD_USERAGENT_DIM SUCCEEDED"
    "START ""UPDATE_USERAGENT_DIM"""
    "R037"
    "LOAD_USERS_SUBSCRB SUCCEEDED AND LOAD_USERS_UNSUBSCRB SUCCEEDED"
    "START ""REFRESH_MV_USER_TENURE"""
    "R038"
    "LOAD_EMAIL_MASTER SUCCEEDED"
    "START ""EXTRACT_URLALIAS"""
    "R039"
    "EXTRACT_CACI_LKUP SUCCEEDED"
    "START ""LOAD_POSTAL_CODE_DIM"""
    "R040"
    "LOAD_BOUNCED_EVENTS SUCCEEDED"
    "START ""AGG_BNCD_CAT_EVTS_DAILY"""
    "R041"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_CONTENTURL_HPCCM"""
    "R043"
    "EXTRACT_URLALIAS SUCCEEDED"
    "START ""LOAD_URLALIAS_DIM_1"""
    "R044"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_LIST_SOURCE"""
    "R045"
    "EXTRACT_LIST_SOURCE SUCCEEDED"
    "START ""LOAD_LIST_SOURCE_DIM"""
    "R046"
    "LOAD_OPENED_EVENTS SUCCEEDED and LOAD_CLICKED_EVENTS SUCCEEDED and LOAD_CONVERSION_EVENTS SUCCEEDED and LOAD_BOUNCED_EVENTS SUCCEEDED"
    "START ""AGG_MAIL_USER_LAST_ACT"""
    "R047"
    "EXTRACT_CONTENTURL_HPCCM SUCCEEDED"
    "START ""EXTRACT_CONTENTURL_HPUSA"""
    "R048"
    "LOAD_URLALIAS_DIM_1 SUCCEEDED AND EXTRACT_CONTENTURL_HPUSA SUCCEEDED"
    "START ""LOAD_URLALIAS_DIM_2"""
    "R049"
    "LOAD_USERS SUCCEEDED AND LOAD_LIST_SOURCE_DIM SUCCEEDED AND LOAD_USER2_DIM SUCCEEDED"
    "START ""LOAD_USER_LIST_SRC_BRDG"""
    "R050"
    "EXTRACT_EVENTS SUCCEEDED"
    "START ""FILTER_OPENED_EVENTS"""
    "R051"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_CAMPAIGNS"""
    "R052"
    "EXTRACT_CAMPAIGNS SUCCEEDED"
    "START ""LOAD_CAMPAIGN_DIM"""
    "R053"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_TQS_PROGRAM"""
    "R054"
    "EXTRACT_TQS_PROGRAM SUCCEEDED AND LOAD_CAMPAIGN_DIM SUCCEEDED AND LOAD_EMAIL_MASTER SUCCEEDED"
    "START ""LOAD_TQS_PROGRAM_DIM"""
    "R055"
    "LOAD_OPENED_EVENTS SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_CLKD COMPLETED"
    "START ""LOAD_UNIQ_EVNT_DTL_OPND"""
    "R056"
    "LOAD_CLICKED_EVENTS SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_UNSUB COMPLETED"
    "START ""LOAD_UNIQ_EVNT_DTL_CLKD"""
    "R057"
    "LOAD_EMAIL_UNSUBSCRB SUCCEEDED"
    "START ""LOAD_UNIQ_EVNT_DTL_UNSUB"""
    "R058"
    "LOAD_UNIQ_EVNT_DTL_OPND SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_CLKD COMPLETED AND  LOAD_UNIQ_EVNT_DTL_UNSUB COMPLETED AND AGG_UNIQ_EVNT_DTL_CLKD COMPLETED AND  AGG_UNIQ_EVNT_DTL_UNSUB COMPLETED"
    "START ""AGG_UNIQ_EVNT_DTL_OPND"""
    "R059"
    "LOAD_UNIQ_EVNT_DTL_CLKD SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_OPND COMPLETED AND LOAD_UNIQ_EVNT_DTL_UNSUB COMPLETED AND AGG_UNIQ_EVNT_DTL_UNSUB COMPLETED"
    "START ""AGG_UNIQ_EVNT_DTL_CLKD"""
    "R060"
    "LOAD_UNIQ_EVNT_DTL_UNSUB SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_OPND COMPLETED AND LOAD_UNIQ_EVNT_DTL_CLKD COMPLETED"
    "START ""AGG_UNIQ_EVNT_DTL_UNSUB"""
    "R061"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_E_C_VALUES"""
    "R062"
    "EXTRACT_E_C_VALUES SUCCEEDED"
    "START ""LOAD_E_C_ATTR_NAME_DIM"""
    "R063"
    "LOAD_E_C_ATTR_NAME_DIM SUCCEEDED"
    "START ""LOAD_E_C_ATTR_VALUE_DIM"""
    "R001"
    "TRUE"
    "START ""LOG_WORKFLOW_START"""
    "R064"
    "LOAD_E_C_ATTR_MSG_BRIDGE SUCCEEDED AND LOAD_OPENED_EVENTS SUCCEEDED AND LOAD_CLICKED_EVENTS SUCCEEDED"
    "START ""AGG_EVENTS_MOBILE_DAILY"""
    "R065"
    "LOAD_E_C_ATTR_VALUE_DIM SUCCEEDED AND LOAD_SENT_EVENTS SUCCEEDED"
    "START ""LOAD_E_C_ATTR_MSG_BRIDGE"""
    "R066"
    "EXTRACT_USERS SUCCEEDED"
    "START ""FILTER_USER2_DIM"""
    "R067"
    "FILTER_USER2_DIM SUCCEEDED"
    "START ""UPDATE_USER2_DIM"""
    "R068"
    "UPDATE_USER2_DIM SUCCEEDED AND LOAD_POSTAL_CODE_DIM SUCCEEDED AND LOAD_LIST_SOURCE_DIM SUCCEEDED"
    "START ""LOAD_USER2_DIM"""
    "R069"
    "REFRESH_MV_USER_TENURE SUCCEEDED"
    "START ""REFRESH_USER_TENURE_RPT"""
    "R070"
    "LOAD_UNIQ_EVNT_DTL_OPND SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_CLKD COMPLETED AND LOAD_UNIQ_EVNT_DTL_UNSUB COMPLETED AND AGG_FIRST_EVNT_DTL_CLKD COMPLETED AND AGG_FIRST_EVNT_DTL_UNSUB COMPLETED"
    "START ""PREP_AGG_1ST_EVNT_OPND"""
    "R071"
    "LOAD_UNIQ_EVNT_DTL_CLKD SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_OPND COMPLETED AND LOAD_UNIQ_EVNT_DTL_UNSUB COMPLETED AND AGG_FIRST_EVNT_DTL_UNSUB COMPLETED"
    "START ""PREP_AGG_1ST_EVNT_CLKD"""
    "R072"
    "LOAD_UNIQ_EVNT_DTL_UNSUB SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_CLKD COMPLETED AND LOAD_UNIQ_EVNT_DTL_OPND COMPLETED"
    "START ""PREP_AGG_1ST_EVNT_UNSUB"""
    "R073"
    "LOAD_TQS_PROGRAM_DIM SUCCEEDED"
    "START ""REFRESH_MV_TQS_PGM_DENRM"""
    "R074"
    "PREP_AGG_1ST_EVNT_OPND SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_CLKD COMPLETED AND LOAD_UNIQ_EVNT_DTL_UNSUB COMPLETED AND AGG_FIRST_EVNT_DTL_CLKD COMPLETED AND AGG_FIRST_EVNT_DTL_UNSUB COMPLETED"
    "START ""AGG_FIRST_EVNT_DTL_OPND"""
    "R075"
    "PREP_AGG_1ST_EVNT_CLKD SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_OPND COMPLETED AND LOAD_UNIQ_EVNT_DTL_UNSUB COMPLETED AND AGG_FIRST_EVNT_DTL_UNSUB COMPLETED"
    "START ""AGG_FIRST_EVNT_DTL_CLKD"""
    "R076"
    "PREP_AGG_1ST_EVNT_UNSUB SUCCEEDED AND LOAD_UNIQ_EVNT_DTL_CLKD COMPLETED AND LOAD_UNIQ_EVNT_DTL_OPND COMPLETED"
    "START ""AGG_FIRST_EVNT_DTL_UNSUB"""
    "R100"
    "LOG_WORKFLOW_END SUCCEEDED"
    "START ""EMAIL_CHAIN_SUCCESS"""
    "R101"
    "AGG_EVENTS_AOID_DAILY FAILED OR AGG_EVENTS_MOBILE_DAILY FAILED OR PREP_AGG_1ST_EVNT_OPND FAILED OR PREP_AGG_1ST_EVNT_CLKD FAILED OR  PREP_AGG_1ST_EVNT_UNSUB FAILED OR REFRESH_MV_TQS_PGM_DENRM FAILED OR AGG_FIRST_EVNT_DTL_CLKD FAILED OR AGG_FIRST_EVNT_DTL_OPND FAILED OR AGG_FIRST_EVNT_DTL_UNSUB FAILED OR REFRESH_MV_USER_TENURE FAILED OR REFRESH_USER_TENURE_RPT FAILED OR FILTER_USER2_DIM FAILED OR UPDATE_USER2_DIM FAILED OR LOAD_USER2_DIM FAILED OR EXTRACT_E_C_VALUES FAILED OR LOAD_E_C_ATTR_NAME_DIM FAILED OR LOAD_E_C_ATTR_VALUE_DIM FAILED OR LOAD_E_C_ATTR_MSG_BRIDGE FAILED OR LOAD_UNIQ_EVNT_DTL_OPND  FAILED OR LOAD_UNIQ_EVNT_DTL_CLKD FAILED OR LOAD_UNIQ_EVNT_DTL_UNSUB FAILED OR AGG_UNIQ_EVNT_DTL_CLKD FAILED OR AGG_UNIQ_EVNT_DTL_OPND FAILED OR AGG_UNIQ_EVNT_DTL_UNSUB FAILED OR EXTRACT_TQS_PROGRAM FAILED OR LOAD_TQS_PROGRAM_DIM FAILED OR EXTRACT_CAMPAIGNS FAILED OR LOAD_CAMPAIGN_DIM FAILED OR FILTER_OPENED_EVENTS FAILED OR LOAD_USER_LIST_SRC_BRDG FAILED OR EMAIL_CHAIN_SUCCESS FAILED OR LOAD_USERS_UNSUBSCRB FAILED OR LOG_WORKFLOW_END FAILED OR REFRESH_MVS FAILED OR UPDATE_USERAGENT_DIM FAILED OR LOAD_POSTAL_CODE_DIM FAILED OR LOG_WORKFLOW_START FAILED OR LOAD_USERAGENT_DIM FAILED OR ADD_BTCH_TO_SENT_EVNT_1 FAILED OR ADD_BTCH_TO_SENT_EVNT_2 FAILED OR ADD_BTCH_TO_SENT_EVNT_3 FAILED OR ADD_BTCH_TO_SENT_EVNT_4 FAILED OR AGG_EVENTS_DAILY FAILED OR AGG_EVENTS_UNIQUE FAILED OR AGG_SUBSCRB_USERS FAILED OR AGG_USER_EVENTS FAILED OR EXTRACT_BOUNCED_EVENTS FAILED OR SET_NEXT_RUN_BOUNDS FAILED OR EXTRACT_CACI_LKUP FAILED OR EXTRACT_CONV_EVENTS FAILED OR EXTRACT_DIVISION_EVENTS FAILED OR EXTRACT_EMAIL_MASTER FAILED OR EXTRACT_EMAIL_UNSUBSCRB FAILED OR EXTRACT_EVENTS FAILED OR EXTRACT_USERS FAILED OR FILTER_SEND_EVENTS FAILED OR LOAD_BATCH_DIM FAILED OR LOAD_BOUNCED_EVENTS FAILED OR LOAD_CLICKED_EVENTS FAILED OR LOAD_CONVERSION_EVENTS FAILED OR LOAD_EMAIL_MASTER FAILED OR LOAD_EMAIL_UNSUBSCRB FAILED OR LOAD_OPENED_EVENTS FAILED OR LOAD_SENT_EVENTS FAILED OR LOAD_UNMAILABLE_EVENTS FAILED OR LOAD_USERS FAILED OR LOAD_USERS_SUBSCRB FAILED OR AGG_BNCD_CAT_EVTS_DAILY FAILED OR EXTRACT_LIST_SOURCE FAILED OR LOAD_LIST_SOURCE_DIM FAILED OR AGG_MAIL_USER_LAST_ACT FAILED OR EXTRACT_URLALIAS FAILED OR EXTRACT_CONTENTURL_HPCCM FAILED OR EXTRACT_CONTENTURL_HPUSA FAILED OR LOAD_URLALIAS_DIM_1 FAILED OR LOAD_URLALIAS_DIM_2 FAILED"
    "START ""EMAIL_CHAIN_STALLED"""
    "R042"
    "LOAD_E_C_ATTR_MSG_BRIDGE SUCCEEDED AND AGG_EVENTS_DAILY SUCCEEDED"
    "START ""AGG_EVENTS_AOID_DAILY"""
    "R002"
    "LOG_WORKFLOW_START SUCCEEDED"
    "START ""EXTRACT_EMAIL_MASTER"""

  • Question about the chain step name in DEFINE_CHAIN_STEP

    I have questions about the chain step name in DEFINE_CHAIN_STEP:
    1. Can the step name be a number (e.g. "8")?
    2. Should the step name be unique within a chain or across all chains?
    I am having this exception:
    ORA-25448: rule DMUSER.RULE_6_3707 has errors
    ORA-22806: not an object or REF
    After I changed the step names (in DEFINE_CHAIN_STEP), the chain seems to run fine.
    Thanks,
    Denny

    The reason I asked about the step name is to confirm it can handle numbers (it looks it can handle it from the doc).
    Why I changed the step names say from "11" to "21", the error goes away, that puzzled me. Because the way I defined steps and the rules for the steps were exactly the same. Just changing the step names made the error goes away?!
    Thanks.

  • Send Message from Process Chain Step without Process Log

    We send a mail message, depending on the success or failure of the process chain step, to user list.
    When the message is sent not only custom message but also the status information and the process log are sent.
    Our users are only interested about the result of the chain and they don' t want to view all technical information.
    Is it possible to send message without process log?
    Regards

    Hi,
    Take 2 process(red and green line) from each of the process in the process Chain, one is for sucessfull and other is for failure and at the end of the proces chain,  just put all failure process to the OR and have add a ABAP Program (with Not Sucessfull) and then just put all sucessfull process to the AND and have add a ABAP Program (with Sucessfull) .
    This wil send the mail to the users, when ever there is failure in PC any where, or sends a mail ..if the process chain completes sucessfully.
    If you want only add the send of mail option at the end of the process chain, we can just add 2 process (red and green line) and have same flow as above. so that.. it will only sends mail..when there is failure or sucessfull of the process chian.
    Hope it helps ......

  • What 'item type' do I use to add action to SCHEDULER CHAIN folder?

    I am using SQL Developer version 3.1.06.82
    I would like to add a User Defined Extension to a Scheduler CHAIN. I am looking through the Namespace for Version 3.1 at: http://www.oracle.com/webfolder/technetwork/sqldeveloper/3_1/dialogs/index.html. Under the COMMON OBJECT TYPES, I do not see any of the Scheduler items. I was able to use <item type="SCHEDULER"> to add an action to the SCHEDULER folder, but what I really want to do is add an action to a CHAIN.
    Does anyone know what type name to use??
    Has the Namespace been updated and published somewhere else?
    If you have an example, it would be greatly appreciated.
    Edited by: 975201 on Feb 28, 2013 8:24 PM

    >
    I would like to add a User Defined Extension to a Scheduler CHAIN. I am looking through the Namespace for Version 3.1 at: http://www.oracle.com/webfolder/technetwork/sqldeveloper/3_1/dialogs/index.html. Under the COMMON OBJECT TYPES, I do not see any of the Scheduler items. I was able to use <item type="SCHEDULER"> to add an action to the SCHEDULER folder, but what I really want to do is add an action to a CHAIN.
    >
    Those COMMON OBJECT TYPES are database schema objects so SCHEDULER or CHAIN would not be in those lists.
    Did you try "CHAIN" or "SCHEDULER CHAIN"?
    I suggest you change your thread subject to match your question and maybe one of the developer team members will notice it.
    For example: What 'item type' do I use to add action to SCHEDULER CHAIN folder?

  • Execute process chain step based on value in a custom table

    HI,
    I have a requirement where i need to execute a process chain step based in the value of a field in a custom table.
    e.g. If ztable-zflag = 'X' then execute next step else stop.
    I am trying to use the decision between multiple alternatives process type, but i guess we can only use formulas in it.
    Also, i created a custom method and called it through the badi RSAR_CONNECTOR, but the same isnt working as expected.
    Would appreciate inputs from the experts.

    Hi,
    Thank you for your response.
    I followed exactly what is written in the document. But when I execute the process chain with the Decision between Multiple Alternatives process type, it fails with an exception message.
    Below is what I have done:
    Below is the code that I entered in the method (Please note that ZPC_CONTROL is the table from which I need to check the value. This table contains 2 fields: Process Chain Name and Flag. My requirement is that when a particular process chain has the flag checked, then the process chain should move ahead):
    Below is the GET method:
    Finally, here is the formula that I have written in the Decision Between Multiple Alternatives process type:
    And the event is Option 2 (which I assume will move the process chain forward if the flag is checked for the process chain ‘TEMP_TEST’)
    Please note that the flag for process chain ‘TEMP_TEST’ is checked in the table ZPC_CONTROL.
    Below is the error in the process chain:
    Please let me know where am I going wrong here. Appreciate your help.

  • Process Chain Step by Step

    Hi to all,
    Please can any one tell me, how to designe Process Chain Step by Step.
    Or any Document Related to that.
    i shall be thankful to you for this.
    Regards
    Pavneet Rana

    Hi Rana,
    Have you searched in the SDN or Google. this is the general topic was discussed n no of times and lots of documents are there on this.
    Check the below link which givs step by step
    Process chain creation - step by step
    /people/juergen.noe/blog/2008/01/11/process-chain-creation--step-by-step
    https://wiki.sdn.sap.com/wiki/display/BI/Processchainscreationandmonitoring
    Regards
    KP
    Edited by: prashanthk on Jan 19, 2011 5:08 PM

  • Chain step - attributes

    Hi all, Does chain steps have attributes? If so, what are all the attributes which can be modified or used??
    Thanks in advance

    Hi,
         I checked this documentation and only I was confused.
    Step Attributes
    The following is a list of step attributes that you can include in conditions when using SQL WHERE clause syntax:
    completed
    state
    start_date
    end_date
    error_code
    duration
    These are all the attributes for chain steps or for chain rules. because the condition is an attribute of chain rule na.
    And can I change these attributes or not ??
    Thanks

Maybe you are looking for

  • A few issues with my new BB Bold 9700

    Hey, i have a few questions, i thought best to keep it to one thread. FYI i updated my blackberry software today using my computer so it all should be on latest versions 1: GPS never ever works, simple, ive run diagnostics, they time out, and i can n

  • Problem in project system report ZPS_PROJSUMMARY

    i am working with a report ZPS_PROJSUMMARY which extracts all project summary report.now problem is it is extracting las financila years (2006 ) closed WBS element also with this years WBS elements. this problem happening in production only. this is

  • How to save then quit excel using activeX

    The task that I need to do is open existing excel file, append data to the last row, save data then close it. Everything works fine except saving the data. I used property workbook note to save then invoke node to close a workbook then invoke node to

  • Opening pdf link in chm.

    Opening pdf link in chm works fine in previews. But when chm is open elsewhere, clicking on pdf links result in showing a blank page with a broken file icon.

  • Collapse all tree issue

    Is there a way to modify or change a CONTRACT_ALL request of a Collapse all button of a tree, so all the highest level branches are displayed (those directly under a root). Currently only a root branch is visible after a request is processed. Thanks,