Prevent auto display/assignment of next callable object

Hi everybody,
I have the following scenario for a GP process:
fist step: maintain data
second step: approve data
The callable objects are WD4J.
I need to route the workflow to a role/group of users. It may happen, that the processor of step 1 is also a member of the role, that is responsible for step 2. Because of SOX compliance, he is not allowed to approve his own data. But if GP identifies the current user as the processor of the next callable object, the callable object is displayed directly and assigned to the user.
This results to the following question:
1) How can I avoid, that the callable object is called directly and force the users to go always to the uwl first, even if several following steps are assigned to the same user
2) How can I prevent that a user is not able to take a task if he was the predecessor of the first step, evenif he belogs to the role that is responsible for the task
I would like to avoid a workaround based on custom code.
Any hints are welcome.
Best regards,
René

Hi Fahad,
I tried same as you said but its not worked.
public void execute( com.sap.caf.eu.gp.co.api.IGPExecutionContext executionContext )
    this.executionContext=executionContext;
public void Complete( )
IUser usr =UMFactory.getUserFactory().getUserByLogonID("logonid");
          IGPProcessRoleInstance role = executionContext.getProcessRoleInstance() ;
          role.addRuntimeDefinedUser(usr) ;
I changedthe roleInitiator of next action is runtime defined.
but its not worked.
Regards,
Naga

