Process flow Activity File Exists

Hi
Software: warehouse builder 11.1.0.7
OS: Redhat 5.5
DB: 11gR1
I am trying to use the activity "File Exist" on a process flow to know if a file does exist, with two transitions
one with condition "EXISTS" that ends in success and one with the condition "MISSING", when the file
exists the process flow acts normal with end success, but when the file doesn't exist the process flow
just hangs and doesn't finish.
Am i missing some configuration?

You have to provide multiple transitions (arrows) out of the file_exists activity and the define the transition conditions (in the transition view section of the window) for success and error. In that case, if the file exists, the flow will continue along the sucess transition path, if it doesn't it will continue down the ERROR path. The error path can then end up into an END_ERROR activity and that will make the process flow stop if the file is not found, just your expected behaviour.
If you have only a single unconditional transition (arrow) out of the file_exists, the process flow will continue regardless of the FILE_EXISTS activity.
Regards:
Igor

Similar Messages

  • Parametized USER_DEFINED process flow activity

    Can someone help? I am attempting to use USER_DEFINED process flow activity to copy a file to another location under a new name.
    The names for the source and destination file will be generated at execution time by a mapping that will create the file.
    The challenge is how do I pass these file names a parameters; a, b to a file copy script I have written.
    You help will be appreciated.

    This should be possible as we have done a similar thing.
    How are the source and destination files generated in the mapping ?
    As our file information was stored in an Oracle table we created a Transformations/Function that queried out the required information (filenames) and formatted it into the required statement for execution.
    This was stored in a variable and could then be passed to the user defined process in the Process Flow.
    HTH
    Paul

  • When a process flow activity takes a long time to run.

    Hello,
    I have a process flow activity that sometimes takes a long time to run so that the process flow never ends. Is it possible that I can set the activity so that during a certain time that this has not been executed automatically flow process to continue?
    I'm Using Oracle Warehouse Builder 11g on Windows Server 2003 R1.
    Greetings and thanks.

    What I've done in the past is just use a small polling procedure (PL/SQL) and a conditional transition in the process flow, depending on what the proc returns (Continue or Fail) then the flow of control in the Process is changed.
    I think the key also is to not have too much paralellism going on too, that way it's easy to streamline the PF and remove slow moving processes to a more linear path (stopping bottle necks on your logical AND).
    Edited by: NSNO on Apr 29, 2010 2:31 PM

  • How to get the package name of a procedure used in a process flow activity

    Hi all. I'm on OWB 11.2.0.2.0.
    When I used a packaged procedure or function in a mapping operator, I can find out the package.program_unit name by getting the operator's FUNCTION_NAME property. For example,
    OMBRETRIEVE MAPPING '$mapName' OPERATOR '$operName' GET PROPERTIES (FUNCTION_NAME)
    But when the same is used in a process flow activity, I can't find a property name that will give me the same information. I can get the BOUND_NAME, it does not tell me the package name. It must be stored in the activity properties because when you pull up the Synchronize dialog for the activity, it knows the package name.
    Is there a way to get this via an OMBRETRIEVE?
    Thanks.

    ANA, this is exactly what I needed. Thank you so much. I saw REFs also in the OMBRETRIEVE MAPPING/OPERATOR syntax, but went cross-eyed trying to figure out if I could use the same there. The closest I found was GET BOUND_OBJECT.
    Thanks again!

  • Process flow - Active Directory integration with Enterprise Portal

    Hi
    I have seen number of documents/forum discussions on integrating Microsoft Active Directory (LDAP) with Enterprise Portal, but unable to find out the process flow for achieving the same.
    I have installed Enterprise Portal 6 (SP13) running on Web AS 640 (J2EE Standalone). The UME is currently configured to use Java database. (i.e datasourceconfiguration_database_only.xml)
    I intend to proceed as below for integrating with Active Directory and integrate with Windows authentication:
    1) Configure UME to use an LDAP Server as Data Source using Config Tool
    http://help.sap.com/saphelp_erp2004/helpdata/en/cc/cdd93f130f9115e10000000a155106/frameset.htm
    2) Configure Enterprise Portal UME i.e http://<host name>:50000/irj - System Administration - System Configuration - UM Configuration
    <b>Should I configure Data Sources & LDAP Server here as I have already configured these using J2EE Config tool (point no.1).</b>
    3) Integrate Windows authentication with EP using IISProxy module.
    I hope the above will enable me to logon to Portal without supplying username and password once you are logged on to the PC using your Windows user name and password.
    Also, any schema updates required to Activie Directory i.e What additional data is stored in A.D.
    I would appreciate your guidance on this.
    Thanks in advance,
    Chandu

    Hi Chandau,
    you wanted that some users are not taken into account by the User Management Engine (UME).
    This behavior can be established by specifying the
    ume.ldap.negative_user_filter property for the LDAP data sources in the data source configuration file. Using this property one can define that all users and accounts that
    match the defined conditions are filtered out by the UME API.
    A detailed documentation can be found in the SAP Online Help:
    http://help.sap.com/saphelp_nw04/helpdata/en/9a/f43541b9cc4c0de10000000a1550b0/
    content.htm
    In the following example of a data source configuration file for Microsoft Active Directory
    Server the attribute userPrincipalName is used as Logon ID of a portal user id (j_user).
    Here the user accounts that have one of the following Logon ID’s (index_service,
    notificator_service and cmadmin_service ) are filtered out.
    <dataSources>
    </dataSource>
    <dataSource id="CORP_LDAP">
    <privateSection>
    <ume.ldap.negative_user_filter>
    userPrincipalName=[index_service,notificator_service,cmadmin_service]
    </ume.ldap.negative_user_filter>
    </privateSection>
    </dataSource>
    </dataSources>

  • Process flow fails to complete when another in the same package is deployed - OWB 11.2.0.2

    Hi,
    I have  problem with OWB Process Flows whereby whenever I deploy a process flow within an existing package, another Process Flow becomes (unknown to me) invalid and will not complete execution.
    When deploying the first process flow, I am synchronising all mappings within it, saving, validating and saving again before deploying it. This process flow then functions ok but then a random process flow within the same package malfunctions. By this I mean the process flow does not complete, as if it has lost some connectors. Has anybody else had this problem?

    HI Richard,
    Thanks for your reply. Yes I agree with your answer but sadly this does not seem to be the cause of the problem in my case as I always stop any running processes and double check with the list_requests.sql as provided and where necessary execute the deactivate_execution.sql and/or abort_exec_request.sql only if absolutely required. Finally I check again with list_requests.sql and if necessary run in the OWF_MGR schema: WF_PURGE.TOTAL and/or the following sql (again only if required) :
    BEGIN
    FOR cur_rec in (SELECT ITEM_TYPE,ITEM_KEY FROM OWF_MGR.WF_ITEM_ACTIVITY_STATUSES
      WHERE ACTIVITY_STATUS = 'ACTIVE')
    LOOP
    OWF_MGR.WF_PURGE.MOVE_TO_HISTORY(cur_rec.ITEM_TYPE,cur_rec.ITEM_KEY);
    COMMIT;
    END LOOP;
    END;
    So I am sure that no processes are running before I begin deployment. Thanks again for your reply.

  • URGENT: error during deployment of a process flow through OMB

    I have a process flow which uses a mapping. The mapping has already been synchronized to its corresponding process flow activity.Now i again synchronize the activity with the same mapping to which it was already synchronized
    OMB+> OMBSYNCHRONIZE PROCESS_FLOW 'MAIL_TRY/RND_MAIL' ACTIVITY 'EMP_COUNT' TO MAPPING '/NEW_PROJECT2/NEW_SOURCE/EMP_COUNT' USE (SYNCHRONIZE_STRATEGY 'REPLACE
    ', MATCHING_STRATEGY 'MATCH_BY_NAME')
    Synchronize Completed
    now i create a deployment action plan and deploy the process flowand get the error as follows:
    OMB+> OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'MAIL_TRY' ADD ACTION 'MAIL_TRY ' SET PROPERTIES (OPERATION) VALUES ('CREATE') SET REFERENCE PROCESS_FLOW_PACKAGE '/NEW_PROJECT2/MOD1/MAIL_TRY'
    Action plan MAIL_TRY created.
    OMB+> OMBCOMMIT
    Commit complete.
    OMB+> OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'MAIL_TRY'
    OMB05602: An unknown Deployment error has occured for Object Type API8028: No signature is available for mapping EMP_COUNT because the generation language is undefined. Please set the generation language property of this mapping, or generate this mapping to set the generation language property to a default value..
    In order to remove that error i made the following alteration in the mapping property:
    Context changed.
    OMB+> OMBALTER MAPPING 'EMP_COUNT' SET PROPERTIES (GENERATION_LANGUAGE) VALUES ('PLSQL')
    and then deployed the process folw only to get the following error:
    OMB05602: An unknown Deployment error has occured for Object Type Trying to access invalid Object.
    Element ID: 282901
    Status: 4
    Owning FCO: 282896
    Thanks in advance!!!!!

    A couple of things you could try are:
    1 - OMBCOMPILE MAPPING 'EMP_COUNT' instead of doing the OMBALTER as this will ensure that the property is set correctly, just in case there's any problem there,
    2 - "set OMBDEBUG on" before doing your OMBDEPLOY to display any additional stack traces.

  • How to implement wait activity in OWB process flows?

    Hi,
    I am using OWB 10G R1.
    There is no wait activity in process flows.
    My scenario is, whenver a trigger file is created, I want to proceed with the process flow. If the trigger file doesnot exist, then I want to put the process flow in a wait state, until the trigger file is created.
    Here I used File_Exists activity. But it is checking for the file only once. And it returns warning.
    After that, I want to add an wait activity for certain period of time. How can I do this? Is there is any package,procedure or function to do that?
    Any help is appreciated.
    Thank you,
    Regards,
    Gowtham Sen.

    Gowtham,
    Well the following hint is provided by oracle warehouse builder help.........
    The time-out setting for the workflow engine determines how long the File Exist activity waits for a file. If the file does not arrive before the time-out setting expires, the File Exists activity terminates with errors.
    well someone with deep workflow knowledge can answer this one...
    If you get the answer please share with us.....
    Regards,
    Suraj.

  • How to check SQL activity in OWB Process flow

    Hi,
    In OWB process flow,I need to check SQL activity. How to check that? I am using OWB 11g R2.
    Regards,
    Rashmik

    Gowtham,
    Well the following hint is provided by oracle warehouse builder help.........
    The time-out setting for the workflow engine determines how long the File Exist activity waits for a file. If the file does not arrive before the time-out setting expires, the File Exists activity terminates with errors.
    well someone with deep workflow knowledge can answer this one...
    If you get the answer please share with us.....
    Regards,
    Suraj.

  • User Defined Activity "hangs" Process Flow if it runs for more than 10mins

    I have been using OWB (10g r2) for a while and have used "User Defined" activities in production process flows successfully before.
    However my problem now is that the activity (shell command) I want to perform, takes more than 10 minutes to complete. If I run the process flow with a parameter that generates a shell command that executes in two or three minutes, the process flow continues past the sucessfully executed user defined activity to the next activity.
    BUT
    If I run the same process flow (without modification or even redeployment) with a different parameter , the user defined acivity sucessfully executes (after about 11 minutes or so) but the process flow , doesnt seem to know that it is finished and just says it is still executing.
    my "user defined" activity has
    COMMAND: /usr/bin/ksh
    PARAMETER_LIST bound to a variable which is set earlier in the process flow.
    RESULT_CODE:
    SCRIPT :
    SUCESS_THRESHOLD : 0
    by examining (RUNTIME CONTROL CENTER SCHEMA).all_rt_audit_execution_params
    I can see that the variable contents assigned to RESULT_CODE look like this
    '/usr/bin/rsh -n WINSRV1 dtsrun /usa /ppw /S WINSQLSRV /N JOBNAME_SHORT'
    or this
    '/usr/bin/rsh -n WINSRV1 dtsrun /usa /ppw /S WINSQLSRV /N JOBNAME_LONG'
    I put the -n in because I thought that may have been the problem, but I think its more likely that there is come sort of ".properties" in a runtime file that needs to be set to control the "timeout" of user defined activities.
    (like in Runtime.properties
    property.RuntimePlatform.0.NativeExecution.Shell.security_constraint = NATIVE_JAVA
    except maybe
    .........Nativeexecution.timeout = .....?????
    Has anybody had a problem like this? Found a document describing available configuration properties for PF activites?
    Can anyone help?

    I have been using OWB (10g r2) for a while and have used "User Defined" activities in production process flows successfully before.
    However my problem now is that the activity (shell command) I want to perform, takes more than 10 minutes to complete. If I run the process flow with a parameter that generates a shell command that executes in two or three minutes, the process flow continues past the sucessfully executed user defined activity to the next activity.
    BUT
    If I run the same process flow (without modification or even redeployment) with a different parameter , the user defined acivity sucessfully executes (after about 11 minutes or so) but the process flow , doesnt seem to know that it is finished and just says it is still executing.
    my "user defined" activity has
    COMMAND: /usr/bin/ksh
    PARAMETER_LIST bound to a variable which is set earlier in the process flow.
    RESULT_CODE:
    SCRIPT :
    SUCESS_THRESHOLD : 0
    by examining (RUNTIME CONTROL CENTER SCHEMA).all_rt_audit_execution_params
    I can see that the variable contents assigned to RESULT_CODE look like this
    '/usr/bin/rsh -n WINSRV1 dtsrun /usa /ppw /S WINSQLSRV /N JOBNAME_SHORT'
    or this
    '/usr/bin/rsh -n WINSRV1 dtsrun /usa /ppw /S WINSQLSRV /N JOBNAME_LONG'
    I put the -n in because I thought that may have been the problem, but I think its more likely that there is come sort of ".properties" in a runtime file that needs to be set to control the "timeout" of user defined activities.
    (like in Runtime.properties
    property.RuntimePlatform.0.NativeExecution.Shell.security_constraint = NATIVE_JAVA
    except maybe
    .........Nativeexecution.timeout = .....?????
    Has anybody had a problem like this? Found a document describing available configuration properties for PF activites?
    Can anyone help?

  • Find out type of activity in process flow

    I am currently working on generating process flows. I place a bunch of mappings or sub process flows (sometimes more than 20) in a process flow. Then I connect them basically to indicate the order in which they have to be processed.
    Next I want to generate the succes, warning and error transitions. I can easily list the activities in the process flow using
    OMBRETRIEVE PROCESS_FLOW 'SOME_FLOW' GET ACTIVITIES
    likewise I can easily retrieve the transitions.
    My main problem now is that I cannot find where to start.
    I know a process flow is created default with a START1 activity but the name can be changed, so that is not a fool proof option. I have been looking for something like
    OMBRETRIEVE PROCESS_FLOW 'SOME_FLOW' ACTIVITY 'START1' GET PROPERTIES (ACTIVITY_TYPE)
    But the property apparently does not exist.
    If I do
    OMBDESCRIBE CLASS_DEFINITION 'PROCESS_FLOW' GET CHILD_TYPES
    I see a START_ACTIVITY child type is listed. Now I am looking for a way to connect the child type to the activity
    Anybody ideas?
    Thanks in advance,
    Kind regards,
    Eric.

    Thanks Oleg,
    After posting the question on the forum I remembered I had made lists of activities for various activity types, in my case MAPPINGS and SUBPROCESSES. So I tried the same for START activities, just like you apparently have done. And with the same conclusion; there is not a complete list of activity types you can use.
    I also noticed there is no START activity in the Palette of the Process Flow editor. And that you cannot delete a start activity (API-10011 You cannot delete this type of activity). Apparently a start activity is a special case of activity. And I think I will treat it this way. I will assume no one in his right mind will rename this activity from it's default 'START1' name and start my exploration of the flow in the process there.
    Thanks again for confirming my suspicions.
    In the process of finding out activity types that are supported I made a list (OWB 10.2.0.3):
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET AND ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET ASSIGN ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET DATA_AUDITOR ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET EMAIL ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET END_ERROR ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET END_LOOP ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET END_SUCCESS ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET END_WARNING ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET FILE_EXISTS ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET FOR_LOOP ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET FORK ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET FTP ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET MANUAL ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET MAPPING ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET NOTIFICATION ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET OR ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET ROUTE ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET SET_STATUS ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET SQLPLUS ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET SUBPROCESS ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET TRANSFORMATION ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET USER_DEFINED ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET WAIT ACTIVITIES
    OMBRETRIEVE PROCESS_FLOW 'EERSTE' GET WHILE_LOOP ACTIVITIES
    Kind regards,
    Eric.
    Message was edited by:
    ericb
    Message was edited by:
    ericb

  • How to use substitution variables in sqlplus activity of process flow

    I have a process flow that does nothing more than create a couple of packages that I cannot successfully deploy from OWB. A workaround, not something that I want to do, but currently there is not much time to adjust the packages so they can be deployed from OWB.
    I can successfully create the packages from files that are present in a directory on the server. But the location (directory) is not the same in all cases (OTAP). So I thought to use an input parameter to the process flow (named TELLINGEN) and use that in the sqlplus activity.
    I have created the parameter START_PATH with a default value.
    I have added an sqlplus activity and placed the following into the PARAMETER_LIST variable of the activity:
    ?${Target.ConnectString}?@${TELLINGEN.START_PATH}/npl_dbug.pkg?
    When I run the process flow I see the following in the output:
    SQL*Plus: Release 10.2.0.3.0 - Production on Tue Mar 18 18:10:14 2008
    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    SP2-0310: unable to open file "${TELLINGEN.START_PATH}/npl_dbug.pkg"
    SQL> SQL> Disconnected from Oracle Database 10g Enterprise Edition Release
    10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    It obviously connects to sqlplus but then cannot find the file. Presumably because the variable has not been substituted.
    How can I persuade the activity to substitute the variable?
    Kind regards,
    Eric.

    Have been reading around a bit and found the (a) solution:
    I placed the following in PARAMETERLIST:
    ?${Target.ConnectString}?@${Working.RootPath}/base64.sql?
    And it turns out ${Working.RootPath} is pointing to the location you can provide under the configure for the sqlplus activity in the process flow. Just as you have to provide the target destination as indicated here: Re: SQLPLUS Activity in Process Flow
    From the documentation it was not immediately clear to me where Working.RootPath was pointing to.

  • Using .sql files in OWB Process flow

    Hi,
    Is it possible to use the .sql files in Process flow and schedule them?
    If so,can you please let me know the procedure.
    Thanks for your help and hoping to hear from you soon.
    Thanks
    Vinay

    Process flow is not a scheduler, to schedule, you will have to run the process flow from a scheduler system, such as the one in Oracle Enterprise manager.
    You can run an sql file from a batch file (or a shell file, if you are on unix), and then call the batch file from an external activity in the process flow.
    Regards:
    Igor

  • User Defined Activity Process Flow Help

    Hello,
    I'm trying to create a process flow that will rename a file. I'm using the User Defined Activity, but I've ran into a couple problems. First some background info, Oracle 10G is the DB, and it's ran on a Unix system, the Oracle user account does have read/write access to the directories used.
    For the Activity Parameters I've set
    Command > I've tried everything here
    Parameter > Blank
    Script >
    filefullname=ip_xref.dat
    filename=${filefullname%.*}
    fileext=${filefullname##*.}
    DATE=`date +%Y%m%d`
    newfilename="${filename}_${DATE}.${fileext}"
    mv $filefullname $newfilename
    mv $newfilename backup/
    in the command section, I've tried every possible thing I can think of from : /usr/bin/ksh, /bin/ksh, ksh, /bin/bash, made a script outside owb with the same thing, and pointed it at that and still all I get is "/bin/bash: not found" or "/usr/bin/ksh: not found"
    Ideas/suggestions, I'm open to anything.
    As a side note I tried to do it with UTL_FILE, but I was informed by our DBA that it was disabled for security, so that's out.

    What type of execution is configured for user defined activity (this type is defined in file Runtime.properties on server side, available types for UDA - SCHEDULER or NATIVE_JAVA)?
    For SCHEDULER type ask your DBA about Uinux user used for executing external jobs (usually nobody user used with very limited rights - maybe this user doesn't have rights for executing any program/scripts).
    Regards,
    Oleg

  • How to use OMBPLUS activity inside process flow

    Hi, I’m using OWB 11.2.0.3.
    In a process flow, I need to use an OMBPLUS activity. When I run the process flow, it runs successfully and says: “Log file is available. Click Information button to view.” 
    -Where is the log file, OWB is talking about?
    -Is there any sample of using OMBPLUS activity inside a process flow?
    THANKS, au revoir!

    Thanks, Dallan
    Articles on "Oracle Warehouse Builder (OWB) Weblog" really help me.
    So, I understand that I can't resume process flow in Control Center - only in Repository Browser. :)
    IMHO, this is something puzzled and missmatch with official Users Guide

Maybe you are looking for