Workflow case
dear expert i have a question in workflow as blow.
I have a workflow which sends user decision work item in corresponding user SAP INBOX. This work item is regarding a material review. there are four option in that work item
1- Approve the material
2- display the material
3- reject the material
4- cancel and keep work item in inbox.
when display the material is clicked a BDC of MM12 is running in BO method to display the corresponding material. When user complete the review and click back button in MM12 , the work item is removed from inbox.
User wants when he clicked the work item and display the material and when he come back after display the material the work item should remain in the inbox and he can approve or reject the same material in same session.
But in present work item is removing from inbox and user have to refresh the inbox again to approve or reject the material.
How to do that?
Hi,
The basic problem here is that displaying the object should not be a 'decision' that excludes all others.
I would suggest:
(1) Remove the decision option to DISPLAY the item.
(2) If the MM object is available in the decision task, you can just ask the user (via the workitem text) to click on that object link if they want to view it. It will open in a new window.
If the MM object is not available in the workitem container, you will have to instantiate it.
good luck!
Paul
Similar Messages
-
Generate Workflow / Case on CRM Updates by logged in users
I have a secured member based site where the members can update their personal profile details via a CRM update form. What I want is the ability to generate a workflow and case against that member anytime they UPDATE their CRM details directing the workflow back to the administartion staff for further actioning.
Now I know we can't attach workflows and cases to a CRM update form but I do know that by creating a hidden form within the same page I could pass the basic member details across t that form which in itself would hav a case and workflow attached - this would at least enable the administration staff to get notification that the they need to follow up on a member updating their details.
My problem is that I do not know how to actually achieve this. Can someone point me in the right direction understanding I am "technially challenged" when it come to javascript so don't assume anything there.
Thanking you... GregI have tried to follow your advice Alex but in fact the link in the KB you gave for JSON submit didn't work. I set up both forms in a test page (http://adaq.topleftdesigns.com.au/members/aatest-update-member-profile.html) being vsible so I might test whether each form worked. The 2nd form which is using the JSON option didn't as instaed of displaying the message box i instead had the system opened a page showing the following text:
"{"FormProcessV2Response": { "success": true, "entityId": "17487463", "objectTypeId": "Cases", "objectId": "4116339", "message": "<table class=\"tabledefault\"><tr><td id=\"title\"><strong>Summary of web form submission:<\/strong><br\/><!-- IP Address: 122.149.129.64 --><\/td><\/tr><tr><td id=\"name\"><strong>Your Name<\/strong><br\/>Greg Tomkins<\/td><\/tr><tr><td id=\"email\"><strong>Email Address<\/strong><br\/><a href=\"mailto:[email protected]\">[email protected]<\/a><\/td><\/tr><tr><td id=\"casenumber\"><strong>Case Number<\/strong><br\/>4116339<\/td><\/tr><tr><td id=\"username\"><strong>Username<\/strong><br\/>Your record has an existing username. This will be emailed to you. [gregt] - has been ignored.<\/td><\/tr><tr><td id=\"customfields\"><table class=\"tabledefault\"><\/table><\/td><\/tr><\/table>" }}"
I in fact found these other references to JSON form submits which got me part the way to my result.
a) Submitting standard web forms with Ajax and JSON (BC Demo) http://demo.businesscatalyst.com/json-form (using the code in this demo example my 2nd form submitted correctly)
b) Submitting standard web forms with Ajax and JSON
with each giving slightly different info.
I have now got each form submitting correctly individually and I set up a link to submit both forms but this is where I come unstuck. Clicking the link (SUBMIT BOTH) does nothing at all. The link has id="submitEverything" and I have set the following script. Can you point out where I have it wrong?
<script>
$(document).ready(function() {
$("#submitEverything").click(function(){
$("#profile-update").jqsub();
$("#crm-update").submit();
return false;
</script>
I am also wondering will the above still perform the validation checks on the first form?
Tahnking you... Greg -
About case and switch in multiple condition step in workflow.
i ve some information about case and switch in multiple condition in workflow.
case - static determination
switch - runtime determination.
but i want brief explanation about case and switch and difference please help me.....hi velmurugan............
in case,
we can have only one value for comparison and can have any number of branches for it.
in switch,
we can compare any number of values and have any number of branches.
eg:
consider i am triggering a workflow for purchase order change and i am having a multiple condition step.
if i am going for a case:
i can have only on value (ie po number/vendor number.....) as a parameter and can check different values with it. ( eg vendor number < 1000
vendor number > 1000.... so on)
a branch will be created for each condition.
if i am going for a switch:
i can take any parameter needed. (eg: vendor number > 1000
order type = 'NB' .... so on)
so a single branch can have any number of comparisons with the help of 'and' and 'or' operators and i can have any parameter for my condition.
---regards,
alex b justin -
Workflow for PO release in ECC
Hi All,
can someone provide me the name of TASK invloved in workflow for releasing PO in ECC.
I want to map the release of PO through workflow. and I would also like to know how to find out the different workflow.
It would be great if someone can give the main steps for doing so. I want to create my own workflow template so I need the task details. I am also aware that there would be std. template for this workflow case.Hi,
You can find information in help.sap.com.
http://help.sap.com/erp2005_ehp_05/helpdata/EN/04/9277a346f311d189470000e829fbbd/content.htm
Regards,
Masa -
PC 2.5: Delete cases/survey questions
Hi all,
In order to test some functionalities of PC I scheduled some surveys a few month ago.
I'm trying to delete all the questions, surveys and cases that I have created.
I tried to use program RHRHDL00 but I didn't find these attributes as parameters.
Note: i have customized lots of master data that i don't want to loose.
Any idea?
Best regards,
JulienJulien,
I assume you are talking about a dev or QA system. It is my understanding you can't delete a question if it is in a survey and you can delete a survey if it has been used (a key control for audit purposes). That said you could go into the IMG under administration programs and "Execute Administration programs for PC workflows" and go into 'delete cases and workflows". You should be able to find whatever you want to delete in here and in theory you should be able to delete subsequent objects. I haven't done this so I'm not exactly sure if it will work. You will have to delete everything for each survey. Depending on your environment, this could be a very difficult task.
Personally, I would just mark the survey(s) and/or questions inactive and just forget about them. There are so many interdependencies on the backend that performing these types of changes might turn out to cause more trouble than they are worth. You could quickly find that other, unanticipated things go "sideways" after making manual backend workflow/case changes (like performing signoff).
Matt -
Random error when executing a workflow (urgent!!)
We are sometimes getting the following error message when a workflow is executed:
"com.waveset.util.WavesetException: Can't call method getObject on class com.waveset.server.InternalSession com.waveset.util.InternalError: ID not passed to ObjectCache.getObject"
This error occurs randomly (sometimes happens and sometimes don't, even when repeating the same test) when executing the create user and update user workflows.
The problem is that in spite of this error, the user is successfully created and provisioned to all resources (when executing the create workflow) and all changes made user to the user are also successfully provisioned (when executing the update user workflow), so we are not quite sure what is causing it.
So far, we've checked across our code to make sure that every time the getObject method is called we are passing to it the following code as context:
<invoke name='getObject'>
<select>
<ref>context</ref>
<ref>:display.session</ref>
<invoke name='getLighthouseContext'>
<ref>WF_CONTEXT</ref>
</invoke>
</select>
But this made no difference.
Any comments on this issue would be much appreciated!
Here are 2 different examples of this error from the logs:
1)
Walking case 'Create User'
Walking case 'Approval'
Processing steps in 'Approval'
Step pass 1
Check completion 'Approve'
Processing work item results from 'testuseradmin'
Step complete 'Approve'
Step pass 2
Resolved reference WF_ACTION_TIMEOUT = null
Step inactive 'Approve'
Step executing 'Check Status'
Action
Evaluating XPRESS
Resolved reference APPROVAL = true
Resolved reference APPROVAL = true
Assigning approved = true
Resolved reference ACTUAL_APPROVER = testuseradmin
Resolved reference ACTUAL_APPROVER = testuseradmin
Assigning actualApprover = testuseradmin
XPRESS returned =
<WavesetResult>
<ResultItem type='error' status='error'>
<ResultError>
<Message>
<Text>XPRESS <invoke> exception:</Text>
</Message>
</ResultError>
</ResultItem>
<ResultItem type='error' status='error'>
<ResultError throwable='com.waveset.util.WavesetException'>
<Message>
<Text>Can't call method getObject on class com.waveset.server.InternalSession</Text>
</Message>
<StackTrace>com.waveset.util.WavesetException: Can't call method getObject on class com.waveset.server.InternalSession
==> com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:229)
	at com.waveset.util.Reflection.invoke(Reflection.java:908)
	at com.waveset.util.Reflection.invoke(Reflection.java:846)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:130)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExGet.evalInternal(ExGet.java:114)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_notnull.evalInternal(ExFunction.java:950)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_and.evalInternal(ExFunction.java:606)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_cond.evalInternal(ExFunction.java:3448)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExFunction$f_append.evalInternal(ExFunction.java:2656)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExBlock.evalInternal(ExBlock.java:182)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExBlock.eval(ExBlock.java:148)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.object.Rule.eval(Rule.java:955)
	at com.waveset.workflow.ExpressionState.resolveRule(ExpressionState.java:233)
	at com.waveset.expression.ExState.externalRule(ExState.java:565)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:184)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.workflow.WorkflowEngine.evaluate(WorkflowEngine.java:1463)
	at com.waveset.workflow.WorkflowEngine.initVariables(WorkflowEngine.java:2017)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:3312)
	at com.waveset.workflow.WorkflowEngine.makeTransition(WorkflowEngine.java:2863)
	at com.waveset.workflow.WorkflowEngine.checkExplicitTransitions(WorkflowEngine.java:2754)
	at com.waveset.workflow.WorkflowEngine.checkTransitions(WorkflowEngine.java:2540)
	at com.waveset.workflow.WorkflowEngine.processSteps(WorkflowEngine.java:1945)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1797)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1705)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:843)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:505)
	at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:236)
	at com.waveset.task.Scheduler.execute(Scheduler.java:2612)
	at com.waveset.task.Scheduler.launchTask(Scheduler.java:1701)
	at com.waveset.task.Scheduler.launchTask(Scheduler.java:1376)
	at com.waveset.task.TaskManager.launchTask(TaskManager.java:267)
	at com.waveset.server.InternalSession.runTask(InternalSession.java:3373)
	at com.waveset.server.ViewMaster.runTask(ViewMaster.java:931)
	at com.waveset.view.UserViewer.launchUpdate(UserViewer.java:3336)
	at com.waveset.view.UserViewer.checkinView(UserViewer.java:1322)
	at com.waveset.object.ViewMaster.checkinView(ViewMaster.java:747)
	at com.waveset.session.LocalSession.checkinView(LocalSession.java:611)
	at com.waveset.ui.util.GenericViewSource.checkinView(GenericViewSource.java:522)
	at com.waveset.ui.util.GenericEditForm.process(GenericEditForm.java:613)
	at org.apache.jsp.account.modify_jsp._jspService(modify_jsp.java:413)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