Similar Messages

  • Cannot display Adobe form as Callable object in GP

    Hi all,
    I'm trying to display an adobe form as an Interactive Form Callable object.
    I've created a process -> block -> action -> callable object. But the form doesnt display. When I launch the GP runtime and initiate the process, I get the message "The next activity is not yet available: try again later using the "Refresh" button " nothing happens when I hit the refresh button.
    Can someone advise me what I might be doing wrong? I've also tried things like consolidating parameters with other callable objects just to see if anything display, but no luck so far.
    Thanks
    TM

    Hi Som,
    I'm using NW04s, EP 7.0 SPS 10
    OS is Unix(server) Windows 2000 Pro (client)
    Browser version is IE 6.0.
    I just realised the system is sending out an email to the initiator, and the initiator is able to open the Adobe form. But who does the initiator send the email back to? I'm quite a newbie to this stuff so please bear with me. Also another question is, if the form is offline, then how do we know which workflow (GP) it will tie to once the form is submitted back to the system? In other words, does the person who receives the email with a filled adobe form have to manually initiate the workflow or is there a mechanism to automate this?
    Thanks in advance
    TM

  • Assign User for Process Role Callable Object

    Hi,
         I have a doubt in the Callable Object Assign User for Process Role.wat is the use of this callable object.This Callable Object is used to reterive any portal user information?can any one give description about this Callable Object.
    Regards,
    Satheshkumar

    Hi,
    Take a look at the following [wiki page |https://wiki.sdn.sap.com/wiki/display/BPX/GuidedProceduresCallable+Objects] and look for the callable object you need. There is a link to a tutorial.
    Dick

  • Difference between Callable Object for execution and Display

    Hi,
             I am new to Guided Procedures.When i am creating a callable object under an Action ,i find callable object for execution and callable object for display in the dropdown.What is the difference between the two types of callable objects.
    Thanks,
    Bala

    Hi Bala,
    GP comes with a set of registered callable object types that define which applications you can directly expose as callable objects and enable their handling in the context of GP processes.
    So the different COs can handle your specific application requirements or process flow requirements appropriately at runtime.
    You refer those COs in actions. To make the action functional, you attach at least one callable object to it. In addition to the object that is executed when the action is called, you can attach a callable object that is displayed after the execution. The first one is mandatory. You must attach a callable object for execution. It can be either a callable object with a visible part, such as a Web Dynpro or BSP callable object, or one for background execution.
    Optionally, you can attach a callable object for display. It is required to have a visible part – for example, you cannot select a callable object for background execution.
    At runtime, this object is displayed if the processor wants to open the process step after it has been completed, or if a process contributor has view permissions on the action.
    To make it easier, I will give you an example with submitting and approving a composite form. Say, the employee fills in an order for something, submits it and the manager then approves or rejects it.
    First, in order for the employee to view the form, you can use a Form Display callable object as a display callable object for actions where the execution object is a form. It displays the name and description of the form and provides a link for download. If the user has view permissions on the step, he or she can view the display object and download the form itself. So, this CO is connected basically with the user experience and what he/she sees displayed on the screen, no matter what happens in the background (e.g. you can have a pre-filling service in the background that prefills some fields of the form, but what the user sees is only the form fields with certain info already prefilled in them).
    Next, for the manager to approve or reject the form of the employee, you need a CO that is only for execution, for example a Process Control CO for File Approval For forms, you can use it in a process in which a form is sent by e-mail. As soon as the form is submitted back to the system, the receiver can view it, save a copy of the form, and depending on his or her decision, can approve or reject it.
    This really is a very simplified example, but I hope it helped a little in some way or another
    Here is a link to the Callable Objects in GP documenatation, hope it also clears up some questions:
    http://help.sap.com/saphelp_nw70/helpdata/en/d2/d174413aff5458e10000000a1550b0/frameset.htm
    Also, a link to the documentation for exposing COs:
    http://help.sap.com/saphelp_nw70/helpdata/en/08/d88041a17e060de10000000a1550b0/frameset.htm
    HTH:)
    Greets,
    Petra

  • BSP callable object failed to display

    Hi, experts,
    I created a simple gp process with one action, using BSP as the callable object,
    the bsp CO will call a bsp application delivered by sap, but when i tried to execute it in runtime, it alway comeup with errors, could you pls help me?
    this is our prototype for more GP process, we want to integrate bsp applications.
    pls see attachment
    1. simple gp process
    http://www.saphrfans.com/forum/files/step5_193.jpg
    2. all role assigned
    http://www.saphrfans.com/forum/files/step7_188.jpg
    3. failed to run
    http://www.saphrfans.com/forum/files/step9_error_285.jpg

    Hi rene,
    the error message is on the last screenshot.
    while trying to execute the process in runtime, i got the message:
    bsp callable object could not be executed
    it's quite a simple gp process with only one action item, and all the roles
    has been set to myself
    anything wrong here?
    jun

  • Re: Callable object for display

    Hi all,
    I would like to know how a can create a web dynpro component with GP interface so that i can set config (display mode or exceution mode) of CO in GP.
    after deploy the WDPro component , I had tried to create a CO in GP, but i can not set the configuration properties of the CO.(It is default to callable object for execution)
    And in the help of the NW Studio, it said some coding is needed.
    So could anyone give me some guide in doing so.
    Thanks In Advance
    David
    Edited by: David Tai on Jun 20, 2008 4:13 AM
    Edited by: David Tai on Jun 20, 2008 4:55 AM

    Thx for your reply first.
    However I had already have a look on this tutorial, no hints about how to work on CO that is for display.
    For example, in that tutorial when creating CO, there is a step for setting configuration initially, but after defining the input or output, that step disappear and the CO is automatically set as "callable object for execution"
    In GP, there is an example Time Off Process, in which at each action we can see a CO for execution and CO for display.
    So I would like to know how to implement it.
    Regards,
    David

  • Business logic callable object and Dynamic User assignment

    hi all,
    I have to design scenario using VC and GP
    using VC i designed a form that consist of some input parameters value,product..
    i integrated the designs created in VC to CO's
    My workflow should be like this
    now if the value<500
    it should go for approval to user1->user3
    if 500<value<1000  means it should go for approval to user1->user2->user3
    i tried this by using a businesslogic callable object
    the input ot this businesslogic CO is "value" parameter
    reult state
    continue BOOL(@value<500)
    break  Bool(500<@value<1000)
    process
    sequential block1
    Altenateblock block
                  Action
                result state:
                 continue->target->seqblock2
                 break->target->seqblock3
                 business logic CO
    seqblock2
                            Action1
                            Action3
    seqblock3
                              Action1
                              Action2
                              Action3
    i designed the workflow like this
    but the problem is that during runtime its directly jumping to seqblock3 with out asking the input value for business callable object
    and its not exiting from that block3.its going like infinite  loop(action1->action2->action3->action1->action2->Action3)
    pls suggest me the way to achieve this task
    Thanks
    kiran
    Edited by: kiran_mareedu on Aug 26, 2009 3:48 AM

    Hi,
    I have the similar issue.
    In my case it is taking too much time for completion.
    It is a background step so it should execute automatically.
    I have also checked Queue's for this.
    But could not understand why it is taking soo much time?
    Regards,
    Pratik

  • Problem in creating a callable object of type Business Logic

    Hi SDN,
    I am trying to create a callable object of type Business Logic in CE.
    When I give all information and click Next, I get this error message.
    Error while loading configuration dialog: Failed to create delegate for component com.sap.caf.eu.gp.ui.co.CExpConfig. (Hint: Is the corresponding DC deployed correctly? Does the DC contain the component?)
    Can anybody help me out with this problem.
    Regards,
    Sumangala

    Hi.
    I'm having the same problem as Senthil in NW2004s SP15 with my application service and methods not showing up in the Callable Object wizard for Composite Application Services after I choose the Endpoint.  The only application name that shows up in the wizard is caf.tc, and the only service names that show up for it are LDDataAccessor, Metadata, and PropPermissionService.
    My IDE is on one machine and the application server I deploy to is located on a different machine.  My endpoint to the remote application server looks to be correctly configured.  The Composite Application Service seems to be deployed properly as I'm able to see it and test that it works in the Web Services Navigator <http://remotehost:50000/wsnavigator/>
    My deployed application service is a remote enabled service and is also web services enabled as well.
    I'm not sure if this is relevant, but I noticed that the generated Java code does not create any remote EJB interfaces (only home and local interfaces were generated).
    Something else I noticed is that when I proceed to the External Service Configuration -> Business Entities screen <http://remotehost:50000/webdynpro/dispatcher/sap.com/cafUIconfiguration>, I only see three business entities displayed, and the following error message is displayed: "Corrupt metadata has been detected. This may prevent some objects from being displayed. Check the server log for more details."  I was unable to find anything in the instance log files.  Is the error message indicative of the problem?
    I am developing locally without a NetWeaver Development Infrastructure (NWDI) in place.
    I'm wondering if the credentials specified in the endpoint require any special roles or privileges.
    Senthil, do any of these additional descriptions apply to you as well?
    Edited by: Ric Leeds on Jun 20, 2008 4:37 PM

  • Getting error while creating callable object

    Hi,
    I've created and deployed a DC using webdynpro.
    Now I want to create a callable object from portal
    I'm choosing the following options Guided Procedurers-->DesignTime>Create callable object-->userinterface>webdynprocomponent(GP interface)
    On entering the required data on the displayed page, when I'm clicking 'next' option it is giving <b>"500 internal server error"</b>.
    Can somebody help how to resolve this.
    Thanks
    Piyush

    your callable object component is missing. try to take preview of the iview and check.

  • Webdynpro Development Component Callable Object Escalation

    Hi,
    In gp sequential block workflow  using webdynpro development component callable objects  When the initiator intiates a workflow ,it is assigned to the first approver.Now if the approver does not take any action within 2 days i want to escalate the task to the second approver.How can i do this escalation?
    There is a standard parameter call <b>due date</b>...in action.How can I set this value dynamically from my application..
    During escalation , the next approver has to be taken by executing an rfc in the background
    Please help....
    Thanks,
    Shamila

    Hi,
    You can define a CAF Core application service (implemented in the CAF Core layer) or a background CO (implemented by a J2EE class interface) which can call a RFC to get the next approver and return the next approver's user id as an output parameter. You can use dynamic user assignment in the next action (approval), by selecting the processor as "Filled From Context Parameter" (at the Roles tab in block level) and select the user id output parameter of the background CO/CAF app service CO.
    You can get more details on different types of CO at the CAF Tutorial Center @SDN
    Thanks,
    Dipankar

  • Create Callable object of Web Dynpro Component (GP interface) giving error

    Hi All,
    We are facing a strange error in Guided Procedure.
    While trying to create a new callable object of Web Dynpro Component (GP interface) after selecting the type and click on Next it is throwing below error.
    *javax.xml.stream.FactoryConfigurationError: Requested factory com.ctc.wstx.stax.WstxInputFactory cannot be located. Classloader =com.sap.engine.services.deploy.server.ApplicationLoader 3995fdb9 sap.com/cafeugpuidt
        at javax.xml.stream.FactoryLocator.loadFactory(FactoryLocator.java:120)
        at javax.xml.stream.FactoryLocator.locate(FactoryLocator.java:109)
        at javax.xml.stream.FactoryLocator.locate(FactoryLocator.java:54)
        at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:41)
        at org.apache.axiom.om.util.StAXUtils$7.run(StAXUtils.java:311)*
    Also while running the GP processses which are created in the past and working fine till few days back are also giving the same above error.
    Please help us in resolving the issue.
    Regards,
    Satish

    Hi Peter,
    Check this link.It may be helpful.
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/java/netweaver%252bdeveloper%252bstudio%252b(NWDS)
    Regards,
    Sumangala

  • Callable Object. Internal Server Error

    Hi,
    I'm trying to create callable object (WD Component - GP Interface).
    When i choose "Next" on Step1 i have an error:
    500   Internal Server Error
      SAP NetWeaver Application Server 7.00/Java AS 7.00
    java.lang.NullPointerException
    *     at com.sap.caf.eu.gp.co.impl.GPTechnicalDescription$TechnicalDesc.resolveText(GPTechnicalDescription.java:421)*
    *     at com.sap.caf.eu.gp.ui.co.config.wd.VSelect.selectApplication(VSelect.java:690)*
    *     at com.sap.caf.eu.gp.ui.co.config.wd.VSelect.onActionSelectApplication(VSelect.java:219)*
    *     at com.sap.caf.eu.gp.ui.co.config.wd.VSelect.onActionApplicationSelected(VSelect.java:294)*
    *     at com.sap.caf.eu.gp.ui.co.config.wd.VSelect.initializeCreate(VSelect.java:467)*
    *     at com.sap.caf.eu.gp.ui.co.config.wd.VSelect.onPlugFromDispatch(VSelect.java:203)*
    *     at com.sap.caf.eu.gp.ui.co.config.wd.wdp.InternalVSelect.wdInvokeEventHandler(InternalVSelect.java:250)*
    *     at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)*
    *     at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.navigate(ClientApplication.java:826)*
    *     at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.navigate(ClientComponent.java:881)*
    *     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doNavigation(WindowPhaseModel.java:498)*
    *     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:144)*
    *     at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)*
    *     at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)*
    *     at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)*
    *     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)*
    *     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)*
    *     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)*
    *     at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)*
    *     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)*
    *     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)*
    *     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)*
    *     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)*
    *     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)*
    *     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)*
    *     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)*
    *     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)*
    *     at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)*
    *     at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)*
    *     at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)*
    *     at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)*
    *     at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)*
    *     at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)*
    *     at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)*
    *     at java.security.AccessController.doPrivileged(Native Method)*
    *     at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)*
    *     at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)*
    Any ideas?
    Best Regards,
    Timur Semenchuk

    Hi Peter,
    Check this link.It may be helpful.
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/java/netweaver%252bdeveloper%252bstudio%252b(NWDS)
    Regards,
    Sumangala

  • Problem in Business Logic Callable Object execution

    Hi All,
    We are working on a workflow scenario where 2 approvals are present. Second approval is optional.
    Second approval is required or not is decided by a business logic callable object.
    This callable object is assigned (user role0 to initiator.
    Issue is, when first approval is completed, flow goes to business logic callable object. A UWL entry comes in initiators inbox. And from there, flow doesn't move forward. It simply shows message 'The next activity is not yet available: try again later using the "Refresh" button".
    I have tested this business logic callable object individually, and it works fine.
    But in process, it doesn't move further.
    What can be the solution to this?
    Thanks,
    Deepti

    Hi,
    I have the similar issue.
    In my case it is taking too much time for completion.
    It is a background step so it should execute automatically.
    I have also checked Queue's for this.
    But could not understand why it is taking soo much time?
    Regards,
    Pratik

  • Callable object for WD java

    Hi Experts,
    I am new to GP, and i need your help to design my GP.I am a web dynpro developer . I want very basic process to be implemented through GP as follows
    1) Employee gets a UI screen for filling some requisition form (in WD java) which wud hit R3
    2) Employee's supervisor can Approve / Reject requisition . (UI in WD JAVA)
    3) Employee should get a summary of whole process  (Again UI in WD JAVA).
    When i am creating calling object for above process and under UI category there are two different type of callable object for wd java
    1 ) Web dynpro component (GP interface)
    2)  Web dynpro application
    when i am creating ( Web dynpro application ) callable object , its giving me error , maybe some config problem .
    can anyone just guide me how to implement above process or give me some material through GP (WD java UI) and whats diff between two kinds of callable object.Thanks in advance.
    Regards,
    Abhay

    Hi Abhay,
    You can design your process by this way:
    1) Employee gets a UI screen for filling some requisition form (in WD java) which wud hit R3
    If you need to update R3 at this time, you can create a custom WD Java calling a RFC. To do that, you may use WD with GP API (https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50d74ada-0c01-0010-07a8-8c118d408e59 ) or you may call your RFC directly by External Service Callable Object (https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7c313ada-0c01-0010-dfba-9ac88b353a47). It depends of how you will design your process.
    IE:
    Custom WD Screen that will have input fields and will update R3 -> use GP API
    Standard input screen -> use Data Input Form and to update R3 use External Service CO
    2) Employee's supervisor can Approve / Reject requisition . (UI in WD JAVA)
    You can use Visual Approval standard Callable Object to do that. If you need to update R3 according with approval results, you can insert the External Service CO as next step according with result. To accomplish that you must set Result States.
    3) Employee should get a summary of whole process (Again UI in WD JAVA).
    Data Display Form standard Callable Object give you exactly what you want.
    Scenario 1: WD Custom UI that update R3 -> Visual Approval CO -> Data Display Form
    Scenario 2: Data Input Form -> Visual Approval CO -> External Service CO -> Data Display Form
    Reward points if itu2019s helpful.

  • Reusing the same web dynpro callable object

    I have created a web dynpro callable object and I want to reuse the same callable object in all the actions of that process.
    I am getting the current action ID in execute() method of interface controller in WDP callable object.Now I want to generate screens for different actions based on that actionID.
    for Ex if(actionID ="1")
    fireplug to second scrren.
    else
    to next screen
    But  I am not getting where to write this If eles condition to get different  scrrens at runtime according to the actionID.
    Can anyone please help me.

    hi ritu,
    to get the input and output parameter of the callable object in your view you do the following things.
    1.you create the context elements in interface controller.
    and assign the values of input parameters of the callable object, to the interface controllers context attribute value. using the following code.
    IGPStructure input = executionContext.getInputStructure();
    wdcontext.currentContextElement().set..urattribute name=input.getAttributeas..type of the attribut("specify your input parameter");
    2.then map the context elements of interface controller to component controller,and then component controller context to view context.
    Then we will get the input parameters of the callable object in view.
    If you want any further clarification on this please explain your scenario detailly.
    with regards
    shanto aloor

Maybe you are looking for