How to schedule mappings to process flows?

Hi,
I have shceduled a calendar (Job) which is referring to a process flow. But how can I make sure that the mappings are referring to the same process flow?
E.g. I have scheduled job at 10 AM , I have created the process flow for 10 AM referring to the same scheduled job.
My understanding here is there is a hierarchy : Scheduled jobs > Process Flows > Mappings
I have configured the process flow to run it at a scheduled job, now I want the mappings to understand to run at the same time as that of the schedule.
And also when I start the process flow all the mappings should get executed.
Is there any parameter to tell the process flow that all these mappings falls under you.
Hope I have made myself clear.
Can anyone please look into this query?
Thnks in adv..

When I double click and open my process flow I am not able to see any mapping. We have stored procedures written:
ln_exists NUMBER;
LS_ERROR VARCHAR2(200);
LD_START_PERIOD_DT DATE;
LD_END_PERIOD_DT DATE;
EX_PF_NOT_VALID EXCEPTION ;
EX_SUB_PF_NOT_VALID EXCEPTION ;
EX_LAYER_NOT_VALID EXCEPTION ;
EX_MODULE_NOT_VALID EXCEPTION ;
EX_DATE_FORMAT_ERR EXCEPTION ;
BEGIN
--1: Check the Process Flow parameter value
IF IP_PF IS NOT NULL THEN
select count(*)
into ln_exists
from adm_process_flow_par
where process_flow = IP_PF;
IF ln_exists =0 THEN
RAISE EX_PF_NOT_VALID;
END IF;
END IF;
--2: Check Sub Process Flow Parameters value
IF IP_SUB_PF IS NOT NULL THEN
select count(*)
into ln_exists
from adm_sub_pf_par
where sub_pf_code = IP_SUB_PF;
IF ln_exists = 0 then
RAISE EX_SUB_PF_NOT_VALID;
END IF;
END IF;
--3:Check Layer Code Parameter Value
IF IP_LAYER IS NOT NULL THEN
select count(*)
into ln_exists
from adm_lookup_code
where lookup_type='LAYER_CODE'
and lookup_code= IP_LAYER;
IF LN_EXISTS =0 THEN
RAISE EX_LAYER_NOT_VALID;
END IF;
END IF;
--4: Check Module Code Parmeter Value
IF IP_MODULE IS NOT NULL THEN
select count(*)
into ln_exists
from adm_lookup_code
where lookup_type IN ('SOURCE_SYSTEM','SUBJECT_CODE')
and lookup_code= IP_MODULE;
IF LN_EXISTS =0 THEN
RAISE EX_MODULE_NOT_VALID;
END IF;
END IF;
--5: Check start Period date & End Period Date Format
BEGIN
IF IP_START_PERIOD_DT IS NOT NULL THEN
LD_START_PERIOD_DT := TO_DATE(IP_START_PERIOD_DT,'YYYY-MM-DD');
END IF;
IF IP_END_PERIOD_DT IS NOT NULL THEN
LD_END_PERIOD_DT := TO_DATE(IP_END_PERIOD_DT,'YYYY-MM-DD');
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE EX_DATE_FORMAT_ERR;
END;
EXCEPTION
WHEN EX_DATE_FORMAT_ERR THEN
LS_ERROR := 'Date Format is not valid ,please check (FORMAT: YYYY-MM-DD HH24 /YYYYMMDDHH24)';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20002,LS_ERROR);
WHEN EX_PF_NOT_VALID THEN
LS_ERROR := 'The Process Flow Value is not valid ,please check table adm_process_flow_par';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20002,LS_ERROR);
WHEN EX_SUB_PF_NOT_VALID THEN
LS_ERROR := 'The Sub Process Flow Value is not valid ,please check table adm_sub_pf_par';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20003,LS_ERROR);
WHEN EX_LAYER_NOT_VALID THEN
LS_ERROR := 'The Layer Code Value is not valid ,please check adm_lookup_code(lookup_type="LAYER_CODE")';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20004,LS_ERROR);
WHEN EX_MODULE_NOT_VALID THEN
LS_ERROR := 'The Layer Code Value is not valid ,please check adm_lookup_code(lookup_type IN ("SOURCE_SYSTEM","SUBJECT_CODE")';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20005,LS_ERROR);
END;
Can anyone throw some light on this issue?
Edited by: user11001347 on May 11, 2010 11:46 PM