Caused by: com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:114)
	at com.waveset.util.InternalError.<init>(InternalError.java:75)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:527)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:480)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:478)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:497)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.waveset.util.Reflection.invoke(Reflection.java:885)
	... 85 more
Wrapped exception:
com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:114)
	at com.waveset.util.InternalError.<init>(InternalError.java:75)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:527)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:480)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:478)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:497)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.waveset.util.Reflection.invoke(Reflection.java:885)
	at com.waveset.util.Reflection.invoke(Reflection.java:846)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:130)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExGet.evalInternal(ExGet.java:114)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_notnull.evalInternal(ExFunction.java:950)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_and.evalInternal(ExFunction.java:606)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_cond.evalInternal(ExFunction.java:3448)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExFunction$f_append.evalInternal(ExFunction.java:2656)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExBlock.evalInternal(ExBlock.java:182)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExBlock.eval(ExBlock.java:148)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.object.Rule.eval(Rule.java:955)
	at com.waveset.workflow.ExpressionState.resolveRule(ExpressionState.java:233)
	at com.waveset.expression.ExState.externalRule(ExState.java:565)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:184)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.workflow.WorkflowEngine.evaluate(WorkflowEngine.java:1463)
	at com.waveset.workflow.WorkflowEngine.initVariables(WorkflowEngine.java:2017)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:3312)
	at com.waveset.workflow.WorkflowEngine.makeTransition(WorkflowEngine.java:2863)
	at com.waveset.workflow.WorkflowEngine.checkExplicitTransitions(WorkflowEngine.java:2754)
	at com.waveset.workflow.WorkflowEngine.checkTransitions(WorkflowEngine.java:2540)
	at com.waveset.workflow.WorkflowEngine.processSteps(WorkflowEngine.java:1945)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1797)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1705)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:843)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:505)
	at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:236)
	at com.waveset.task.Scheduler.execute(Scheduler.java:2612)
	at com.waveset.task.Scheduler.launchTask(Scheduler.java:1701)
	at com.waveset.task.Scheduler.launchTask(Scheduler.java:1376)
	at com.waveset.task.TaskManager.launchTask(TaskManager.java:267)
	at com.waveset.server.InternalSession.runTask(InternalSession.java:3373)
	at com.waveset.server.ViewMaster.runTask(ViewMaster.java:931)
	at com.waveset.view.UserViewer.launchUpdate(UserViewer.java:3336)
	at com.waveset.view.UserViewer.checkinView(UserViewer.java:1322)
	at com.waveset.object.ViewMaster.checkinView(ViewMaster.java:747)
	at com.waveset.session.LocalSession.checkinView(LocalSession.java:611)
	at com.waveset.ui.util.GenericViewSource.checkinView(GenericViewSource.java:522)
	at com.waveset.ui.util.GenericEditForm.process(GenericEditForm.java:613)
	at org.apache.jsp.account.modify_jsp._jspService(modify_jsp.java:413)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
