Process Flow Parameter Binding.

The docs on using process flow parameters are a bit sparse, so I wonder if anyone else has some input.
We kick off our ETL processes by an external enterprise scheduling tool due to several remote dependencies. This tool provides us with an audit id that we want to tag all of our current rows loaded with. Now, creating input parameters on the mappings is easy, but the docs seem to indicate that a parameter passed into a process flow can only be bound to one location. Given that our process includes a few hundred mappings, this would require the input parameter be input several hunderd times with each instance bound to a single mapping. That is not a maintainable option. Similarly, any documentation on passing OUT parameters from mappings to subsequent mappings seems entirely absent, so I'm not sure if I can "daisy chain" passing this parameter along.
Which, at this point, leaves me with passing in the variable to the process flow, having the first step be a SQL call that saves this ID to a table, and then having each mapping query this table for the audit ID in a pre-mapping procedure to use to tag the rows. The Process Flow will also have to have a closing SQL script to clear the audit id out of the table.
Is this my best option? Or does anyone have a better idea?
Thanks,
Mike

In 9.2, parameters were added by way of the property sheet for the Start activity.
In 10.2 what you do is, in the Explorer portion (the top section) of the palette you select the "Start" activity. If you then look at the top bar of the Explorer portion of the palette you will note that the leftmost icon (a green plus sign over a folder) is enabled. This is the Create button which, when pressed, will create an input parameter to the process flow. This paramter may then be used as a bind variable by other activities in the process flow.
Cheers,
Mike

