UWL Name in human task

Hi
Can we change the UWL name in CE BPM?
How can we give custom name to the UWL?
Regards
Osman Jabri

open your task in NWDS, switch to "user texts" tab, you can define the task title there

Similar Messages

  • In human task, dynamically assign group doesn't work

    Oracle SOA 11.1.1.4
    My bpel process invokes a human task.
    On the human task Assignment tab, I assigned 3 users (by name), 1 group (by expression).
    The group is configured in LDAP
    When I tested the bpel process, I entered the group and other data required.
    From the worklist app, I see the task listed. It is assigned to the 3 users, but not the dynamically passed-in group.
    From the Audit trail, I saw all data I entered (include the group). Everything seems correct, but I still can’t make the dynamically-pass-group work.
    If I assign the group by name in human task, it works fine.
    The problem is: dynamically assign group doesn't work.
    Please kindly advice.

    Yes, it is possible assign a group as participant of some human task, passing the group name as parameter.
    I have tested just now.
    It works pretty well in SOA 11.1.1.4 (BPEL or BPM).
    Make sure add a data parameter in your human task definition and pass a valid group name to it.
    At the Assignment tab, in the participants' list, add a group, data type by expression, and set the value to the right xpath expression to the corresponding parameter.
    For example: /task:task/task:payload/task:group
    If it is not working look the SOA log files, probably you'll find some information about the error there. Maybe there is some problem with your jazn.com configuration.
    You can also test if there is something wrong related to the group name, trying to transfer some task to the same group by the worklist.

  • Human Task Java API

    Hi
    I have a requirement to create human tasks without using soa. I am trying to use the Human task Java API. Using this API I can do all the operations like updating the outcome, adding/updating comments and updating assignee list but not able to create initial task. I am using initiateTask operation which requires task definition id. I dont know how to set this. Can anybody guide me
    1. Can I create human tasks without using composite pure java api?
    2. If I am able to create initial task what will be the task definition id? I tried to enter a new row in soa infra meta data table which did not work.
    I really appreciate the help.
    Thanks

    Hi Sri
    I have few Processes deployed to my SOA Domain and that too under different Partitions. For ease of maintenance, in EM Console under soa_infra node instead of default partition we can have our own Partitions also to deploy specific workflow projects under those partitions. If you don't have this thats ok.
    I looked at Payload data for all the Tasks submitted by the first Initiator Task in EM Console, when we check the Flow Trace etc. Here is what I found for <taskDefinitionId> value for each of my different Processes. They do have some Pattern. So you had to use some sort of properties file to get these values so that if they are deployed to different partitions and with different versions, you do not have to modify your java code and recompile it. Just modify .properties file.
    Anyhow, looks like the format for <taskDefinitionId> is something like this:
    NameOfPartition + "/" + NameOfProcess + "!" + VersionNumber + "/" + NameOfInitiatorHumanTask
    Here are some examples from my domain for some of the Process.
    <taskDefinitionId>default/SalesQuoteProcess!1.0/EnterQuote</taskDefinitionId>
    <taskDefinitionId>Ravi1_Partition/CreditReviewRequestProcess!1.0/HumanTaskCreditRequestor1</taskDefinitionId>
    <taskDefinitionId>Jegga1_Partition/HolidayProcess!1.0/StartNewHolidayTask</taskDefinitionId>
    You already tried hardcoding it I guess and it worked. Now try generating them dynamically using simple String appenders and sort of properties file to make it more dynamic. How often do we really change partition name or human task name itself or name of process itself. They are pretty much fixed. Now comes only the Version number. This can change with your new deployment if you want to have different version. So just read all these from .properties file.
    Thanks
    Ravi Jegga

  • Human Task: how to get the participant name in the task form?

    HI All,
    I am using SOA Suite 11.1.1.6 in the current project. For a human task, there are multiple participating groups. For each participant, the payload is different. Currently, we are calling Human Task multiple times to pass the payload. However, I like to take advantage of new features in 11g Human task. I like to setup multiple groups as parallel. Then, jsf page can selective display corresponding parts of the payload for different partidipants. The problem is how JSF can get the name of the participant when page is invoked?
    Thanks in advance,
    Steven

    Hi,
    Variants are stored in table VARI and VARID.
    You can use RS_ALL_VARIANTS_4_1_REPORT to get all the variants for a report program.
    please check out the link below it will be helpful to you
    Re: Programs for a transaction variant
    Hope this helps.
    ashish

  • Creation an ADF Task Flow Based on a Human Task

    Hello!
    While creating ADF Task Flow Based on a Human Task, I can't bind New TaskFlow to task, which I choose in Dialog.
    Details:
    I Have:
    BPM Project with PackageCreation.task
    ADF Project in Same Application
    I do:
    1. in Application Navigator right click on ADF Project -> New -> Web Tier -> JSF -> ADF Task Flow Based on a Human Task
    in creation Dialog I choose PackageCreation.task and Don't change name of New TaskFlow (automatically JDeveloper set this name to PackageCreation_TaskFlow)
    I have After that:
    new ADF Task Flow and my old PackageCreation.task.
    Question:
    Why my Task don't bind to created ADF task Flow based on it?
    I think, that while creating ADF Task Flow Based on a Human Task it has to change my task, writing some thing like This (inside xml):
    <taskFlowFileLocation>file:/D:/JDeveloper/mywork/SalesQuoteLab/EnterQuoteUILab/public_html/WEB-INF/EnterQuoteDetails_TaskFlow.xml</taskFlowFileLocation>
    That xml element is creating in xml of *.task, while making auto-generation form for human task in BPM Project.

    Juan C,
    I use JDeveloper 11g Release 1.
    May be I didn't explained my question correctly.
    taskdetails1 is creating, and in Data Controls I have objects of my BPM Human Task Payload.
    But in that file "PackageCreation.task" in source I can't find any link to instantly created TaskFlow.xml in my UI project.
    So, I have
    NEW project "PackageCreationUI" with PackageCreation_TaskFlow.xml in it (and TaskDetails1 file too).
    AND Did't Changed PackageCreation.task in BPM Project.
    If I use *"BPM form creation wizard"*, after creating project and TaskFlow in it I see Changes in PackageCreation.task in BPM Project, something like that:
    <taskFlowFileLocation>file:/C:/JDeveloper/mywork/testApp/PackageCreationUI/public_html/WEB-INF/PackageCreation_TaskFlow.xml</taskFlowFileLocation>

  • Not able to access human task form (11.1.1.4)

    I installed SOA Suite with BPM Suite 11.1.1.4. I ran into quite a few issues. The biggest one is I am not able to access the human task form in BPM workspace even for the new application created in 11.1.14.
    Do you have such issue? I am not sure if it is a bug or is related to my specific installation. I followed the document “Quick Start Guide for Oracle® SOA Suite 11gR1 (11.1.1.4.0) Version 1.6” for the installation. The only difference is that I installed the generic version of WebLogic and JDev and configured them to use JDK 64-bit version since my OS is windows 7 (64-bit). Before, I had installed 11.1.1.3 with 64-bit and it was working fine. The only tool installed with 32-bit is the JDev 11.1.1.3. Since JDev 11.1.1.4 is supporting 64-bit, I installed everything with 64-bit for this time.
    The details of the error are the following:
    With JDev 11.1.1.4, I created a new application which has a simple BPM process with 3 flow objects: start event-user activity-end event. The human task has the auto-generated task form. I deployed the application to the SOA server.
    When testing the application, the task was created and listed in the BPM workspace. But when I clicked the task link to open the task form, the web page was hanging. I noticed the following log was REPEATED again and again in the access.log:
    140.98.125.168 - - [20/Apr/2011:10:28:08 -0400] "GET /workflow/TestpsUI/faces/adf.task-flow?bpmWorklistTaskId=2a5b4ad1-823f-4615-8a7e-c5449a7be814&bpmWorklistContext=12aa4934-991a-487c-b7f3-5159808c399a%3B%3BtbcZXSd1E1LVZv8OIaLZGd21meLUMNkYSMsmz60kNKoEaJ1N53wy3zyRYA%2BunyKF9UNi50fPHKtaXY6IqKbh%2Fu68WebTan3zCwGsUNmNMaw8aLEygS5qb2cOGx2qGal86F%2FgiRka874PYLXhohFdDPCQyoxre2p7IgpsloLHq2rh7T3zWGnyOjLdC7Qw0Geb20Kfp8XA2UUIoxaxTHS6YFPQqqs%2FzIkyEsgMNQJMDbYYGdceRL2sT8rMkBXpmQ0r&bpmWorklistHttpURL=http%3A%2F%2Flocalhost%3A7001%2Fbpm%2Fworkspace%2Ffaces&bpmWorklistHome=home.jspx&bpmWorklistReassign=reassignTask.jspx&bpmWorklistRoute=routeTask.jspx&bpmWorklistRequestInfo=requestInfo.jspx&bpmWorklistSecurity=signTask.jspx&tz=America%2FNew_York&lg=en&cy=US&vr=&dispNameLg=en&dispNameCy=US&dispNameVr=&df=medium&dt=both&tf=short&bpmWorklistSessionTimeoutInterval=900&soaUrl=http%3A%2F%2F140.98.125.168%3A7001&bpmBrowserWindowStatus=taskFlowReturn&adf.tfDoc=%2FWEB-INF%2FHumantask_TaskFlow.xml&adf.tfId=Humantask_TaskFlow&_task-flow-return=http%3A%2F%2Flocalhost%3A7001%2Fbpm%2Fworkspace%2Ffaces%2Fadf.task-flow-return%3F_adf.ctrl-state%3De1i6yi1gq_35&_adf.winId=e1i6yi1gq_26&_afrLoop=7156779026094&_afrWindowMode=0&_afrWindowId=null HTTP/1.1" 200 5478
    Please help if you know what is going on for the issue.
    Thanks a lot,
    Helen

    Go to OEM, select the SOA Composite application you deployed.
    Under Component Metrics … click the link of the Human Workflow Component that you have the issue
    The settings of the Human Workflow Component would be displayed
    Click the Administration tab, you will get the URI setting for the human task
    update the Host name etc. as you want and click "OK" then click "Apply"
    Please note: this is just a shortcut for my own dev-env. I have not got the time to figure out why this happens. It is sure not the right solution for the production if we have the issue in the prod-env, I think.

  • Human tasks, complex types and variable assignment.

    Hi folks,
    I encountered a problem while working with 10.1.3.1 which I haven't managed to solve yet and would be grateful for assistance. I have defined a complex data type (just a sequence of strings) and want to fill that data type by going through a flow of screens, e.g. through several human tasks. I have defined that type as a variable to the BPEL process and have managed to assign simple expressions to the variable and pass that into a Human Task. In the task I see now a simple input form for all attributes of the type.
    Now the problem. After I fill out the form and complete the human task, I have
    The global variable:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <vorname/>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    and the return value from the human task:
    <task>
         <title>CaptureData</title>-
              <payload>
                   <MyProcessResponse>
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </payload>
    </task>
    Now the only thing I would like to do is to replace the original values in the variable with the new values that have been returned from the task, this should be performed in an extra assign step. Sounds simple. JDeveloper wouldn't even let me klick through the return value from the HumanTask, so it seems as if I have to do things manually.
    These are my tries:
    Command 1:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload" />
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 1:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <ns0:MyProcessResponse xmlns="http://xmlns.oracle.com/bpel/workflow/task"     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                   <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </ns0:MyProcessResponse>
         </part>
    </outputVariable>
    --> There is one MyProcessResponse element too many
    Command 2:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse/ns1:vorname"/>
    </copy>
    Result 2:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <ns0:vorname xmlns="http://xmlns.oracle.com/bpel/workflow/task"                     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                        <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                             <vorname>David</vorname>
                             <nachname>Beckham</nachname>
                             <strasse>HighStreet</strasse>
                             <nummer/>
                             <postleitzahl/>
                             <stadt/>
                             <maximaleDauer/>
                             <minimaleDauer/>
                        </MyProcessResponse>
                   </ns0:vorname>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    --> This was moreless expected, since I tried to copy the stuff to some wrong place.
    Command 3:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload/ns0:MyProcessResponse"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 3:
    --> Task does't return (!!!). In the BPEL Worklist, the task is completed, however in the BPEL console it still apears as "waiting to return from Human task".
    Does anyone have a hint on how to copy the values so that I get exactly the structure that I printed at the very top?
    Thanks for help. Rock On !

    Hello everyone,
    It seems that we are talking about different things, I am afraid. Let me describe the scenario once again:
    - I want to have a BPEL process with more than one role involved
    - This process should be used to gather some complex data.
    - All data gathering should be done through HumanTasks.
    So I defined an xsd complex type, that contains a sequence of fields. This complex type should be part of the process payload.
    Now before HumanTask 1 is called, I copy the contents of this variable into the input for tasks1. This works fine and I see the appropriate values, when opening the Human Task in the BPEL worklist application.
    Now after HumanTask1 is completed, the values I entered inside that tasks are returned as a variable from the HumanTask. My problem is, that I cannot copy the contents of the task back into the main process. With simpleTypes this is relatively ok, since Jdev supports the assembling of the copy operation, however for complex tasks it fails.
    A typical scenario for this would be where e.g. a customer fills a shipping address and afterwards a store staff fills product details in the same order. In Java this could be solved via "pass by reference". Who can provide an example?

  • How to take human task values and store them in DB table

    Hi, I have a workflow and when I assign the task to someone I want to store some info in a database table that I created.
    I have checked the box allow task and routing customization in bpel call backs.
    And under the on Assign message, I put an assign bpel construct and an invoke.
    in the assign construct I am trying to copy some of the elements from my humantasks_globalvariables to certain columns in my database table.
    I have found out you can't copy them directly because the humantasks_globalvariables are of type string and my database columns are anonymous. So I tried using parseEscapedXML(), when I do this I get the error that
    oracle.fabric.common.xml.xpath.XPathFunctionException: parseXML() expects the argument to be either a string or an XML element.
    The humantasks_globalvariable I am using says it's of type string but it gives me this error.
    I am obviously doing something wrong. If anybody know how to take values from a human task and store them in a database table any help would be greatly appreciated.

    In the actual database the column types are varchar2. But when I drag an invoke from the bpel constructs I associate it with by DBadapter partner link and click the button automatically create input variables. It creates an xsd and this is what one of the elements looks like.
    <xs:element name="anyvalue">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                 <xs:maxLength value="20"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>When I do an assign and try to assign the values from the humantasks_globalvariables xsd there types look like this.
    task:title string
    and the input variable I automatically generated look like this.
    ns7:anyvalue <anonymous>

  • BPEL Test waits forever to receive callback from human task service

    Hi,
    I've created a test (CreditCardInvalidTest.xml) to test a bpel process (testbpel.bpel) which contains a call to a human task service. The problem is when the test executes it waits forever to receive the response message from the human task service but clearly i've emulated it! Would appreciate help.
    I've attached both files and highlighted the relevant sections. Thanks.
    testbpel.bpel
    <process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
    xmlns:client="http://xmlns.oracle.com/testbpel"
    xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
    xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:testbpel"
    myRole="testbpelProvider" partnerRole="testbpelRequester"/>
    <partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
    partnerLinkType="ns5:execute_pptLT"/>
    <partnerLink name="CreditCardService"
    partnerRole="CreditCardServiceProvider"
    partnerLinkType="ns6:CreditCardService"/>
    <partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
    partnerRole="TaskService"
    partnerLinkType="taskservice:TaskService"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the requester during callback -->
    <variable name="inputVariable"
    messageType="client:testbpelRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:testbpelResponseMessage"/>
    <variable name="n" type="xsd:integer"/>
    <variable name="Invoke_ShipmentService_execute_InputVariable"
    messageType="ns5:orderRequest_request"/>
    <variable name="paymentFault"
    messageType="client:testbpelFaultMessage"/>
    <variable name="ApproveOrder_1_globalVariable"
    messageType="taskservice:taskMessage"/>
    <variable name="orderRejectedFault"
    messageType="client:testbpelFaultMessage"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_6">
    <throw name="Throw_AllFaults"
    faultName="ns8:testbpelGenericFault"
    faultVariable="paymentFault"/>
    </sequence>
    </catchAll>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in testbpel.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:testbpel" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <scope name="CheckForApproval">
    <sequence name="Sequence_4">
    <sequence name="Sequence_5">
    <scope name="ApproveOrder_1"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    wf:key="ApproveOrder_1_globalVariable">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="initiateTaskInput"
    messageType="taskservice:initiateTaskMessage"/>
    <variable name="initiateTaskResponseMessage"
    messageType="taskservice:initiateTaskResponseMessage"/>
    </variables>
    <correlationSets>
    <correlationSet name="WorkflowTaskIdCor"
    properties="taskservice:taskId"/>
    </correlationSets>
    <sequence>
    <assign name="ApproveOrder_1_AssignTaskAttributes">
    <copy>
    <from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
    </copy>
    <copy>
    <from expression="number(3)"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:priority"/>
    </copy>
    <copy>
    <from>
    <payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    </from>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:payload"/>
    </copy>
    </assign>
    <assign name="ApproveOrder_1_AssignSystemTaskAttributes">
    <copy>
    <from expression="ora:getInstanceId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessVersion()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
    </copy>
    <copy>
    <from expression="ora:getDomainId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
    </copy>
    <copy>
    <from expression="string('BPEL')"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
    </copy>
    </assign>
    <invoke name="initiateTask_ApproveOrder_1"
    partnerLink="TaskService"
    portType="taskservice:TaskService"
    operation="initiateTask"
    inputVariable="initiateTaskInput"
    outputVariable="initiateTaskResponseMessage">
    <correlations>
    <correlation initiate="yes"
    set="WorkflowTaskIdCor"
    pattern="in"/>
    </correlations>
    </invoke>
    *<receive name="receiveCompletedTask_ApproveOrder_1"*
    partnerLink="TaskService"
    portType="taskservice:TaskServiceCallback"
    operation="onTaskCompleted"
    variable="ApproveOrder_1_globalVariable"
    createInstance="no">
    *<correlations>*
    *<correlation initiate="no"*
    set="WorkflowTaskIdCor"/>
    *</correlations>*
    *</receive>*
    </sequence>
    </scope>
    <switch name="taskSwitch">
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <assign name="AssignOrderRejected">
    <copy>
    <from expression="string('Order rejected by manager')"/>
    <to variable="paymentFault"
    part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowOrderRejected"
    faultName="ns9:orderRejectedFault"
    faultVariable="orderRejectedFault"/>
    </sequence>
    </case>
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_1"/>
    </sequence>
    </case>
    <otherwise>
    <bpelx:annotation>
    <bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_2"/>
    </sequence>
    </otherwise>
    </switch>
    </sequence>
    </sequence>
    </scope>
    <scope name="CheckCreditCard">
    <variables>
    <variable name="InvokeCreditCardService_process_InputVariable"
    messageType="ns6:CreditCardServiceRequestMessage"/>
    <variable name="InvokeCreditCardService_process_OutputVariable"
    messageType="ns6:CreditCardServiceResponseMessage"/>
    </variables>
    <sequence name="Sequence_2">
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
    <to variable="InvokeCreditCardService_process_InputVariable"
    part="payload"
    query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
    </copy>
    </assign>
    <scope name="Scope_1">
    <compensationHandler>
    <sequence name="Sequence_7">
    <empty name="Empty_3"/>
    </sequence>
    </compensationHandler>
    <invoke name="InvokeCreditCardService"
    partnerLink="CreditCardService"
    portType="ns6:CreditCardService" operation="process"
    inputVariable="InvokeCreditCardService_process_InputVariable"
    outputVariable="InvokeCreditCardService_process_OutputVariable"/>
    </scope>
    <switch name="CheckCreditCardValid">
    <case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
    <sequence name="Sequence_3">
    <assign name="AssignCreditFault">
    <copy>
    <from expression="string('Invalid credit card number')"/>
    <to variable="paymentFault" part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="ns7:CreditCardNumberFault"
    faultVariable="paymentFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <assign name="AssignInitial">
    <copy>
    <from expression="string('Select Manufacturer')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:result"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="n"/>
    </copy>
    <copy>
    <from expression="0.0"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('n') &lt;= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
    <sequence name="Sequence_1">
    <assign name="DoCalculation">
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('n') + 1"/>
    <to variable="n"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <assign name="Transform_2">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="Invoke_ShipmentService_execute_InputVariable"
    part="orderRequest"/>
    </copy>
    </assign>
    <invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
    portType="ns5:execute_ppt" operation="execute"
    inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:testbpelCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    CreditCardInvalidTest.xml
    <BPELTest processName="testbpel"
    xmlns="http://xmlns.oracle.com/bpel/instancedriver"
    xmlns:client="http://xmlns.oracle.com/testbpel">
    <initiate operation="initiate">
    <inboundMessage>
    <part fileName="testInput.xml" name="payload"/>
    </inboundMessage>
    </initiate>
    <activityDriver name="callbackClient">
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="false" patternMatch="false">
    <message>Expected "Select Manufacturer"</message>
    <actualPath>/client:testbpelProcessResponse/client:result</actualPath>
    <expected>Select Manufacturer</expected>
    </assertValue>
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="true" patternMatch="false">
    <message>Expected price of "1"</message>
    <actualPath>/client:testbpelProcessResponse/client:price</actualPath>
    <expected>1</expected>
    </assertValue>
    </activityDriver>
    *<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
    *<emulate duration="PT">*
    *<inboundMessage>*
    *<part fileName="approverResponse.xml" name="payload"/>*
    *</inboundMessage>*
    *</emulate>*
    *</activityDriver>* <--- it waits FOREVER at this bit to receive the approverResponse.xml :s
    <activityDriver name="InvokeCreditCardService">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="creditCardServiceResponse.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    <activityDriver name="initiateTask_ApproveOrder_1">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="getApproval.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    </BPELTest>

    RaviKiran,
    I agree that the explanation oracle provided in the attach link, is a bit confusing. The main goal there is to describe the behavior of processes, when there is a need to combine, or split the transactions within those processes (or in some cases the processes themselves).
    The thing is - The default transaction for a synchronous process is requiresNew. That was until version 11.1.1.6. On this last version, you are asking to enter a Transaction parameter when creating a new synchronous bpel process. The default value being prompt is required and that's what causing the problem – You automatically accept the default.
    The assumption is, that developing bpel processes, should come with understanding of all those behaviors.
    The problem for my understanding is that some of those behaviors were not so cleared until now.
    Arik

  • Problem in setting dynamic expiration duration from Human Task

    Hi,
    I have a BPEL process, in which the Human task expiration has to be set dynamically..
    In the , I have set the expiration duration with this :-
    <copy>
    <from expression="xp20:format-dateTime(xp20:current-dateTime(),'PT1M')"/>
    <to variable="initiateTaskInput" part="payload"
    query="/taskservice:initiateTask/task:task/task:systemAttributes/task:expirationDuration"/>
    </copy>
    Do not get confused with 'PT1M' .. I want the duration to be 1 minute... Had I used 'PT1M' as a String and assign to the expirationDuration var, it would have caused an error... It needs to be fromatted as a Date..That's y i took this approach ... I am sure this is working fine as I have checked the payload of the task..
    It has a proper duration..
    <initiateTaskInput><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><initiateTask xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">
    <task xmlns="http://xmlns.oracle.com/bpel/workflow/task">
    <systemAttributes>
    <expirationDuration>PT1M</expirationDuration>
    Now in the Human task definition(.task file), I have set the expiration duration with "By Expression" option in this way..
    <globalConfiguration>
    <owner>oc4jadmin</owner>
    <expirationDuration duration="/task:task/task:systemAttributes/task:expirationDuration"
    type="XPATH"/>
    </globalConfiguration>
    The problem is the task(at runtime) cannot evaluate the expirationDuration from the XPATH..
    I checked with the WF_TASK table in the orabpel schema ...
    When I use a static duration EXPIRATIONDURATION cloumn gets assigned properly (ie PT1M).. But when i take the XPATH approach, it translates to PT0S.
    Can someone look into this please ?
    Struggling with this for quite sometime...
    saptarishi

    If the Human Task shows status complete, then it's possible that there was an error in the output data association in the process. In EM do you see a fault on the output for the Human Task activity, or if PS4FP the process will go to suspended state if the data association fails.

  • Warning after creating Human Task Flow in ADF project

    I'm using JDev 11g and have created my SOA Composite containing a Human Task. After I generated the Task flow based on Human Task in my non-soa application, I get the following warnings which are preventing my application from building and deploying to the admin server. I have followed the instructions in the Developer's Guide for Implementing an ADF Task Flow for a Human Task.
    Warning: <Feb 22, 2010 9:47:59 AM PST> <Error> <J2EE> <BEA-160187> <weblogic.appc failed to compile your application. Recompile with the -verbose option for more details. Please see the error message(s) below.>
    Warning: Unresolved WebApp library references defined in weblogic.xml, of module 'public_html' [Extension-Name: oracle.webcenter.framework.view, Specification-Version: 11.1.1, exact-match: false], [Extension-Name: oracle.applcore.view, exact-match: false].
    Did I miss a step somewhere, I've double checked the class libraries, but am not sure what I should be looking for, I added the recommended libraries to the class path per the Developer's Guide.

    ###<Feb 25, 2010 12:20:11 AM PST> <Warning> <Deployer> <den65044fwks> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1267086011065> <BEA-149078> <Stack trace for message 149004
    java.lang.NoClassDefFoundError: oracle/as/scheduler/MetadataService
         at java.lang.Class.getDeclaredFields0(Native Method)
         at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
         at java.lang.Class.getDeclaredFields(Class.java:1743)
         at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.getFields(BaseJ2eeAnnotationProcessor.java:973)
         at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.getFields(BaseJ2eeAnnotationProcessor.java:966)
         at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.processJ2eeAnnotations(BaseJ2eeAnnotationProcessor.java:97)
         at weblogic.j2ee.dd.xml.J2eeAnnotationProcessor.processJ2eeAnnotations(J2eeAnnotationProcessor.java:37)
         at weblogic.servlet.internal.WebAnnotationProcessorImpl.processServlets(WebAnnotationProcessorImpl.java:228)
         at weblogic.servlet.internal.WebAnnotationProcessorImpl.processJ2eeAnnotations(WebAnnotationProcessorImpl.java:211)
         at weblogic.servlet.internal.WebAnnotationProcessorImpl.processAnnotations(WebAnnotationProcessorImpl.java:107)
         at weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1301)
         at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:425)
         at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:470)
         at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:414)
         at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:901)
         at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:345)
         at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:180)
         at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:388)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:44)
         at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:610)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:185)
         at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:53)
         at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:198)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:160)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    java.lang.NoClassDefFoundError: oracle/as/scheduler/MetadataService
         at java.lang.Class.getDeclaredFields0(Native Method)
         at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
         at java.lang.Class.getDeclaredFields(Class.java:1743)
         at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.getFields(BaseJ2eeAnnotationProcessor.java:973)
         at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.getFields(BaseJ2eeAnnotationProcessor.java:966)
         at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.processJ2eeAnnotations(BaseJ2eeAnnotationProcessor.java:97)
         at weblogic.j2ee.dd.xml.J2eeAnnotationProcessor.processJ2eeAnnotations(J2eeAnnotationProcessor.java:37)
         at weblogic.servlet.internal.WebAnnotationProcessorImpl.processServlets(WebAnnotationProcessorImpl.java:228)
         at weblogic.servlet.internal.WebAnnotationProcessorImpl.processJ2eeAnnotations(WebAnnotationProcessorImpl.java:211)
         at weblogic.servlet.internal.WebAnnotationProcessorImpl.processAnnotations(WebAnnotationProcessorImpl.java:107)
         at weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1301)
         at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:425)
         at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:470)
         at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:414)
         at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:901)
         at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:345)
         at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:180)
         at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:388)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:44)
         at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:610)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:185)
         at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:53)
         at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:198)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:160)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapte

  • Workflow API: adding and accessing file Attachments to a Human Task

    Hi there,
    I am using the Workflow Services Java API (11.1.1) for SOA Suite to access and manipulate human tasks. I would like to be able to access and add file attachments to existing human tasks. I am using the methods provided in the AttachmentType interface.
    When adding an attachment, the problem I am running into is that an attachment does created and associated with the task, however it is empty and has no content. I have attempted both setting the input stream of the attachment, as well as the content string and in each case have had no success.
    I have successfully added and accessed an attachment using the worklist application, however when trying to access the content of this attachment through code I receive an object with mostly null/0 values throughout, apart from the attachment name.
    As the API's are not overly rich in documentation I may well be using them incorrectly. I would really appreciate any help/suggestions/alternatives in dealing with BPEL task attachments.
    Thanks
    The code I am using resembles:
    List attachments = taskWithAttachments.getAttachment();
    for(Object o : attachments){
    AttachmentType a = (AttachmentType) o;
    String content = a.getContent(); +// NULL+
    InputStream str = a.getInputStream(); +// NULL+
    String name = a.getName(); +// Has the attachment name+
    String mime = a.getMimeType(); +// Has the mime type+
    long size = a.getSize(); +// 0+
    Edited by: 855489 on May 2, 2011 4:23 PM
    Edited by: 855489 on May 2, 2011 8:48 PM

    I am also facing the same issue, using 11.1.1.6, anyone managed to solve this?
    Regards
    Venkat

  • How to retrieve a due date from a human task and create a report in BAM with it

    Hi.
    I'm working with a BPM process, the requirement is that I have a human task and a working hours limit to complete it. For this purpose I created a calendar in the bpm workspace and I've associated it to a role that executes that human task. Now I need to know how can I pass it into a data_object in BAM in order to create a Dashboard that lets me know whether a human task was completed just in time.
    I'm using Oracle SOA Suite 11.1.1.7.0
    Thank you.

    There's a correction to the code. For whatever reason doing it that way still sets it as a "remind me when" parameter. Use the following code instead:
    tell application "System Events" to set FrontAppName to name of first process where frontmost is true
    if FrontAppName is "Reminders" then
              tell application "Reminders"
                        set duedate to (current date) + (2 * days)
      make new reminder with properties {name:"New Reminder", due date:duedate}
              end tell
    else
              display dialog "failed to make new reminder!"
    end if

  • BPM 11G comments and file attachments issue on human tasks

    Hi all,
    We have used JDeveloper 11G and SOA suite 11G + BPM (with PS1,PS2) to create and deploy a simple BPM process. The process consists of two swim-lanes ( Business Analyst and Snr Executive). The BA swim-lane has a human task which which initiates the process and the second swim-lane (SE) has a voting task. Both forms were auto generated.
    ------ Process steps ----
    step 1. The initiator of the process( Business analyst) submits a document and adds comments on the form. (1st swim lane)
    step 2. The task is received by the Snr Executive group and they need to accept or reject the document.
    step 3. If any of the Snr Execs rejects the document, the process flow goes back to the Business analyst(the requester or initiator) for review.
    (the voting group is able to share comments and the file attachments).
    step 4. The business analyst receives a task on her list. This task list should have the comments made by the Snr Execs who rejected the document. ---This is where we are having a problem. The business Analyst, receives the task, but the document and comments are not updated. This still shows the original document and comments, she sent when initiating the process.
    We have opened a SR with My Oracle support and it was suggested we apply a hot fix 9958661, which was done (see output below). Unfortunately this did not solve the problem.
    Questions:
    1. Is the default behavior of BPM 11G ?
    2. How can we change this behavior to do what we want ?
    ---------------------------------------opatch update output -----------------------------------------------------------
    ApplySession adding interim patch '9958661' to inventory
    Verifying the update...
    Inventory check OK: Patch ID 9958661 is registered in Oracle Home inventory with proper meta-data.
    Files check OK: Files from Patch ID 9958661 are present in Oracle Home.
    The local system has been patched and can be restarted
    I any suggestions would be welcome.
    Thanks
    Mocheche

    Ok, this is what i did:
    - I have a Process Data Object called CustomComments with just 1 attribute called comments.
    - I have added that object to my user screens (adf page)
    - Changed its columns att to 65 and rows to 8 (i chose that layout)
    - Used a tableLayout to add an icon next to this text area to allow the user to add comments:
    <af:commandImageLink shortDesc="addCommentImage" id="addCommentImage" partialSubmit="true" icon="/hw_images/new_ena.png">
         <af:clientListener method="myFunction" type="click"/>
         <af:clientAttribute name="attributeName" value="attributeValue"/>
    </af:commandImageLink>
    I use that clientAttribute to send the logged user to the javascipt.
    - I added this after the af:document on top of the page to make the customComments readonly to the user (you need to do it here because if you set it in the properties the element is not updated later), so the user has to use the button i put to add comments:
    <f:facet name="metaContainer">
         <f:facet name="metaContainer">
         <af:resource type="javascript">
              function readOnly(){
                   var comms = document.getElementById("it1::content");
                   comms.setAttribute("readOnly","true")
         </af:resource>
    </f:facet>
    <af:clientListener method="readOnly" type="load"/>
    - Somewhere i added the javascript the commandLink calls:
    <trh:script id="myScripts">
         function addComment(evt){
              var commentArea = document.getElementById("it1::content");
    var user = evt.getSource().getProperty("user");
    var comm = prompt("Please enter your comment: ","");
              if (comm != null) {
                   if (comm != ""){
                        if (commentArea.value !=""){commentArea.value = commentArea.value + "\n"}
                        commentArea.value = commentArea.value + "user.value" + " : " + comm;
    </trh:script>
    After all this, you have an object that carries the comments from one screen (UI project) to another and is updated each time.
    I know it may not be the perfect solution and that it could be improved a lot, but so far it does what i need so i use it.
    If there is anything i wasnt clear enough, please let me know. Hope this helps.

  • Custom ADF Taskflow to be displayed as part of Human Task notification

    Hi all,
    I am trying to display a custom ADF taskflow as part of notification of a Human Task. I see multiple ways of implementing it and need guidance on how to go about this.
    As a first step, I created a taskflow based on the human workflow task. This is WEB-INF/oracle/apps/xyzcommon/activities/publicUi/worklist/flow/myTaskflow.xml. Then I see 2 options -
    Option 1 - Use setTaskDisplayUrl while creating the task
    oracle.bpel.services.workflow.task.model.Task task = objectFactory.createTask();
    String AppUrl = oracle.topologyManager.client.deployedInfo.EndPointProvider.getExternalEndpoint("xyzCommon");
    String taskflowUrl = AppUrl + "/faces/adf.task-flow?_id=myTaskflow&_document=WEB-INF/oracle/apps/xyzcommon/activities/publicUi/worklist/flow/myTaskflow.xml";
    task.setTaskDisplayUrl(taskflowUrl);
    Option 2 - Define the taskflow in the Enterprise Manager - Add or remove the URI for the user defined task details application.
    Setup the Application Name=worklist, Host Name, HTTS Port, URL=/xyzCommon//faces/adf.task-flow?_id=myTaskflow&_document=WEB-INF/oracle/apps/xyzcommon/activities/publicUi/worklist/flow/myTaskflow.xml
    Questions -
    1. Are both the above options required to get my notification correct or is just one of them enough? If one of them is enough, which is better to use?
    2. Is creating the taskflow from the human workflow task the only way to customize my notification to show a taskflow?
    Thanks,
    Srini

    Learnt that I need to follow this link and no explicit setting is required in code.

Maybe you are looking for

  • After Updating to Server 4.1 Open directory and LPAD gone

    Hello, two days ago I discovered that Open directory was not working on our Server (Mac Mini 2012). I suspect it stopped working after updating to 10.10.3 and OS-X Server 4.1. When I try to start Open directory in the Server App the Server App prompt

  • Photoshop CC 2014 very very slow

    Hello, I own an iMac late 2013 i7 3,5 Ghz with 16GB ram and NVIDIA GeForce GTX 780M 4096 MB with OsX Yosemite updated to version 10.10.2 My Photoshop CC 2014 is incredibly slow ever with normal operations like open a JPG file or creating (or switchin

  • How to override the default height of tree component...

    Hi, Can anyone please tell me how to override the default height of <af:tree> component. Actual Problem: I have a PanelBox in which I have a ShowDetail component. ShowDetail contains Tree component. When I click on ShowDetail item the Tree component

  • Blue Streaks Running Down Screen! Help? Image Enclosed.

    Well, that is weirder still!  The images do NOT show up on a Screen Grab but are visible on every page and picture. Does anyone know what might have happened here?  I noticed a small bluish mess in my upper right hand corner and it has now become mul

  • No LUNs in Xsan admin

    I'm using Xsan 1.1 on OSX 10.4.7 and I added an new Xserve RAID into the mix. But the trouble is that the LUNs are not showing up in Xsan Admin (v.1.3). `cvlabel -l` shows the two LUNs, labeled "unknown". so does `diskutil list`. All Xserve RAIDs hav