</StackTrace>
<ResultError throwable='com.waveset.util.InternalError'>
<Message id='OBJECT_CACHE_NO_ID'>
</Message>
<StackTrace>com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:114)
	at com.waveset.util.InternalError.<init>(InternalError.java:75)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:527)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:480)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:478)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:497)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.waveset.util.Reflection.invoke(Reflection.java:885)
	at com.waveset.util.Reflection.invoke(Reflection.java:846)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:130)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExGet.evalInternal(ExGet.java:114)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_notnull.evalInternal(ExFunction.java:950)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_and.evalInternal(ExFunction.java:606)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExFunction$f_cond.evalInternal(ExFunction.java:3448)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExFunction$f_append.evalInternal(ExFunction.java:2656)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExBlock.evalInternal(ExBlock.java:182)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExBlock.eval(ExBlock.java:148)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.object.Rule.eval(Rule.java:955)
	at com.waveset.workflow.ExpressionState.resolveRule(ExpressionState.java:233)
	at com.waveset.expression.ExState.externalRule(ExState.java:565)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:184)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.workflow.WorkflowEngine.evaluate(WorkflowEngine.java:1463)
	at com.waveset.workflow.WorkflowEngine.initVariables(WorkflowEngine.java:2017)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:3312)
	at com.waveset.workflow.WorkflowEngine.makeTransition(WorkflowEngine.java:2863)
	at com.waveset.workflow.WorkflowEngine.checkExplicitTransitions(WorkflowEngine.java:2754)
	at com.waveset.workflow.WorkflowEngine.checkTransitions(WorkflowEngine.java:2540)
	at com.waveset.workflow.WorkflowEngine.processSteps(WorkflowEngine.java:1945)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1797)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1705)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:843)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:505)
	at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:236)
	at com.waveset.task.Scheduler.execute(Scheduler.java:2612)
	at com.waveset.task.Scheduler.launchTask(Scheduler.java:1701)
	at com.waveset.task.Scheduler.launchTask(Scheduler.java:1376)
	at com.waveset.task.TaskManager.launchTask(TaskManager.java:267)
	at com.waveset.server.InternalSession.runTask(InternalSession.java:3373)
	at com.waveset.server.ViewMaster.runTask(ViewMaster.java:931)
	at com.waveset.view.UserViewer.launchUpdate(UserViewer.java:3336)
	at com.waveset.view.UserViewer.checkinView(UserViewer.java:1322)
	at com.waveset.object.ViewMaster.checkinView(ViewMaster.java:747)
	at com.waveset.session.LocalSession.checkinView(LocalSession.java:611)
	at com.waveset.ui.util.GenericViewSource.checkinView(GenericViewSource.java:522)
	at com.waveset.ui.util.GenericEditForm.process(GenericEditForm.java:613)
	at org.apache.jsp.account.modify_jsp._jspService(modify_jsp.java:413)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
