Mapping Screenflow Outgoing Arguments

I am using Oracle BPM 10.3.1 and I have an application with a custom JSF presentation.
In the presentation(which is a BPM Interactive Component Call) I request input information in order to create a new process instance. I need to pass a variable from the presentation into the next activity (an automatic actvity) which actually creates the process instance.
How can accomplish this? I think I just need to find a way to take the variable from the presentation and map it to the outgoing arguments of the BPM Interactive Component call.
Thanks
Edited by: Shannon on Sep 1, 2011 2:01 PM

Hi Shannon,
Just you need to create one BPM Instance variable (say test) of type BPM object (say Test which has several bpm attributes).
So the JSP/JSF Presentation should be mapped with some bpm object variable and in this case the variable would be test.
This variable will be responsible for taking the input to the JSF/JSP page as well as taking out the variable out from the JSP/JSF presentation.
Any update you made in the the bpm object's attribute will be captured in the automatic activity next to the interactive activity.
Hope this help you.
Bibhu

Similar Messages

  • Assign an instance within a screenflow

    Hi,
    I would like to assign an instance to the first participant, who "opens" a task, meaning who opens the screenflow of the current activity. And he or she should be still assigned even the screen might be cancelled. So usually, I know, you can assign using Participant.next, but is that working also within a screenflow? And I guess it will not work in case of a cancel, because if someone cancels the screen it would rollback all changes, right? Is there any other solution?
    Regards
    Matthias

    Sure you've tried about everything and know you're not going to like this answer.
    You'd think you could assign the participant.next in the Interactive activity's outgoing argument mappings but this will not work (sorry to remind you of a frustrating 10 minutes you recently had).
    The only way you can assign the instance to the participant who opened the screenflow is to have it leave the Interactive activity and then flow to an Automatic activity (where participant.next is set) and then flow back into the Interactive activity.
    Here are the steps to do this in case you need them:
    1. Create a new String instance variable in your screenflow called "personInSF".
    2. Inside an automatic task immediately after the Begin in the Screenflow, set this variable to "Participant.name".
    3. Map this instance variable to an outgoing argument variable that exits the screenflow. Make sure that the Interactive activity has a variable mapped to this outgoing argument variable containing the participant's name (you'll need it in step 7 below).
    4. Capture the fact that the user hit the "Cancel" button. Do not set the action predefined variable to CANCEL like you normally would. Just set some instance variable (call it "cancelFlag") inside the screenflow that goes out of the screenflow to "cancel" to flag that the button was clicked. Make sure that this variable is set to some value other than null as it leaves the Screenflow (e.g. either "cancel" or "ok").
    5. (this is the part you're not going to like) In the process (not the screenflow), add an Automatic activity. Have your interactive activity flow to this Automatic activity using a conditional transition. The logic needs to detect if the cancel button was clicked so add this logic to your conditional transition "cancelFlag = "cancel".
    6. Have this Automatic activity flow back to the Interactive activity.
    7. In the logic in the Automatic activity, set "participant.next" to the name of the participant you passed out of the Interactive activity in step 3. Know you know this, but use logic like this:
    {code}participant.next = participant.find(name : personInSf){code}
    Dan

  • Undefined Variable (Incoming Argument Error)

    Hello,
    I've created an XSD (Name: XYZ) in my BPM project and then created an instance variable (Name: asset) of type XYZ. I then created incoming argument and outgoing argument of the same type. Now I get an error message as stated below.
    Undefined variable 'assetArg'
    Note: I don't get an error message if i do the same steps and create it based on BPM object. But if i use XSD, I get the below error message. Any idea why?
    Thanks for your help.

    Here's just a suggestion. I'd completely agree with you if you reported it as a bug, but here's how you can get it working.
    Convert the incoming XML into a String before it arrives in the Begin activity of the process. In the logic below, I assumed that you would be willing to do this and you passed in your String as an argument variable called "incomingXmlStringArg" in the Begin activity.
    In the Begin activity, you mapped the String "incomingXmlStringArg" into a variable called incomingXmlString. If this is going to be a big thing, I'd strongly recommend that you make this instance variable's type "Separated".
    The xyz variable shown in the logic below is the instance variable you were wishing all along you could plop the XML directly into. "xyz" is a BPM Object instance variable of the type of the heir you created from your XSD. I'd strongly recommend that you also make this a Separated instance variable if it's going to potentially be huge.
    Put this logic in and Automatic activity that immediately follows your Begin activity.
    xyz = Model.Xyz()
    load xyz
        using xmlText = incomingXmlStringDan

  • Tcl proc with input argument run from UNIX script...how

    Environment:
    OWB 10g Client on Windows XP Professional
    Repository - 9.2.0.4 on UNIX (AIX 5.2)
    Target - 9.2.0.4 on UNIX (AIX 5.2)
    I need a little tcl advice, please!
    I have a tcl script (proc, I guess) that takes one argument, in this case a mapping name.
    I would like to execute this tcl script from a UNIX shell script and pass the name of the mapping as an argument to the UNIX shell script. Something like:
    OMBPlus.sh omb_deploy.tcl $1
    where omb_deploy.tcl is the script that has all the OMBPlus commands in it to create the deployment plan and execute it.
    I'd like to pass the mapping name as a command line argument to the UNIX shell script but it doesn't like it.
    When I execute the script as above, I don't see any output and the mapping does not get deployed.
    So, I need a little help on two (2) issues:
    1- How do I generate a log file of the output of the tcl script?
    2- How do I pass the mapping name as an argument to the UNIX shell script?
    For #1 I have tried using the 'open logfilename w' at the top of the tcl script but it produces no output.
    I saw another example from this forum where the author used a 'putslog' command in the script. I can't find any documentation on that command, what does it do?
    That same script set a global OMBLOG variable at the top of the script and used the 'putslog' command in the body.
    Is OMBLOG some special reserved word for logging? I couldn't find anything on it.
    I'm trying to learn tcl but struggling to put all the tcl stuff together with all the OMBPlus stuff and make it all work is getting the best of me.
    Any assistance, with examples (I learn best from them), is greatly appreciated.
    Gary

    Well duh!
    I ended up just logging everything from the UNIX shell script and letting the tcl script write everything to stdout.
    I also finally found the $argv parameter and have used that to pick up the name of the mapping being passed to OMBPlus.
    It seems to be working so far.
    Gary

  • Creating pocess intance of a different process and passing arguments

    Creating Process instance of a different process:
    I have two different process: Main_Flow (id: MainFlow) and Second_Flow (id: SecondFlow). In the first process I am reading a csv file. Each line of the file has four columns. After reading each line I have to initiate Second_Flow and pass the read data from the file. (Pls find the code below for the whole process):
         fileReader = FileReader(arg1 : fullFileName);//filename is of file type and have file name and path
         Java.Io.BufferedReader reader = BufferedReader(arg1 : fileReader);
         String str;
         int countLines = 0;
         while ((str = reader.readLine()) != null)
              strColumn = str.split(delim : ",");
                   int ColumnCnt = 0;
                   while (ColumnCnt < 4)
                        //defining variables
                        String appNo;
                        String custNo;
                        String loanAmm;
                        String loanDate;
                        //logMessage("Value at Column: " + ColumnCnt + " is " + strColumn[ColumnCnt]);
                        if (ColumnCnt == 0)
                             arrLoanData["appNo"] = strColumn[ColumnCnt];
                        else if (ColumnCnt == 1)
                             arrLoanData["custNo"] = strColumn[ColumnCnt];
                        else if (ColumnCnt == 2)
                             arrLoanData["loanAmm"] = strColumn[ColumnCnt];
                        else if (ColumnCnt == 3)
                             arrLoanData["loanDate"] = strColumn[ColumnCnt];
                        arrLoanData["descriptionArg"] = "AutoInstance: " + formatTime('now', timeStyle : Time.SHORT);
                        arrLoanData["genByArg"] = "Automatic";
                        ProcessInstance.create(processId : "/SecondFlow", arguments : arrLoanData, argumentsSetName : "BeginIn");
                        ColumnCnt = ColumnCnt + 1;
              countLines = countLines + 1;     
    (“The code is in Java and not in PBL”)
    I have to pass appNo, custNo, loanAmm and loanDate as the arguments. The Argument will be of Any[String] type. The argument set name of Second_Flow is “BeginIn”. But I am not getting anything in Second_Flow.
    What can I do in the argument mapping of begin of Second_Flow to get the passed argument (array)?

    the argument 'arguments' for the method ProcessInstance.create receives a map of the arguments that the 'argumentSetName' argument set will receive.
    so for example if your second flow has 2 arguments, String name, Decimal value and String[] content your method invocation would be:
    ProcessInstance.create(processId : "/SecondFlow", arguments : {"name": strNameFromCsv, "value": valueFromCsv, "content": ["a","b","c","d"]}, argumentsSetName : "BeginIn");

  • How to run tcl scripts with arguments on OMBPlus

    Hi,
    I am trying to deploy mappings from OMBPlus. I could do it by saving step by step commands to a tcl file and run it on OMBPlus as
    source e:\\mi\\test.tcl
    Contents of test.tcl is:
    =======================
    OMBCONNECT owbdesigner/owbdesigner@humistst:1521:mistst
    OMBCC 'S80_DWH_PROJECT'
    OMBCONNECT RUNTIME 'CONN_MISTST' USE PASSWORD 'owbruntime'
    OMBCC 'S80_OWBTARGET'
    OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN \
    'CRE_MAP' ADD ACTION 'MAPPING_DEPLOY' \
    SET PROPERTIES (OPERATION) \
    VALUES ('CREATE') SET REFERENCE MAPPING \
    'DWH_BA_MAPPING'
    OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'CRE_MAP'
    puts "Mapping Deployed..."
    OMBDISC
    ===========================
    Now i want to pass mapping name as argument/parameter, so that my script can work dynamically. I tried following in test.tcl:
    OMBCONNECT owbdesigner/owbdesigner@humistst:1521:mistst
    set mapname [lindex $argv 1]
    OMBCC 'S80_DWH_PROJECT'
    OMBCONNECT RUNTIME 'CONN_MISTST' USE PASSWORD 'owbruntime'
    OMBCC 'S80_OWBTARGET'
    OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN \
    'CRE_MAP' ADD ACTION 'MAPPING_DEPLOY' \
    SET PROPERTIES (OPERATION) \
    VALUES ('CREATE') SET REFERENCE MAPPING \
    '$mapname'
    OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'CRE_MAP'
    puts "Mapping Deployed..."
    OMBDISC
    and, run it as follows on OMBPlus
    source e:\\mi\\test_map.tcl DWH_BA_MAPPING
    then it is giving error for invalid arguments.
    Can anybody help me to sort it out.
    Many Thanks.
    Deepali

    As Jorg said, you can pass command line arguments when you start OMBPlus.
    If you want to pass parameters from within OMB, just create a proc and then run it...
    proc deployMap {mapName} {
         set mapName [string toupper $mapName]
         OMBCONNECT owbdesigner/owbdesigner@humistst:1521:mistst
         OMBCC 'S80_DWH_PROJECT'
         OMBCONNECT RUNTIME 'CONN_MISTST' USE PASSWORD 'owbruntime'
         OMBCC 'S80_OWBTARGET'
         OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN \
              'CRE_MAP' ADD ACTION 'MAPPING_DEPLOY' \
              SET PROPERTIES (OPERATION) \
              VALUES ('CREATE') SET REFERENCE MAPPING \
              '$mapname'
         OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'CRE_MAP'
         puts "Mapping Deployed..."
         OMBDISC
    }Run it like this
    deployMap <map_name>You can automatically load the proc when you start OMBPlus but putting it into ombinit.tcl (or put it in another file and put "source myprocs.tcl" at the bottom of ombinit.tcl).

  • Send a map of documents via Invoke Web Service

    Hi,
        I have one process with map of documents and 2nd process on other server, where input variable is map od documents too. How can I send this map between these processes via "Invoke Web Service" component? Simple datatypes I can.
    Petr

    Take a look at Quick Start: Assembling a PDF document using the web service API
    It shows how to create an input map for multiple documents.
    But it sounds like you're asking how to create a WSDL that allows you to use an input map as an argument in a Web Service invocation. If so, take a look at the Assembler services WSDL. For 8.2, access
    http://myServer:myPort/soap/services/AssemblerService?wsdl

  • Declaration: Map or HashMap

    Hi.
    Question: I've read something about the declaration of a HashMap; some authors recommend (claims) that the variable containing the HashMap object should be declared to be of the interface Map. That's because of some methods that will take a Map as an argument.
    Can anyone please give further explanations?
    Thanks!

    You mean:
    // Some programmers say this is better:
    Map stuff = new HashMap();
    // ...than this:
    HashMap stuff = new HashMap();The main reason for choosing the first option is that for the rest of the program it is only important that "stuff" is a Map. What implementation of Map is behind it, is an implementation detail (HashMap, TreeMap, ...).
    By using the first option, it is also very easy to change the map type later, for example, if you decide you want a TreeMap instead of a HashMap.
    Jesper

  • Expense management tutorial error

    I have completed all the steps of expense management tutorial. but when I try to run the process using the start engine, I am getting the following error.
    Error: The project publication has failed. Reason:'_ConfirmReceipts' is not a member of 'Feugo_AutoGen_Screenflows_'..
    I have redone this example 3,4 times from the scratch.still this same error persists. What am I missing . Please help.

    There were two errors in your project that showed up in the Problems tab. I put out the fixed version of your project on http://www.4shared.com/file/xPCET82f/ExpenseManagementFix.html
    You followed the instructions in the tutorial and were bitten by a very poor practice that it recommends. I thought I'd corrected this in the errata that I sent you, but I'm must be mistaken. Both errors were caused by the argument mapping you did in the "Confirm Receipts" task in the "Confirm Receipts" Screenflow. One of the errors was
    "Expressions can only be used on the right side of an assignment in argument mappings. The current invalid expression is: action located in Activity ConfirmReceipts"I first double clicked the description of the error. This took me to the Confirm Receipts screenflow. I right mouse clicked the "Confirm Receipts" task -> "Main Task" -> "Argument Mappings". Note that on the left of this dialog there are two mapping ("ConfirmReceiptsIn" and "ConfirmReceiptsOut"). Click the outgoing argument mapping called "ConfirmReceiptsOut". Once this was clicked, I saw the two mappings that the tutorial has you enter. What the tutorial recommends is a disasterously poor practice so I removed both of these and the errors in your project went away.
    Your Confirm Receipts screenflow is now enhanced to work the way the way it should work with a cancel button. Added is a new Cancel task where the action variable is set to CANCEL. Note the new conditional transition going to it with the transition name of "cancel" the name of the button on your presentation.
    Bottom line, ignore the screenflow argument mapping the tutorial has you doing for the Interactive Component Call. Argument mapping is done in Begin, End and where Interactive activities invoke screenflows and where processes invoke subprocesses. Do not change the default argument mapping in Interactive activities.
    Dan

  • Create new process instance

    Hi,
    How can we create a new instance of process other than global activity. Is there any way out for this?

    Hi Anuraq,
    Know I'm leaving out a couple, but here are ways you can create a new work item instance in a process:
    1) Here's how you can create an instance in a process using logic in an Automatic activity's method. This uses the "Fuego.Lib.ProcessInstance.create()" method shown below inside a process:
    // "args" is an associative string array (Any[String])
    argsIn as Any[String]
    // this assumes that the Begin activity has two argument variables
    //   named "nameArg" and "amountArg" and you're setting them
    //   to the variables "name" and "amount" respectively
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    // logic here to determine the name of the process to create an instance in
    idOfProcess as String
    idOfProcess = <hard coded string that has the id (not the name of the process to instantiate>
    ProcessInstance.create(processId : "/" + idOfProcess, arguments : argsIn, argumentsSetName : "BeginIn") ProcessInstance is in the Catalog inside Fuego.Lib.
    The processId parameter (the "idOfProcess" variable in the above logic) is the thing I most commonly screw up with this. It is the text you see when you right mouse click the process in the Project Navigator tab -> "Properties". Look at the value in the "Id" field and not the "Name" field here (the name without any space characters). Prefix it with a "/" as is shown here and if you've deployed this using an organization unit (OU) then prefix this to the string also.
    The third parameter is almost always "BeginIn". Begin activities in a process can have many incoming argument mappings, the default is "BeginIn". To see yours, double click the process's Begin activity and look at the mapping's name in the upper left corner of the dialog.
    "argsIn" is the set of incoming argument variables you want passed into the process. A common mistake is to type in the names of the incoming argument variables without the double quotes like this:
    // this will *NOT* work
    argsIn[someArgVarName] = "Hello"
    argsIn[someBpmObject] = myBpmObject
    . . .Here is the correct syntax:
    // this *WILL* work
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    . . .In this example, the process has two argument variables. It does not matter if the incoming argument variables are primitive type arguments (e.g. String, Integer, Decimal...) or BPM Objects, it is always done the same way. In this example, there is a String incoming argument called "someArgVarName" and a BPM Object incoming argument called "someBpmObject".
    2) Global Creation Activity - automatically creates an instance based on human interaction - requires no logic other than to set the argument variables you want passed into the process mapped to instance variables. If it's decided in the screenflow associated with this activity that you do not want to create an instance after all, it just needs to hit an Automatic task in the Global Creations's screenflow that has the logic "action = CANCEL"
    3) Global Interactive Activity - also based on human interaction it can create an instance if inside the Global Interactive activity's screenflow it hits an Automatic task that has the Instance.create() logic shown above.
    4) Using the Fuego.Papi.Instance.create method using logic inside a process.
    5) Using the Java PAPI:
    fuego.papi.Arguments arguments = Arguments.create();
    arguments.putArgument("inArgument", "MyArgument");
    String consolidatedProcessId = "/SomeProcessNameId";
    String argumentSetName = "BeginIn";
    fuego.papi.InstanceInfo instance = session.createProcessInstance(consolidatedProcessId,argumentSetName,arguments);6) Using the PAPI-WS (Web Service) API you can create an instance in a process using a web service call.
    7) A process can create a new instance in another process using the Subflow activity which synchronously creates an instance in a child subprocess and waits for the result to return once the instance in the child subprocess reaches the End activity in the process. From the parent process, you'd match the incoming and outgoing argument variables of the called child process with instance variables in your parent process.
    8) A process can create a new instance in another process using the Process Creation activity which asynchronously creates an instance in a child subprocess (fire and forget) but does not wait for the child to respond to the parent. Once the child process begins, the parent continues its flow. From the parent process, you'd match the incoming argument variables of the called child process with instance variables in your parent process.
    Dan

  • Global Creation with Input args

    I create a Global Creation activity with a screenflow task. The screenflow has both a integer input argument (call it sfIntArg) and a output argument (of BPM object).
    When I right-click on the Global creation activity and go to argument mapping, I have trouble mapping the screenflow input argument. I am not sure what to specify in the "Value" field to map to sfIntArg.
    1. when I specify nothing to map to sfIntArg (sfIntArg = empty/null), then I get the message "express is expected".
    2. when I do not specify the argument mapping, I get "All arguments must be satisfied"
    3. when I choose a instance variable of the process, I get "xxx is not a static member of project.process.instance"
    I want to invoke the Global Creation with WAPI and pass the value for sfIntArg to the Global Creation.

    Hi,
    It's odd that you see no errors in your project.
    1. Make sure that you just have one project open in your Project Navigator tab.
    2. In the Project Navigator tab, double click the name of the process. Look at the "Outline" tab directly below the Project Navigator tab (click Window -> Reset Perspective if you don't see the Outline tab). Expand Methods and double click each of the methods to find the offending logic with the "var1" syntax that is causing your problem. Do this for each of your processes.
    Dan

  • Process Notification and Notification Wait activity - External Relationship

    Hi,
    I have a query relating to the Process Notification and Notification Wait activity.
    In my Process Creation after finishing 2 interactive avtivities I need to send notification or inform the instance
    waiting in a Notification Wait activity.
    For this Im using ALBPM Predefined Process Notification activity to send Notification.
    Im defining instance variable and mapping it as argument to Notification Wait activity.
    I have set the type of event to wait for as External relationship.And defined a correlarion
    at Notification Wait activity by setting initiate property as Yes and defined association with
    argument mapping.And selected the same correlation from the Process Notification activity.
    When im trying to execute the same always im getting the exceeption as Instance was not found for notification.
    Please help me to resolve this issue.
    Thank You,
    ~Kavitha

    Hi Matthias,
    What you have experienced is exactly how it works, the notification is processed after the screenflow is finished.
    I tested a lot some time ago and also really happy that worked well.
    Regards

  • BPM - Expense Report Tutorial

    Hi,
    I am a newbie to ORA_BPM. So far, Ive been able to get through (builds & deploys without errors) activity 1 thru 4 and currently having a problem when running the work-flow app.
    When I use the application as Peter Jones here are my observations:
    1) Login as Peter Jones (individual contributor).
    1.1) create 2 expense reports - under $25 and over $25
    1.2) under $25 should be initially routed to Mary White (treasurer)
    1.3) over $25 should be initially route to Paul Smith (Supervisor)
    2) Login as Paul Smith - nothing is shown in his WorkItems/Inbox.
    2.1) The over $25 expense report should be shown here
    3) Login as Mary White - both reports are shown in her WorkItems/Inbox.
    3.1) When I select one of the expense reports the "ConfirmReceipts" screen has no data from either of the expense reports?
    The BPM tutorial seems to have a lot of errors in it and I've found the OTN forums helpful so far.
    I appreciate any help anyone can provide.
    Kerry

    The problem's not on your end. The tutorial needs an overhaul especially around argument mapping.
    Here's what you might do to fix your project.
    1. Delete the extra instance variable in your Expense Report process named "reportSF". With the process open, and the Variables tab open, right mouse click the reportSF variable and click "Delete". You had two variables "report" and "reportSF" that store the same BPM Object throughout the process. While this is allowed, you set the "reportSF" in the Begin activity, but use the "report" variable throughout the process.
    2. From the menu, click "File" -> "Save All". Note that after deleting the reportSF variable from the process you now have two errors in the "Problems" tab (if you do not see the problems tab, click "Windows" -> "Reset Perspective" -> click "Ok"). Note that there are two errors. One is in the End and one is in the Begin activity.
    3. To fix the error in the End activity, double click the End activity -> click the dropdown that has "reportSF" and change it to the correct variable "report".
    4. To fix the error in the Begin activity, double click the Begin activity -> click the dropdown that has "reportSF" and change it to the correct variable "report".
    5. There is one more argument mapping problem. The outgoing argument variable that is set coming out of your Global Creation activity called "Create Expense Report" is "reportArg" (right mouse click the "Create Expense Report" activity -> click "Main Task" -> click the "Argument Mapping" button -> in the left panel click "Submit Report Out" -> change the variable on the left to be "reportSFArg". You could have used "reportArg" for this, but your Begin activity is expecting "reportSFArg" to be the variable with the incoming information already populated.
    6. From the menu, click "File" -> "Save All" again. Start your engine and try it again.
    Dan

  • How to create Instace of another process from running process.

    Hi,
    I want to create an instance of another process from my running process. Along with this i want to pass a business object as input parameter to this instance. Please help me to do this !!!

    This and other ways to create an instance in another process was described in Re: create new process instance
    1. Here's how you can create an instance in a process using logic in an Automatic activity's method. This uses the "Fuego.Lib.ProcessInstance.create()" method shown below inside a process:
    // "argsIn" is an associative string array (Any[String])
    argsIn as Any[String]
    // this assumes that the Begin activity has two argument variables
    //   named "nameArg" (a string) and "myBpmObjectArg" (a BPM
    //   object variable) and you're setting them
    //   to the previously initialized variables "name" and
    //   "myBpmObject" respectively
    argsIn["nameArg"] = name
    argsIn["myBpmObjectArg"] = myBpmObject
    // logic here to determine the name of the process to create an instance in
    idOfProcess as String
    idOfProcess = <hard coded string that has the id (not the name) of the process to instantiate>
    ProcessInstance.create(processId : "/" + idOfProcess, arguments : argsIn,
         argumentsSetName : "BeginIn") ProcessInstance is in the Catalog inside Fuego.Lib.
    The processId parameter (the "idOfProcess" variable in the above logic) is the thing I most commonly screw up with this. It is the text you see when you right mouse click the process in the Project Navigator tab -> "Properties". Look at the value in the "Id" field and not the "Name" field here (the name without any space characters). Prefix it with a "/" as is shown here and if you've deployed this using an organization unit (OU) then prefix this to the string also.
    The third parameter is almost always "BeginIn". Begin activities in a process can have many incoming argument mappings, the default is "BeginIn". To see yours, double click the process's Begin activity and look at the mapping's name in the upper left corner of the dialog.
    "argsIn" is the set of incoming argument variables you want passed into the process. A common mistake is to type in the names of the incoming argument variables without the double quotes like this:
    // this will *NOT* work
    argsIn[nameArg] = name
    argsIn[myBpmObjectArg] = myBpmObject
    . . .Here is the correct syntax:
    // this *WILL* work
    argsIn["nameArg"] = name
    argsIn["myBpmObjectArg"] = myBpmObject
    . . .In this example, the process has two argument variables. It does not matter if the incoming argument variables are primitive type arguments (e.g. String, Integer, Decimal...) or BPM Objects, it is always done the same way. In this example, there is a String incoming argument called "nameArg" and a BPM Object incoming argument called "myBpmObjectArg".
    2. A process can create a new instance in another process using the Subflow activity which synchronously creates an instance in a child subprocess and waits for the result to return once the instance in the child subprocess reaches the End activity in the process. From the parent process, you'd match the incoming and outgoing argument variables of the called child process with instance variables in your parent process.
    3. A process can create a new instance in another process using the Process Creation activity which asynchronously creates an instance in a child subprocess (fire and forget) but does not wait for the child to respond to the parent. Once the child process begins, the parent continues its flow. From the parent process, you'd match the incoming argument variables of the called child process with instance variables in your parent process.
    Dan

  • Error in generating form with 6i

    I have installed designer 6i rel 2 with form developer 6i on NT
    4.0.
    When in design editor, I want to generate the form with generate
    module, the system generate "CDR-21600: A running Generator or
    Utility has failed."
    Also in action column writes: " It is possible that the internal
    cache is now in an inconsistent state. You are therefore
    recommended to close and restart the application."
    Could anyone tell me what is the problem and how to solve it.
    thanks

    Here is an document which describes some known causes of CDR-
    21600 errors. I hope it will help you.
    PURPOSE
    To describe some known causes of CDI-21600 errors and to
    suggest possible solutions and workarounds.
    SCOPE & APPLICATION
    This note was written for users of Oracle Designer releases 2.1.x
    and 6.0.
    CDI-21600 errors occur most frequently during Design Capture and
    when generating forms with the Forms and WebServer generators.
    Investigating CDI-21600 errors
    In Oracle Designer Release 2.1.2 and Release 6.0, this error has
    the form:
    CDI-21600 'A running generator or utility has failed'
    The Release 2.1.1 error message was: 'Generator or Utility throw
    an Exception'
    The CDI-21600 error message means that the generator is hitting
    an unhandled exception, also known as a GPF (general protection
    fault). The CDI-21600 error masks the underlying exception error.
    To see the real error do the following:
    1. Go into the Registry Editor (REGEDIT).
    2. Navigate to HKEY_LOCAL_MACHINE\software\oracle\des2_70
    3. Set EXCEPT_HANDLING to 0 (by default it is 1).
    Repeat the action that resulted in the error.
    Known Causes of CDI-21600 Errors and Possible Solutions
    Some of the reasons why CDI-21600 errors occur are listed below.
    1. A common cause of CDI-21600 errors is failure to install the
    necessary
    Developer patches.
    See [NOTE:64630.1] Developer Patches required to run
    Designer with Developer
    2. Check that Designer is running on a supported database. Also
    check that the
    TNS connection is correct.
    See [NOTE:60705.1] Designer Certification Matrix (HTML)
    3. Check for 'dangling' foreign keys, in other words FKs no longer
    owned by any
    table in the repository. Delete all invalid constraints.
    Invalid constraints may be created if you use the repository
    dump utility to
    dump and restore external foreign keys referencing tables
    shared into the
    application system, without dumping and restoring the tables
    that own them.
    If you restore a complete dump (rather than a 'skeleton' one),
    and then use
    the 'Reconnect Share Links' option when restoring, you may be
    able to
    resolve this problem.
    To get a complete list of 'dangling' constraints in your
    repository, connect
    using SQL*Plus and use the following query:
    SELECT app.name, key.name
    FROM ci_application_systems app, ci_constraints key
    WHERE key.table_reference IS NULL
    AND key.application_system_owned_by = app.id;
    You can also run CKAZANAL.ANAL_REFERENCES on your
    repository and delete all
    the invalid constraints that it finds. You can run the Repository
    Analyzer
    from: Front Panel -> Repository Administration Utility -> Utilities.
    NOTE: There may be inconsistencies in the repository that the
    Repository
    Analyzer cannot fix. You might solve such problems by
    dropping all the
    tables of your application, recreate them from the ERD,
    then use the
    DDT and recreate your modules.
    [BUG:847190] CDI-21600 during forms generation: 'dangling'
    foreign key
    "Since the generator is running on a repository that contains
    invalid
    constraints and the Repository Analyzer solves the problem,
    bug closed as
    unfeasible to fix."
    4. Check your modules for invalid or missing references such as
    missing window
    placements.
    5. Try generating your module against default templates and
    object libraries.
    6. When capturing forms or libraries, try capturing the form or
    library without
    application logic, then capture the application logic on its own.
    See [NOTE:1064690.6] CDI-21600 when capturing design of
    form with
    application logic
    [BUG:757541] DESCAP: CDI-21600 error reported when
    capturing with
    application logic
    Fixed In Ver: 6.0
    [BUG:926383] Duplicate of [BUG:757541] This has been fixed in
    2.1.2 patch
    779559. However you would be advised to apply a later patch
    such as 855635
    which fixes more bugs in this area.
    7. Make sure that all objects that are referenced by the form have
    been
    captured into the repository before capturing the form.
    8. A CDI-21600 will occur if a lookup usage displays only one
    column of
    datatype DATE or if the column of datatype DATE is displayed
    as the first
    item in the block.
    Workaround
    Add more column usages to the lookup block and do not
    display the DATE data
    type column usage as the first item in the block.
    9. [BUG:810472] CDI-21600 when 'Argument in Caller' is set
    Fixed In Ver: 6.5.3.0
    Workaround
    Make sure that you have an argument in the called module that
    is mapped to
    the "Argument Passed Value" in the calling module. The only
    way to get this
    mapping back once the APV has the <Module Argument> label
    is to delete it
    and recreate it.
    10. [BUG:801736] CDI-21600 on design capture of a form with
    subclassed object
    Fixed In Ver: 6.0.3.1.0 (backport)
    Fixed In Ver: 6.5
    You have an item that has been subclassed to an object.
    Checking the Design
    Capture option 'Capture Control Blocks' causes the CDI-21600
    error. Uncheck
    'Capture Control Blocks' and the problem does not occur. Open
    the FMB in
    Forms*Builder and look at Data Blocks -> Items. Break the link
    to the
    object, save the FMB, and the form will capture (similar to
    [BUG:794872]).
    Alternatively, ensure the link can be established.
    11. [BUG:850436] CDI-21600 on generation of a form with template
    having
    subclassed object group
    You try to generate a form out of Designer that uses a user-
    defined
    template. If a collection of objects in the template is grouped
    into an
    object group, dragged into the object library and then either
    copied or
    subclassed into a form, when the form is generated you get a
    CDI-21600
    error.
    12. [BUG:822659] Module generation fails (CDI-21600) with multi-
    column PK having
    long prompt text
    Fixed In Ver: 6.5.3.2
    Module generation with multi-column primary key having long
    prompt text
    causes CDI-21600 with preference MSGSFT set.
    Workaround
    Shorten the prompt text of PKs may not be not applicable. You
    may loose end
    user information.
    You may have the same problem with a mandatory compound
    FK. CASEOFG tries to
    generate a message '<P1> must be entered', where <P1>
    contains all the
    prompts of the bound items from the FK. If you reduce the
    length of the
    prompts, or set MSGSFT = NULL or WEDI = S or property
    Mandatory?=No, it
    works correctly.
    13. [BUG:792542] Capturing application logic causes CDI-21600
    (V2 style
    triggers)
    Fixed In Ver: 6.5.5
    After removal of the v2 triggers, the form captures/merges OK
    on 5.0.24.8,
    provided patch 875027 has not been applied.
    14. [BUG:790877] CDI-21600 if the primary/foreign keys have no
    key components
    Fixed In Ver: 6.5.11
    Generating a module with tables having a primary key not
    correctly defined
    (no PK component) will cause a CDI-21600 error. This can
    occur when
    unloading a module from the RON. If you pick up the module
    (and only the
    module) in the unload set, the table and its PK are unloaded as
    a skeleton.
    Loading the .DAT file into a new application will create a PK
    without a
    component.
    15. [BUG:771549] CDI-21600 if cannot connect to the DB with
    connect string in
    Options (Compile)
    Fixed In Ver: 6.5.13
    If you cannot connect to the DB with the connect string
    specified in options
    (Compile), the forms generator will fail with CDI-21600.
    This problem occurs when you cannot connect to the DB
    because:
    - the username or password is wrong;
    - or the SQL*Net alias is not defined in the TNSNAMES.ORA
    file;
    - or the SQL*Net listener is not started;
    - or the DB is down.
    16. [BUG:785106] CDI-21600 when generate master detail form
    with preserve layout
    [BUG:855812] is a duplicate of this bug.
    Fixed In Ver: 5.0.24.6.0 (Bug:860426 Backport request for 2.1.2)
    Fixed In Ver: 6.0
    Fixed In Ver: 6.5.3
    You have a master-detail Form with the Master having items
    partly on a TAB
    Canvas. Generate Module works OK. You enter Forms Builder
    and move some
    items on the tabs (just small changes, items are still on the
    same tabs).
    You change the look of the Detail and change Records
    Displayed. Now in
    Designer you generate the Module with Preserve Layout. You
    get a CDI-21600
    error. The problem might reproduce without doing any changes
    in Forms
    Builder, just by generating with Preserve Layout.
    17. [BUG:891306] If primary key column of lookup in check
    constraint comment of
    base table
    Fixed In Ver: 6.5.5
    Workaround
    Do not use the name of the bound item that is based on the
    primary key
    column of the lookup table in a check constraint comment of
    the base table.
    18. [BUG:896026] Forms gen throws assertion failure in
    CVINI/BUILDACTIONITEM@/CV/CVI/CVIBNI.CPP
    Fixed In Ver: 6.5.7
    A problem is caused by a PL/SQL definition (function, package,
    procedure)
    being defined as a called module for the module you are trying
    to generate.
    To resolve the problem and enable the module to be generated,
    remove all
    Called Modules that are PL/SQL definitions (functions,
    procedures or
    packages).
    See [NOTE:2107207.6] CDI-21600 during generation of module
    or Assertion
    Failure \cv\cvi\cvibni.cpp
    19. [BUG:812333] CDI-21600 generating a web module after
    adding an unbound item
    Fixed In Ver: 6.5.3.0
    Backport [BUG:1280667] raised to fix by 6.0.3.9
    You add an unbound item (SQL expression) to a Web module.
    When you try to
    generate the module you get a CDI-21600 error. If you delete the
    unbound
    item the Web module generates correctly.
    In a test case the problem occurred during validation of the
    derivation
    text, if the master module component was in a different module.
    A workaround
    was to rearrange module components so that this was not the
    case.
    20. [BUG:1627963] CCVDIAG::TRACEGENERATORMESSAGE
    WHEN GENERATING INCORRECT
    DERIVATION EXPRESSION
    Message
    CDR-21605: Failed while processing Module <mod> in function
    CCVDiag::TraceGeneratorMessage BOF
    Cause
    The generator failed due to an unexpected error - the
    error indicates the object the generator was processing
    when it failed.
    Helena

Maybe you are looking for

  • Function Module for getting the desired date

    Hi All, I need a function module where in get the date value from Current date - 540 days. i,e System Date - 540 days = ???? Thanks Suresh

  • After upgrading to Lion my white MacBook I can't launch Adobe CS4 Applications. Please help!

    Everytime I try launching an Adobe CS4 application (Photoshop, Illustrator, watever...) I keep getting this kind of message, more or less: "To open [Photoshop] CS4 you should install a Java executed environment, but you are not connected to the inter

  • Update Serial Numbers and Qty with bapi_outb_delivery_change

    HI All I want to update serial numbers and quantity(delivery qty) for a delivery, this is mostly in case of short ship and over ship, I am using the BAPI for this updation, but I am getting errors to it. I am passing the following data in the BAPI: H

  • Browser is hijacked!! What can I do? I need help now!!

    Started with IE 8. Changed browser to Netscape then Firefox. I can go to my bookmarks, I ca do a search but when I try a site on the search result page, I am redirected to a somewhat related page or one that has nothing to do with the topic I am sear

  • Cannot open map file / CXXFLAGS

    I've been trying to compile a program, and all seems to work well until i get the following error after a while. +/opt/sun/sunstudioceres/prod/lib/ld: cannot open map file -R/opt/sun/sunstudioceres/lib/rw7:/opt/sun/sunstudioceres/lib:/opt/sun/sunstud