Similar Messages

  • Scheduling Mappings and Process Flows

    Can you please tell me how to schedule mappings and process flows in a little detail, if any one has done that. I think OEM can be used for this but dont have any clear cut idea of doing it. Can the mappings/process flows be scheduled without using OEM console ?
    Waiting for you suggestions.
    rgds
    -AP

    Hi
    You can schedule your mapping and process flows with OEM or database job.
    You will find script templates in the OWB HOME/owb/rtp/sql directory
    and you can scheldule them.
    If you want to do it in OEM use the oem_exec_template.sql file createing an OEM job. Read the OWB documentation about it. If you have any question about it ask it, I have done this procedure many times.
    Ott Karesz
    http://www.trendo-kft.hu

  • Multiple Schedules of Objects (Process Flows)

    Hello,
    How can you assign a process flow to two different schedules (and jobs) f.i. a week and a weekend job. Do I need to make some copy of the object as you assign object to a schedule.
    Regards,
    Edwin

    a process flow can only refer to one calendar at a time, for your requirement you will ahve to copy the process flow and refer the weekend calendar to one Pf and weekly calendar to another.
    this is precisely the reason why lot of companies use schedulers like autosys or control M as there is a calendar facility which can run the same job at different schedules rather have 2 different process flow and calendars.
    You might be better off using "sqlplus_exec_template" which can be found in /owb/rtp/sql folder and using a dbms scheduler to run this process flow in which case you can sue the same process flow but create 2 jobs to run at different times rather than creating 2 process flow and 2 different schedules.
    Regards

  • How to run procedure in Process flow

    Hello,
    I have a small procedure which I want to run in between two different mappings. I want to achieve it in process flow.
    I had understanding that this can be done using transformation but didn't had much success.
    Please suggest.
    Thanks

    You are correct that this is done with a transformation in the process flow, and this is the way to do it.
    What kind of error message did you get?
    Was it something with the deployed location for the transformation not being set?
    If thats the case, in the design center, mark the process flow and right click, then choose configure. Find the transformation and set the location for where the procedure is deployed.
    Ragnar

  • How to schedule infospokes in process chains..

    Hi All,
    I have a few infospokes to be scheduled in a process chain. In each infospoke, I have upto 10 jobs that are to be scheduled one after the other. At the end of these jobs I have to run a FTP script. I am new at creating the process chains. So can anybody help me out in letting me know:
    1. How to create a start process where I can select a given job by using its name
    2. How to run a FTP script as a follow up step on completion of a previous step.
    Thanks in advance
    John

    Hi John
    it a big task to explain all so I will try to give you the high level picture.
    1. process chain is easy to implement and learn.
       usually it is triggered either by a batch job or a
       batch job that fires an event.
    2. to call an OS (like Win or Unix) from the PC you can
       trigger an event from the end of the PC to call a
       ABAP program that will initiate an OS call.
       you use trx: SM69   - External Operating Sys Commands
       to set this call up.
    3. to implement an FTP you can do via a batch file with
       OS commands or by using free utilities (there are many of them).
    I hope it helps.
    Edan

  • How to monitor the wrapper process flows

    Hi,
    I have a process flow(main wrapper) which contains the 2 child process flows(child_PF1, child_PF2). which looks like below.
    start -> Child_PF1 -> Child_PF2 -> end
    I am able to run the the process flows successfully. I want to monitor the process flows and the % of completion of the process flow.
    I am able to check the parent and child process flows seperately. I am unable to link the parent process flow to its child work flows. Can anyone explain how to link/track the Parent process flow to its child process flows.
    When i open the Parent process flow i was able to see the child process flow as an operator. But i was not able to view the contents child process flow further.
    Oracle Workflow server version is 2.6.4
    OWB version is 10.1.0.4
    Thanks in Advance,
    SriGP.

    Hi,
    the following SQL works with OWB 10.2.
    SELECT to_char(x.created_on,'dd.mm. hh24:mi') as created_on,
           --x.root_id as r_id,
           sys_connect_by_path(x.map_name, '/') AS NAME,
           step_name as target,
           --x.map_name as map_name,
           --x.run_status,
           x.number_records_updated + x.number_records_inserted + x.number_records_merged + x.number_records_deleted AS "#R",
           --x.number_records_selected AS "#S",
           --x.number_records_inserted AS "#I",
           --x.number_records_updated AS "#U",
           --x.number_records_merged AS "#M",
           --x.number_records_deleted AS "#D",
           NVL(x.elapse_time, round((x.updated_on - x.created_on) * 86400)) AS secs,
           x.status
      FROM (SELECT r.top_level_execution_audit_id AS root_id,
                   r.parent_execution_audit_id AS parent_id,
                   r.execution_audit_id AS audit_id,
                   r.created_on,
                   r.updated_on,
                   coalesce(substr(m.map_name, 2, length(m.map_name) - 2), r.execution_name) AS map_name,
                   r.return_result,
                   s.elapse_time,
                   m.run_status,
                   s.number_records_selected,
                   s.number_records_inserted,
                   s.number_records_updated,
                   s.number_records_merged,
                   s.number_records_deleted,
                   s.step_name,
                   s.run_status as step_status,
                   s.elapse_time as step_time,
                   s.step_id,
                   p1.VALUE AS p1,
                   coalesce(e.run_error_message, msg.message_text, s.run_status, m.run_status, r.return_result, 'RUNNING') AS status,
                   msg.message_text
              FROM all_rt_audit_executions r,
                   all_rt_audit_map_runs m,
                   all_rt_audit_map_run_errors e,
                   all_rt_audit_step_runs s,
                   (SELECT execution_audit_id,
                           message_text
                      FROM all_rt_audit_exec_messages
                     WHERE message_line_number = 1) msg,
                   (SELECT p.execution_audit_id,
                           p.parameter_name,
                           p.parameter_kind,
                           p.VALUE
                      FROM all_rt_audit_execution_params p
                     WHERE p.parameter_kind = 'CUSTOM'
                       AND p.parameter_name = 'OTIM_ID') p1
             WHERE 1 = 1
               AND r.execution_audit_id = p1.execution_audit_id(+)
               AND m.map_run_id = e.map_run_id(+)
               AND m.map_run_id = s.map_run_id(+)
               AND r.execution_audit_id = m.execution_audit_id(+)
               AND r.execution_audit_id = msg.execution_audit_id(+)) x
    WHERE 1 = 1
       AND x.created_on > trunc(SYSDATE) - 0
    CONNECT BY x.parent_id = PRIOR x.audit_id
    START WITH x.parent_id IS NULL
    ORDER SIBLINGS BY x.root_id DESC, x.audit_id DESC, x.step_id DESCMaybe your are lucky and it will work also with OWB 10.1.
    Regards,
    Carsten.

  • OWB Error: Connection lost when assign a schedule to a process flow

    I have:
    - OWB 11Gr2
    - Oracle DB 10Gr2 Source/Target
    I have created a schedule module and set the location to be one of the target DB locations.
    Create a one of schedule and scheduled for daily execution.
    Open configuration of a process flow and assign with the schedule.
    After this, i tried to save the repository, and occurred the error message:
    "Repository Connection Error: The connection to the repository was lost, because of the following database error: Closed Connection
    Exit OWB without committing."
    The connection with the repository was lost and i can´t do more anything.
    I tried to create a separate location for the schedule, but it don´t make difference
    What´s happening?
    Thanks,
    Afonso

    Wea re running 11.2.0.2 and
    When looking at the trace log
    Dump continued from file: /data02/oramisc/diag/rdbms/dpmdbp/dpmdbp/trace/dpmdbp_ora_13503.trc
    ORA-00600: intern felkod, argument: [15570], [], [], [], [], [], [], [], [], [], [], []
    With this query "========= Dump for incident 16022 (ORA 600 [15570]) ========
    *** 2011-10-18 09:52:25.445
    dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
    ----- Current SQL Statement for this session (sql_id=7a76281h0tr2p) -----
    SELECT usage.locuoid, usage.locid, cal_property.elementid, cal_property.classname, schedulable.name || '_JOB' name, schedulable.name || '_JOB' logicalname, cal_property.uoid, cal_property.classname
    , cal_property.notm, cal_property.editable editable, cal_property.customerrenamable, cal_property.customerdeletable, cal_property.seeded, cal_property.UpdateTimestamp, cal_property.strongTypeName,
    cal_property.metadatasignature signature, 0 iconobject FROM Schedulable_v schedulable, CMPStringPropertyValue_v cal_property, CMPCalendarInstalledModule_v cal_mod, CMPPhysicalObject_v sched_phys, CM
    PCalendar_v cal, ( select prop.firstclassobject moduleid, prop.value locuoid, 0 locid from CMPPhysicalObject_v phys, CMPStringPropertyValue_v prop where prop.logicalname = 'SCHEDULE_MODULE_CONFIG.DE
    PLOYMENT.LOCATION' and prop.propertyOwner = phys.elementid and phys.namedconfiguration = 42636 union select installedmodule, '' locuoid, location locid from CMPLocationUsage_v locUse where deployme
    ntdefault = 1 and not exists ( select null from CMPPhysicalObject_v phys, CMPStringPropertyValue_v prop where prop.logicalname = 'SCHEDULE_MODULE_CONFIG.DEPLOYMENT.LOCATION' and prop.firstclassobjec
    t = locUse.installedmodule and prop.propertyOwner = phys.elementid and phys.namedconfiguration = 42636) ) usage WHERE cal_mod.elementid = usage.moduleid and cal_mod.elementid = cal.calendarmodule a
    nd substr(cal_property.value,0,32) = cal.uoid and cal_property.logicalname='SCHEDULABLE.PROPERTY' and (cal_property.firstclassobject = schedulable.elementid or cal_property.firstclassobject = sched
    _phys.elementid and sched_phys.logicalobject = schedulable.elementid) and cal_mod.owningproject = 42631 and cal_property.propertyowner = sched_phys.elementid and sched_phys.namedconfiguration=42636
    ORDER BY schedulable.name || '_JOB'"
    Coulöd be possible this bug
    Bug 12368039 ORA-600 [15570] with UNION ALL views with Parallel steps
    This note gives a brief overview of bug 12368039.
    The content was last updated on: 18-MAY-2011
    Click here for details of each of the sections below.
    Fixed:
    This issue is fixed in     
    * 11.2.0.3

  • How to configure FTP in Process Flow

    I'm having troubles configuring an FTP activity in my process flow. Any clue how that should be done?
    The documentation does not tell that much. I added the following to my parameter list in "Activity Panel"
    /${Working.Host}=100.1.15.236/${Working.User}=XYZ/${Working.Password}=xxxxx/${Working.Rootpath}=C:\Nova\Data/${Remote.Host}=192.168.100.100/${Remote.User}=oracle/${Remote.Password}=xxxxx/${Remote.RootPath}=/export/home/oracle/
    where "/" is the variable delimiter. The deployment went successfully, but when I try to execute, it hangs at the FTP activity and generate an error when cancelled.
    Any help will be appreciated
    Thanks,
    Rene

    URGENT!!!
    i have included FTP activity in my process flow, i can able to FTP the file to the remote server.
    I have two transitions and point to two end processes, one is end-success and the other one is end-error. But even if the FTP process completed and file have been successfully send to the remote server, still the process ends with End-Error.
    If the FTP activity couldn’t able to send the file due to some other reason still the process ends with the end-error.
    Can any one give me some clues.

  • Replace mappings in Process Flows

    Hi,
    Is there an easy way of replacing an existing mapping ina PF with new version of the same?
    thanks
    mahesh

    OK, here is some sample code you can play with. What it does is drop the mapping activity from the process flow and then replace it with a fresh version, rebuilding parameters and transitions.
    I used an additional DB connection to query for problem activities. You can see the logic in the $v_mapquery query: alter this if you need something different. This is much faster then using pure scripting: there would problems of RAM and speed while scanning all process flows using OMBPlus.
    So I cache all the needed info in some lists and then print/reconcile it.
    Having an extra open connection can cause some concurrency problems, but this was designed to run batch and send back an e-mail with results.
    Some extra notes:
    1-if a mapping is dropped I print the unbound activity but can't reconcile it
    2-activities are replaced so they will be out of position when you enter the process flow editor
    2-there was a bug in scripting related to SQLLoader mappings. I don't know if this has been fixed; so you can have problems with these.
    The following 3 procedures cache the process flow info.
    # Retrieve transitions of a proc. flow activity
    proc get_map_pf_transitions {\
         p_conn \
         p_process_flow_id \
         p_map_activity_id \
         p_pf_act_trans
         upvar $p_pf_act_trans v_pf_act_trans
         set v_query "select
         cast(decode (tr.source_activity_id, ?, 'OUTGOING','INCOMING') as varchar2(50)) TRANSITION_DIRECTION,
    process_id, process_name,
      transition_id, transition_name, business_name, description, condition,
                           source_activity_id, source_activity_name,
                            target_activity_id, target_activity_name
    from all_iv_process_transitions tr
           where tr.process_id = ?
           and (tr.source_activity_id = ?
                  or tr.target_activity_id = ?)
                order by source_activity_id";     
         set v_stmt [ $p_conn prepareCall $v_query ]
         $v_stmt {setLong int long} 1 $p_map_activity_id
         $v_stmt {setLong int long} 2 $p_process_flow_id
         $v_stmt {setLong int long} 3 $p_map_activity_id
         $v_stmt {setLong int long} 4 $p_map_activity_id
         set v_resultset [ $v_stmt  executeQuery ]
         # set to -1 so it goes to 0 when entering loop
         set v_transindex -1
         set v_temptran [list ]
         while { [ $v_resultset next ] == 1  } {
             incr v_transindex;
             lappend v_temptran \
                  [ list \
                       [$v_resultset getString TRANSITION_NAME] \
                       [$v_resultset getString DESCRIPTION] \
                       [$v_resultset getString CONDITION] \
                       [$v_resultset getString TRANSITION_DIRECTION] \
                       [$v_resultset getString SOURCE_ACTIVITY_NAME] \
                       [$v_resultset getString TARGET_ACTIVITY_NAME] \
        lappend v_pf_act_trans $v_temptran
    # Retrieve parameters of a proc. flow mapping
    proc get_map_pf_parameters {\
         p_conn \
         p_map_activity_id \
         p_pf_act_parameters
         upvar $p_pf_act_parameters v_pf_act_parameters
         set v_query "select
         parameter_owner_id, parameter_owner_name,
         PARAMETER_OWNER_ID, PARAMETER_NAME, DATA_TYPE, DEFAULT_VALUE parameter_value,
         BUSINESS_NAME, DESCRIPTION
         from ALL_IV_PROCESS_PARAMETERS pa
           where pa.parameter_owner_id = ?";     
         set v_stmt [ $p_conn prepareCall $v_query ]
         $v_stmt {setLong int long} 1 $p_map_activity_id
         set v_resultset [ $v_stmt  executeQuery ]
         # set to -1 so it goes to 0 when entering loop
         set v_paramindex -1
         set v_tempparam [list ]
         while { [ $v_resultset next ] == 1  } {
             incr v_paramindex;
             lappend v_tempparam \
                  [ list \
                       [$v_resultset getString PARAMETER_NAME] \
                       [$v_resultset getString DATA_TYPE] \
                       [$v_resultset getString PARAMETER_VALUE] \
                       [$v_resultset getString DESCRIPTION] \
        lappend v_pf_act_parameters $v_tempparam
    # Retrieve and cache all info needed to upgrade process flows
    # all parameters are lists which are appended, except the connection
    proc get_map_pf_unbound { \
         p_conn \
         p_upd_types \
         p_maps \
         p_pf_paths \
         p_pf_proc_names \
         p_pf_act_names \
         p_pf_act_parameters \
         p_pf_act_trans
         upvar $p_upd_types v_upd_types
         upvar $p_maps v_maps
         upvar $p_pf_paths v_pf_paths
         upvar $p_pf_proc_names v_pf_proc_names
         upvar $p_pf_act_names v_pf_act_names
         upvar $p_pf_act_parameters v_pf_act_parameters
         upvar $p_pf_act_trans v_pf_act_trans
    # query to retrieve unbound mappings (actually, I use views in the DB ... )
         set v_mapquery "with proc_maps as (
          select
       '/'||md.project_name||'/'|| information_system_name || '/' ||
                                pk.package_name pf_fqual_procpath,
       md.project_id pf_project_id,
       md.project_name pf_project_name,
       md.information_system_id pf_module_id,
       md.information_system_name pf_module_name,
       pk.package_id pf_package_id,
       pk.package_name pf_package_name,
       pr.process_id pf_process_id,
       pr.process_name pf_process_name,
       a.activity_id pf_activity_id,
       a.activity_name pf_activity_name,
       a.business_name pf_act_business_name,
       a.description pf_act_description,
       a.activity_type pf_act_activity_type,
       a.bound_object_id pf_act_bound_object_id,
       a.bound_object_name pf_act_bound_object_name
        from all_iv_process_activities a,
                                     all_iv_processes pr,
                                all_iv_packages pk,
                                all_iv_process_modules md
                 where
                 a.activity_type in (
                    'PlSqlMapProcessNoteTag', /* type for PLSQL mappings */
                    'SqlLdrProcessNoteTag' /* SQLLOADER mappings */)
                 and a.process_id = pr.process_id
                 and pk.package_id = pr.package_id
                 and md.INFORMATION_SYSTEM_ID = pk.schema_id
      maps as (
           select
         '/'||md.project_name||'/'||md.information_system_name||
         '/'||  mp.MAP_NAME mp_fqual_mapname,
           md.PROJECT_ID mp_project_id,
           md.PROJECT_NAME mp_project_name,
           md.INFORMATION_SYSTEM_ID mp_module_id,
           md.INFORMATION_SYSTEM_NAME mp_module_name,
           mp.MAP_ID mp_map_id,
           mp.MAP_NAME mp_map_name,
           mp.BUSINESS_NAME MP_BUSINESS_NAME ,
           mp.DESCRIPTION MP_DESCRIPTION
            from all_iv_xform_maps mp,
                      all_iv_information_systems md
                    where mp.INFORMATION_SYSTEM_ID = md.INFORMATION_SYSTEM_ID
    select * from (
    /* case 1: mapping name has changed */
    select
      '1-CHANGEDNAME' changetype,
    a.*,m.* from proc_maps a, maps m
                    where a.pf_act_bound_object_id = m.mp_map_id
                      and a.pf_act_bound_object_name <> m.mp_map_name
                      union all
    /* case 2: there's a new mapping with the old name... I'll reconcile only if
       the old mapping was dropped: otherwise you'll be in case 1:
       IMPORTANT- NOTE: I'll reconcile with a new mapping with the same name even
                      if found in a different module.
    select
      '2-REPLACED' changetype,
    a.*,mnew.* from proc_maps a,
                                     maps mnew,
                                maps mold
                    where a.pf_act_bound_object_id <> mnew.mp_map_id
                 and a.pf_act_bound_object_name = mnew.mp_map_name
                 /* verify that mapping is in the current project */
                 and mnew.mp_project_id = a.pf_project_id
                 and a.pf_act_bound_object_id = mold.mp_map_id (+)
                 and mold.mp_map_id is null
                         union all
    /* case 3: no matching mapping. I'll warn the user that the activity is not bound nor bindable */
       select
       '3-MISSING' changetype,
       a.*,mnew.* from proc_maps a, maps mnew, maps mold
                    where
                     a.pf_act_bound_object_name = mnew.mp_map_name (+)
                 and a.pf_project_id = mnew.mp_project_id (+)
                 and a.pf_act_bound_object_id = mold.mp_map_id (+)
                 and mnew.mp_map_id is null
                 and mold.mp_map_id is null)
                 order by changetype, pf_fqual_procpath, pf_process_name, pf_activity_name";
    # query to retrieve connections between pflow activities
         set v_transquery "select
    process_id, process_name,
      transition_id, transition_name, business_name, description, condition,
                           source_activity_id, source_activity_name,
                            target_activity_id, target_activity_name
    from all_iv_process_transitions tr
           where tr.process_id = ?
           and (tr.source_activity_id = ?
                  or tr.target_activity_id = ?)
                order by source_activity_id";
         set v_mapstmt [ $p_conn prepareCall $v_mapquery ]
         set v_resultset [ $v_mapstmt  executeQuery ]
         # set to -1 so it goes to 0 when entering loop
         set v_mapindex -1
         while { [ $v_resultset next ] == 1  } {
             incr v_mapindex;
             lappend v_upd_types [$v_resultset getString CHANGETYPE]
             set v_fqualmapname [$v_resultset getString MP_FQUAL_MAPNAME]
             lappend v_maps $v_fqualmapname
             set v_pf_activity_id [$v_resultset getLong PF_ACTIVITY_ID]
             set v_pf_process_id [$v_resultset getLong PF_PROCESS_ID]
              lappend v_pf_paths [$v_resultset getString PF_FQUAL_PROCPATH]
              lappend v_pf_proc_names [$v_resultset getString PF_PROCESS_NAME]
              lappend v_pf_act_names [$v_resultset getString PF_ACTIVITY_NAME]
              puts "Retrieving activity parameters...";
              get_map_pf_parameters $p_conn $v_pf_activity_id $p_pf_act_parameters
              puts "Retrieving activity transitions...";
              get_map_pf_transitions $p_conn $v_pf_process_id $v_pf_activity_id $p_pf_act_trans
    #          lappend v_pf_act_properties
    #          lappend v_pf_act_trans
               puts "All data retrieved for activity:";
               puts "[lindex $v_pf_paths $v_mapindex]/[lindex $v_pf_proc_names $v_mapindex]/[lindex $v_pf_act_names $v_mapindex]";     
               puts "Type: [lindex $v_upd_types $v_mapindex]";
    }And here's some example client code to load problem activities info, print it and reconcile (replace) activities.
    # open extra connection to access OWB public views
    set v_connstr "OWBREP/[email protected]:1521:ORCL"
    set v_jdbcconnstr "jdbc:oracle:thin:$p_connstr"
    java::call java.sql.DriverManager registerDriver [java::new oracle.jdbc.OracleDriver ]
    set v_conn [java::call java.sql.DriverManager getConnection $v_jdbcconnstr ]
    # retrieve and cache activity data
    set v_upd_types [list ]
    set v_maps [list ]
    set v_pf_paths [list ]
    set v_pf_proc_names [list ]
    set v_pf_act_names [list ]
    # activity parameters - will be a nested list
    set v_pf_act_parameters [list ]
    # activity transitions - will be a nested list
    set v_pf_act_trans [list ]
    get_map_pf_unbound $v_conn \
    v_upd_types \
    v_maps \
    v_pf_paths \
    v_pf_proc_names \
    v_pf_act_names \
    v_pf_act_parameters \
    v_pf_act_trans \
    $v_conn close
    #print results
    foreach \
         v_upd_type $v_upd_types \
         v_map $v_maps \
         v_pf_path $v_pf_paths \
         v_pf_proc_name $v_pf_proc_names \
         v_pf_act_name $v_pf_act_names \
         v_pf_act_parameterz $v_pf_act_parameters \
         v_pf_act_tranz $v_pf_act_trans \
         puts "*** Reconcile type: $v_upd_type";
         puts "Activity: $v_pf_path/$v_pf_proc_name/$v_pf_act_name"
         puts "Candidate mapping: $v_map"
    # types of activities I can reconcile
    set v_reconc_possible_types [ list "1-CHANGEDNAME" "2-REPLACED" ]
    set v_currentpath ""
    OMBCONN $v_connstr
    #reconcile
    foreach \
         v_upd_type $v_upd_types \
         v_map $v_maps \
         v_pf_path $v_pf_paths \
         v_pf_proc_name $v_pf_proc_names \
         v_pf_act_name $v_pf_act_names \
         v_pf_act_parameterz $v_pf_act_parameters \
         v_pf_act_tranz $v_pf_act_trans \
         if { [lsearch $v_reconc_possible_types $v_upd_type ] == -1 } {
         # skip non-reconcilable activities
              continue;
         puts "Reconciling  $v_pf_path/$v_pf_proc_name/$v_pf_act_name "
         puts "with mapping $v_map ..."     
         if { $v_pf_path != $v_currentpath } {
              OMBCC '$v_pf_path'
              set v_currentpath $v_pf_path     
         # drop and replace activity
         puts "Dropping activity...";
         OMBALTER PROCESS_FLOW '$v_pf_proc_name' \
              DELETE ACTIVITY '$v_pf_act_name';
         puts "Re-creating activity...";     
         # don't change activity name - maybe should inherit mapping name (if no collisions)
         OMBALTER PROCESS_FLOW '$v_pf_proc_name' ADD MAPPING ACTIVITY '$v_pf_act_name' \
                   SET REF MAPPING '$v_map';
         # add transitions
         puts "Adding transitions...";          
         foreach v_tran $v_pf_act_tranz {
              set v_TRANSITION_NAME [lindex $v_tran 0 ]
             set v_DESCRIPTION [lindex $v_tran 1 ]
             set v_CONDITION  [lindex $v_tran 2 ]
              set v_SOURCE_ACTIVITY_NAME [lindex $v_tran 4 ]
              set v_TARGET_ACTIVITY_NAME     [lindex $v_tran 5 ]     
              OMBALTER PROCESS_FLOW '$v_pf_proc_name' ADD TRANSITION '$v_TRANSITION_NAME' \
                   FROM ACTIVITY '$v_SOURCE_ACTIVITY_NAME' \
                   TO '$v_TARGET_ACTIVITY_NAME' \
                   SET PROPERTIES (TRANSITION_CONDITION, DESCRIPTION) VALUES \
                        ('$v_CONDITION','$v_DESCRIPTION');
         # set parameters
         puts "Setting parameters...";
         foreach v_param $v_pf_act_parameterz {
              set v_PARAMETER_NAME [lindex $v_param 0 ]
             set v_PARAMETER_VALUE [lindex $v_param 2 ]
             set v_DESCRIPTION [lindex $v_param 3 ]
             OMBALTER PROCESS_FLOW '$v_pf_proc_name' MODIFY ACTIVITY '$v_pf_act_name' \
                  MODIFY PARAMETER '$v_PARAMETER_NAME' SET \
                   PROPERTIES (VALUE,DESCRIPTION) VALUES ('$v_PARAMETER_VALUE','$v_DESCRIPTION') ;
         puts "Reconcile complete for $v_pf_path/$v_pf_proc_name/$v_pf_act_name";          
    }I hope I haven't lost too much in cutting and pasting! Anyway if something is not clear, ask freely. I don't use OWB built-in process flows any more, but I should remember enough to explain my own code.
    Antonio

  • What is the OMB+ script to apply a schedule to one process flow?

    Let's say process flow name : 'MY_PRLCESSFLOW'
    schedule name:'MY_SCHEDULE'
    so what is the script?
    thanks so much.

    http://blogs.oracle.com/warehousebuilder/2007/07/more_process_flow_basics_for_l.html
    OMBALTER PROCESS_FLOW_MODULE
    Purpose
    Alter the Process Flow Module by renaming it, and/or reset its properties.
    Prerequisites
    Should be in the context of a project.
    Syntax
    alterProcessFlowModuleCommand =  OMBALTER ( PROCESS_FLOW_MODULE
         "QUOTED_STRING" ( "renameClause" [ "alterPropertiesOrReferenceClause"
         ] | "alterPropertiesOrReferenceClause" ) )
    renameClause =  RENAME TO "QUOTED_STRING"
    alterPropertiesOrReferenceClause =  SET ( "setPropertiesClause" [ SET
         "setReferenceClause" [ UNSET "unsetReferenceClause" ] | UNSET
         "unsetReferenceClause" [ SET "setReferenceClause" ] ] |
         "setReferenceClause" [ UNSET "unsetReferenceClause" ] ) | UNSET
         "unsetReferenceClause" [ SET "setReferenceClause" ]
    setPropertiesClause =  PROPERTIES "(" "propertyNameList" ")" VALUES "("
         "propertyValueList" ")"
    setReferenceClause =  ( "setReferenceLocationClause" [ SET
         "setReferenceIconSetClause" ] | "setReferenceIconSetClause" )
    unsetReferenceClause =  ( "unsetReferenceLocationClause" [ UNSET
         "unsetReferenceIconSetClause" ] | "unsetReferenceIconSetClause" )
    propertyNameList =  "UNQUOTED_STRING" { "," "UNQUOTED_STRING" }
    propertyValueList =  "propertyValue" { "," "propertyValue" }
    setReferenceLocationClause =  ( REFERENCE | REF ) LOCATION "QUOTED_STRING"
    setReferenceIconSetClause =  ( REFERENCE | REF ) ICONSET "QUOTED_STRING"
    unsetReferenceLocationClause =  ( REFERENCE | REF ) LOCATION
         "QUOTED_STRING"
    unsetReferenceIconSetClause =  ( REFERENCE | REF ) ICONSET
    propertyValue =  ( "QUOTED_STRING" | "INTEGER_LITERAL" |
         "FLOATING_POINT_LITERAL" )
    Keywords And Parameters
    alterProcessFlowModuleCommand
    This command modifies an existing process flow module.
    renameClause
    Rename an existing process flow module.
    setPropertiesClause
    Set values of properties of a process flow module.
    Base properties for PROCESS_FLOW_MODULE:
    Name: BUSINESS_NAME
    Type: STRING(200)
    Valid Values: N/A
    Default: NAME
    Business name of a Process Flow Module
    Name: DESCRIPTION
    Type: STRING(4000)
    Valid Values: N/A
    Default: ''
    Description of a Process Flow Module
    propertyNameList
    Comma-delimited list of property names. Property names are not in
    quotation marks.
    propertyValueList
    Comma separated list of property values.
    setReferenceLocationClause
    Set a location to a supported workflow engine.
    unsetReferenceLocationClause
    Unset the location of the process flow module.
    propertyValue
    Value of a property.
    Examples
    OMBALTER PROCESS_FLOW_MODULE 'process_module' RENAME TO 'p_module' SET
    PROPERTIES (DESCRIPTION, BUSINESS_NAME) VALUES ('This becomes a process
    flow module.', 'process module')
    This will rename the Process Flow Module "process_module" to "p_module",
    and set its description to "This becomes a process flow module", set its
    business name to "process module".
    See Also
    OMBALTER, OMBCREATE PROCESS_FLOW_MODULE, OMBDROP PROCESS_FLOW_MODULE

  • Scheduling Mapping or Process Flows- How to?

    Hi
    I am able to succesfully deploy and execute mappings & PFs using control center. Now i want to test the scheduling part. How should i a schedule a mapping to run at regular intervals of time.
    Regards
    Vibhuti

    Hi I figured out a way to schedule my mapings as explained in the below link
    Scheduled Map Error: ORA-20001: Internal error ...
    but when i deploy my schduled job it gives mr the follwoing errors
    ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
    RPE-02224: Internal Error: Cannot grant privilege EXECUTE on object SPRO_OWNER.WB_RTI_WORKFLOW_UTIL to user SPRO_OWNER.
    What does it mean? Do i have to give any privileges on SPRO_OWNER.WB_RTI_WORKFLOW_UTIL pakage? If yes then what privileges do i have to give?
    Please let me know.
    Regards
    Vibhuti

  • How to Schedule a BPMN process to run at a particular time everyday?

    I have a timer start event for a BPMN process. I am using BPM 11g. I want that my process should trigger automatically everyday at 7pm. Can anyone please assist how to achieve this.
    I have tried to put in Time Cycle tab, *0 Months 1 Days 19:0:0*, but it is not working. Please help.

    Have the start event kick off in 24 hour cycles using a Start Timer event -> add an exclusive gateway that tests to see if it is after 7pm -> add a sequence flow to handle if is before 7pm -> add a Catch Timer event in the sequence flow using the logic in the previous post in the sequence flow that handles before 7pm -> add another sequence flow from the Exclusive Gateway to handle after 7pm -> add a Catch Timer event in this sequence flow using the logic in the previous post in the sequence flow -> the logic in this timer is the same except you'd add 24 hours (43) so that it kicks off tomorrow.
    Dan

  • How do you create a process flow diagram?

    I want to create a front panel for a simple process that I'm going to use LabView to monitor and push set-points to the controls. I want to end up with something similar to what you would see in a central control for a plant, just on a much smaller scale. I want to monitor tank level, tank temperature, whether a pump is on or off, etc. I've attached a crude example of what I'm hoping to make. Thanks in advance. 
    Attachments:
    Example.gif ‏11 KB

    You can create this on the front panel using decorations and controls that you customize. 
    Here is a link to get you started.   https://decibel.ni.com/content/groups/ui/blog/2010/04/29/creating-quality-uis-with-ni-labview--devel...
    There are quite a few links for UI's on the website.
    Mark Ramsdale

  • How to list mappings used in flow

    Hi all
    Is there a table or view which will list all objects (mappings) used in a given processflow?
    Any tip appreciated
    KR
    Rolf

    This is a query on OWB public views. The external join is used to show missing links (dropped mappings)
    SELECT
    m.PROJECT_NAME, m.INFORMATION_SYSTEM_NAME, pa.PACKAGE_NAME,
    pr.process_name, a.activity_name, a.bound_object_id,
    CASE WHEN x.map_id IS NULL THEN
         '*** MISSING LINK: '|| a.bound_object_name
    ELSE
         '/'||isys.PROJECT_NAME||'/' || isys.INFORMATION_SYSTEM_NAME || '/' || x.map_name
    END bound_mapping
    FROM
    all_iv_process_activities a,
    all_iv_processes pr,
         all_iv_packages pa,
         all_iv_process_modules m,
         all_iv_xform_maps x,
         all_iv_information_systems isys
    WHERE a.activity_type = 'PlSqlMapProcessNoteTag'
         AND a.process_id = pr.process_id
         AND pr.package_id = pa.package_id
         AND pa.schema_id = m.information_system_id
         AND x.map_id (+) = a.bound_object_id
         AND isys.information_system_id (+) = x.information_system_id
    ORDER BY 1,2,3,4,5

  • Problems scheduling process flow

    Using OWB I have create a number of mappings and also a process flow using the defined mappings. All the mappings and the process flow are successfully deployed and can be executed without problems from Deployment Manager. I can even successfully execute my process from OS command line using the sqlplus_exec_template.sql file :
    sqlplus vlad_proiect/vlad@proiect @F:\Oracle\OraWB92\owb\rtp\sql\sqlplus_exec_template.sql vlad_runtime ORACLE_WORK_FLOW PROCESS INCARC "," ","
    where :
    vlad_proiect/vlad my user name and passwd
    proiect my database SID
    vlad_runtime is the Runtime Repository owner
    ORACLE_WORK_FLOW is the location of the process flow
    INCARC is the process name.
    I tried to do the same thing using OEM. I followed the example
    http://otn.oracle.com/products/warehouse/htdocs/oem_scheduling_viewlet_swf.html
    and the indication from WB User guide chapter Scheduling Mappings and Process Flows (13-19) but the scheduled job fails with the following reason :
    VNI-2015 : The Node preferred credentials for the target node are either invalid or do not have sufficient privileges to complete the operation.
    On Windows platforms, the Node credentials specified for the Windows target should have the "Logon as a batch job" privilege.
    I have created the job as follows:
    Tab General
     Job name: TEST
    Selected target: Proiect
    Tab Tasks
    Tasks: Run SQL*Plus script
    Tab Parameters
    Parameters: vlad_runtime ORACLE_WORK_FLOW PROCESS INCARC "," ","
    Override preferred credentials: checked
    User name: vlad_runtime_acc the Runtime Repository access user
    Password: vlad the Runtime Repository acc user passwd
    I have imported the script oem_exec_template.sql
    And in the Preferred credentials (from Configuration->Preferences->Administrator preferences) I set :
    Database : Proiect with user vlad_proiect and my passwd.
    Node : localhost with user vlad_runtime and his passwd.
    Somewhere something is wrong set (or not set at all?) or …?

    Razvan,
    When OEM executes a scheduled job, it will logon to the node (i.e. your machine) as the user that is specified in the preferred credentials of OEM. That user (provided there is one... which is not necessarily default) is an operating system user and must have the 'logon as batch job' privilege. You can set this option (on Windows 2000) by going into control panel, administrative tools, local security policy, local policies, user rights assignment. Look for 'logon as batch job' and make sure the user being used to logon to the node has the privilege.
    This setup is actually provided in the installation guide as well.
    Hope this helps,
    Mark.

Maybe you are looking for