</StackTrace>
</ResultError>
</ResultError>
</ResultItem>
<ResultItem type='error' status='error'>
<ResultError>
<Message>
<Text>XPRESS <invoke> exception:</Text>
</Message>
</ResultError>
</ResultItem>
<ResultItem type='error' status='error'>
<ResultError throwable='com.waveset.util.WavesetException'>
<Message>
<Text>Can't call method getObject on class com.waveset.server.InternalSession</Text>
</Message>
<StackTrace>com.waveset.util.WavesetException: Can't call method getObject on class com.waveset.server.InternalSession
==> com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:229)
	at com.waveset.util.Reflection.invoke(Reflection.java:908)
	at com.waveset.util.Reflection.invoke(Reflection.java:846)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.getBinding(ExState.java:893)
	at com.waveset.expression.ExReference.evalInternal(ExReference.java:252)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:130)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExDefvar.call(ExDefvar.java:257)
	at com.waveset.expression.ExState.geMandar_S: Thank you very much for your reply.
Indeed we are using the inbuilt Approval process in all of our workflows. We call that process from our approval activity and we pass to it the "approver" variable as an argument as follows:
<Activity id='8' name='Manager Approval'>
<Variable name='manager' value='$(user.accounts[Lighthouse].idmManager)'/>
<Action id='0' process='Approval'>
<Argument name='user' value='$(user)'/>
<Argument name='approvalTemplate' value='AIO - New User Approval'/>
<Argument name='approvalForm' value='AIO - Approval Form'/>
<Argument name='approver'>
<ref>manager</ref>
</Argument>
.......... As far as I could investigate, the "approver" variable is passed to the "Approval" process, and this is seen in the logs:
Walking case 'Create User'
Walking case 'Approval'
Processing steps in 'Approval'
Step pass 1
Check completion 'Approve'
Processing work item results from 'testuseradmin'
Step complete 'Approve'
Step pass 2
Resolved reference WF_ACTION_TIMEOUT = null
Step inactive 'Approve'
Step executing 'Check Status'
Action
Evaluating XPRESS
Resolved reference APPROVAL = true
Resolved reference APPROVAL = true
Assigning approved = true
Resolved reference ACTUAL_APPROVER = testuseradmin
Resolved reference ACTUAL_APPROVER = testuseradmin
Assigning actualApprover = testuseradmin
XPRESS returned =
<WavesetResult>
<ResultItem type='error' status='error'>
<ResultError>
<Message>
<Text>XPRESS <invoke> exception:</Text>
</Message>
</ResultError>
</ResultItem>
<ResultItem type='error' status='error'>
<ResultError throwable='com.waveset.util.WavesetException'>
<Message>
<Text>Can't call method getObject on class com.waveset.server.InternalSession</Text>
</Message>
<StackTrace>com.waveset.util.WavesetException: Can't call method getObject on class
com.waveset.server.InternalSession
==> com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
</StackTrace>
</ResultError>
</ResultError>
</ResultItem>
</WavesetResult>
Assimilating last application result into task result
Step complete 'Check Status'
Step inactive 'Approve'
Step pass 3
Resolved reference useSignedApprovals = false
Resolved reference approved = true
Step inactive 'Check Status'
Step executing 'Approved'
Action
Argument op = audit
Argument action = Approve
Resolved reference actualApprover = testuseradmin
Argument subject = testuseradmin
Argument approver = testuseradmin
Argument type = ObjectGroup
Argument name = Top:Bill Payment:Shared Services
Argument accountId = mcontrol1
Argument fullname = Marcelo Control
Argument email = [email protected]
Resolved reference delegator = njefe
Resolved reference approver = testuseradmin
Resolved reference actualApprover = testuseradmin
Resolved reference delegator = njefe
Argument error = Delegated by njefe
Resolved reference comments = null
Argument attributes = {Comments=null}
Resolved reference WF_TRANSACTION_SIGNATURE = null
Calling application 'com.waveset.session.WorkflowServices'
Application requested argument op
Application requested argument logResultErrors
Application requested argument action
Application requested argument status
Application requested argument type
Application requested argument subject
Application requested argument name
Application requested argument resource
Application requested argument accountId
Application requested argument error
Application requested argument parameters
Application requested argument trackedAttributes
Application requested argument attributes
Application requested argument originalAttributes
Application requested argument overflowAttributes
Application requested argument auditableAttributesList
Application requested argument organizations
Step complete 'Approved'
Step inactive 'Check Status'
Step pass 4
Step inactive 'Approved'
Step executing 'end'
Step inactive 'end'
Completing case 'Approval'
Step inactive 'Approved'
Processing steps in 'Create User'
Step pass 1
Check completion 'Manager Approval'
Check subcase result 'Approval'
Subcase complete
Returning from actualApprover to actualApprover = testuseradmin
Returning from applicationEscalator to actualEscalator = null
Returning from approved to managerApproved = true
Returning from comments to comments = null
Step complete 'Manager Approval'
Step pass 2
Resolved reference error = null
Resolved reference managerApproved = true
Resolved reference WF_ACTION_ERROR = null
Step inactive 'Manager Approval'
Step executing 'Provision'
Action
Resolved reference transforms.preProvisionRule = null
Resolved reference transforms.preProvisionForm = null
Creating subcase Data Transformation
Step inactive 'Manager Approval'
Step pass 3
Check completion 'Provision'
Check subcase result 'null'
Subcase waiting
----------------------------------------In spite of that, the error ocurred (I've eliminated some StackTrace lines for clarity reasons, but you can find them in my original post).
Furthermore, we've encountered this error in other activities diffrent from the "Approval" process. Here's another log example of this error:
Walking case 'AIO - Update Resource Account WF'
Walking case 'Rename Task'
Processing steps in 'Rename Task'
Step pass 1
Initializing variables
Initial Case Variables
name = Solicitud de Acceso en Proceso de jjefe (04/08/2008 @ 17:12:04)
Case title set to 'Rename Task'
Step executing 'Find Unique Name'
Action
Resolved reference makeUnique = null
Condition evaluated false
Step complete 'Find Unique Name'
Step inactive 'Find Unique Name'
Step executing 'Rename'
Action
Evaluating XPRESS
Resolved reference name = Solicitud de Acceso en Proceso de jjefe (04/08/2008 @ 17:12:04)
Resolved reference WF_CASE_OWNER = jjefe
Resolved reference name = Solicitud de Acceso en Proceso de jjefe (04/08/2008 @ 17:12:04)
Resolved reference name = Solicitud de Acceso en Proceso de jjefe (04/08/2008 @ 17:12:04)
XPRESS returned =
<WavesetResult>
<ResultItem type='error' status='error'>
<ResultError>
<Message>
<Text>XPRESS <invoke> exception:</Text>
</Message>
</ResultError>
</ResultItem>
<ResultItem type='error' status='error'>
<ResultError throwable='com.waveset.util.WavesetException'>
<Message>
<Text>Can't call method getObject on class com.waveset.server.InternalSession</Text>
</Message>
<StackTrace>com.waveset.util.WavesetException: Can't call method getObject on class com.waveset.server.InternalSession
==> com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:229)
	at com.waveset.util.Reflection.invoke(Reflection.java:908)
	at com.waveset.util.Reflection.invoke(Reflection.java:846)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:130)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.object.Rule.eval(Rule.java:955)
	at com.waveset.workflow.ExpressionState.resolveRule(ExpressionState.java:233)
	at com.waveset.expression.ExState.externalRule(ExState.java:565)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:184)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExRule$Argument.evalInternal(ExRule.java:345)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:172)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.workflow.WorkflowEngine.evaluate(WorkflowEngine.java:1463)
	at com.waveset.workflow.WorkflowEngine.initVariables(WorkflowEngine.java:2017)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:3312)
	at com.waveset.workflow.WorkflowEngine.makeTransition(WorkflowEngine.java:2863)
	at com.waveset.workflow.WorkflowEngine.checkExplicitTransitions(WorkflowEngine.java:2754)
	at com.waveset.workflow.WorkflowEngine.checkTransitions(WorkflowEngine.java:2540)
	at com.waveset.workflow.WorkflowEngine.processSteps(WorkflowEngine.java:1945)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1797)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1705)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:843)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:505)
	at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:236)
	at com.waveset.task.TaskThread.run(TaskThread.java:132)
