Clearing Context in Web Dynpro applications

Hi All,
I am using a view that is called from multiple places based on different criteria. This view has a table that is fed from the custom controller. Some of the context data for this custom controller are being set from the other views.  I need to clear the resultset of the custom controller and retain the input data from the other views. Is there any simple way of clearing data in the context node?  I tried invalidating the node, context but nothing seems to work. Any suggestion what I might be doing wrong?
Thanks and regards,
Hemanth

hi Hemanth,
Where are u trying to invalidate the node. What is the exact scenario.If u want the custom controller to be updated in different views... u can say
    wdThis.wdGet<contr name>Controller().wdGetContext().node<name>().invalidate();
in the init of the view where the value of the custom controller is updated.
Is the problem with invalidate or with the updation in values.Invalidate will always work if u set the lead selection properly.
If u cud elobarate more on the problem someone could really help u out...
Regards
Bharathwaj

Similar Messages

  • How to get Portal User Context  in Web Dynpro application

    I have successfully integrate a web dynpro app into SAP Netweaver Portal.
    Within my web dynpro app, how can I get portal user context information such as first name, last name, job title or some newly created ume attibutes.
    Is there any programmatical approach to get portal user context in my web dynpro. I not sure whether I can use the following codes in web dynpro?
    IUserContext userContext = request.getUser();
    String firstName = userContext.getFirstName();
    String lastName = userContext.getLastName();
    If yes, can someone point me the name of the jar file I have to import.
    Note : The SAP Netweaver installation that runs my web dynpro app is same with the SAP Portal.

    Hi ,
    you can use the below code to get User details and  add com.sap.security_2.0.0 > lib > com.sap.security.api.jar
    try
              IWDClientUser clientUser = WDClientUser.getCurrentUser();
    String firstName = clientUser.getFirstName();
    String lastname = clientUser.getLastName();
    catch (WDUMException e) {
                wdComponentAPI.getMessageManager().reportException("Error Retrieving User"+e.toString(),true);
    Regards,
    Sunitha Hari

  • Clear context in Web Dynpro

    Hi,
    I have created a table based on search crieteria.
    The scenario is first time e.g user has given some selection, it will return 5 records. These 5 records will be displayed in the table.
    Now, if user enter some selection, which does not return any record, in that case i'm displaying the error message.
    For displaying the message, i'm using get_element_count method, if it's > 0, then it displays the table else display the error message. But the problem is even in second time, if there is no record return, get_element_count mehtod return 5 records of the first search.
    How to clear the context, or how to proceed. I can change my condition for a temp solution, but pls let me know what is the best way to do this.
    Thanks,

    HI,
    remove context function removes all the contexts and gives the value under main nide.
    where are change context we can explicitly specify under which context should the value should be...
    Your problem will solve here
    Context Handling and User defined Functions
    http://help.sap.com/saphelp_nw04/helpdata/en/ea/c1f1c4f47011d19a600000e8a4b41d/frameset.htm
    For more information...
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0f6991e5-0901-0010-e0b0-dc2a26cc0389
    Just check this one also...good blog on context handling...
    Introduction to Context Handling in Message Mapping
    Introduction to Context Handling in Message Mapping
    Remove context is different from the Context change.
    Remove context does, it removes all the upper nodes of that particular node
    where as Context change is used to set the context for that particular fields to satisfy the conditions
    Context Change
    http://help.sap.com/saphelp_nw04s/helpdata/en/35/fb8c4057d5701de10000000a1550b0/frameset.htm
    Remove Context
    http://help.sap.com/saphelp_nw04/helpdata/en/1f/ea0fb12403844bbb6c4cbc8a00cda9/content.htm
    else use the Invalidate() function
    Thanks
    Suresh

  • Clear context in Web Dynpro View

    Hi,
    I have created a table based on search crieteria.
    The scenario is first time e.g user has given some selection, it will return 5 records. These 5 records will be displayed in the table.
    Now, if user enter some selection, which does not return any record, in that case i'm displaying the error message.
    For displaying the message, i'm using get_element_count method, if it's > 0, then it displays the table else display the error message. But the problem is even in second time, if there is no record return, get_element_count mehtod return 5 records of the first search.
    How to clear the context, or how to proceed. I can change my condition for a temp solution, but pls let me know what is the best way to do this.
    Thanks,

    Hi
    you can use the method invalidate method of interface if_wd_context_node to clear all the elements of a node.
    Regards
    Naresh

  • Clear/refresh(F5) fields in web dynpro application view

    How to clear or refresh(F5) fields in web dynpro application abap while redirecting to another view? I have tried using "context_node->invalidate()" but it's not working for all the fields, some are getting initialised and some not. Is there any other method to refresh all the fields in the view all at once. Please guide.

    Hi,
    For the Context node( to which the drop down is bound) create a supply function as shown below:
    Now populate the drop down in supply function method instead of WDDOINIT method.
    Go to methods tab and write the below code in supply function method:
    DATA lo_nd_drop TYPE REF TO if_wd_context_node.
        DATA lt_drop TYPE wd_this->elements_drop.
        DATA ls_drop TYPE wd_this->element_drop.
    *Fill Drop down
        ls_drop-val = 'ABC'.
        APPEND ls_drop to lt_drop.
        ls_drop-val = 'DEF'.
        APPEND ls_drop to lt_drop.
    * bind all the elements
       node->bind_table(
         new_items            =  lt_drop
         set_initial_elements = abap_true ).
    Now once you call invalidate( ) the drop down will automatically be initialized( since the supply function will be called again) And you don't have to write the code again to populate the drop down.
    hope it's clear now.
    Regards,
    Kiran

  • Using EJBs in Web Dynpro Applications

    I have recently started to develop Web applications using the Web Dynpro framework. Coming from a pure J2EE world, I must admit that Web Dynpro has a few innovative features that I find interesting for user interface development. The use of component & view contexts, for example, is not unlike the ActionForms that one may find in a Struts application, but pushed a bit further. No complaints here.
    What I do have some problems with is the whole CommandBean paradigm that is put forth by SAP (refer to the document <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/using%20ejbs%20in%20web%20dynpro%20applications.pdf">Using EJBs in Web Dynpro Applications</a>).
    I do understand the usefulness of defining a model that will be used to generate and eventually bind to Context data structures. That's fine. What I do object to is the use of a so-called CommandBean to play that role. Again, coming from a J2EE world, I am familiar with the BusinessDelegate pattern - which would typically be used by a client application to invoke business logic on the server side. I would propose that a better, cleaner way of integrating EJBs with the Web Dynpro framework would be to use a BusinessDelegate for invoking business logic, and importing a separate and distinct ModelBean (instead of a CommandBean) to be used for defining and binding to Context data.
    I have built one Web Dynpro application thus far. Instead of using a CommandBean, I created a ModelBean that extends my business object DTO (Data Transfer Object) (which is quite appropriate for that role, given that it implements all the get & set methods that are required for the business data that I need to model). My Web Dynpro application also makes use of an independant BusinessDelegate that is packaged with my EJB DC - this is a standard best practice on J2EE projects. I have been asked by the people working with me to modify this architecture to bring it more in line with the SAP way of doing things. I am open-minded and willing to learn and accept new ways of thinking and doing things. However, I fail to understand the usefulness of merging structure and behaviour by resorting to CommandBeans:
    - <b>It violates the MVC paradigm</b> by having one object (the CommandBean) serve as both model AND controller as far as the Web Dynpro application is concerned. The CommandBean is obviously a model - since it is literally imported as such into the Web Dynpro application. It is ALSO a controller from the Web Dynpro's application perspective, since all calls to the back-end go thru the CommandBean via one or more of its execute_xxx methods. In contrast, the use of a business delegate by the Web Dynpro application clearly separates the model (the CommandBean... or rather, a more suitably named ModelBean) from the controller (BusinessDelegate).
    - <b>Doesn't carry its own weight</b>. In other words, I haven't yet been provided with any valid justification for going thru the extra effort of coding the CommandBean's execute methods. It's been proposed to me that it somehow serves as an abstraction layer between the Web Dynpro application and the business logic. I would argue that it is the BusinessDelegate's role to abstract away the back-end logic from clients. If one does have a BusinessDelegate available, I would argue there's no need to code execute methods in a separate CommandBean. To prove my point, I would simply point out that all of the CommandBean examples that I have seen so far, either in How-To documents, or in production code, all follow the same pattern....
    CommandBean.execute_doSomething() calls BusinessDelegate.doSomething()
    Not a heck of an "abstraction" layer... I would in fact argue that it is worse than useless. If some major change occurs in the business logic that requires changing the doSomething() operation, we expect of course to modify the BusinessDelegate. The Web Dynpro client will also presumably need to be modified - that's to be expected, and unavoidable. But then, we'll also need to go about and change the CommandBean's execute_doSomething() method - again, extra work for no apparent benefit. Adding and removing business methods has the same implication. All this for an layer that simply adds the prefix execute_ in front of all business method calls... Is this "abstraction layer" worth the cost of creating and maintaining it ??
    - <b>Unnecessarily complicates error handling</b>. I have been told that for technical reasons, it is recommended that all exceptions thrown by the CommandBean be of type WDException or WDRuntimException. But what if the client application needs to react differently to different failure scenarios ? When I create a business object, I might wish to provide the user with an error messages if connection is lost to the backend, and with a different error message if an object already exists in the database with the same attributes. In order to do that, I will have to catch the WDException, extract the cause, and continue processing from there... possible, yes, but clearly less standard and more labor intensive than the classical try/catch mechanism.
    To say nothing about the fact that SAP's own API documentation clearly states that applications using Web Dynpro can reference and catch WDExceptions, but THEY MUST NOT THROW OR EXTEND IT !
    - <b>Produces unnecessary DCs</b>. Page 6 of the aforementioned document presents an architectural view of a Web Dynpro project that uses a CommandBean. Why an extra DC for the CommandBean ?? I created my ModelBean class right inside the Web Dynpro project (in the Package view). That, to me, is where this class should reside, because it is created for no other reason that to be used by this particular Web Dynpro application. What is the benefit of placing it in its own independant DC ?
    - <b>Not a typical application of the Command pattern</b>. The well-documented command pattern (Design Patterns - Gang of Four) has been devised mainly to enable encapsulation of request as objects, thereby making it possible to:
    - specify, queue and execute requests at different times
    - decouple execution of a command from its invoker
    - support undo operations
    - support logging changes so that they can be reapplied in case of system crash making it possible to assemble commands into composite commands (macros), thereby structuring a system around high-level operations built on primitive operations.
    None of this applies to the way the SAP CommandBeans are being used. Not that much of an issue to people new to J2EE and/or OO development... but quite confusing for those already familiar with the classic Command pattern.
    At this point, I fail to understand the advantage of merging structure (model) and behaviour (execute methods) through the use of a unique CommandBean object. Am I missing something ?

    Hi Romeo,
    You would be disappointed, this reply ain't anywhere nearby to what you are talking about...
    I wanted to mail you, but you have not mentioned your email in your profile.
    I am really impressed by your flair for writing. It would be far better had you written a blog on this topic. Believe me, it would really be better. There is a much wider audience waiting out there to read your views rather than on the forums. This is what I believe. To top it, you would be rewarded for writing something like this from SDN. On the blogs too, people can comment and all, difference being there you would be rewarded by SDN, here people who reply to you would be rewarded by you. Doesn't make  much a difference.
    Anyways the ball is still in your court
    As far as I am concerned, it has still not been much time since I have started working on Web Dynpro. So can't really comment on the issue...
    Bye
    Ankur

  • Exchanging data between a Web Dynpro application and SAP Web Shop

    I'll try to keep this as clear as possible:
    1) We have the SAP Internet Sales system running, which has a series of Business Object classes and corresponding Backend Layer objects that can return data from several sources.
    2) We are able to create our own Backend Layer objects that would return data from a component called IPC, which is a Java component.
    3) I would like a Web Dynpro application to retrieve data from this backend layer object, but I am not experienced enough with Java to know if what I want to do is possible. I don't think that I can use JCo, because I am trying to get a Java component (class?) in Web Dynpro to access a Java class remotely.
    4) I think I am asking is this: is there a way for a Java to Java connection to be created, much like Web Dynpro can use JCo to connect Java to ABAP systems?
    If this is a glaringly obvious question to Java programmers, my apologies!
    - Tony.

    Somebody on another forum recommended using RMI. Which would be the better option in terms of ease of implementation?
    - Tony

  • Problem with starting the Web Dynpro Application

    Hello,
    I have a problem with my web dynpro application, which is in our SAP Portal. We have three different systems (development, test, production). In production always the follewing error message occurs:
    The URL https://zsil2401.servers.wacker.corp:9004/sap/bc/webdynpro/sap/ZPLM_EN_FORM_300MM/ was not called due to an error.
    Note
    The following error text was processed in the system P1A : is not a valid attribute type.
    The error occurred on the application server zsil2401_P1A_04 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: GETATTRIBUTE_RTTI of program CL_WDR_CONTEXT_NODE_INFO======CP
    Method: INIT_ATTRIBUTES of program CL_WDR_CONTEXT_NODE_INFO======CP
    Method: CREATE_FROM_STRUCT of program CL_WDR_CONTEXT_NODE_INFO======CP
    Method: IFWDR_RG_CTRL_HANDLE~INIT_CONTEXT of program SAPLWDR_RG_GENERATED_SRC_API
    Method: IFWDR_INTERNAL_API~INIT_CONTEXT of program SAPLWDR_RG_PROXY_FACTORY
    Method: CONSTRUCTOR of program /1BCWDY/35DSOWFU6YQV6I81U8VG==CP
    Method: IF_WDR_CLASSLOADER~GET_COMPONENT_CONTROLLER of program /1BCWDY/35DSOWFU6YQV6I81U8VG==CP
    Method: CONSTRUCTOR of program CL_WDR_DELEGATING_COMPONENT===CP
    Method: CONSTRUCTOR of program CL_WDR_CLIENT_COMPONENT=======CP
    Method: CONSTRUCTOR of program CL_WDR_CLIENT_APPLICATION=====CP
    Some User get this message also in test an development. What could be the reason?
    Note: Nothing has changed in coding or context.....this error occurs without any changements
    Thanks for your help
    Best Regards
    Martin

    Hi,
      May be you can put an external breakpoint in the method "_get_attribute_rtti"(of class CL_WDR_CONTEXT_NODE_INFO).
    From that you can find out which attribute is causing the dump , and try to solve the issue . May be some data dictionary object is not transported to production.(Assuming that you have permission to put breakpoints in production system..:))
    Aditya.

  • The Web Dynpro application 'UWL' has expired

    Hi ALL,
    We are using Enterprise portal 7.0. and backend SRM server
    When the user login into portal it will take him to the UWL page
    in that the user click for any "Approve shopping cart" the error message showing
    " The web dynpro application *'UWL' has expired. restart the application. choose 'refresh' in the iview tray or use the*
    *browser 'refresh' button to restart the iview"*
    user not getting the error message every time. error coming occasionally
    we suggest the user to clear the cookies and restart the browser and relogin.
    but some times it works some times not
    Can any one know the exact problem (any parameters has to be change or any other solution)?
    Regards,
    Abdul Razzaq
    SAP NW.BASIS Consultant

    Dear Abdul ,
    Hope you are doing good.
    We have seen similar cases of  WD Session Expired error message when the  jsessionid cookie issued by the server with the initial requests was not returned from the client with subsequent requets to the server. The only way to ascertain whether this is the case in your system will be by checking the HTTP watch trace (note 1558903 - How To Trace a Portal Scenario Using HttpWatch).
    As the jsessionid cookie is used for session management, when it is missing from the request headers the correct session could not be retrieved and as result new session will be created for that user. Set the parameter JSESSIONID.CookieDomain to "NONE" as mentioned in the sap note: 791765 and see if the issue persists. This configuration should be accessible in
    Config Tool -> expand the tree "cluster-data" -> "Global Server Configuration" -> "services" -> "servlet_jsp" -> Go to "Global
    Properties". Do make the changes, save the customization and then restart the complete SAP server (not just the JAVA server nodes).
    Kindly go through the note completely.
    Also make sure that the SystemCookiesDataProtection and SystemCookieHTTPProtection is set in the HTTP Provider Service on
    the server nodes.
    Do make the changes,save the customization and then restart the complete SAP server.
    Thank you and have a nice day :).
    Kind Regards,
    Hemanth
    SAP AGS

  • Error message display in web dynpro application?

    Hi All,
    In my web dynpro application I am displaying error messages but the focus does not go to the field where error occured and also if I click on the error message it does not lead to the place of error.
    And also when I navigate to another view the error message does not go.
    Below is my code:
    *    report message
          DATA err1_text TYPE syst-msgv1.
          err1_text = wd_assist->if_wd_component_assistance~get_text( key = '002' ).
          CALL METHOD lo_message_manager->report_t100_message
            EXPORTING
              msgid      = 'ZAA'
              msgno      = '005'
              msgty      = 'E'
              p1         = err1_text
            RECEIVING
              message_id = lo_text.
    Please suggest me the way to do it.
    Thanks & Regards
    Archana

    Hi,
    I got your point.. in the BIND_TABLE( set_intiail_elemts = abap_true) change this to ABAP_FALSE.
    Because of this you are gettng the intiial values. Eventhough your table has no BALNK/space records.
    bind a single element
      node->bind_table(
        new_items             =  lt_year_list
        set_initial_elements = abap_true ).
    change as
    bind a single element
      node->bind_table(
        new_items             =  lt_year_list
        set_initial_elements = abap_false ).
    You can use this code - I have tjhe dropdwon for projects event I'm doing the same.
    navigate from <CONTEXT> to <PROJECT> via lead selection
      lo_nd_project = wd_context->get_child_node( 'PROJECT' ).
    ***Gets the selected project id from drop down
      if lo_nd_project is not initial.
        CALL METHOD lo_nd_project->GET_LEAD_SELECTION
          RECEIVING
            ELEMENT = lo_el_project.
    get all declared attributes
        if lo_el_project is not initial.
          lo_el_project->get_static_attributes(
            IMPORTING
              static_attributes = ls_project ).
    change your code to 
    lo_nd_year_list = wd_context->get_child_node( name = wd_this->wdctx_year_list ).
    ***Gets the selected project id from drop down
      if lo_nd_year_list is not initial.
        CALL METHOD lo_nd_year_list->GET_LEAD_SELECTION
          RECEIVING
            ELEMENT =  lo_el_year_list .
      IF lo_el_year_list IS NOT INITIAL.
        get single attribute
        lo_el_year_list->get_attribute(
          EXPORTING
            name =  `YEAR`
          IMPORTING
            value = lv_year ).
    Regards,
    Lekha.

  • Updated data in a web dynpro application

    hi
    when we develop a web dynpro application using a model from an  R/3 as a backend access system , how is the data updated in the application, in the portal whenever there is a change in the source OLTP data tha we used?
    thanks in advance
    krishna chaitanya

    Hi,
    Do you want to change the message server name thriugh coding then use the below code.
    Store the message server name in a customizing table.
    use the below code to replace the MS name:
    DATA    lv_temp_str TYPE char255.
      DATA    lv_split1 TYPE char255.
      DATA    lv_split2 TYPE char255.
    DATA :  lv_string TYPE string,
              lv_application TYPE string.
    DATA    lv_dns_str TYPE /mrss/t_rm_dns_str.
    CALL METHOD cl_wd_utilities=>construct_wd_url
        EXPORTING
          application_name = lv_application " webdynpro application name
        IMPORTING
          out_absolute_url = lv_string."url of the application.
    lv_dns_str = message server name form the customizing table
    lv_temp_str = lv_string.
      SPLIT lv_temp_str AT '//' INTO lv_split1 lv_split2.
      CLEAR lv_split1.
      lv_temp_str = lv_split2.
      SPLIT lv_temp_str AT '.' INTO lv_split1 lv_split2.
      lv_temp_str = lv_split1.
      REPLACE lv_temp_str IN lv_string WITH lv_dns_str.
    Regards,
    MAdhu

  • Exiting a Web Dynpro Application by pressing a button on a Web Dynpro View

    Hi all,
    I want to exit a Web Dynpro application when the user presses an Exit button on the screen. Is there an API for closing the current browser window and exiting the application?Thanks.
    Sukru

    hi,
    For closing Main Window, use Exit Plug in Windows:
    Do the following steps :
    -> Make an Outbound Plug to the Window.
    ->Make the type of Outbound plug to Exit Type.
    ->Add CLOSE_WINDOW of type wdy_boolean as a parameter to the outbound plug of Window.
    ->Do remember to add Component Name in the Properties Tab of View ( othervs Calling Outbound plug of window from view wont be possible ).
    ->Fire the outbound plug with close_window as X in the onAction of Exit Button .
    Refer SAP online help on using Exit plug to close a window:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/ca3351508f04e7e10000000a42189c/content.htm
    method ONACTIONGO_EXIT .
    data: L_REF_MAIN_WINDOW type ref to IG_MAIN_WINDOW .  
    L_REF_MAIN_WINDOW =   WD_THIS->GET_MAIN_WINDOW_CTR( ). 
    L_REF_MAIN_WINDOW->FIRE_MY_EXIT_PLUG_PLG(     CLOSE_WINDOW =   'X' ).
    endmethod.
    here Main_window is the window which needs to be closed.
    I hope it is clear.

  • Web Dynpro application Session time expired in Portal

    Hi All ,
       I am runnnig my web dynpro application in portal. When i log in for first time its working fine. But if if lof off and try to log in again in portal in same browser and try to access that web dynpro application then i am gettting error as follows in the browser. And even if i click on link the application could not be refreshed/opened.
    500   Internal Server Error
    The Web Dynpro Application 'WhowhoAppl' has expired. Restart the application using the Refresh button or via the following link WhowhoAppl.
      Details:   No details available
    I am also sending detail log trace below. Reply how to send this issue.
    #1.#001083FEF475004D00000024000003E00004458D7D628B13#1202373905933#com.sap.tc.we
    bdynpro.sessionmanagement#sap.com/tcwddispwda#com.sap.tc.webdynpro.sessionmana
    gement.ExceptionHandler.handleExpiration#J2EE_GUEST#0####fb017f90d55811dc93ff001
    083fef475#SAPEngine_Application_Thread[impl:3]_31##0#0#Warning#1#/System/UserInt
    erface#Java###Session unknown: Request with URI= was sent to unknown session.
    Either request with wrong session parameters was sent, or session has expired b
    efore . Current request parameters=. Is termination request=. Request w
    as sent from host with IP=/name=. Hint: see SAP note 842635 for more detai
    ls on session expiration. RID=
    [EXCEPTION]
    #8#/webdynpro/dispatcher/asianpaints.com/Whoswho/WhowhoAppl#Thu Feb 07 07:44
    :39 IST 2008#{}#false#172.18.40.57#172.18.40.57#faf5bfc0d55811dccc92001083fef475
    #com.sap.tc.webdynpro.clientserver.session.SessionExpiredLongJumpException: Sess
    ion has expired due to a concurrent invalidation or logoff request. Hint: This m
    ight occur if multiple logoff requests are sent to Web Dynpro by the portal as i
    t is the case when a logoff is executed and the portal has active embedded and i
    solated Web Dynpro applications. Only the first logoff request is processed, all
    following logoff requests will lead to this message but but can be ignored. Ple
    ase restart the application.
            at com.sap.tc.webdynpro.clientserver.session.ClientSession.doSessionMana
    gementPostProcessing(ClientSession.java:868)
            at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(
    ClientSession.java:302)
            at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing
    (RequestManager.java:149)
            at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doConte
    nt(DispatcherServlet.java:62)
            at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(D
    ispatcherServlet.java:46)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServle
    t(HttpHandlerImpl.java:401)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleReq
    uest(HttpHandlerImpl.java:266)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServle
    t(RequestAnalizer.java:387)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServle
    t(RequestAnalizer.java:365)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebCo
    ntainer(RequestAnalizer.java:944)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(Requ
    estAnalizer.java:266)
            at com.sap.engine.services.httpserver.server.Client.handle(Client.java:9
    5)
            at com.sap.engine.services.httpserver.server.Processor.request(Processor
    .java:175)
            at com.sap.engine.core.service630.context.cluster.session.ApplicationSes
    sionMessageListener.process(ApplicationSessionMessageListener.java:33)
            at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRu
    nner.java:41)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:3
    7)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.ja
    va:100)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:1
    70)
    Edited by: kavita chavan on Feb 8, 2008 12:04 PM

    Default expiry time of a webdypro is 3600 sec.Try to increase it in the visual j2ee admin tool.

  • Can a PDF be imported in a Web Dynpro Application

    Can a PDF be imported in a Web Dynpro Application than deployed into a New Archive and be able to displayed in the browser?  Instead of creating the PDF from scratch.

    I am sorry, I did find the tool menu.
    I did import it and created the datasources for the form.
    And I get this error messege when I deploy:
    Error stacktrace:
    java.lang.ClassCastException
         at com.acc.demo.salestaxreturn.wdp.IPrivateSalesTaxReturnCompView$IContextElement.wdSetObject(IPrivateSalesTaxReturnCompView.java:201)
         at com.sap.tc.webdynpro.progmodel.context.AttributePointer.setObject(AttributePointer.java:222)
         at com.sap.tc.webdynpro.clientserver.uielib.adobe.impl.InteractiveForm.afterHandleActionEvent(InteractiveForm.java:106)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.afterHandleActionEvent(ClientApplication.java:1085)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:393)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:635)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
         at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:249)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         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:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

  • How to Debug a BAPI from a Web Dynpro application

    I have a Web Dynpro application calling a BAPI, and I would very much like to see what data the Web Dynpro application is passing into the BAPI, and then debug the BAPI.
    Is there a way to do this? I'm wondering if it is possible to somehow set up the ABAP stack so that on receipt of the BAPI call, it appears on the tRFC queue waiting for execution.
    However it is done, I need a way to step through the BAPI on the ABAP stack.
    BR,
    Tony.

    Hi Anthony,
    The ABAP runtime environment contains various tools that you can use for analysis purposes, such as for debugging source code. All source code written for Web Dynpro applications in ABAP can normally be tested using the debugger.
    To allow it to test other Web Dynpro-specific program entities too, the debugger has been equipped with a special enhancement. In the phase model in the active application, you can typically see the following information at various points in time:
    -The structure of the content of the current controller,
    -The properties of the UI elements in the layout of the current view
    -The currently instantiated component usages
    Starting the Debugger
    The functions for debugging Web Dynpro entities are embedded in the new debugger. You therefore need to have selected the new debugger in your Workbench settings.
    Selecting the New Debugger
    1. In the menu, choose Utilities -> Settings.
    2. A dialog box now appears that contains two nested tab page areas. Choose the “parent” tab page ABAP Editor.
    3. The settings for ABAP Editor always open with the content of the child tab page Editor. Here, select Front End Editor (New).
    4. Now switch to the Debugging tab page in the ABAP Editor settings and select New Debugger.
    5. Save your changes and close the dialog.
    Starting the Debugging Process
    To run an application in debugging mode, you first need to set an external breakpoint in display mode in one of the methods in the component.
    Now start a test run of the application from ABAP Workbench as usual.
    The method in which you set the breakpoint depends on the purpose of the test run. To debug a view, for example, it is best to set the breakpoint in method WDDOMODIFYVIEW. Provided that the context of the view controller is not filled using a supply method, the view is fully instantiated in the phase model at this point in time.
    Selecting the Web Dynpro Tool in the New Debugger
    When you start the application, another session opens automatically for the debugger. If you have not yet saved any personal settings with regard to the layout of the debugger, the Editor tool will now appear on the left, with the Display Variables tool on the right.
    1. Select one of the three desktops in order to reconfigure it for debugging the Web Dynpro application (see Designing Work Areas).
    2. The right-hand edge of the debugger window has a bar of function icons. Choose the Replace Tools icon:
    3. In the next dialog box (New Tool) open the lowest node (Special Tools) and choose Web Dynpro.
    4. Confirm the dialog box.
    On the right of the debugger desktop, you will see that the previous tool has now been replaced by the Web Dynpro debugger. You can save this setting for future debugging activities. To do this, choose Save Layout In the debugger’s general toolbar.
    Thankyou,
    Ramganesh.

Maybe you are looking for