Reusability of web dynpro callable object

Hi,
I want to use same webdynpro callable object inside another callable object including some extra input and output parameter.
So that I dont have to write the same code again in another callable object.
is it possible?

Hi Ritu ,
           Yes ofcourse we can use the same Callable object in another CO.
I dont think below mentioned is the better way to do .
while setting the input parameters and output parameters in the description method and execute method use if condition based on the status.
follow the same procedure in the description and execute method.
if (Status =="some value"){
set the Extra input parameters.
//below dont use else
normal input  parameters for the callable object.
in the same way do it for the output parameters.
Note :here status can be anything.
for eg :
an employee open a leave form , here the status will be new.
when the employee submits the form to the higher authority, the status is "Submitted to higher Authority".
so the above scenario both the higher Authority can use same callable object. the difference is the higher authority CO have some additional fields such as "Remarks".
here based on the status we can use the same callable object.

Similar Messages

  • Error testing Web Dynpro Callable Object (GP Interface)

    With reference to thread:
    Interactive form as  Callable object error on testing the object.
    FYI, I'm running NW04s, EP 7.0 SPS 13, JDK 1.4.2_14, Unix OS
    Hi All,
    I have created a Web Dynpro App with a Adobe Form as the frontend. I have included the caf/eu/gp/api as a DC and implemented the IGPWebDynproCO interface. Next I created a Web Dynpro Callable object in GP and ran a test and received the following error:
    Result: Technical Exception
    Details: Could not create web dynpro callable object component
    Output Parameters
    Callable object implementation did not return  output parameters
    Can anyone help me resolve this? Do I have to make a manual entry in the HOST file? If so, what is that entry? Are there alternatives?
    Thanks
    Kunal.

    Hi,
    For creating WD callable object you need to add following three DC in your WD DC project.
    In the Web Dynpro Explorer of the Web Dynpro Perspective, expand the node DC MetaData -> DC Definition, and select Used DCs.
    a.      To create a DC dependency, open the context menu and choose Add Used DC.
      b.      Select Local Development  -> SAP-EU  -> caf/eu/gp/api/wd  -> DC MetaData  -> Public Parts  -> GPWebDynproCO. For Dependency Type, select Build Time, Design Time, and Run Time. Choose weak from the dropdown list.
      c.      Repeat the previous step to define a dependency to DCs SAP-EU-> caf/eu/gp/api (public part external) and SAP-JEE -> com.sap.security.api.sda (public part default).
    You need to do one more thing like bellow.
    Select your Web Dynpro project and open its context menu. Choose Properties.
    1. Choose Web Dynpro References -> Library References.
    2.  Add a reference for library caf/eu/gp/api.
    I think this will help you.
    Thanks
    Chandan

  • Web Dynpro Callable Object : use of RFCs

    Hi All,
    I've to create a callable object using Web dynpro.
    In this web dynpro to display a table data populated by calling RFC and we need to select one row of the table and sent it as output parameter.
    My question is how we gonna set the getDescription Method in this case for creating the Callable Object?
    How we define the execute Method in the Interface Controller.
    Where I should bind the Model to Controller (Component Controller / Interface Controller)
    Can someone explain how we gonna use RFC in Web dynpro while calling it as Callable Object.
    Thanks
    Srikant

    Hi,
    You need to have the SCs for local development of Web Dynpro callable object.
    Refer the following documents for more details:
    <a href="/people/andre.truong/blog/2006/06/26/working-with-the-apis-of-caf-guided-procedures-nwdi-or-local-development with the APIs of CAF Guided Procedures: NWDI or Local Development?</a>
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f7be53bb-0b01-0010-1c96-be3cb6799c1b">How to Get NW04s SP7 Guided Procedure APIs for Local Development</a>
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e3f07a7a-0601-0010-ebbd-b9cfb445b814">Implementing a Web Dynpro Callable Object</a>
    Let me know if this solves your issue.
    Thanks,
    Dipankar

  • Life cycle of a web dynpro callable object

    What is the life cycle of a web dynpro callable object.
    Means when that Web dynpro callble object is used in a GP process which method of that component called first and what is the sequence of the method execution in that.
    Can anyone please explain me.

    Sorry ritu there was one mistake in the above two replies.
    The actual execution of the methods when a callable objects is get executed is as following
    1.component controller's  init() method
    2. interface's  init() method
    3.view's  init() method.
    4.interface's execute() method
    5.view's wDoModifyView() method.
    If you want to change anything on your view according to the change in the interfac's execute method.
    Then you have to do that coding in view's wDoModifyView() method.
    with regards
    shanto aloor.

  • Date type attribute in web dynpro callable object

    Hi all,
    I am creating a callable object with date type attribute as input parameter in a web dynpro callable object.
    date type I have used is java.sql.date.
    But when I am exposing that callable object in GP its giving an error:
    Technical Exception:
    Web dynpro Component cannot be created.
    And when i am changing date type as java.util.date then I am not able to asssign that date attribute in my view layout.
    Can anyone plese help me.

    Hi Ritu ,
               u have to convert the util date to sql date in the execute method .
    do it as showm below in Execute method in the component Controller :
    let the Attribute be planEndDate in the Context:
    public void execute( com.sap.caf.eu.gp.co.api.IGPExecutionContext executionContext )  {
    java.util.Date planEndDate = null;
    planEndDate = (java.util.Date) inputStructure.getAttributeAsDate(IContextElement.PLAN_ENDDATE);
    java.sql.Date sqlDate = new java.sql.Date(planEndDate.getTime());
                        wdContext.currentContextElement().setPlanEnddate(sqlDate);
    Thanks and Regards

  • "Unable to create web dynpro callable object implementation" - GP error

    Good day.
    I've created a GP process and transported it to the test system. But when I try to start the process I get an error on the screen: Error while processing the item; it cannot be displayed. When I look to the logs I can see the following exception:
    Unable to create web dynpro callable object implementation.
    java.lang.Exception
    at com.sap.caf.eu.gp.ui.co.exec.wd.COExecWD.execute(COExecWD.java:294)
    at com.sap.caf.eu.gp.ui.co.exec.wd.wdp.InternalCOExecWD.execute(InternalCOExecWD.java:171)
    at com.sap.caf.eu.gp.ui.co.exec.wd.COExecWDInterface.execute(COExecWDInterface.java:122)
    at com.sap.caf.eu.gp.ui.co.exec.wd.wdp.InternalCOExecWDInterface.execute(InternalCOExecWDInterface.java:134)
    at com.sap.caf.eu.gp.ui.co.exec.wd.wdp.InternalCOExecWDInterface$External.execute(InternalCOExecWDInterface.java:249)
    at com.sap.caf.eu.gp.ui.act.container.VContainer.onPlugFromDispatcher(VContainer.java:391)
    at com.sap.caf.eu.gp.ui.act.container.wdp.InternalVContainer.wdInvokeEventHandler(InternalVContainer.java:167)
    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.doApplicationProcessingPortal(ClientSession.java:733)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:668)
    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.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
    at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:860)
    at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:220)
    at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1289)
    at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:356)
    at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:549)
    at com.sap.portal.pb.PageBuilder.wdDoApplicationStateChange(PageBuilder.java:303)
    at com.sap.portal.pb.wdp.InternalPageBuilder.wdDoApplicationStateChange(InternalPageBuilder.java:197)
    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:324)
    at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doApplicationStateChange(DelegatingComponent.java:139)
    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doApplicationStateChange(ClientComponent.java:667)
    at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doApplicationStateChange(ClientApplication.java:537)
    at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:120)
    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:104)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)
    It doesn't make any sense to me... I would appreciate for any help.

    Hello
    We are facing exact similar issue when we checked the logs.
    Could you help us as we are new to GP.
    What steps you followed to resolve this error.
    Regards
    aparna

  • 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

  • Web Dynpro callable object without NWDI

    Hello Forum,
    does anybody know if it is possible to create a web dynpro dc as a callable object without using nwdi? I have written a webdynpro app know I want to use it in a guided procedure where I can provide an input field for the dc and also get an output field from the dc.
    Does somebody have a step by step solution?
    Regards
    Michael

    Hi,
    You need to have the SCs for local development of Web Dynpro callable object.
    Refer the following documents for more details:
    <a href="/people/andre.truong/blog/2006/06/26/working-with-the-apis-of-caf-guided-procedures-nwdi-or-local-development with the APIs of CAF Guided Procedures: NWDI or Local Development?</a>
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f7be53bb-0b01-0010-1c96-be3cb6799c1b">How to Get NW04s SP7 Guided Procedure APIs for Local Development</a>
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e3f07a7a-0601-0010-ebbd-b9cfb445b814">Implementing a Web Dynpro Callable Object</a>
    Let me know if this solves your issue.
    Thanks,
    Dipankar

  • MessageArea UI element usage in a Web Dynpro Callable Object

    Hi,
    I have to use a MessageArea UI element in a view of a web Dynpro callable object,
    but when the callable object is showed, this message Area is always empty.
    what is the problem?
    Can anyone help me?
    Regards
    Luca

    Your callable object do have a webdynpro view with a message area as well?
    From my understanding when there is 2 view display at once, only 1 message area is required, if both view are having message area, the message will not display.
    I found this senario when integrate my webdynpro component with the FPM framework. When my view is having message area, the message derive from message manager will not show at all. However once I remove the messae area the message shows in the FPM application area (example employee search)
    What I did is to remove the message area UI element in my view when it hits certain condition.
    IWDTransparentContainer rootContainer= (IWDTransparentContainer)view.getElement("RootUIElementContainer");
              if(your condition)
                   rootContainer.removeChild("MessageArea");
    Edited by: V. Kong on Nov 7, 2008 1:43 PM

  • Web Dynpro Callable Object :"Cannot read callable object description "

    Hi All,
    I'm getting the following error:
    "Cannot read callable object description from component"
    and also "Cannot read callable object description from component" in two different Web Dynpros.
    The code in the Web Dynpros is similar:
    try
             IWDTextAccessor textAccessor = wdComponentAPI.getTextAccessor();
             WebDynproResourceAccessor resourceAccessor = new WebDynproResourceAccessor(textAccessor);
             //ITechnicalDescription techDesc = TechnicalDescriptionFactory.newTechnicalDescription("FRESH_PARAMS","Fresh_Parameters To Be Called",resourceAccessor,locale);
              ITechnicalDescription techDesc = TechnicalDescriptionFactory.newTechnicalDescription("FRESH_PARAMS","Fresh",resourceAccessor,locale);
             //Pre-Existing Structure for Input
             IStructureInfo input = techDesc.getInputStructureInfo();
             IAttributeInfo firstName = input.addAttribute("firstName",IAttributeInfo.BASE_STRING);
              IAttributeInfo lastName = input.addAttribute("lastName",IAttributeInfo.BASE_STRING);
              IAttributeInfo phoneNum = input.addAttribute("phoneNum",IAttributeInfo.BASE_STRING);
              IAttributeInfo Place = input.addAttribute("Place",IAttributeInfo.BASE_STRING);
              IAttributeInfo Email = input.addAttribute("Email",IAttributeInfo.BASE_STRING);
              IAttributeInfo Company = input.addAttribute("Company",IAttributeInfo.BASE_STRING);
              //Setting multiplicity
              firstName.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              lastName.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              phoneNum.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              Place.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              Email.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              Company.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              //Pre-Existing Structure for Output
              IStructureInfo output = techDesc.getOutputStructureInfo();
              IStructureInfo userStruct1 = output.addStructure("userStruct1");
              userStruct1.addAttribute("firstName",IAttributeInfo.BASE_STRING);
              userStruct1.addAttribute("lastName",IAttributeInfo.BASE_STRING);
              IStructureInfo userStruct2 = output.addStructure("userStruct2");
              userStruct2.addAttribute("phoneNum",IAttributeInfo.BASE_STRING);
              userStruct2.addAttribute("Place",IAttributeInfo.BASE_STRING);
              userStruct2.addAttribute("Email",IAttributeInfo.BASE_STRING);
              userStruct2.addAttribute("Company",IAttributeInfo.BASE_STRING);
              return techDesc;
        catch (InvocationException ex)
             ex.printStackTrace();
             return null;
    Can someone tell me where I'm going wrong.
    Thanks
    Srikant

    Hi Zornista Yankulova
    I'm getting  this error:
    " Cannot read callable object description from component: Failed to create delegate for custom controller com.infosys.creator.wdpco.COGetDocTypeInterface. (Hint: Is the corresponding DC deployed correctly? Does the DC contain the component?)"
    Where the places i can go wrong??
    Please let me know.
    My code is like this?
    public com.sap.caf.eu.gp.co.api.ITechnicalDescription getDescription( java.util.Locale locale )
        //@@begin getDescription()
        try
             IWDTextAccessor textAccessor = wdComponentAPI.getTextAccessor();
             WebDynproResourceAccessor resourceAccessor = new WebDynproResourceAccessor(textAccessor);
             //ITechnicalDescription techDesc = TechnicalDescriptionFactory.newTechnicalDescription("FRESH_PARAMS","Fresh_Parameters To Be Called",resourceAccessor,locale);
              ITechnicalDescription techDesc = TechnicalDescriptionFactory.newTechnicalDescription("FRESH_PARAMS","Fresh",resourceAccessor,locale);
             //Pre-Existing Structure for Input
             IStructureInfo input = techDesc.getInputStructureInfo();
             IAttributeInfo firstName = input.addAttribute("firstName",IAttributeInfo.BASE_STRING);
              IAttributeInfo lastName = input.addAttribute("lastName",IAttributeInfo.BASE_STRING);
              IAttributeInfo phoneNum = input.addAttribute("phoneNum",IAttributeInfo.BASE_STRING);
              IAttributeInfo Place = input.addAttribute("Place",IAttributeInfo.BASE_STRING);
              IAttributeInfo Email = input.addAttribute("Email",IAttributeInfo.BASE_STRING);
              IAttributeInfo Company = input.addAttribute("Company",IAttributeInfo.BASE_STRING);
              //Setting multiplicity
              firstName.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              lastName.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              phoneNum.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              Place.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              Email.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              Company.setMultiplicity(IAttributeInfo.MULITIPLICITY_1_1);
              //Pre-Existing Structure for Output
              IStructureInfo output = techDesc.getOutputStructureInfo();
              IStructureInfo userStruct1 = output.addStructure("userStruct1");
              userStruct1.addAttribute("firstName",IAttributeInfo.BASE_STRING);
              userStruct1.addAttribute("lastName",IAttributeInfo.BASE_STRING);
              IStructureInfo userStruct2 = output.addStructure("userStruct2");
              userStruct2.addAttribute("phoneNum",IAttributeInfo.BASE_STRING);
              userStruct2.addAttribute("Place",IAttributeInfo.BASE_STRING);
              userStruct2.addAttribute("Email",IAttributeInfo.BASE_STRING);
              userStruct2.addAttribute("Company",IAttributeInfo.BASE_STRING);
              return techDesc;
        catch (InvocationException ex)
             ex.printStackTrace();
             return null;
        //@@end
      //@@begin javadoc:execute()
      /** Declared method. */
      //@@end
      public void execute( com.sap.caf.eu.gp.co.api.IExecutionContext executionContext )
        //@@begin execute()
        try
              IWDTextAccessor textAccessor = wdComponentAPI.getTextAccessor();
              WebDynproResourceAccessor resourceAccessor = new WebDynproResourceAccessor(textAccessor);
              this.executionContext = executionContext;
              //Input
              IStructure input = executionContext.getInputStructure();
              String firstName = (String)input.getAttribute("firstName");
              String lastName = (String)input.getAttribute("lastName");
              String phoneNum = (String)input.getAttribute("phoneNum");
              String Email= (String)input.getAttribute("Email");
              String Place = (String)input.getAttribute("Place");
              String Company = (String)input.getAttribute("Company");
              wdContext.nodeInput().currentInputElement().setFirstName(firstName);
              wdContext.nodeInput().currentInputElement().setLastName(lastName);
              wdContext.nodeInput().currentInputElement().setPhoneNum(phoneNum);
              wdContext.nodeInput().currentInputElement().setEmail(Email);
              wdContext.nodeInput().currentInputElement().setPlace(Place);
              wdContext.nodeInput().currentInputElement().setCompany(Company);
              //Output
              IStructure output = executionContext.getOutputStructure();
              String f = wdContext.nodeInput().currentInputElement().getFirstName();
              String l = wdContext.nodeInput().currentInputElement().getLastName();
              String pn = wdContext.nodeInput().currentInputElement().getPhoneNum();
              String e = wdContext.nodeInput().currentInputElement().getEmail();
              String p = wdContext.nodeInput().currentInputElement().getPlace();
              String c = wdContext.nodeInput().currentInputElement().getCompany();
              output.setAttributeValue("firstName",f);
              output.setAttributeValue("lastName",l);
              output.setAttributeValue("phoneNum",pn);
              output.setAttributeValue("Email",e);
              output.setAttributeValue("Place",p);
              output.setAttributeValue("Company",c);
        catch(Exception ex)
             ex.printStackTrace();
        //@@end
      //@@begin javadoc:complete()
      /** Declared method. */
      //@@end
      public void complete( )
        //@@begin complete()
        try
              IWDTextAccessor textAccessor = wdComponentAPI.getTextAccessor();
                        WebDynproResourceAccessor resourceAccessor = new WebDynproResourceAccessor(textAccessor);
              IStructure output = executionContext.getOutputStructure();
              IStructure user1 = output.addStructure("userStruct1");
              IStructure user2 = output.addStructure("userStruct2");
              String f = wdContext.nodeInput().currentInputElement().getFirstName();
                        String l = wdContext.nodeInput().currentInputElement().getLastName();
                        String pn = wdContext.nodeInput().currentInputElement().getPhoneNum();
                        String e = wdContext.nodeInput().currentInputElement().getEmail();
                        String p = wdContext.nodeInput().currentInputElement().getPlace();
                        String c = wdContext.nodeInput().currentInputElement().getCompany();
              user1.setAttributeValue("firstName",f);
              user1.setAttributeValue("lastName",l);
              user2.setAttributeValue("phoneNum",pn);
              user2.setAttributeValue("Email",e);
              user2.setAttributeValue("Place",p);
              user2.setAttributeValue("Company",c);
              executionContext.addResultState("Success");
              executionContext.processingComplete();
        catch(InvocationException e)
             e.printStackTrace();
        catch(EngineException ex)
             ex.printStackTrace();
        //@@end
       * The following code section can be used for any Java code that is
       * not to be visible to other controllers/views or that contains constructs
       * currently not supported directly by Web Dynpro (such as inner classes or
       * member variables etc.). </p>
       * Note: The content of this section is in no way managed/controlled
       * by the Web Dynpro Designtime or the Web Dynpro Runtime.
      //@@begin others
      private IExecutionContext executionContext;
      //@@end
    Thanks
    Srikant

  • Web DynPro - HttpServletResponse object equivalent

    All,
    I was just wondering what is the equivalent of HTTPServletResponse object in Web DynPro.
    Any ideas...........
    Thanks in Advance
    JJ

    Hi JJ,
    first, welcome on the SDN forum!
    About your question:
    There is no direct equivalent. Be aware that the WD rendering is up to the WD runtime, and the client can, but does not have to be a web browser. So presenting WD within a browser is only one possibility (even the one most time used), and for that the response object in general is encapsulated.
    Anyhow, you have the possibility to reach the underlying HTTP objects, see for example Session in WebDynPro or Portal request object. or Portal Session Object in WebDynpro
    Hope it helps
    Detlev
    PS: Please consider rewarding points for helpful answers on SDN. Thanks in advance!

  • Problem in Web service callable object!!

    Hi,
    I have created a function module in R/3, and made it RFC enabled.Now i am trying to use this webservice in creating CO for web service.Now when i test it, i am getting this error:
    Web service method http://<hostname>.<fully qualified domain name>.com:8001/sap/bc/soap/wsdl11?services=ZADDITION&sap-client=400&sap-user=<user ID>&sap-password=<Password>
    invocation failed: Invalid Response Code: (401) Unauthorized. The requested URL was:"http://<hostname>.<fully qualified domainname>.com:8001/sap/bc/soap/rfc"; nested exception is:
    com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (401) Unauthorized. The requested URL was:"http://<hostname>.<fully qualified domain name>.com:8001/sap/bc/soap/rfc"
    What can be the reason??
    any help will be highly apprecaiated!!
    Thanks & Regards
    Ameya

    Hi,
    Yes i am getting error Could not find logical destination interfaces, check the <b>WSIL URL</b> inserted in visual admin.
    Look.,
    1)my function module name is ZADDITION,(RFC enabled)
    2)IN transaction  WSADMIN, i got the URL as
    default_host/sap/bc/srt/rfc/sap/ZADDITION
    in visual Admin i put this url
    http://<host><fully qualified domain name>:8001/sap/bc/srt/rfc/sap/ZADDITION?sap-client=800&wsdl=1.1,
    please tell me this host name is R/3 server or the portal server?
    IN visual admin i put the above stated url,inserted SID,client,language, Basic Authentication,given UIDPW,
    Then in Design time i was able to fine Logical destination name : Exposing,
    then i clicked on search. but nothing happened
    What can be the problem..is there any problem in my url??
    please guide me, i think we have almost solved this..You have helpd me a lot..
    Regards,
    Ameya

  • Starting Process by Using Web Service callable object

    HI,
         I have created Web service CO for starting a predefined process (let call it Process2).
    I am using this Web Service CO in another process i.e. Process1 (Main Process).
    When execution of Process1 reaches to action where Web service CO is Attached. It's Initiating the Process2.
    My Problem Is Process2 is initiated by some "Guest" User instead of processor of that action.
    Plz help ASAP.

    NO answers, so closing this thread

  • Web Dynpro as Callable object in GP using PDF Forms

    Hi All,
    I somehow want to integrate a user filling out a pdf form within a Guided Procedure. So far I have created a local web dynpro DC and I want to make it a Web Dynpro Callable Object (GP Interface). The problem is, I want the user to be able to see the PDF form when filling out the form. For example, if they had a role in the portal where they can invoke the Web Dynpro application with the pdf form, then when they click submit on the pdf they invoke the guided procedure...is this possible? This is so, I can use the web dynpro to do some data validation and call some bapis to get info, then submit this all to the GP. Is this achievable? I know how to do most things, I just want to know things like when is the "execute" and "getDescription" methods called? I want my execute( com.sap.caf.eu.gp.co.api.IGPExecutionContext executionContext ) method to call a bapi also. Is that possible? How do I automate a GP process when I click submit on the pdf form?
    Thanks in advanced
    TM

    Hi,
    You can integrate a PDF control in a Web Dynpro view. Refer the following links for that:
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/dc/f1783fe3263042e10000000a114084/frameset.htm">Example of the Use of an Interactive PDF Form (SAP Library - Web Dynpro for Java)</a>
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/60/6fc10c6748479392101e09c9e8d33a/frameset.htm">Interactive Forms in Web Dynpro for Java</a>
    Also you can create Web Dynpro Java callable object in GP by implementing the IGPWebDynproCO interface. Refer the following links for that:
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50d74ada-0c01-0010-07a8-8c118d408e59">Implementing a Web Dynpro Callable Object which Implements the GP Interface</a>
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e3f07a7a-0601-0010-ebbd-b9cfb445b814">Implementing a Web Dynpro Callable Object</a>
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/fd/afb4429027da11e10000000a155106/frameset.htm">Implementing a Web Dynpro Component</a>
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/de/8976417f2d5558e10000000a1550b0/frameset.htm">Implementing and Exposing a Web Dynpro as a Callable Object</a>
    You can start a GP process using the public API:
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/43/fcdf77fc6510b3e10000000a11466f/frameset.htm">Starting and Terminating Processes Using the GP API (SAP Library - Creating Composite Applications)</a><a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5f27e290-0201-0010-ff82-c21557572da1">Creating Interactive Forms in Web Dynpro for Java</a>
    Also you can start a GP process using Web Service:
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/44/44c59fd7c72e84e10000000a155369/frameset.htm">Starting a Process Using Web Services (SAP Library - Creating Composite Applications)</a>
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/93/27dc108cfc407fbf6c726151840001/frameset.htm">Starting and Terminating Processes Within a Composite</a>
    Refering the above links you'll get a fairly good idea how to integrate Adobe forms in WDP and how to start GP process programitically. My suggestion for your requirement would be if always you need to start the process after the user submits the Adobe form, then consider having the Adobe form as the first step for the process. In that case you don't need to start the process programitically. Whenever the user starts filling up the Adobe form the GP process will start. You can refer <a href="/people/dipankar.saha3/blog/2007/03/02/how-to-present-your-gp-processes-to-the-end-user">this blog</a> on how to start a GP process as an iview link in portal.
    Otherwise if based on certain conditions you need to start the process then you can either use the Java API or the web service to start the process from Web Dynpro. You should have the Adobe form embedded in Web Dynpro and on submit event you can check the conditions and start the process if required.
    Thanks,
    Dipankar

  • Web Dynpro application callable object error: Page Builder Not available

    Hi, SDN Fellow.
    I created a callable object of Web Dynpro application. The callable object is atatched to an Action, and Action --> Block, and Block --> Process.
    I initiate the process in GP Runtime, when it comes to the Action screen the Web Dynpro application atatched to, I got the following error:
    The page builder required to display this application UI inside the portal environment is not available.
    As aa comparison, another callable object that atatched to a Web Dynpro component (that implement GP interface) is working fine.
    Please advise.
    Thanks in advance,
    KC

    Hi KC,
    When you start your process from GP Runtime, does the actual action/callable object open in a new window?
    Have a look at this SAP Note:
    [Error when executing a GP task - Page builder|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes/sdn_oss_bc_gp/~form/handler%7b5f4150503d3030323030363832353030303030303031393732265f4556454e543d444953504c4159265f4e4e554d3d393831353137%7d]
    Although the error message you are getting is different, but if your callable object opens in a new window, then the problem (in most probability) is the same as mentioned in the SAP Note.
    Also, try testing the Web Dynpro callable object in standalone mode. For more information on this, see:
    [Testing Callable Objects|http://help.sap.com/saphelp_nw04s/helpdata/en/4c/588041a17e060de10000000a1550b0/frameset.htm]
    Bye
    Ankur

Maybe you are looking for

  • External HDD not recognized

    I have a 1tb external hdd that i can't seem to find, on my desktop, in finder, in disk utilities or even the system profiler. it's got my 20gb itunes library and about 150 gigs worth of movies on it so i'd like to try to get it working again, without

  • Patch Oracle 9.2.0.6 on linux with Jan 2006 CPU - inventory not updated

    Hi, We have tried to apply the Jan 2006 CPU (4751921) patch to Oracle 9.2.0.6 running on linux (redhat AS 4). The Apply log reports: Patch 4751921 has been applied successfully. ... but then when trying to Update inventory it reports: INVENTORY PROBL

  • 11i FSG Reports - Non recognition of reversal when displaying entered cur

    Hi, I created an FSG report in which i was able to get 3 columns, the first one stands for GL Balances in LKR (Functional currency) and the next two columns stands for USD and GBP (Entered Currency) To get the two columns in entered currency i create

  • Firefox 7.0.1 crashes every time I log in to Medicare site. Other browsers work fine.

    When I go to the medicare login page and enter my username and password, Firefox closes leaving a send crash information message (which I have done). This site functions normally on Google Chrome, Opera, Safari and Internet Explorer.

  • How to uninstall greasemonkey from firefox (mac)?

    Today i have installed greasemonkey because my friend told me it was a good complement for firefox, but now ads appears on every page I go to and I want to delete it but there is not any delete or uninstall option. If someone could help me and write