Caused by: com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:114)
	at com.waveset.util.InternalError.<init>(InternalError.java:75)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:527)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:480)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:478)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:497)
	at sun.reflect.GeneratedMethodAccessor420.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.waveset.util.Reflection.invoke(Reflection.java:885)
	... 31 more
Wrapped exception:
com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:114)
	at com.waveset.util.InternalError.<init>(InternalError.java:75)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:527)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:480)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:478)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:497)
	at sun.reflect.GeneratedMethodAccessor420.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.waveset.util.Reflection.invoke(Reflection.java:885)
	at com.waveset.util.Reflection.invoke(Reflection.java:846)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:130)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.object.Rule.eval(Rule.java:955)
	at com.waveset.workflow.ExpressionState.resolveRule(ExpressionState.java:233)
	at com.waveset.expression.ExState.externalRule(ExState.java:565)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:184)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExRule$Argument.evalInternal(ExRule.java:345)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:172)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.workflow.WorkflowEngine.evaluate(WorkflowEngine.java:1463)
	at com.waveset.workflow.WorkflowEngine.initVariables(WorkflowEngine.java:2017)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:3312)
	at com.waveset.workflow.WorkflowEngine.makeTransition(WorkflowEngine.java:2863)
	at com.waveset.workflow.WorkflowEngine.checkExplicitTransitions(WorkflowEngine.java:2754)
	at com.waveset.workflow.WorkflowEngine.checkTransitions(WorkflowEngine.java:2540)
	at com.waveset.workflow.WorkflowEngine.processSteps(WorkflowEngine.java:1945)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1797)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1705)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:843)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:505)
	at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:236)
	at com.waveset.task.TaskThread.run(TaskThread.java:132)
