Webdynpro Application slowness

Hi everyone,
I am working in Netweaver 7.0
I have a webdynpro application which uses ARFC in order to execute a BAPI model object connected to the Action handler of a button.
The response, after the button is clicked for the firsttime , is taking a long time.
But once the response has been shown, the subsequent execution of the model object takes very less time.
Why is this difference?
Is there anything we can do to improve this ?
Share your ideas,
Thank you

Hi,
The following comments I will make is based on my experience.
As per your hyperlink, you would be right. Having "many" FM's per "Model" would be "best practice", but I think this takes into consideration only connection pooling.
In the real-world, this leads to inflated Models, barely re-usable, very 'costly' in Development Time, Build Time and Deployment Time. A fine tuning of JCO Connections is usually better than follow that (again, this is my opinion as a software developer).
Another thing you should be aware of is how the underlying layer works (JCO). If the Model has never been used (Not Cached!) it will take expensive time to build the metadata and modeldata into the destinations. As a 'work-around', (I've never did this, I'm not even sure if this would work) is to create a J2EE Application and 'read' the whole thing at server startup.
Also, be sure to be "caching" both destinations, this is a good 'performance' improvement.
Hope this information helps somehow,
Daniel

Similar Messages

  • To get login details of portal into webdynpro application

    Hi All,
             How to get the portal login details(user name) into my webdynpro application.
    Thank you,
    Harsha P.

    Hi,
    If you want to have portal login details from backend system (with ABAP) you should ask this question in some portal forum and ask if it is possible. This has nothing to do with workflow or UWL. Even if you get the portal user ID to the backend system, then what? Do you want to manipulate the portal roles etc. from your ABAP WD application? Then you will have even more complicated requirements to achieve with ABAP. It is not that straightforward to call different portal functionalities from backend system. You might need to do some "portal development". And eventually your ABAP WD application might come just an unnecessary wrapper component for calling some web services or whatever in portal.
    Regards,
    Karri

  • Needs a background webdynpro application running at the server side

    Hi All,
    We have a requirement wherein we need to have an application running all the time at the server side to capture the response coming from a web application. Based on the response that the application receives, it needs to update some backend R/3 tables.
    We are thinking of a webdynpro java application.
    Can anyone suggest what kind of application needs to be implemented here?
    And what  would be the steps required to run the application at the server side without calling the application.
    Thanks & Regards,
    Anurag

    Hi Robin,
    Thanks for the detailed explaination.
    This may sound silly to you but I've another doubt which is as follows:
    As you mentioned that the external web application will be sending requests to our Web service(in SOAP envelopes) and rest of the functionality can be  achieved by our web service.
    Actually, we are expecting only responses from the external web application. The thing is that we are sending the requests to the external web applications from our custom webdynpro application and in return the web application will be sending us 2 responses.
    First response would be back to our WD java application URL(to the browser in which WD java app is running) which would get the response and display some message based on the response.
    Second would be to this web service which you have just suggested. We are having two responses so that even if the browser in which the WD java application is running gets accidentally closed, the response from the external web application must get captured somewhere else and should not get lost in any case.
    So, now since we are only expecting the response from the web application and we do not want any requests from the web application to our web service; how is this possible?
    I am asking the above question because you have mentioned that the external web application has to request our Web service but we want is only this web service to capture the response coming from the Web application.
    Or is it like the web application will send us the response string as request string to our Web Service and the web service will capture these response parameters as request parameters from the web application and do the further processing.
    But in that case, we do not want any response to be sent by the Web Service to the external web application.
    Please suggest if this is possible.
    Once again, many thanks for the help so far.
    Thanks & Regards,
    Anurag

  • SSO b/w portal and webdynpro application customized login??

    Hi,
    I  have one webdynpro application which has a login screen (Created as Webdynpro view). If user enters user/passord, the same gets checked from a custom table in the db (Method for checking user credtentials has been written in view controller). if user credentials are correct it performs some actions defined in webdynpro application.
    I want to configure SSO b/w portal and this webdynpro application sothat when user logon to the portal and open this webdypro application, Login page of webdynpro application should not be shown i.e user credentials should be passed from portal and corresponding authentication method in webdynpro should be called to authenticate the user.
    How to do the same without touching webdypro application ?
    Can we call a method of webdynpro application from portal?
    Regards
    Deepak

    1) To enable ticket authentication for the web dynpro iviews, you must maintain the definition of the system running the Web Dynpro application and set logon method to "SAPLOG"
    2)Since you have customized login screen, you need to bypass this screen manually when you login from portal.
    Add parameter to the application while defining the iview.Give some constant value.
    Check value of this parameter in webdynpro and fire to next view.

  • How To Get GP Process Parameters in a Webdynpro Application runtime

    Hi ,
    Iu2019 ll hope you can help me to solve my problem with GP process.
    Iu2019 m trying to get GP process parameters from a Webdynpro application.
    I have to get parameters during the process runtime in every step of the process using
    a webdynpro application with the following code:
          IGPRuntimeManager rtm = GPProcessFactory.getRuntimeManager();
          try {
                IGPProcessInstance processInst = rtm.getProcessInstance(processId,userContext);
                IGPProcessInstanceInfo procInfo = rtm.getProcessInstanceInformation(processInst.getID(),
    userContext.getSAPUser());
                IGPStructureInfo inputstructInfo = processInst.getTemplate().getInputParameters();
                IGPStructure inputparams = GPStructureFactory.getStructure(inputstructInfo);
          } catch (GPEngineException e) {
                // TODO Auto-generated catch block
    //          e.printStackTrace();
                manager.reportException("GPEngineException:"+getStackTrace(e), false);
          } catch (GPInvocationException e) {
                // TODO Auto-generated catch block
    //          e.printStackTrace();
                manager.reportException("GPInvocationException:"+getStackTrace(e), false);
    But printing the values of attributes with u201Cinputparams.getAttributeAs... ("param name")u201C the value returned is always 0. On the contrary if I check the same parameters structure in the runtime
    GP view of the portal, the values are those that I have set in the start process wizard.
    Have you a solution for this question?
    Thanks in advance
    Luca

    hi Abhimanyu
    I believe originally access to session was deliberately not made available inside WDA.
    Growing security concerns due to misuse of session information and
    perhaps other reasons as well.
    X.509  is considered a better approach.
    This may not help you in your problem.
    But you may see a trend in WDA pushing more robust and client independent
    approaches.
    Full x.509 access should remove the need for session fiddling.
    Also when developers access such session info directly, there is a possiblity
    when they dont understand the technology exactly that they create a security hole.
    You may know how to do safely, it is however discouraged.
    Im not aware of a way to get at the session info inside the WDA framework.
    Well not without a mod to the framework.
    It may be possible without a mod, but I dont know the trick.
    If someone has a little trick... please post.
    You may need to use BSP, if your only solution requires access to the session info.
    regards
    Phil

  • Database connection in a WebDynpro Application - urgent

    Hi
    I am facing a problem with database connection. I am trying to develop a normal webdynpro application.
    I want to retrieve data from a table and show it.
    But my query is not giving the expected output. It is not even raising errors.
    Please give me an answer
    Thanks & regards
    Aparnna

    Connection con=null;
      Statement st=null;
      ResultSet rs=null;
    public void wdDoInit()
        //@@begin wdDoInit()
    try
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con = DriverManager.getConnection("jdbc:odbc:erdsn","root","enteg123");
      st=con.createStatement();
        catch(Exception e){
        //@@end
    public void onActiononClickLogin(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActiononClickLogin(ServerEvent)
         String desig=null;
    try{
    rs = st.executeQuery("select *  from Login where Empid like uid and Pword like pw");
        if(rs.next()){
               desig=rs.getString("Designation");
         wdComponentAPI.getComponent().getMessageManager().reportSuccess(desig);
        if(desig.equalsIgnoreCase("Employee")){
              wdThis.wdFirePlugEmpOutPlug();
         else
         wdComponentAPI.getComponent().getMessageManager().reportWarning("Invalid input!");
          }catch(Exception e){

  • Need help in developing a webdynpro application using UWL API

    Hi developers,
    Iam developing a new WebDynpro application for UWL using UWL API.the functionality is to dispaly the summary of UWL like number of unread items, total items.
    Iam getting the problem while deploying the application, iam getting warning while deployed the application.
    I have given all possible ways mentioned in the below forum link
    Re: Accessing PortalRuntime at runtime?
    The exact problem is coming at reference file.
    Please giude me how to move forward.
    1. Below is the error when given "tckmcbc.uwl~api" in the service entry
    deployed with warning :
    Finished with warnings: development
    Caught exception during application startup from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Error occurred while starting application local/UWLCountDemo and wait. Reason: Clusterwide exception: server ID 21763550:com.sap.engine.services.deploy.container.DeploymentException: Clusterwide exception: Failed to prepare application local/UWLCountDemo for startup. Reason=Clusterwide exception: Failed to start dependent service ''tckmcbc.uwl~api'' of application ''local/UWLCountDemo''. Status of dependent component: STATUS_MISSING. Hint: Is the component deployed correctly on the engine?
    2.Below is the error  when i gave PORTAL:sap.com/tckmcbc.uwl~api in the sharing refernce entry
    Finished with warnings: development
    Caught exception during application startup from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Error occurred while starting application local/UWLCountDemo and wait. Reason: Clusterwide exception: server ID 21763550:com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Application local/UWLCountDemo cannot be started. Reason: it has hard reference to resource tckmcbc.uwl~api with type application, which is not active on the server.
    Thanks in Advance
    Sekhar.
    Edited by: sekhar c on Mar 21, 2009 11:24 AM

    Please see Kenichi Unnai in his blog "How to use UWL API for NetWeaver BPM Tasks"
    How to use UWL API for NetWeaver BPM Tasks
    The .sca-file can be found on the sap service marketplace, afterwards you need to import the .sca-file, add the SC to your "MyComponents" and then you can select your necessary DC's.

  • Single Webdynpro Application with multiple JCO Connection ?

    Hi Experts,
    I have a strange requirement ......
    We have a Webdynpro Application which is connected to
    say (using JCO connection)
    client:- A
    now i want to connect the same Webdynpro application to
    Client:- B which is again in the same server as the client A.
    Please help me how to handle this.
    how it possible to connect a single Webdynpro application to two different clients using JCO Connection.
    Please help.
    Points would be rewarded to helpful answers.
    Regards,
    Sanjyoti.

    Hi experts
                        We have to use  wd application for both client at a same time e.g. as follow
    Client A -
    > Travel app--->Featches data from A for   employee hired in client A ,in same server as B
    Client B -
    > Travel app--->Featches data from B for   employee hired in client B , in same server as A
    we  are using same EP for both client but using diffrent roles for employees of both client.
    Please reply asap.

  • Storing the output of BAPI for further use in Webdynpro application

    Hi,
    In my webdynpro application, a BAPI_A is called multiple times from a backend.
    All the previous outputs of the BAPI_A need to be stored in the webdynpro application as they serve as a complete set of input parameters for BAPI_B at the end.
    Can anybody shed light on this temporary storage mechanism of the outputs of the BAPI_A.
    Regards
    Meesum

    Hi Meesum,
    Your BAPI structure
    BAPI_A
    --Output (0..n)
    Field1
    Field2
    Field3
    Field4
    Value node structure
    vnBAPI_A (0..n)
    --vnResult (0..n)
    vaField1
    vaField2
    vaField3
    vaField4
    1. Declare objVnBAPI_A (between begin and end)
    2. Initialize in the vnBAPI_A in the wdDoInit()
    3. After each execution of the BAPI (BAPI_A), create the vnResult and populate the fields of vnResult (from the BAPI_A --> output)
    4. Add the vnResult object to objVnBAPI_A
    Hope this should help you.
    Regards,
    Santhosh.C

  • Calling servlet in a webdynpro application

    Hi,
    I have created a servlet for Authentication , and i have to call this servlet in the webdynpro application(on accessing a link)
    Such that it will automatically take care if authentocation
    Servlet is residing in a Java application and the View is residing in WebDynpro application
    when i call the servlet i have to pass two parameters 1)URL and 2)Filename
    Could anyone please help me out in doing this?
    Thanks & Regards
    Swetha

    Hi Anagha,
    Thank you for the information, i would like share my vague idea on resolving this.....please let me know will it be a possible approach
    Here ew have two projects
    1)WebProject(War file)
    2)EarProject(where webproject is integrated
    Steps
    1)Get the EAR file
    2)Create a portal application
    3)Consume the EAR in the Portal application(by passing parameters)
    4)Create a WebDynpro DC
    5)Here call the portal Application( URL and URL parameters)
    6)Get the URL
    7)Finally we can call the servlet
    Will these steps help in solving this issue
    Thanks & Regards
    Swetha

  • Calling a Webdynpro Application in using WDURLGenerator.getApplicationURL

    Hi,
    I have to call a webdynpro application in an external window using the application name. Please note that no iViews are created out of the application which i am going to call.
    I have DC1 and DC2 and from the Comp Controlller of DC1 , i need to invoke the application in DC2.
    String depObjectName =wdComponentAPI.getDeployableObjectPart().getDeployableObjectName();
    WDDeployableObjectPart depObjectpart=WDDeployableObject.getDeployableObjectPart(depObjectName,"TestApp",WDDeployableObjectPartType.APPLICATION);
    String url = WDURLGenerator.getApplicationURL(depObjectpart) ;
    window = wdComponentAPI.getWindowManager().createNonModalExternalWindow(url,"Test View");
    window.show();
    Is this the correct API to get getDeployableObjectName which is in the different DC.
    Please let me know the correct API which i can use to get the getDeployableObjectName and the subsequently the Application which is availbale in the different DC.
    Thanks and Regards,
    Sekar

    Hi Chintan Virani,
    Thanks for your reply.
    Is it possible to get to know through the APis that the Webdynpro Application Deployed in the server is started.
    I hope some API's will be available.I need to open this application only when it is started.
    I tried this,
    IWDDeployableObject deplObj = WDDeployableObject.getDeployableObject("TestApp");
    if (  deplObj.getState() == WDDeployableObjectState.STARTED ) {
        // do something
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to create deployable object TestApp' since it is not a Web Dynpro object.    null
    Thanks and Regards,
    Sekar

  • WebDynpro Application for WinMobile 6.5

    Hi Experts,
    Can anybody tell if there is an official SAP statement that WebDynpro supports or not Windows Mobile 6.5 devices? I can not find anything about that in the PAM.
    WebDynpro supports the URL Parameter sap-wd-client=PieClient to render WebDynpro applications on mobile Devices (Pocket Internet Explorer in our case). Our application works fine on a 5.5/6.0/6.1 device but with view bugs on a 6.5 device (seems that using ParameterMapping on IWDButton and IWDLinkToAction is ignored).
    Regards
    Michael

    Hello Michael,
    Windows Mobile 6.5 device has to be certified and for this the customer vendors should contact SAP to get it certified.                                                                               
    So, new devices that come out with 6.1 and later versions shall be supported by SAP, provided the devices are certified. Certification will be on a "device-level".                                                                               
    So, all you have to do is to ask your device vendor to get the devices certified with SAP.                                                                               
    So, if a device vendor wants to get a device certified - then they can approach SAP. We shall do the testing and then certify that the device can run SAP NetWeaver Mobile client. So, it does not matter if the device OS is 6.0 or 6.1 or later. We shall certify the device, and then customers can run the application on the certified mobile device.
    I hope this helps you.
    Regards,
    Blanca

  • WebDynpro Application issue consuming asynchronous webservice from SAP PI

    Hello experts i ask you for help thie following issue:
    i am developing a webdynpro application which is supposed to
    send some data from inputfields, and a file, in order to achieve it, that dynpro application is consuming an asyncrhronous webservice , this service is running in SAP Process integration .it uses only a component.
    Iam having serious problems at mapping the asynchronous PI web service model -->to -->controller >and then to->view
    since when i deploy the application into the  SAP portal´s application server, it runs , but  inputfields cannot be written.i dont mean unabled, what i mean, is. cannot write anything on them.ECXEPT the file upload UI element.
    I have reviewed sap help page, 3 sappress books, about dynpro, and the procedure i am performind is agree with them.
    endpoint test answers the folloiwng:
    Message Servlet is in Status OK
    Status information:
    Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/xi/NW04S_20_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#1 $) bound to /MessageServlet
    Classname ModuleProcessor: null
    Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean
    Lookupname for remoteModuleProcessorLookupName: null
    ModuleProcessorClass not instantiated
    ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0
    ModuleProcessorRemote not instantiated
    what i did is the same as before(in another projects weh i used to import rfc models):
    1.- import webservice model,and add it to component
    2.-map web service model to controller context
    3.-map controller´s context to view context
    4.-create actions and methods
    5.-binding context controller to ui elements
    Dear experts, my questions are:
    What am i doing wrong?
    should i permorm another steps because the web service is in another application server (SAP PI)?
    Should i create a stand alone proxy and then access it from webdynpro?
    when i call the web service model excution it seems does not run, neverthless the invocation does not have any syntax error , what coul it be?
    Thanx in advance!!

    just for the sake of other who may hit this thread , the solution is to add sap-client=<clientno> in the url for wsdl

  • Webdynpro application history navigation

    Hi people,
    I have a question about webdynpro navigation. I know that der are many threads
    about this topic, but I think  I don't find an answer for my question:
    The scenario: I have a webdynpro application running in the enterprise portal.
    The application is linked with ONE IView in the portal (and running on a different
    application server). The application has about 20-30 webdynpro views, which are arranged
    in different viewsets.
    I need a navigation history (similar to the history in common web browsers like iexplorer)
    in my application. Because of the multiplicity of navigation possibilities within the
    application, it doesn't make sense to programm a static view navigation.
    My question: Is there a standard way in webdynpro to realize my needs? Can I use the
    PortalNavigation API, or is this API only for navigation between portal IViews? Can I
    use the Breadcrumb Navigation UI Element?
    I'm developing on a WAS 7.00 (Netweaver 2004s).
    Thanks in advance for your effort,
    regards,
    Thomas

    Hi,
       You can use PortalNavigation. Take a look at the <i>historyMode</i> parameter of the <i>navigateAbsolute()</i> method. Find the documentation <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/56/b4544251dcc153e10000000a1550b0/frameset.htm">here</a>.
    Regards,
    Satyajit.

  • Webdynpro application running error

    Hi
    i am trying to run my webdynpro application, i got an error in webpage like .....
    Error when processing your request
    What has happened?
    The URL http://secp:8000/sap/bc/webdynpro/sap/wdr_test_application_api was not called due to an error.
    Note
     The following error text was processed in the system EC6 : Die URL enthält keine vollständige Domainangabe (secp statt secp.).
     The error occurred on the application server secp_EC6_00 and in the work process 0 .
     The termination type was: RABAX_STATE
     The ABAP call stack was:
    Method: CHECK of program CX_FQDN=======================CP
    Method: LATE_CONSTRUCTOR of program CL_WDR_UCF====================CP
    Method: HANDLE_REQUEST of program CL_WDR_UCF====================CP
    Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP
    Method: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    What can I do?
     If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system EC6 in transaction ST22.
     If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server secp_EC6_00 in transaction SM21.
     If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 0 in transaction ST11 on the application server secp_EC6_00 . In some situations, you may also need to analyze the trace files of other work processes.
     If you do not yet have a user ID, contact your system administrator.
    Error code: ICF-IE-http -c: 001 -u: SAPUSER -l: E -s: EC6 -i: secp_EC6_00 -w: 0 -d: 20080812 -t: 161055 -v: RABAX_STATE -e: UNCAUGHT_EXCEPTION
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team
    help me how to solve this ........
    Regards
    Karuna

    No Cross Posting!
    Read the "Rules of Engagement"
    Regards
    Juan

Maybe you are looking for