Workflow Pattern FYI Task Issue
Hi,
BPEL PM version 10.1.2.0.2.
I am trying to create a workflow using FYI Task pattern. I have only one action 'Acknowledge'. The task gets created and shows up in the worklist application under my group, but the status of the task is 'Withdrawn' and no action displays for that task. I want the task to be 'Assigned' to the group and let the process continue. The group user can then acknowledge the task whenever. I used the workflow wizard to create the task.
Why does the task show up as 'Withdrawn' with no action list? Has anybody encountered this issue before? Any help is appreciated!
I'm also seeing instances of tasks arriving on the worklist and then being immediately withdrawn (bpeladmin) ?
The call to InitiatTask fails :
<bindingFault>
<part name="summary" >
<summary>null</summary>
</part>
</bindingFault>
Message was edited by:
blackrob1966
Similar Messages
-
Worklist FYI task is not visible after updating protectednumberattribute2
Hi,
I need you guys help please. The case is that or bpel process is creating a FYI task for user notification where a custom worklist screen is created to retreive FYI tasks for the users.
If any of the FYI task is later updated with the API, the task becomes invisible in the worklist application and also cannot be retreived with the worklist API.
Below is the code for retreiving and updating the task. Its an struts action and the init method is executed the first time to display all tasks.
Later the delete method is invoked and again the init method to see the remaining tasks.
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.bpel.services.workflow.IWorkflowConstants;
import oracle.bpel.services.workflow.StaleObjectException;
import oracle.bpel.services.workflow.WorkflowException;
import oracle.bpel.services.workflow.client.IWorkflowServiceClient;
import oracle.bpel.services.workflow.client.WorkflowServiceClientFactory;
import oracle.bpel.services.workflow.query.ITaskQueryService;
import oracle.bpel.services.workflow.repos.Ordering;
import oracle.bpel.services.workflow.repos.Predicate;
import oracle.bpel.services.workflow.repos.TableConstants;
import oracle.bpel.services.workflow.task.ITaskService;
import oracle.bpel.services.workflow.task.model.Task;
import oracle.bpel.services.workflow.verification.IWorkflowContext;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
@SuppressWarnings( { "unchecked", "deprecation" })
public class Crud extends BaseAction {
private Log log = LogFactory.getLog(getClass());
private String getRemoteUser(HttpServletRequest request) {
boolean isDevMode = Boolean.valueOf(System.getProperty("DEV_MODE"));
String remoteUser = null;
if (isDevMode) {
if ((remoteUser = request.getParameter("remote_user")) != null)
request.getSession().setAttribute("remote_user", remoteUser);
else
remoteUser = request.getSession().getAttribute("remote_user").toString();
if (remoteUser == null)
remoteUser = request.getHeader("REMOTE-USER");
return remoteUser;
public void init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws WorkflowException {
log.debug("init");
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory
.getWorkflowServiceClient(WorkflowServiceClientFactory.REMOTE_CLIENT);
String remoteUser = getRemoteUser(request);
log.debug("remote user: " + remoteUser);
IWorkflowContext wfCtx = WorkflowUtils.getWorkflowContextOnBehalf(AppProperties
.getProperty("weblogic.username"), AppProperties.getProperty("weblogic.password"),
AppProperties.getProperty("identityContext"), remoteUser);
log.debug(wfCtx.getClass());
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();
// category is CRUD
Predicate crudPredicate = new Predicate(TableConstants.WFTASK_CATEGORY_COLUMN,
Predicate.OP_EQ, "CRUD");
// should not be a stale task
crudPredicate.addClause(Predicate.AND,TableConstants.WFTASK_STATE_COLUMN, Predicate.OP_NEQ,
IWorkflowConstants.TASK_STATE_STALE);
log.debug(crudPredicate);
List queryColumns = new ArrayList();
queryColumns.add("TASKID");
queryColumns.add("TASKNUMBER");
queryColumns.add("TITLE");
queryColumns.add("PRIORITY");
queryColumns.add("STATE");
queryColumns.add("PROTECTEDNUMBERATTRIBUTE1"); // trxTypeId
queryColumns.add("PROTECTEDNUMBERATTRIBUTE2"); // trxStatus
queryColumns.add("PROTECTEDTEXTATTRIBUTE1"); // trxNo
// List optionalInfo = new ArrayList();
// optionalInfo.add("PAYLOAD");
Ordering ordering = new Ordering(TableConstants.WFTASK_TITLE_COLUMN, true, true);
ordering.addClause(TableConstants.WFTASK_PRIORITY_COLUMN, true, true);
List<Task> tasksList = querySvc.queryTasks(wfCtx, queryColumns, null,
ITaskQueryService.ASSIGNMENT_FILTER_MY, null, crudPredicate, ordering, 0, 0);
request.setAttribute("CRUD_TASKS", tasksList);
logTaskAttributes(tasksList);
public void delete(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws WorkflowException, StaleObjectException {
log.debug("delete");
DynaActionForm deleteForm = (DynaActionForm) form;
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory
.getWorkflowServiceClient(WorkflowServiceClientFactory.REMOTE_CLIENT);
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();
String remoteUser = getRemoteUser(request);
log.debug("remote user: " + remoteUser);
IWorkflowContext wfCtx = WorkflowUtils.getWorkflowContextOnBehalf(AppProperties
.getProperty("weblogic.username"), AppProperties.getProperty("weblogic.password"),
AppProperties.getProperty("identityContext"), remoteUser);
log.debug(wfCtx.getClass());
// category is CRUD
Predicate crudPredicate = new Predicate(TableConstants.WFTASK_CATEGORY_COLUMN,
Predicate.OP_EQ, "CRUD");
// assigned to the remote user
crudPredicate.addClause(Predicate.AND, TableConstants.ASSIGNEE_ASSIGNEE_COLUMN,
Predicate.OP_EQ, remoteUser);
// task is assigned
crudPredicate.addClause(Predicate.AND, TableConstants.WFTASK_STATE_COLUMN, Predicate.OP_EQ,
IWorkflowConstants.TASK_STATE_ASSIGNED);
// trxNo
crudPredicate.addClause(Predicate.AND,
TableConstants.WFTASK_PROTECTEDTEXTATTRIBUTE1_COLUMN, Predicate.OP_EQ, deleteForm
.getString("trxNo"));
// is a draft
crudPredicate.addClause(Predicate.AND,
TableConstants.WFTASK_PROTECTEDNUMBERATTRIBUTE2_COLUMN, Predicate.OP_EQ, Double
.valueOf(Constants.TrxTypeId.DRAFT.getTrxTypeId()));
log.debug(crudPredicate);
List queryColumns = new ArrayList();
queryColumns.add("TASKID");
queryColumns.add("PROTECTEDNUMBERATTRIBUTE1"); // trxTypeId
queryColumns.add("PROTECTEDNUMBERATTRIBUTE2"); // trxStatus
queryColumns.add("PROTECTEDTEXTATTRIBUTE1"); // trxNo
Ordering ordering = new Ordering(TableConstants.WFTASK_TITLE_COLUMN, true, true);
ordering.addClause(TableConstants.WFTASK_PRIORITY_COLUMN, true, true);
Task draftTask = null;
List<Task> tasksList = querySvc.queryTasks(wfCtx, queryColumns, null,
ITaskQueryService.ASSIGNMENT_FILTER_MY, null, crudPredicate, ordering, 0, 0);
logTaskAttributes(tasksList);
if (tasksList!=null && tasksList.size() > 0)
draftTask = tasksList.get(0);
if (draftTask == null)
return;
try {
// settting the task status to Constants.TrxTypeId.DELETED
log.debug("update from: "
+ draftTask.getSystemMessageAttributes().getProtectedNumberAttribute2());
draftTask.getSystemMessageAttributes().setProtectedNumberAttribute2(
Double.valueOf(Constants.TrxTypeId.DELETED.getTrxTypeId()));
wfSvcClient.getTaskService().updateTask(wfCtx, draftTask);
log.debug("updated to: "
+ draftTask.getSystemMessageAttributes().getProtectedNumberAttribute2());
c.commit();
} catch (Exception e) {
log.error(e, e);
private void logTaskAttributes(List<Task> tasksList) {
// log.debug("task:" + task + " payload: "
// + (task.getPayload() == null ? "null" :
// task.getPayload().getContent()));
log.debug("***********");
for (Task task : tasksList) {
log.debug("\ttask owner:" + task.getOwnerUser());
log.debug("task state:" + task.getSystemAttributes().getState());
// log.debug("task assigned date:" +
// task.getSystemAttributes().getAssignedDate());
log.debug("task status :"
+ task.getSystemMessageAttributes().getProtectedNumberAttribute2());
log.debug("task id :" + task.getSystemAttributes().getTaskId());
log.debug("***********");
Please help,
Regards
MehdiHi ,
I am executing the WEbservice using WSNAVIGATOR but its not execute , its getting HTML log error as below..
1-Web service returned error. Fault Code: "(http://schemas.xmlsoap.org/soap/envelope/)Server" Fault String: "Could not retrieve SDO HelperContext for service_id nsn.com/claimbpmproject/PRINVOKE"
2-
HTTP/1.1 500 Internal Server Error
server: SAP NetWeaver Application Server 7.20 / AS Java 7.20
content-type: text/xml; charset=utf-8
date: Sat, 26 Nov 2011 11:40:56 GMT
transfer-encoding: chunked
Set-Cookie: <value is hidden>
2e4
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Could not retrieve SDO HelperContext for service_id nsn.com/claimbpmproject/PRINVOKE</faultstring><detail><yq1:com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException xmlns:yq1='http://sap-j2ee-engine/error'>Could not retrieve SDO HelperContext for service_id nsn.com/claimbpmproject/PRINVOKE</yq1:com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
0
Thnaks
Sudhir -
BPM 11g - FYI task to send a copy to each member of a group
In BPM 11g I am trying to send an FYI task to each member of a group. They should each get their own copy of the task so that it does not get removed from their inbox when the first person dismisses it.
I was not successful in getting multiple copies of the task using FYI type even when multiple users were defined in the participant list. So, I changed the participant type to parallel. This was successful in sending mulitiple copies when I defined a participant list of hard coded users, but the process stopped and waited until at least one of the users dismissed it (so the FYI only behavior changed, but I can get around that with a parallel process flow).
Still using parallel participant type, I have been trying to change from my hard coded list of users to a security group of users. If I set assignment to the group, only one task is created for the group. So, I have been trying to assign to users and use the expression ids:getUsersInGroup('LoanAnalyticGroup') to get the users in this group. I have tried several approaches to this expression but can't get it to work.
Has anyone else successfully implemented sending tasks to all members of a group in 11g? Any advice?Hi all,
We are also facing same issue.
The function ids:getUsersInGroup doesnt return value.
Even i imported identityservice.xsd and is_config .xsd and created variable using the *"users"* element of identityservice.xsd schema and assigned the value to this variable.
But Audit always says
*"XPath query string returns multiple nodes.*
*According to BPEL4WS spec 1.1 section 14.3, The assign activity part and query should not return multipe nodes.*
*Please check the BPEL source at line number "72" and verify the part and xpath query "*
Help me to resolve this issue. -
Hi,
We have a FYI notification workflow associated to the status of Contract. When the Contract status changes, a FYI notification is sent to Contract administrator.
Have following questions.
1. If pl/sql Workflows are supported in Fusion
2. As per "Oracle® BPEL Process Manager Developer's Guide"
The FYI task cannot be extended. Any other workflow can be extended with an FYI task, but the FYI task itself cannot be extended.
There could be customers who would have customized the worflows.If we intend to use BPEL, how will the Customer add customizations to extend the workflow.
Appreciate any response.
ThanksYes, if you use Oracle Worlflow for PLSQL you can use it via the Database Adapter. Note that OWF is complety on it's own and has no relation to BPEL.
But you can also use the Worlkflow Of BPEL itself. The long-term stategy is that OWF will be replaced by BPEL. -
Accessing payload for FYI task
Guys,
We have a BPM application. There is an FYI task in the applicaiton.
When am fetching the payload from the FYI task, it doesnt contain the payload which am looking for. Other normal human task works as expected. Only FYI task is not working.
Element taskDetails = task.getPayloadAsElement(); --- task is an instance of oracle.bpel.services.workflow.task.model.Task
NodeList payloadNodeList = taskDetails.getElementsByTagName("MyPayload");
But 'payloadNodeList' is empty (doesnt contain any nodes).
Not sure why its not working. Do i miss anything here?Not sure if this helps, but I think we have the same architecture: a custom ADF tasklist instead of the default Workspace.
From Oracle BPM we use the SystemMessageAttributes to map certain key elements for our ADF tasklist.
While doing this it helps the ADF developers so they don't have to parse through the payload of the tasks to get this information for a worklist tasks overview.
Hope it helps. J@n -
Sharepoint 2013 designer workflow auto approve task after due date is passed
sharepoint 2013 designer workflow auto approve task after due date is passed.
Could we approve the task automatically once due date is apssed?
MCTS Sharepoint 2010, MCAD dotnet, MCPDEA, SharePoint LeadHi Amit,
If your task is created by a workflow (first) and stored in a separate task list, you can create another workflow on this particular task list, then each workflow instance would check if current task is expired (not approved/rejected), then
determine if update current task's "Task Outcome" as approved (and update task status as complete), and then create a retention policy on this paricular task list to trigger the workflow on due date .
Thanks,
Daniel Yang
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]
Daniel Yang
TechNet Community Support -
Workflow definition of task 'WS90123456' cannot be activated
Hello Experts,
I am trying to activate a workflow on document event change, and i am getting this error in the event trace: Workflow definition of task 'WS90123456' cannot be activated
In the receiver data i have:
receiver type : ws90123456
object key:
receiver fm: SWW_WI_CREATE_VIA_EVENT_IBF
rfc destination:
check fm
receiver type fm:
message: Workflow definition of task 'WS90123456' cannot be activated
any ideas as to why this is happening ?
The workflow has no errors and it is being generated correctly with no warnings and no errors
points are awarded,
regardsHi
Go to SWDD and activate the workflow template. Then go to SWU_OBUF and refresh the buffers, and then refresh the org environment using the option in SWUD-->Problem:Workflow Does not start menu path. Test your event again
If still no joy goto SWUD go to Test Environment and select simulate event taking note of the messages code displayed.
Regards
Gareth -
FYI Tasks and Expiration Policy
Hi all,
i try to set an expiration policy for FYI Tasks using the Human Task Editor but it doesn't work where it works for other types.
can someone confirm that an expiration policy can be set for an FYI task?
I am using SOA Suite 10.1.3.
ThanksRepost
-
What is the workflow's current task
Hello,
We are monitoring workflow by swi1 & swi2 transaction with workflow ID(WS9001212).
But we want to know, what is the workflow's current task..
For example, our workflow has three user decision task.. I want to know, what is the current task?
WS9001212 First task
WS9001212 Second task
WS9001212 First task
is there any report or function showing that info?
thanxHi Hasan,
In every workflow, every step represents with a unique NODE number. With that node number you can find the status of workflow in which step it is pending/error. If it is having the same step more than 100 times also, you will find out the current task easily with the node number.
In workflow builder also you will find out the respective step's node number in the navigation area.
Find the attached screen shot.
Regards,
MK. -
Workflow definition of task WS92000077'' CANNOT BE ACTIVATED.
Hi Friends,
While i run material master workflow in Devlopment server its working.
But its showing erroe in Quality Server.
Workflow definition of task WS92000077'' CANNOT BE ACTIVATED.
Pls suggest
MoosaHello,
It could be that some objects that it relies on (eg tasks, sub-workflows) haven't been transported.
Are there any other error messages, eg saying something doesn't exist?
Did you try to activate it?
Also, as always, try SWU_OBUF.
regards
Rick Bakker
Hanabi Technology -
Does deleting Workflow also Delete Task List Items
I have Sharepoint 2010 and I am using the standard workflow.
I have created a new workflow and want to delete the previous workflow to avoid use.
If I remove the previous workflow, what happens to the items in the Task List associated with the workflow? Do they remain undisturbed or are they also deleted.Hi,
According to your post, my understanding is that you wanted to know the action of the items in the Task List associated with the deleted workflow.
In my environment, I create a task workflow using SharePoint Designer and then start the workflow in two items. No matter whether I approve the tasks or not,
If I delete the workflow through UI: Click the Ribbon->List->Workflow Settings->Remove a workflow, the two tasks will be disappeared in the task list. However, the workflow will be remian in the SharePoint Designer.
If I republish the workflow in the SharePoint Designer, the workflow will be associated to the list again.
If I delete the workflow through the SharePoint Designer, the two tasks will be also disappeared in the task list. And the workflow will be removed in the Workflow Settings.
Thank you for your understanding.
Best Regards,
Linda Li
Linda Li
TechNet Community Support -
Dear Experts,
When we trigger workflow using SAP_WAPI* FMs I see that its mandatory to make workflow as general task. But when we trigger workflow using events of business objects is it mandatory or is it a normal pratice to make workflow as general task.
KR,
BharathDear Mollie & Swami,
Thanks a lot for you replies.
@ Mollie:
When I go to the path as given by you from any screen I am getting message in task bar as no service available. Although this is different question altogether can you please tell me is there need to configure one in our system. If yes is this a basis setting?
@Swami :
Swami I am not able to find that icon. Can you please tell me the icon text or how does it look like.
Please tell me even though if I do not make workflow task as general what if some one goes to SWDD tcode in system & makes workflow as general task and initiates his own request. I guess this the user will not be prompted for TR. Normally how this can be handled.
KR,
Bharath -
Issue in passing payload from Human Workflow to ADF task flow
Hi All,l
I am facing one strange issue in Human Workflow -> ADF task form integration. I have 4 Data variables to pass to the task form for displaying and modifying the request payload. E.g
1. request
2. propertiesList
3. input1
4. input2
request and properties list variables are in the same namespace. When the process is executed, I can see the data being passed in Initiate taskflow activity in BPEL. However I don't see the data in ADF form only for propertiesList variable. This is a custom schema element I added newly in the project. I don't get any error , but no data is getting displayed.
Any help in this matter is greatly appreciated.
Thanks
AshwiniI have applied workaround for this. However the main issue still exist.
When I pass hard-coded values in the list and drag and drop that list as selectOneChoice - I see the values in dropdown. Whereas, when the list is passed from program logic and I can see the values passed in initiateTask activity, and drag and drop the field as selectOneChoice, the values don't come up.
I will replicate this issue in a smaller piece of code and paste here later.
Thanks
Ashwini -
How do i create a workflow to delete tasks.
I've created a workflow that will take the Title, Start Date, and End Date from one list (roomReserved) and then create a task on another list (centralCal) setup as a central calendar. When a yes/no checkbox is checked, it will then create the task on the
centralCal. The problem I'm having right now is i am unable to remove or delete the task created in centralCal when the checkbox is unchecked.
I way I'm trying to delete the task in the workflow is:
if current item:checkbox equals no
then delete item in centralCal
in the "Choose List Item" popup menu
I choose List:centralCal
Find the List Item:
Field: Title
Value:
Lookup for Single line of text (popup)
Data source: Current Item
Field from source: Title
Return field as: string (greyed out)
To make sure the correct item is deleted I'm comparing the titles from the roomReserved and centralCal.
What I want the workflow to do is delete the task from centralCal if the checkbox is unchecked from roomReserved. Any idea's on how to change my workflow to fix this would be greatly appreciated.Hi James,
I tried reproducing the issue in my environment. I created a list1 with two column: title and checkbox, a list2 with one column: title.
I created two workflows in SharePoint Designer: workflow1, if current item checkbox field equals yes, create item in list2, title= current item title. Workflow1 start automatically when an item is created.
Workflow2: if current item checkbox field equals no, delete item in list2. Choose List Item is set as below, and workflow2 starts automatically when item is changed.
Regards,
Rebecca Tu
TechNet Community Support -
Shopping Cart - Process Controlled Workflow - replace standard task
Hallo,
I am on SRM 7.0 SAPKIBKV09 using NWBC.
I use Process Controlled Workflow for Shopping Cart, and in the process schema definition,
I replaced the standard workflow task 40007952,
(with name - SRM Shopping Cart Completion),
with a copy of task 40007952, task 90000010
(with name - SRM Shopping Cart BUYER Completion)
I did that for the following Reason: to ensure that in the Shopping Cart Approval Log, I can distinguish between diffrent approval level, all of type completion.
Issue is that now when approver is executing the task from NWBC, I get the following error:
´No default action found for task TS90000010´
Any idea?
tried to apply Note 1409276 - Not all tasks have default action in inbox config, (as this applies to SAPKIBKV06)
but no success.
Thank you
MarcoHi,
I wanted to add that there is standard report /SAPSRM/IBO_FILL_TABLES in SRM 7.0 that updates these tables for all standard tasks:
IBO_C_WF_ACS
IBO_C_WF_APS
IBO_C_WF_CAS
IBO_C_WF_TAS
IBO_C_WF_TTAS
Use these views in SM30 to create entries for customer specific tasks:
IBO_V_WF_ACC
IBO_V_WF_APC
IBO_V_WF_CAC
IBO_V_WF_IRA
IBO_V_WF_TAC
IBO_V_WF_TTAC
Best Regards,
Marcus
Edited by: Marcus Mock on Jun 6, 2011 11:56 AM
Edited by: Marcus Mock on Jun 6, 2011 11:59 AM
Maybe you are looking for
-
I would like to know how to draw up a list in a cell (like a pull-down menu) to ease data capture, but I don't know how to do that ! Do you get the idea ? Thanks ever so much !
-
i can not get my ipod to get out of the connect to itunes page , and when i plug it in it says itunes mobile device system is not setup
-
Tv as second monitor not working
I connect my iMac to my Samsung TV using a displayport to VGA adaptor. It had been working fine up until now. when I put my tv in PC mode it just turns off. Is this a problem wuth the mac or the TV
-
Watermarking PDF's when email recipients open them as attachments
Hello, I have a request from a client of mine regarding features in Adobe Acrobat. They mentioned they received a PDF file from someone via email and when they opened the attachment, they saw a watermark with their email address, date and time on it
-
Compressor 3.0.5 "unknown time remaining"
Each time I try to compress a file, the time remaining reads "unknown time remaining" and it doesn't move. When I send files to compressor from Final Cut, FCP and Compressor both lock up when I click submit. I have tried all the solutions listed in o