</StackTrace>
<ResultError throwable='com.waveset.util.InternalError'>
<Message id='OBJECT_CACHE_NO_ID'>
</Message>
<StackTrace>com.waveset.util.InternalError: ID not passed to ObjectCache.getObject
	at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java:513)
	at com.waveset.util.WavesetException.<init>(WavesetException.java:114)
	at com.waveset.util.InternalError.<init>(InternalError.java:75)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:527)
	at com.waveset.object.ObjectCache.getObject(ObjectCache.java:480)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:478)
	at com.waveset.server.InternalSession.getObject(InternalSession.java:497)
	at sun.reflect.GeneratedMethodAccessor420.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.waveset.util.Reflection.invoke(Reflection.java:885)
	at com.waveset.util.Reflection.invoke(Reflection.java:846)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:130)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.object.Rule.eval(Rule.java:955)
	at com.waveset.workflow.ExpressionState.resolveRule(ExpressionState.java:233)
	at com.waveset.expression.ExState.externalRule(ExState.java:565)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:184)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExRule$Argument.evalInternal(ExRule.java:345)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.expression.ExRule.evalInternal(ExRule.java:172)
	at com.waveset.expression.ExNode.eval(ExNode.java:79)
	at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)
	at com.waveset.workflow.WorkflowEngine.evaluate(WorkflowEngine.java:1463)
	at com.waveset.workflow.WorkflowEngine.initVariables(WorkflowEngine.java:2017)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:3312)
	at com.waveset.workflow.WorkflowEngine.makeTransition(WorkflowEngine.java:2863)
	at com.waveset.workflow.WorkflowEngine.checkExplicitTransitions(WorkflowEngine.java:2754)
	at com.waveset.workflow.WorkflowEngine.checkTransitions(WorkflowEngine.java:2540)
	at com.waveset.workflow.WorkflowEngine.processSteps(WorkflowEngine.java:1945)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1797)
	at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1705)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:843)
	at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:505)
	at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:236)
	at com.waveset.task.TaskThread.run(TaskThread.java:132)
</StackTrace>
</ResultError>
</ResultError>
</ResultItem>
</WavesetResult>
Assimilating last application result into task result
Step complete 'Rename'
Step inactive 'Find Unique Name'
Step pass 2
Step inactive 'Rename'
Completing case 'Rename Task'
Processing steps in 'AIO - Update Resource Account WF'
Step pass 1
Check completion 'Rename Temporary Task'
Check subcase result 'Rename Task'
Subcase complete
Step complete 'Rename Temporary Task'
Step pass 2
Step inactive 'Rename Temporary Task'
Step executing 'end'
Step inactive 'end'
Completing case 'AIO - Update Resource Account WF'
Step inactive 'Rename Temporary Task'
Deleting work item for action Edit Request
Deleting invalid work item #ID#5F564652662387E3:-15828051:11B8E51257D:-7CEE
Finished executing workflow case AIO - Update Resource Account WF
***************************************The code that genereted this log is something like this:
<Configuration name='Rename Task' creator='%STARTUP%Configurator' createDate='1214936621250' lastModifier='Configurator' lastModDate='1216397579578' lastMod='1'>
<Extension>
<WFProcess name='Rename Task' maxSteps='0'>
<Comments>
 Rename the current workflow task instance.
 </Comments>
<Variable name='name' input='true'>
<Comments>
 New task instance name.
 </Comments>
</Variable>
<Variable name='makeUnique' input='true'>
<Comments>
 If true, causes this task to append a suffix to the end
 of 'name' in order to enforce uniqueness. Otherwise
 this task fails if a task already exists called 'name'.
 </Comments>
</Variable>
<Activity id='0' name='Find Unique Name' hidden='true'>
<Action id='0'>
<Comments>
 The 'name' passed in may be suffixed with something that
 makes it unique if necessary
 </Comments>
<Condition>
<isTrue>
<ref>makeUnique</ref>
</isTrue>
</Condition>
<expression>
<block>
<defvar name='uniqueName'>
<ref>name</ref>
</defvar>
<defvar name='counter'>
<i>0</i>
</defvar>
<while>
<cond>
<invoke name='getObjectIfExists'>
<invoke name='getLighthouseContext'>
<ref>WF_CONTEXT</ref>
</invoke>
<invoke name='findType' class='com.waveset.object.Type'>
<s>TaskInstance</s>
</invoke>
<ref>uniqueName</ref>
</invoke>
<s>false</s>
</cond>
<block>
<set name='counter'>
<add>
<ref>counter</ref>
<i>1</i>
</add>
</set>
<set name='uniqueName'>
<concat>
<ref>name</ref>
<s>(</s>
<ref>counter</ref>
<s>)</s>
</concat>
</set>
<s>true</s>
</block>
<s>false</s>
</while>
<set name='name'>
<ref>uniqueName</ref>
</set>
</block>
</expression>
</Action>
<Transition to='Rename'/>
<WorkflowEditor x='43' y='10'/>
</Activity>
<Activity id='1' name='Rename'>
<Action id='0'>
<Comments>
 First rename the object in the repository. The last
 argument is an options map containing the name under which
 we will lock the object.
 Next rename it in memory so when the scheduler eventually
 saves it back into the repository it doesn't overwrite
 the name we just changed.
 </Comments>