Similar Messages

  • OWB embeded process flow - parameter binding problem

    I've installed and Oracle 10g Database, after the database installation I added the Oracle Workflow server software. To complete the installation I ran the wfca.
    Later I get to define a process flow in OWB (cheesy) and the process flow seems to be working well (I've done all the registrations necesary also ), but when I am trying to do the parameter binding is not working. I do get the window prompt for the parameter and I enter the date parameter ( I tried different formats like 'YYYY/MM/DD' 'dd-mon-yyyy'), but after I check the runtime in the web browser the parameter is not pass to next process. I tried many things for the last week but I cannot get it to pass the parameter from one process to another.
    Any ideas,
    HELP !!!!!

    did u manage to resolve this issue? we are facing the same problem.

  • Mapping audit_id in process flow with parameter

    Hello!
    I have a following request.
    I would like to get AUDIT_EXECUTION_ID for certain Mapping in process flow and pass this ID to next mapping (all this with help of parameters I guess??) to get some data from AUDIT tables. How to do this?
    OWB version 10.2.0.1
    Thank you Gorazd
    Edited by: gor on May 9, 2011 1:40 PM

    Hi,
    It is a bit complicated and technical.
    Will give you a hint.
    You need to install run_my_owb_stuff as a function, grant access, and create a public synonym.
    Then within you have to add capturing of the execution_id as an additional custom parameter. (see below).
    Once done. Add a Start parameter with same name to each Process Flow, and Bind it to any activity that you want to use the parameter with.
    -- Override Parameters
    dbms_output.put_line('Stage 3: Overriding Parameters');
    -- override_system_input_params(l_audit_execution_id, p_system_params);
    if p_task_type='PROCESS' then
    -- GRI addition
         l_custom_params := p_custom_params || ', p_execution_id=' || l_audit_execution_id;
    override_custom_input_params(l_audit_execution_id, l_custom_params);
    else
         override_custom_input_params(l_audit_execution_id, p_custom_params);
         end if;
    -- override_custom_input_params(l_audit_execution_id, p_custom_params);
    - Jojo

  • Can not delete a parameter of a mapping in a process flow

    Hi,
    I want to delete a certain input parameter of all mappings in a flow with tcl.
    I use this:
    OMBALTER PROCESS_FLOW '$flow' DELETE PARAMETER 'IP_VERSION' OF ACTIVITY '$act'
    If i test this in the OMBPlus window it says it deleted it however it is still there i the flow.
    If i use this statement in a tcl script the script halts without message.
    It says :
    Process Flow Parameter IP_VERSION deleted.
    process Flow PFP_MIKE_1 altered.
    And when i retrieve the parameters afterwards it is indeed stil listed:
    OMBRETRIEVE PROCESS_FLOW '$flow' ACTIVITY '$act' GET PARAMETERS.
    Can somebody confirm:
    --that i am using the proper syntax
    --if this is a known bug in owb 10gr2 10.2.0.1.31
    rgrds Mike
    Nobody ?
    Edited by: MichaelR64 on 7-jun-2013 9:45
    Edited by: MichaelR64 on 7-jun-2013 9:46

    Nobody ?
    I did some more testing.
    The clause i am using is this: deleteGenericActivityParameterClause
    deleteGenericActivityParameterClause = PARAMETER "QUOTED_STRING" OF ACTIVITY "QUOTED_STRING"
    See here: http://docs.oracle.com/html/E14406_01/chap4003.htm for the 11g verrsion.
    My flow has calls to other mappings in it.
    Both the mappings and the flow itself have this input parameter IP_VERSION.
    It seems the OMBplus parser is making an error.
    When i specify the name of the input param that is of the flow(and not the mapping in the flow) , but the rest of the command specifies the mapping activity as in OP, then OMB says that it deleted the parameter and that it altered the flow.
    And it halts there.
    But when i check the actual flow nothing has changed.
    When i specify the name of parameter that the called mapping has , ofcourse with the full command line as in OP, then OMBplus says it can not find the specified parameter.
    So it seems that the parser makes two errors:
    When searching for the parameter it looks in the wrong place, it always looks in the flow section instead of the acitvy specified.
    The ' OF ACTIVITY '$act' ' part is not used it seems.
    The delete part of the instruction is also confused by this and says it deleted the parameter but nothing actually happens.
    Hope somebody can confirm/shed more light on this.
    Edited by: MichaelR64 on 6-jun-2013 17:07

  • Creating variables in Process Flows and using thse variables in the filter

    Hi,
    I am new to OWB and in learing stage. Need to information.
    *1. as to how pass/create/use variables to OWB mapping ?*
    *2. Creating variables in Process Flows and using thse variables in the filter operator of the OWB mapping?*
    *3. Other mechanisms of how to create/use variables within OWB mapping itself ?*
    can you please provide the above details and guide me / help me in this regard.
    Thanks,
    skms.

    1. Add parameters to your mapping using the MAPPING INPUT PARAMETER from the pallette.
    2. Add parameters to the START operator in the process flow. Bind the process flow parameter to the Mapping parameter.
    3. May be appropriate to use CONSTANTS instead of parameters.
    Regards
    Si

  • Conversion error in process flow

    I've build a process flow with the following construction
    1. Function call (DB) which returns a date via a OUT parameter (Checked)
    2. Bound the OUT parameter to a Process-flow parameter of type date
    3. Use the proces-flow parameter to bind a input parameter in a following mapping.
    All is well in validation, generation and deployment, but upon running I stumble onto a conversion error. Somehow the process-flow parameter is represented in a format (2006-09-21 00:00:00.000000000 +02:00) which is not accepted in the mapping (tries to convert it using 'yyyy-mm-dd'). I cannot find the conversion in the coding.
    I've tried to see if either in the mapping or in the process-flow I'm able to input the format of the date, but was not successful.
    Anyone any idea

    Chris,
    Looks like a request has not got deleted properly from the table :
    Options that you could look at :
    1. Delete all the data from the ODS and load again ( if that is an option )
    2. There are some entries you need to delete from the RSODSACTREQ table- but for this the suggestion would be to raise an OSS note for SAP to look into the same - we had a similar issue and raised an OSS note for the same and then got some notes from sap.
    Also please mention your BI version and patch level.
    Arun

  • Process Flow - Email

    Hi!
    I need some assistance regarding my email process flow.
    Lets say I have process flows. One process flow runs a single mapping . If it ends in error it launchas another process flow.
    This other process flow is my email process flow. Its just a process flow(killing my self writing process flow) which just sends out an email.
    So if my 1st PF is failed, I get an email.
    What Im trying to do now is use global variables. So I have a varible in my PF1 with value = Error in PF1. And I now want to bind this variable to my EMAIL variable in my EMAIL PF.
    This means, if PF1 Error = Send this varible into PF2.
    I have tried using IN/OUT parameters, trying to bind variables.. But I cannot get to to bind my EMAIL variable to my PF1 variable.
    Any sugg?
    Cheers

    If PF1 and PF2 are sub-process flows of e.g. PF3, then it should be possible to just use the variable i.e. on the START operator of PF2 you can define a Process Flow Parameter (IN), it should then be possible to bind the Variable to the parameter of PF2.
    Sounds like you're nearly there from what you've tried.
    Si

  • How to combine text with variable in process flow

    Hi,
    I have created a function that returns the environment that a process flow is running in, Production, Test or Development. I have been able to bind the output of the function into a variable in a process flow and bind the variable to the subject of an email activity. I'd like to go one step more and combine the value of the variable with some text to explain which step in the process flow generated the email. Is there a way to concatenate text to a variable or to add an OWB system variable? I've seen an example where the subject of the email is
    "Failed mapping <mapping name>"
    but I want my subject to be "PROD Failed mapping <mapping name>" where the "PROD" is from a process flow variable or function return value.
    Is this possible?
    Thanks
    Don Keyes

    Hi Don,
    you can perform this task with ASSIGN activity.
    For example, you have two variable V_ENV_TYPE (with type of environment) and V_TEXT ("Failed mapping <mapping name>"). Define additinal variable V_NEW_TEXT, bind Variable parameter of Assign activity to V_NEW_TEXT variable and define value in Assign activity as
    V_ENV_TYPE || ' ' || V_TEXTRegards,
    Oleg

  • 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

  • How to bind mapping input parameter in process flow using OMB Plus

    Hi
    I have created a process flow with a mapping.
    This mapping has a input parameter, that I want to bind to a variable using OMBPlus
    OMBALTER PROCESS_FLOW '$process' MODIFY PARAMETER 'P_EOD_DATE_IN' SET PROPERTIES (BINDING) VALUES ('V_EOD_DATE') does not work as P_EOD_DATE is NOT a process parameter
    neither does
    OMBALTER PROCESS_FLOW '$process' MODIFY PARAMETER '$mapname/P_EOD_DATE_IN' SET PROPERTIES (BINDING) VALUES ('V_EOD_DATE') as the reference '$mapname/P_EOD_DATE_IN' is not valid.
    Any suggestions ?
    Best Regards
    Klaus

    Hi Klaus,
    look here {thread:id=640397}
    Regards,
    oleg

  • Input Parameter in process flow

    Hi, I can't pass a parameter in a process flow, I'm following these step:
    To accomplish your task you should do following steps:
    1. Define input parameters for all your mappings
    2. Collect mappings within process flow
    3. Define process parameters.
    To do this withing Process editor and point somewhere on process diagram - don't select any activities In bottom-left window you will see the list of all process' activities. Select "Start" activity and press Add button below. New parameter line should appear under Start activity. Edit name and type of parameter and repeat creating input process parameters.
    4. Select Mapping with input parameters. In bottom-left window selectted activity will appear. Click on plus sign to expand mapping parameters. For each parameter set its Binding to the Process parameter. Continue with other mappings.
    The process flow recibe the input parameter, but it's not passing through the mappings
    if I run the maps one by one, the result is Ok
    Thanks and regards

    Hi
    How do you know the process flow is receiving the input, and that the mapping is not?
    So you followed the following
    http://blogs.oracle.com/warehousebuilder/2009/01/process_flow_parameters_1.html
    but with a map as the activity?
    Cheers
    David

  • Binding variables in Process Flows

    I'm attempting to bind a variable defined in the Start activity to a Mapping activity's Input parameter. When I expand the Mapping activity and select the Input parameter in question, it forces me to explicitly enter a value. It does not show the Start activity parameter in the Binding listbox.
    This appears to work fine for other activities within a Process Flow (Email, FTP, Transform, Subprocess) but not with a Mapping. Is this a bug or by design?
    I'm working on OWB 9.2
    Dave

    Hi David,
    Sorry for the delay, I just tested this and mine nicely complies to what I want. Added a number input parameter to a mapping. Then added a number input in the Start activity. This works.
    Then I tried to do a string input on the start and try to bind that, and this does give the your result.
    Process flow only allows you to bind variables with the same data type (or equivalent). So please take a look at the datatypes for the mapping input and the Start activity parameter.
    If they are the same (e.g. integer and number, string and varchar2) this works.
    Jean-Pierre

  • Mapping parameters binding gets removed in process flow

    Hi All,
    whenever i import a mdl file from development to production
    parameters binding of few mappings and pprocedures in process flow get removed automatically.
    for example Map1 in PF1 has input parameter p1 binding set to Pf.p1.
    this binding is getting automatically removed when i import the mdl file from development to production.
    I am in big trouble bcz of it.
    could anyone plz help.
    Thanks in anticipation,
    RD_RBS

    This also happend to us when we moved from dev to prod. We really didn't find any good way to bypass this but just rather enter the binding values again manually. You might wanna check a few other things that got lost during the move. Such as DB Link(DB Connections on stage tables) and Outgoing Transitions in the process flows.

  • Can I pass a parameter to a mapping without using a process flow?

    I have to load data from multiple countries at different times. Rather than creating an individual mapping for each country, I want to create 1 mapping and pass the country code as a parameter to the mapping. I tried to use an input parameter in the mapping and add a custom parameter to the sqlplus_exec_template hoping the custom parameter would pass to the mapping input parameter but it's not working. No data loads.
    When I add a default value to the input parameter, the data loads but this isn't the solution I need. The value of the parameter will vary depending on the country so I can't use defaults. Since the mappings load automatically, I need the script to be able to pass the parameter in.
    I'm trying to avoid going through a process flow because that just seems like overkill for what I need to do. I just want to load all the data where country code = 'X'. Is this even possible?

    o.k. I tried everything to see which would be the best scenario.
    Zeppo - I can't use your solution because ".main", I believe, applies to an older version of OWB. We have 10g. I know in 3.1 ".main" applies because I still have mappings from that version. Doesn't apply to 10g.
    Sutirtha - I set the property for the prompt but it still didn't work.
    MccM - Yes, the premapping process works perfectly. Only thing is that I have to come up with so many different scenarios in the If then else logic. Giving me a migraine ...
    .... so ....
    I punked out and created a table that stores all of the load times by country code. In the joiner, I linked the table's country code to the country code in my view and only retrieved data where the table's load hour equals the sysdate hour. Now all I have to do is change an entry in the working table if I need to reschedule a load.
    It's cluggy but it works ... and I met me goal of only using 1 mapping.
    Thanks to all of you for providing your input. Much appreciated.

  • Date parameter in a process flow

    Hi,
    I´m working with OWB 10.1.0.2.0.
    I have a process flow with a transform.
    The transform has a date parameter and I´ve defined a date parameter in the start activity, which is bound to the start parameter.
    If I try to pass a date parameter in this form, sysdate, the process doesn´t recognize it and in the all_rt_audit_execution_params table i can see that the param process has no value.
    If I pass a date parameter in this format 2006/08/07 the process works fine
    I need to pass the date parameter from start activity to the process activity using expresions with sysdate,
    may anyone help me? please and thanks
    beatriz

    Hi,
    there are several tasks you want to accomplish:
    1. "I need to check if the parameter file exists"
    Therefor OWB has the File Exists Activity (Process Flow). This one checks if a file exists with specified name on specified location. If so it returns with SUCCESS. If not, it returns a WARNING. In second case you should do a sleep for a while and then re-check.
    2. "accessing the date value from the parameter file"
    There will be several ways to do this. The easiest one may be, to declare a external Table on this file and simply select from it (use it as a source in your mapping)
    3. "After the ETL is finished running, the name of the parameter file needs to be changed"
    In your process flow you create a user defined activity. In this one you start cmd.exe (on windows) and execute any DOS-commands you like. In this case a move or rename.
    Hope I could help you...
    Bye,
    iOn.

Maybe you are looking for

  • Is there a way to unhide a control at edit-time?

    This should be a simple question; I'm probably missing something obvious.  Sometimes I will be working on an application that I can't run because my computer is not hooked up to the necessary hardware, like motor controllers or DAQ.  In that program,

  • Music manager can't convert music shows status pen...

    I'm trying to convert mp3 files to M4A files with music manager 1.0 When I select the files I want to convert and click 'File>Convert to mobile optimised format' the status goes to 'Pending' and does not get any further. I am using PC suite 6.8 on Wi

  • Connecting Bluetooth Keyboard to N95?

    I have an N95 phone and have purchased a non nokia Bluetooth Keyboard (Xema)and I am having problems making it work? It pairs with the phone but then does not work? The seller suggests that you have to remove nokia sofware for their own keyboard, but

  • RFC_NO_AUTHORITY - Runtime error

    Hi All   I am calling  RFC (which in R/3 system) from APO system , but I am getting the runtime error as "RFC_NO_AUTHORITY".   Please suggest me on this. Regards Saurabh.

  • Mac crashes while importing / viewing photos in Lightroom

    Does any one have any clue as to what might be causing my Mac to crash/stall when I am: Using Lightoom to import files / viewing the files in library while they download. (It doesn't crash if I just leave it to download and don't view the files). I'm