Transferfunction as a plant process control parameter
Hello,
Below attached is a pid controller.In that I used a sub VI of a tranferfunction for control.But there showing some errors.Can anyone plz suggest the input and output of that sub VI.Can we make it as a working one.plz help.
Thanks as kudos only
Attachments:
controlsystemdesign.vi 58 KB
I have searched a bit and I dont think you can.
But why do you need that? you can configure the transfer function subvi itself according to your system needs.
If there are too many feedforward/ feedback loops just create the block diagrams adding/subtrating transfer function wherever necessary.
I found these links helpful
https://decibel.ni.com/content/docs/DOC-20631
http://zone.ni.com/devzone/cda/tut/p/id/6931
this is a bit detailed, just see the pid part
http://home.hit.no/~hansha/documents/labview/training/Control%20and%20Simulation%20in%20LabVIEW/Cont...
Similar Messages
-
Hi, pls advise is it necessary to use newpl control parameter to run the mrp first time in any plant after cutover activities updation? incase if we run with netch, what will happen? any problem will arise. pls guide.
Dear
NEUPL PROCESSING INDICATOR MEANS RUNNING MRP IN TOTAL PLANNING HORIZON .
During Go Live time or the frist time you should choose this Process Indicator -NEUPL,2,1,3,3,2 in MD02/MD03/md01.If you choose NEUPL , then even there is new material created or if there is no in planning file entry , MRP will consider them during planning run as well carry out the net requirement calcualtion .
Othewise , you may have to re-run for the fresh entry or may missed out some of them items
hope it is clear .
Regards
JH -
Process-controlled workflow hang due to dump
Hi all,
due to a temporary dump in an SRM 7 system, some document-related workflows are stucked... in other terms, these workflow processes have been started, the the dump occoured and by now, they seems to be stucked in "in process" state.
Tecnically, these are not workflow in error, so SWI2_DIAG is not helpful.
We'd like to unlock this situation and -eventually- restart the workflow process. How can we do it?
Thanks in advance for your help and support.
edit: system dump is now solved, which means, triggering the same workflow process will result in a success.
Edited by: Matteo Montalto on Jun 30, 2011 4:34 PMOk. There used to be OSS Note 1458380 - Process Controlled Workflow Restart Program, if the document is in "Awaiting Approval" Status.
Or do the manual restart by using tcode SWUE (Event trigger)
Object Category - ABAP Class
Object Type - /SAPSRM/CL_WF_PDO_SC
Event - READY_FOR_WORKFLOW
Object Key - <DOCUMENT_GUID>
Event Parameter - <SC Creator User ID>
and Click "Create Event" button
Use SWI1 to check whether the event is created and see whether the document is submitted for workflow triggering or use SWI6 to check for that SC document -
Custom Expression creation in Process controlled workflow
Hi All,
I am working on SRM 7.0 and utilizing process controlled workflow to model my approval workflow scenario. Below are the steps that i have done but still i have not got the desired result. May be i am missing something which the forum members can let me know.
step 1: i have copied the standard function module /SAPSRM/WF_BRF_0EXP001 and made chnages in the code based on the logic to populate the ev_value.
basically in the coding it is done this way.
initialize
EV_TYPE = 'B'.
EV_LENGTH = 1.
CLEAR EV_CURRENCY.
EV_OUTPUT_LENGTH = 1.
EV_DECIMALS = 0.
EV_VALUE = ABAP_FALSE. " no processing
EV_DATA_MISSING = 'X'.
get event object
LO_WF_BRF_EVENT ?= IO_EVENT.
get Context Container from BRF event
LO_CONTEXT_PROVIDER = LO_WF_BRF_EVENT->GET_CONTEXT_PROVIDER( ).
CALL METHOD LO_CONTEXT_PROVIDER->GET_DOCUMENT
IMPORTING
EV_DOCUMENT_GUID = LV_DOCUMENT_GUID
EV_DOCUMENT_TYPE = LV_DOCUMENT_TYPE.
CASE LV_DOCUMENT_TYPE.
WHEN 'BUS2121'.
Get shopping cart instance
LO_WF_PDO_SC ?= /SAPSRM/CL_WF_PDO_IMPL_FACTORY=>GET_INSTANCE(
IV_DOCUMENT_GUID = LV_DOCUMENT_GUID
IV_DOCUMENT_TYPE = LV_DOCUMENT_TYPE
IV_PDO_EVENT_HANDLING = ABAP_FALSE
custom logic with the GUID of the shopping cart then populate value accordingly
EV_VALUE = ABAP_TRUE.
CLEAR EV_DATA_MISSING.
step 2: create an event ZEV_001 linked to expresion ZEX_001.
step 3: expression ZEX_001 is of type 0FB001. and the xpression is as below.
ZEX_002 = OB_WF_TRUE.
step 4: ZEX_002 is of type 0CF001 and output result type is B. the attached function module is the one created above by copying /SAPSRM/WF_BRF_0EXP001
no parameters provided .
step 5: the process step level config completed.
now when i am creating shopping cart go for approval preview its gives an exception occured error . i cant see any dump in the system. however if in the custom fucnction module code if i do not clear the EV_DATA_MISSING. then i d o not get the error but my steps is not executed. Inslg1 log i see the process level executed but return as space.
as per other post in the forum we have to clear EV_DATA_MISSING but that casuing exception eror for me. in the dlg1 log howere the steps expressin i can see executed with return =X.
hope i am made myself clear . feel free to ask for any more info.
i have below question.
1) do we need to copy /SAPSRM/WF_BRF_0EXP001 or /SAPSRM/WF_BRF_0EXP000 for creating a custom FM expression.
2)what does the check box "Calculation of Parameter in Function Module/Badi/method" does
3) how can i do debugging for such FM expression , probably saving the cart and then debugging the expression.
Thanks in advance for any help provided.
Cheers
Iftekhar AlamHi ,
Just put the below code in the FM and try..
DATA: lo_wf_brf_event TYPE REF TO /sapsrm/cl_wf_brf_event,
lo_wf_pdo TYPE REF TO /sapsrm/if_wf_pdo,
lo_ctxt_provider TYPE REF TO /sapsrm/cl_wf_context_provider.
DATA: lv_document_guid TYPE /sapsrm/wf_document_guid,
lv_msg TYPE string,
lv_document_type TYPE /sapsrm/wf_document_type.
DATA: lx_exception TYPE REF TO /sapsrm/cx_wf_abort.
*=======================================================================
Preset return parameters
*=======================================================================
ev_type = /sapsrm/if_wf_rule_c=>type_bool.
ev_length = 1.
CLEAR ev_currency.
ev_output_length = 1.
ev_decimals = 0.
get event object
IF NOT io_event IS BOUND.
BRF event Object not bound. No further execution possible.
MESSAGE e089(/sapsrm/brf) INTO lv_msg.
TRY.
CALL METHOD /sapsrm/cl_wf_brf_ccms=>send_message( ).
CATCH /sapsrm/cx_wf_abort INTO lx_exception.
ev_data_missing = /sapsrm/if_wf_rule_c=>brf_data_missing.
EXIT.
ENDTRY.
ev_data_missing = /sapsrm/if_wf_rule_c=>brf_data_missing.
EXIT.
ENDIF.
*=======================================================================
Get purchasing document
*=======================================================================
get event object
lo_wf_brf_event ?= io_event.
get context container from BRF event
lo_ctxt_provider = lo_wf_brf_event->get_context_provider( ).
get Content Container from BRF event
IF NOT lo_ctxt_provider IS BOUND.
BRF Context Container Object not bound. No further execution possible.
MESSAGE e090(/sapsrm/brf) INTO lv_msg.
TRY.
CALL METHOD /sapsrm/cl_wf_brf_ccms=>send_message( ).
CATCH /sapsrm/cx_wf_abort INTO lx_exception.
ev_data_missing = /sapsrm/if_wf_rule_c=>brf_data_missing.
EXIT.
ENDTRY.
ev_data_missing = /sapsrm/if_wf_rule_c=>brf_data_missing.
EXIT.
ENDIF.
get document
CALL METHOD lo_ctxt_provider->get_document
IMPORTING
ev_document_guid = lv_document_guid
ev_document_type = lv_document_type.
get instance
lo_wf_pdo ?= /sapsrm/cl_wf_pdo_impl_factory=>get_instance(
iv_document_guid = lv_document_guid
iv_document_type = lv_document_type
Case lv_document_type.
When u2018BUS2121u2019.
Pass the lv_document_guid to get SC details.
IF THE CONDITION TRUE..
CLEAR: ev_data_missing.
ev_value = c_x.
ELSE.
ev_data_missing = c_x.
ev_value = c_blnk.
ENDIF.
WHEN OTHERS.
ev_data_missing = c_x.
ev_value = c_blnk.
ENDCASE.
Make sure the check expression will have check as shown below
ZEX_002= 0C_WF_B_FALSE
FYI-
You don't need to have expression ZEX_001 to check the result of ZEX_002, because both expressios resut is type 'B". you can directly attached the ZEX_002 to main Event ZEV_001
Regards,
Saravanan
Edited by: Saravanan Dharmaraj on Jun 23, 2010 12:25 PM -
SRM 7.0 - Process controlled workflow
Hi,
Landscape - SRM 7.0 SP05
Workflow - Porcess controlled
Scenario - Self service procurement
Problem:
1. We have mulitple level approval workflow for the shopping cart. I am using standard workflow task- 40007953 and using /SAPSRM/BD_WF_RESP_RESOLVER badi to determine agents.
2. All the potential approvers (managers) are determined correctly by this badi but the issue is work-item is sent to all the approvers at the same time where as the requirement is to sent the work-item to each approver in series i.e. only when the work-item is approved by the lower level manager, it should go to the higher level manager. Currently, this workflow task sends the work-item to all potential approvers at one go who can start working on parallely which is not desired.
Could anyone please help me to resolve this?
Please note that adding additional process steps in the process-level configuration was the option but we could not opt for that at this point of development as we have gone too far in terms badi development for agent derterminiation
Thanks & regards,
AmitAmit,
It is not possible to send the work item to people in sequence by configuring only one process level. If you have only one process level, the agent determination will only be applicable to that process level. If you are trying to assign multiple agents to that step, then all will get the work item at the same time.
I recommend doing one thing, Create multiple process levels(= no of approval levels you want). For each process level you keep same event and expressions. But your agent determination badi implementation need to be tweaked. Here is how you can do that
Use Parameters along with agent determnation badi implementation. In other words derive Agents based on the value of parameter using your badi implementation. This parameter can be configured in Process Controlled Workflow Configuration.
Example,
Process step 1 - WF_BADI - Parameter1
Process step 2 - WF_BADI - parameter2
Now write some code in the WF_BADI to pick up particular agent if parameter value is Parameter1 , pick another agent if parameter value is parameter2. Doing this way you wont ve to redesign your BADI implementation as you are able to break up the Agent logic based on parameter values.
Virender Singh -
Approval preview process controlled workflow
Hi,
We are using process controlled workflow (N step) for the shopping cart workflows.
While sending the reminder mails to the approvers, we would like to include the approval preview in the email.
In application controlled workflows we could use FM BBP_WFL_DIN_APPR_CONTAINER_GET to get the approval preview details.
Is there a similar function module to pick the approvers/approval status/step name etc for the process controlled workflows so that we can simulate the approval preview?
Thanks
BR
SwethaUse class /SAPSRM/CL_WF_APV_FACADE. This is used by standard SAP WF Analysis.
Methods - RETRIEVE_PROCESS_HISTORY, GET_CURRENT_PROCESS_STATE, CREATE_PROCESS_FORECAST.
To analyze more, check the program /SAPSRM/WF_CFG_ANALYSIS_002. Check lines 209...216 (These Lines pull Previous Approved Steps, Current Process Step & Gets the approval forecast). However the REJECTED Items (Accept Decision) work little different (which is not captured by this report).
To Identify the current approval process awaiting decision by the requester of the cart, use method GET_CURRENT_PROCESS_STATE, return parameter structure /SAPSRM/S_WF_PROCESS-PROCESS_LEVEL_LIST-DECISIONSET_LIST-ITEM_STATUS_LIST gets you the current status of the item (ACCEPTED, REJECTED, OPEN, INQUIRED). If ITEM_STATUS_LIST-ITEM_STATUS EQ 'REJECTED', then the WF is waiting for acceptance/resubmission from the requester.
To your specific need, pass DOCUMENT_GUID to the class /SAPSRM/CL_WF_APV_FACADE=>GET_CURRENT_PROCESS_STATE get the return parameter /SAPSRM/S_WF_PROCESS. It will give you PROCESS_LEVEL_LIST. Then loop through DECISIONSET_LIST. It contains Table Types of AGENTS_LIST, ITEM_STATUS_LIST, WORKITEM_LIST. At /SAPSRM/S_WF_PROCESS level, you can get all the details of the current process level details
Thanks,
SC -
Inconstancy in Approval Workflow- Process Controlled Workflow
Hello Experts,
We are in SRM 7.0 classic scenario using process controlled workflow and facing an issue as described below:-
During the approval workflow, we are observing that in
Case 1: When approver3 is forwarding the work item to approver10, the approver10 in not getting the work item in his Inbox. However, when we see the log detail in SWI6 the status is shown as u201CREADYu201D
Case 2: We created a shopping cart with identical details as in Case 1 and followed the same approval process i.e.Approver3 forwarding the work item to approver10, however in this case approver10 is getting the work item in his Inbox and when we see the log details in SWI6 the status is shown as u201CCOMPLETED"
We tried this scenario for 10 times and we found that in 2 cases the approval status is showing as u201CREADYu201D while in other 7 cases the approval workflow got completed.
Can you all experts please help us understand why this is happening and how can be find the root cause i.e why Case 1 is in u201CREADYu201D status for last 2 days.
We seek your help in understandingroot cause so that we can eliminate any inconsistency in future.
Any pointers to resolve this issue will be highly appreciated.
Thank you in advance.
Regards,
RKSUse class /SAPSRM/CL_WF_APV_FACADE. This is used by standard SAP WF Analysis.
Methods - RETRIEVE_PROCESS_HISTORY, GET_CURRENT_PROCESS_STATE, CREATE_PROCESS_FORECAST.
To analyze more, check the program /SAPSRM/WF_CFG_ANALYSIS_002. Check lines 209...216 (These Lines pull Previous Approved Steps, Current Process Step & Gets the approval forecast). However the REJECTED Items (Accept Decision) work little different (which is not captured by this report).
To Identify the current approval process awaiting decision by the requester of the cart, use method GET_CURRENT_PROCESS_STATE, return parameter structure /SAPSRM/S_WF_PROCESS-PROCESS_LEVEL_LIST-DECISIONSET_LIST-ITEM_STATUS_LIST gets you the current status of the item (ACCEPTED, REJECTED, OPEN, INQUIRED). If ITEM_STATUS_LIST-ITEM_STATUS EQ 'REJECTED', then the WF is waiting for acceptance/resubmission from the requester.
To your specific need, pass DOCUMENT_GUID to the class /SAPSRM/CL_WF_APV_FACADE=>GET_CURRENT_PROCESS_STATE get the return parameter /SAPSRM/S_WF_PROCESS. It will give you PROCESS_LEVEL_LIST. Then loop through DECISIONSET_LIST. It contains Table Types of AGENTS_LIST, ITEM_STATUS_LIST, WORKITEM_LIST. At /SAPSRM/S_WF_PROCESS level, you can get all the details of the current process level details
Thanks,
SC -
How to fill plant in control record of an I-Doc , message type - INVOIC
Hi All,
Can any one tell me, how i can fill Plant in control record of an I-Doc, when i generate I-Doc through billing with message type INVOIC. The field (EDIDC-REFGRP) should be fillied with Plant.
Regards,
Suresh Patiapti.Hi,
Which type of processing you are referring to (outbound/inbound) ? Which standard process code is used for idoc processing?
Regards
Vinod -
Process Control in Confirmation Parameters
Dear All,
There is a Process control tab in SPRO'confirmation parameters for Orders'.
I know it is used for decoupling of Production process like GI,GR & activity posting.What are the basic settings required for the same.Plz guide..Hi,
Business Process:
If you are dealing with hundreds of components for your Production Order (like in Auto/Electronics Industry)
then executing the GI, GR and Activity Posting may consume a lot of System Resources.
If number of people doing the confirmations at number of locations (Multiple Plant scenario) then the situation will be even worse as far as the system load is concerned.
Etc....
With this Process Control we can handle the situation in a better way.
As you said there are couple ofoptions to do that:
1. Online (Then and there the Posting will happen, here you need to wait till the posting happens.)
2. in an Update (If you are working in update task the next dialog step is possible immediately)
3. in the Background (At later probably at the Night when the Load on the System is Very less)
For this you need to Schedule the Program CORUPROC as a Batch Job.
There are other Customization Settings also required to be made for this:
1. Define Time for Confirmation Processes (OPKC)
Here you define the how you are going to do your confimation with reference to GI,GR and Activity.
The Order Category for Production Order is 10, so you need to do your cutomization with reference to this.
2. Define Paralleling Type for Confirmation Processes (OPKB).
You need to define the No. of Paralleln tasks and maximum number of items per material document (for goods movements)
Now you have scheduled your CORUPROC say 5 times a day..
But if you want to do your confirmation immediately then and there then you can go with the Transaction : CO1P.
But this is to be used in rare cases..
Hope this clarifies..
Revert for further discussion..
Regards,
Siva -
Can't invoke a process control from a pageflow
I create a simple pageflow that invokes a process control (jpd file) to start a
business process. I created a process control from the jpd and added it as a control
to the pageflow. I can run the process indepedently in the test harness, but cannot
invoke from my pageflow.
Any ideas what what could be wrong?
When I invoke a method on the process control I get the following in the test
browser:
An error has occurred:
EJB Exception: ; nested exception is:
com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessControl invocation
failed[null]
caused by: : com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessControl
invocation failed[null]
In the server console I have the following exceptions:
<Dec 9, 2003 8:16:01 AM GMT-05:00> <Warning> <WLW> <000000> <Id=top-level; Metho
d=processes.customerNeed.SubmitNeed_wf.$__clientRequest(); Failure=java.lang.Cla
ssCastException [ServiceException]>
<Dec 9, 2003 8:16:01 AM GMT-05:00> <Warning> <WLW> <000000> <Id=top-level; Metho
d=processes.customerNeed.SubmitNeedControl.clientRequest(); Failure=com.bea.cont
rol.ProcessControlException: [WLI-Core:530214]ProcessControl invocation failed[n
ull]>
[IDSSPortal] Unhandled exception caught in Global.app:
java.rmi.RemoteException: EJB Exception: ; nested exception is:
com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessControl
invocation failed[null]
at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRunti
meUtils.java:103)
at weblogic.ejb20.internal.BaseEJBHome.handleSystemException(BaseEJBHome
.java:295)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
53)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObj
ect.java:141)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Syn
cDispatcher_k1mrl8_EOImpl.java:110)
at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceH
andleImpl.java:285)
at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl.invoke(WlwProxyImpl.
java:240)
at $Proxy8.clientRequest(Unknown Source)
at pageFlows.customerNeed.customerNeedController.submitNeed(customerNeed
Controller.jpf:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.bea.wlw.netui.pageflow.FlowController.invokeActionMethod(FlowCont
roller.java:1262)
at com.bea.wlw.netui.pageflow.FlowController.getActionMethodForward(Flow
Controller.java:1214)
at com.bea.wlw.netui.pageflow.FlowController.execute(FlowController.java
:650)
at com.bea.wlw.netui.pageflow.PageFlowController.execute(PageFlowControl
ler.java:278)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:480)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:274)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowR
equestProcessor.java:429)
at com.bea.wlw.netui.pageflow.DynamicSubappActionServlet.process(Dynamic
SubappActionServlet.java:405)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilte
r.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6316)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessCont
rol invocation failed[null]
at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:369)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
:359)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
0)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
3)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:24
5)
at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(JcsContainer.ja
va:85)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContai
nerBean.java:185)
at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerB
ean.java:103)
at com.bea.wlwgen.SubmitNeedControlSLSBContImpl.clientRequest(SubmitNeed
ControlSLSBContImpl.java:25)
at com.bea.wlwgen.StatelessContainer_a0ubma_ELOImpl.clientRequest(Statel
essContainer_a0ubma_ELOImpl.java:423)
at com.bea.wlwgen.SubmitNeedControlSLSBContAdpt.invokeOnBean(SubmitNeedC
ontrolSLSBContAdpt.java:62)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDisp
atcherBean.java:160)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatche
rBean.java:54)
at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatche
rBean.java:159)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Syn
cDispatcher_k1mrl8_EOImpl.java:100)
... 32 more
Caused by: java.lang.ClassCastException [ServiceException]
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
:379)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
0)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
3)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:24
5)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContai
nerBean.java:185)
at com.bea.wlw.runtime.core.bean.BMPContainerBean.invoke(BMPContainerBea
n.java:1530)
at com.bea.wlwgen.SubmitNeedBMPContImpl.clientRequest(SubmitNeedBMPContI
mpl.java:25)
at com.bea.wlwgen.PersistentContainer_cfepz3_ELOImpl.clientRequest(Persi
stentContainer_cfepz3_ELOImpl.java:207)
at com.bea.wlwgen.SubmitNeedBMPContAdpt.invokeOnBean(SubmitNeedBMPContAd
pt.java:80)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDisp
atcherBean.java:160)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatche
rBean.java:54)
at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatche
rBean.java:159)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Syn
cDispatcher_k1mrl8_EOImpl.java:100)
at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceH
andleImpl.java:285)
at com.bea.wlw.runtime.core.call.JavaCall.invoke(JavaCall.java:57)
at com.bea.wli.bpm.runtime.SubFlowCall.invoke(SubFlowCall.java:42)
at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceCon
trolImpl.jcs:873)
at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:421)
at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceCon
trolImpl.jcs:754)
at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:359)
... 46 more
Caused by: java.lang.ClassCastException
at processes.customerNeed.SubmitNeed_wf.$__clientRequest(SubmitNeed_wf.j
ava:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
:353)
... 65 moreSome additional information:
The problem seems to be related to a custom object that I am passing to the exposed
clientRequest(String, CustomObj) method in the process control. If I remove the
CustomObj parameter, all works fine. Unfortunately, I need to pass that object
to the workflow. I have the CustomObj define within my project "Project/com/omeninc/package/CustomObj",
my process file located at "Project/processes/customerNeed/SubmitNeed.jpd" and
my pageflow define at "Project/pageFlows/customerNeed/customerNeedController.jpf".
The entire project builds without error, but when I run it I get the ClassCastException.
Thanks in advance for any assistance!!
<Dec 9, 2003 9:39:59 AM GMT-05:00> <Warning> <WLW> <000000> <Id=top-level; Metho
d=processes.customerNeed.SubmitNeed_wf.$__clientRequest(); Failure=java.lang.ClassCastException
[ServiceException]>
<Dec 9, 2003 9:39:59 AM GMT-05:00> <Warning> <WLW> <000000> <Id=top-level; Metho
d=processes.customerNeed.SubmitNeedControl.clientRequest(); Failure=com.bea.cont
rol.ProcessControlException: [WLI-Core:530214]ProcessControl invocation failed[null]>
[IDSSPortal] Unhandled exception caught in Global.app:
java.rmi.RemoteException: EJB Exception: ; nested exception is:
com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessControl
invocation failed[null]
"Jim Anzaldi" <[email protected]> wrote:
>
I create a simple pageflow that invokes a process control (jpd file)
to start a
business process. I created a process control from the jpd and added
it as a control
to the pageflow. I can run the process indepedently in the test harness,
but cannot
invoke from my pageflow.
Any ideas what what could be wrong?
When I invoke a method on the process control I get the following in
the test
browser:
An error has occurred:
EJB Exception: ; nested exception is:
com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessControl
invocation
failed[null]
caused by: : com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessControl
invocation failed[null]
In the server console I have the following exceptions:
<Dec 9, 2003 8:16:01 AM GMT-05:00> <Warning> <WLW> <000000> <Id=top-level;
Metho
d=processes.customerNeed.SubmitNeed_wf.$__clientRequest(); Failure=java.lang.Cla
ssCastException [ServiceException]>
<Dec 9, 2003 8:16:01 AM GMT-05:00> <Warning> <WLW> <000000> <Id=top-level;
Metho
d=processes.customerNeed.SubmitNeedControl.clientRequest(); Failure=com.bea.cont
rol.ProcessControlException: [WLI-Core:530214]ProcessControl invocation
failed[n
ull]>
[IDSSPortal] Unhandled exception caught in Global.app:
java.rmi.RemoteException: EJB Exception: ; nested exception is:
com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessControl
invocation failed[null]
at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRunti
meUtils.java:103)
at weblogic.ejb20.internal.BaseEJBHome.handleSystemException(BaseEJBHome
.java:295)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
53)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObj
ect.java:141)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Syn
cDispatcher_k1mrl8_EOImpl.java:110)
at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceH
andleImpl.java:285)
at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl.invoke(WlwProxyImpl.
java:240)
at $Proxy8.clientRequest(Unknown Source)
at pageFlows.customerNeed.customerNeedController.submitNeed(customerNeed
Controller.jpf:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.bea.wlw.netui.pageflow.FlowController.invokeActionMethod(FlowCont
roller.java:1262)
at com.bea.wlw.netui.pageflow.FlowController.getActionMethodForward(Flow
Controller.java:1214)
at com.bea.wlw.netui.pageflow.FlowController.execute(FlowController.java
:650)
at com.bea.wlw.netui.pageflow.PageFlowController.execute(PageFlowControl
ler.java:278)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:480)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:274)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowR
equestProcessor.java:429)
at com.bea.wlw.netui.pageflow.DynamicSubappActionServlet.process(Dynamic
SubappActionServlet.java:405)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilte
r.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6316)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: com.bea.control.ProcessControlException: [WLI-Core:530214]ProcessCont
rol invocation failed[null]
at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:369)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
:359)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
0)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
3)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:24
5)
at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(JcsContainer.ja
va:85)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContai
nerBean.java:185)
at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerB
ean.java:103)
at com.bea.wlwgen.SubmitNeedControlSLSBContImpl.clientRequest(SubmitNeed
ControlSLSBContImpl.java:25)
at com.bea.wlwgen.StatelessContainer_a0ubma_ELOImpl.clientRequest(Statel
essContainer_a0ubma_ELOImpl.java:423)
at com.bea.wlwgen.SubmitNeedControlSLSBContAdpt.invokeOnBean(SubmitNeedC
ontrolSLSBContAdpt.java:62)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDisp
atcherBean.java:160)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatche
rBean.java:54)
at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatche
rBean.java:159)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Syn
cDispatcher_k1mrl8_EOImpl.java:100)
... 32 more
Caused by: java.lang.ClassCastException [ServiceException]
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
:379)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:42
0)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:39
3)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:24
5)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContai
nerBean.java:185)
at com.bea.wlw.runtime.core.bean.BMPContainerBean.invoke(BMPContainerBea
n.java:1530)
at com.bea.wlwgen.SubmitNeedBMPContImpl.clientRequest(SubmitNeedBMPContI
mpl.java:25)
at com.bea.wlwgen.PersistentContainer_cfepz3_ELOImpl.clientRequest(Persi
stentContainer_cfepz3_ELOImpl.java:207)
at com.bea.wlwgen.SubmitNeedBMPContAdpt.invokeOnBean(SubmitNeedBMPContAd
pt.java:80)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDisp
atcherBean.java:160)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatche
rBean.java:54)
at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatche
rBean.java:159)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Syn
cDispatcher_k1mrl8_EOImpl.java:100)
at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceH
andleImpl.java:285)
at com.bea.wlw.runtime.core.call.JavaCall.invoke(JavaCall.java:57)
at com.bea.wli.bpm.runtime.SubFlowCall.invoke(SubFlowCall.java:42)
at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceCon
trolImpl.jcs:873)
at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:421)
at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceCon
trolImpl.jcs:754)
at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:359)
... 46 more
Caused by: java.lang.ClassCastException
at processes.customerNeed.SubmitNeed_wf.$__clientRequest(SubmitNeed_wf.j
ava:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java
:353)
... 65 more -
Chemical plant process mapping
Hi gurus
Which mapping senario to be selected for the Soda ash manufacturing plant. Is it REM OR PP-PI.
What are the merits and demerits of the above .
Best wishes
MuraliHi Daram,
PPPI - Production planning in process industry.
It is one of the production process,where in the product is produced and controled by a DCS or one of the process controlling system, Which can be directly intergated to SAP system.
Here many level of process approvals required example ...shift operateor is given the instuction in SAP PI sheet and he does the production booking,,,which will be approved by shift incharge and then psoted to invenory, same way quality of the product also can be approved....
In the chemical industry, you coordinate the communication between PP-PI and process control during the execution of a process order.
So some process contorl activity are there so better you should go with PP-PI.
Hope it is now clear to you.
Regards
R.Brahmankar -
Language selection in Process control
Hi
We have an issue where end user is facing language with Process control potal it is showing them the language what is defined in the Internet option.I want to know is their any alternate where we can maintain the language option apart from internet options so that it can be the default language for the end user.
Regards,Hi Pradeep,
There is no specific setting only for Process Control. However, if you want to change the default login language for all the users for the specific system, maintain the Default Profile parameter "login/system_language" in T-Code RZ10. But if you want to maintain the login language for a specific user, then change the default language for the user in SU01->Defaults tab->Maintain the language in Logon language field. Else ask the enduser to login to the system, then from the top menu choose system->User Profile->Own data. Switch to default tab. In logon language option put the language he/she requires. Save and log off. From the next logon onwards the set language would be his default login language. No need to change the language every time in internet explorer. Remember that the settings is not GRC Process control specific but also for all the sap application through out the system.
please note that this is the way to put default language for GRC PCRM 10.0 & 3.0 (if your user source is ABAP). If you are using PC 3.0 and your user source is Portal then change the language for the user in identity management in portal. Hope this helps. Revert back if you require further clarification.
Thanks,
Guru -
hi
sap guru
can u plz explain me what is the control parameter for purchase order,pr,info record,Hi,
Your question is not so clear,
PR's and POs are Purchasing Documents..
Purchase info records and Source lists are the Master data which can facilitate/default the values for easy and quick process of PO Creation.
With out IR,SL also PR can be created and those PR's can be converted to PO.
Thanks,
Kumar Arcot -
Issue in Process Controlled workflow for Shopping cart in Quality system.
Hello All,
I ahve configured a Process controlled workflow in SRM 7.0 with custom resolver, and I am facing an issue taht the Workflow works well in Development but in Quality the approvers are dropped after SC is ordered in Quality system.
The SC Workflow drops the approvers picked up from the Interface method /SAPSRM/IF_EX_WF_RESP_RESOLVERGET_AREA_TO_ITEM_MAP and IF_EX_WF_RESP_RESOLVERGET_APPROVERS_BY_AREA_GUID of BADI /SAPSRM/BD_WF_RESP_RESOLVER. The approvers can be seen in the shopping cart Approval preview Tab until the SC is ordered.
I have compared the OSS notes relevant for Workflow, all of them have been transported, Also I compared and checked general Workflow settings, BRF Config and Process level settings in Dev and Quality, everything is same.
Also while debugging; the approvers can be seen in the decision set table in the create_process_forecast method of class /SAPSRM/CL_WF_PROCESS_MANAGER.
Kindly let me know what else i can check to find the root cause.
Thank you in advance for help!
Regards
Prasuna.Hello Vinita;
Thanks for the input and sorry for the not so "ASAP" reply;
From what I'm seeing in from your 2 screenshot, i strongly believe that the problem is even before the Z implementation /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_APPROVERS_BY_AREA_GUID (in which the FM i ZSRM_GET_USER_FROM_PGRP is called. I think the problem could be in the process level determination ZSRM_WF_BRF_0EXP000_SC_APP100. Let me explain:
In your cases where not buyer is determined, in the approval tab there is not even a process level for buyer approval. If the problem were indeed in the implementation /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_APPROVERS_BY_AREA_GUID then the process level would be there, but the system will display, instead of the name of the buyer(if the buyer determination fails) a red label with the message: "With the strategy "Buyer determination" an approver could not be determined (or something like that..please check the image at the end of the text)".
I can propose a way to discard this: Implement the method /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_FALLBACK_AGENTS of class ZCL_BADI_SC_WC (in case you didn't know, in this method you can specify an "default" approver in case that the determination of approver in GET_APPROVERS_BY_AREA_GUID fails). The idea is to specify an default approval and see how it behaves:
If the user you indicated in the method GET_FALLBACK_AGENTS appears as approver, then yes, the problem is arises from implementation GET_APPROVERS_BY_AREA_GUID, in which case it could be a data problem (peharps in pposa_bbp?). You could also check in TX SU53 with the users with this problem to see if there's a missing authorization objetc.
If, in the other hand, the "default" approver is not shown, it means that the process level buyer determination is not even called, so you should check in more detail ZSRM_WF_BRF_0EXP000_SC_APP100 and /SAPSRM/CL_WF_PROCESS_MANAGER > Determine process restart –method ----- (i have never used this method, so i could not tell if it could be the source of the problem).
Also, you could implement the method GET_FALLBACK_AGENTS in this way so the default approver would be the WF administrator indicated in the customizing (or you could just append directly any user you want):
METHOD /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_FALLBACK_AGENTS.
DATA: lv_admin_expr TYPE swd_shead-admin_expr,
lv_admin TYPE swd_shead-wfi_admin,
lv_admin_type TYPE sy-input,
ls_agent TYPE /sapsrm/s_wf_approver.
CALL FUNCTION 'SWD_WF_DEFINITION_ADMIN_GET'
IMPORTING
default_admin_expr = lv_admin_expr
default_admin = lv_admin
default_admin_type = lv_admin_type.
ls_agent-approver_id = lv_admin.
APPEND ls_agent TO rt_agent.
ENDMETHOD.
Error of agent determination:
Please let me know the result of the test with the implementation of method GET_FALLBACK_AGENT. By doing this we could ensure if really the problem is in method GET_APPROVERS_BY_AREA_GUID or before. I just made the test in our system and I'm almost sure that you wont get the default approver, but i could be wrong.
Any question please let me know.
Best regards
Cristian R. -
SRM 7.0 Process-Controlled (BRF) Workflow -- Error message to Shopping Cart
I am modifying a BRF Expression used to calculate approval levels. During this calculation, I may run into error conditions (e.g. Currency tranlsation not found) that I want to display to the user (in the Shopping Cart).
I have tried raising the following exceptions:
/sapsrm/CX_WF_RULE_ERROR.
/sapsrm/CX_WF_RULE_ABORT.
Raising these exceptions do result in SLG1 log entries being written, but the User is not informed of the error (ie. at top of shopping cart where other messages display).
I can probably jump out of the Webdynrpo to read logs, but thought there MUST be some standard way of passing error conditions from the BRF, back to WF, and then back to the Webdynpro Window.
Anybody raise error messages back to the online user from Process-Controlled Workflow?
Thanks,
- Tim>
Saravanan Dharmaraj wrote:
> Hi Tim,
>
> I am not sure about your business requirement, but if you want to display custom error message while user create a SC, SAP has provided a standard BADI - BBP_DOC_CHECK_BADI. You can implement this Badi to raise a custom error,warning message. You can build your brf logic in the BADI implementation..
>
>
> Best Regards,
> Saravanan Dharmaraj.
Hi Saravanan,
I am actually modifying the Approval Limit Checks (for multi-currency translations) that you recently coded in Maryland. It can occur that errors occur in determining limits (new Currency translation I just added), or during the lookup of agents (ie user config is inconsistent).
In these cases, I can make the shopping cart Dump, by raising untrapped error messages, or assertions. However, I would like to raise exceptions that get trapped (such as the ones I identified in original post), and then make their way to the shopping cart.
Unless I am missing something, I don't think the WF BADIs, or BRF are gonna communicate errors back to the shopping cart, even though these components are called during cart creation and checks.
I realize that I can recode the Agent Determination BADIs, BRF calls, or even read BRF logs within BBP_DOC_CHECK_BADI. I mentioned this in my original posting as well.
Anyway, any help is appreciated.
Thanks,
- Tim
Maybe you are looking for
-
How do I get the keyboard on my macbook pro to light up?
how do i get the keyboard on my macbook pro to light up?
-
How to sync Outlook 2010 Contact Groups to my iPad and iPhone
I am trying to figure out how to sync my Outlook 2010 contact groups to my iPad and iPhone. Also how do you manage the groups once on the device? Seems they can only be selected and not edited. I can get my Good contact group and my Windows Contac
-
Hi Zubin, Can I get information about the certification exam marks? Do they give 1 mark for each question and convert into percentage? OR Are there give 2 or 3 marks for any question? I'm just confused about this mark evaluation. Radio button option
-
How to shut off calling on the IPhone 5
How to shout of calling on the iphone 5
-
RSR_VARIABLE_F4_RESTRICT_BADI - nOT WORKING
Hi All, I have implemented BADI RSR_VARIABLE_F4_RESTRICT_BADI for F4 help in Global filter level to restrict. I have placed break point in BADI implementation code , it works fine and c_t_range has exactly has the same set of values that needs to be