<expression>
<block>
<invoke name='renameObject'>
<invoke name='getLighthouseContext'>
<ref>WF_CONTEXT</ref>
</invoke>
<invoke name='findType' class='com.waveset.object.Type'>
<s>TaskInstance</s>
</invoke>
<invoke name='getId'>
<invoke name='getTask'>
<ref>WF_CONTEXT</ref>
</invoke>
</invoke>
<ref>name</ref>
<map>
<s>user</s>
<ref>WF_CASE_OWNER</ref>
</map>
</invoke>
<invoke name='setName'>
<invoke name='getTask'>
<ref>WF_CONTEXT</ref>
</invoke>
<ref>name</ref>
</invoke>
<invoke name='setDisplayName'>
<invoke name='getTask'>
<ref>WF_CONTEXT</ref>
</invoke>
<ref>name</ref>
</invoke>
</block>
</expression>
</Action>
<WorkflowEditor x='174' y='13'/>
</Activity>
</WFProcess>
</Extension>
<MemberObjectGroups>
<ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>
</MemberObjectGroups>
</Configuration>
.......................................Any ideas on why this is happening?
Thanks a lot in advance. -
Timeout value in the Manual Actions...
Hi Everyone,
I am actually facing a weird problem with respect to the timeout
value. My workflow has the following Manual Action in the Notify
Activity which does wait for 1 min max and should continue to proceed
forward.
===
<ManualAction id='0' name='Processing in backround' timeout='1' hidden='true'>
<Owner>
<ref>WF_CASE_OWNER</ref>
</Owner>
</ManualAction>
========
However, the workflow is getting into the suspended mode
Workflow task report:
Check completion 'Notify Activity' Waiting on work item owned by
'sample user' ---------------------------------------- Walking case
Walking case 'Sample Registration' Processing steps in 'Sample
Registration' Step pass 1 Check completion 'Notify Activity' Waiting
on work item owned by 'sample user' Case suspended with resume date
10/14/09 05:28:00 EDT Finished executing workflow case Sample
Registration
Task Instance Report:
<Step id='2' activityId='2' state='executing' title='Notify' Activity='3'>
<Result actionId='1' owner='#ID#Configurator'
workItem='#ID#5BF16F45GF17091:-3678932225576A432:-7CED'
timeout='2009-10-15T00:38:16.326Z'/>
</Step>
The workflow should wait for max 1 min and should proceed forward.
However, as you see in the above the timeout value set is
2009-10-15T00:38:16.326Z which seems odd because the workflow has
been suspended with resume date 10/14/09 05:28:00 EDT. But the timeout
value seems higher rather than just timing out for 1 min
Can anyone tell me who is setting the following below and where is
thing being picked up? I don't think its even honoring the 1 min
value?
timeout='2009-10-15T00:38:16.326Z'
Overall result is task waits for couple of hours and then gets
executed. Seems to me like a bug? Please let me know your thoughts on
this?
Thanks.Hello javelkur, thanks for answer.
The TCL is the Cisco TCL IVR Script (its-CISCO.2.0.2.0.tcl).
If I call the ip phone directly is the same issue.
Thanks in advance. -
How can I include a Credit Mgmt Case Folder URL in a workflow notification?
I have a requirement to add a URL to a workflow notification, which is easy enough. The issue I am having is that I am not able to create a URL that successfully opens the Credit Management Case Folder that is specified in the worflow notification.
I am only able to get the URL to launch the following successfully: http://<ce:0000>/OA_HTML/RF.jsp?function_id=16351&resp_id=23916&resp_appl_id=222&security_group_id=0&lang_code=US
Has anyone else solved this issue? Any help would be appreciated.We are using eBusiness Suite 11.5.10.2, 10g database
I created a woflow attribute of type URL.
Name: Case Folder Link
Frame Target: New Window
Value: http://<instance>/OA_HTML/RF.jsp?function_id=16351&resp_id=23916&resp_appl_id=222&security_group_id=0&lang_code=US
I then added the following line to add the URL attribute to the HTML message body.
Case Folder Link : &CASE_FOLDER_LINK
When using the link above I don't get any error message. However when I try to change the URL to a specific case folder URL (Note this URL should change depending on the Case Folder # provided in the notification message.):
http://<instance>/OA_HTML/OA.jsp?_rc=ARCMANALYSISDATACRDSUMMARYPAGE&_ri=222&retainAM=Y&cmSubRegion=PARTYREGION&cmPartyId=%7B!!k5vkXUpUCWxLhSZj.uqBHQ%7D&cmCustAccountId=%7B!!lBrDTc7.B3E6QA-16tJNIw%7D&cmSiteUseId=%7B!!7jcW1qvgKOeEFCpFYCanSA%7D&OAHP=ARCMMENUAPPLICATION&OASF=ARCMANALYSISDATACRDSUMMARY&_ti=1687529995&oapc=9&oas=GiXPV8nU9RQ6Ej53zIESsw..
The error I receive is:
Error: You are trying to access a page that is no longer active. - The referring page may have come from a previous session. Please select Home to proceed. -
Hi we want to send email to occasional processor using workflow about dispute case. Please tell the setting.
I have already activated event linkage for work flow. Do I need to also check the process route check mark in case type configuration. Please guide through the key steps.
ThanksHi Nik,
Are you activating the event linkage for workflow WS01700044? If yes, the workflow should be trigger when you create or change the dispute case.
For the processor that need to receive the email when the dispute case created, the processor user id should not be maintain in the Regular Processor table.
Another thing that you need to check is SWU3->Maintain Additional Settings and Services->Maintain Standard Domain for Internet Mail, is setup correctly, else the workflow not able to send email to user's outlook.
Hope this help.
Regards,
Edison Wang -
Configuring workflow for case management
Hi
My requirement is to copy the standard workflow for case management WS01700044 and add few things once the case is processed.
Now my problem is, how do I configure this new Z workflow in the SCASE. So that once I save the case, I should be able to start the workflow I have created.
Currently only 2 workflows are listed for case management.
1. WS01700051
2. WS01700044
I want three workflows to be listed.
Do we need to configure the newly created workflow in SPRO under case management? Please guide me.
Thanks in advance.Hi There,
The workflow in case management is triggered by the event BUS2022.NONPROFESSIONALUSERSET which is the same trigger that invokes WS01700044. You will first need to disable that trigger (open that workflow and remove the trigger (the first node in the workflow)). I would then add that trigger to your new Z workflow and that should do the trick.
This is the best way to do it rather than looking in the IMG.
Hope that helps,
Brenton. -
GRC Process Control - Case ID Error in the workflow
Hi Experts,
I am not able to trigger workflow through planner in Process Control 10.0. It shows "Error" status in Planner Monitor.
In SWI1, the error message shows as "Case "xxxxxx(Random number)" does not exist". I have attached the screen shot of the same.
Kindly let me know the missing configuration for the below issue. ThanksHi
Thanks for the replies..
The issue is resolved and now the workflow is getting triggered..
Solution : I have not maintained the relevant roles for WF-BATCH User in the system...
Regards,
Vinay -
Workflow configuration for credit case
Hi
My requirement is to copy the standard workflow for case management WS01700044 and add few things once the case is processed.
Now my problem is, how do I configure this new Z workflow in the SCASE. So that once I save the case, I should be able to start the workflow I have created.
Currently only 2 workflows are listed for case management.
1. WS01700051
2. WS01700044
I want three workflows to be listed.
Do we need to configure the newly created workflow in SPRO under case management? Please guide me.
Thanks in advance.Hi dossgs ,
These workflows is triggered for the EVENT 'NONPROFESSIONALUSERSET' for the business object BUS2022.
So please check SWETYPV and find out the BO BUS2022 and the receivers connected to that. Now you will have to add one more record here against you BO BUS2022 EVENT 'NONPROFESSIONALUSERSET' and the receiver will be your Z workflow. Activate the linkage.
Regards
Anik -
How do i define a process item, along with the process route, i need this urgently! Please help i want to setup a workflow for the route a case should follow once the status of the case is changed and then select the user(s) the case should go to!
Hi Tatenda,
I don't really know any personel which could be relevant to you. A process route is sort of an adhoc workflow the user has to create and assign the agents.
But why don't you develop your own workflow for the process? It is easy to link an event of object SCASE to a status of the CASE. The event can be used to trigger your own workflow. The event linkage is done in customizing in the status table.
Regards,
Martin -
How to end workflow only in true condition case
Hi
i have modified standard workflow for Purchase order release, we have multiple release level, i modified it and added a condition that when it is final release only then finish the workflow. but in swdd tcode end step is at last after both true and false block . it means it will be finished in either case.
Kindly guide me how i add completion step in true block and disable the existing one which is at the end
Regards
AmmadHi ,
You need not to copy standard workflow to implement your functionality .
There is a user exit which you can implement in rule used in standard workflow . Check for Release code in user exit and send the workitem to different ppl depending upon release code .
Every time a release level is released for PR/PO , releasestepcreated event will get triggered and a new instance of workflow will be generated completing the previous workflow .
For every new instance you are going to assign different agent through user exit for different release code .
Hope this will help .
Thanks n Regards
Manik L Dhakate -
Trigger workflow from Dispute Case
which BO and workflow gets triggered from Dispute Case ?
Hi,
Business Object:
BUS2022001 Dispute Case (FI-AR)
BUS2022002 Dispute Case (FI-CA)
Worklfow :
WS01700044 --- >FSCM-DM: Send Mail, Process Case
Regards,
Surjith
Maybe you are looking for
-
I have been using iPhoto for years. Today when I tried to upload pictures from camera, I received the above error message. I select "Repair", enter my password, and then a message "iPhoto was unable to repair permissions for the library" appears. I
-
Oracle 9i Internet Application Server running on HP-UX 11i v1.6Itanium R2
Hello everybody, I have a customer migrating from IAS R1 to IAS R2, we are to recommend the hardware platform and i would like to know if someboby knows if IAS Realease 2 is fully running on HP-UX 11i version 1.6 and Itanium release 2. Is the IAS R2
-
i need somthing to convert a dvd to avi file. I own the DVD's i want to covert, i just want them on my my macbook so when i travel i dont have to carry around a book of dvds. they are only snowboard and skate videos so they dont take up too much spac
-
How can i get it to authorize facebook on lightroom 5.5 with out it not crashing on me
hi all everytime i go to authorize facebook on lightroom 5.5 it keeps coming up and saying its not responding how can i fix this everything else works fine on it
-
How to tranfor stock from 1200 to 1300 plant,
How to tranfor stock from 1200 to 1300 plant, we will shift the production line and materials to 1300 plant.furtherly we wont produce any material in plant 1200 so how can tranfer the stock in SAP ?