ebook img

Performance of Webdynpro ABAP PDF

16 Pages·2013·0.04 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Performance of Webdynpro ABAP

Performance of Webdynpro ABAP Developement About Me: Kishorekumar SVS is a senior development SAP consultant. He has worked on numerous projects and gained practical experience in ABAP, Webdynpro ABAP and Floor Plan Manager (FPM). Kishorekumar is very interested in new technologies. Currently he is dealing with Web Dynpro ABAP,Floorplan manager, BADI's and the Switch and Enhancement Framework. This tutorial describes about the performance of webdynpro abap developement and while webdynpro development which are the point should follow every webdynpro consultant. Performance of ABAP Webdynpro: Dos and Don'ts in ABAP Webdynpro Performance check Performance tools Look and Feel (Themes) Running webdynpro applications via SAP GUI High Performance Dos and Don'ts in ABAP Webdynpro: Checklist of do’s and don’ts Where to Store business logic? How to simplify context reading / writing? Use structure Vs. fields Generated by Jive on 2013-07-12+02:00 1 Performance of Webdynpro ABAP Developement Handle dropdown by key Delete unwanted components Use supply function Automatic refresh Accessibility Checklist of do’s and don’ts: Dos and Dont's: Web Dynpro Components Dos and Dont's: Web Dynpro Context Dos and Dont's: Web Dynpro UI elements Dos and Dont's: Web Dynpro Components: Do not write your entire application source code in Web Dynpro components. For more information, see: Number, Size, and Genericness of Components. Write your application source code in ABAP OO classes. For example, use the assistance class. Use Webdynpro components only for managing the views and context. Note that Web Dynpro components are not lightweights!. Do not create a Web Dynpro component for one single view only. Generated by Jive on 2013-07-12+02:00 2 Performance of Webdynpro ABAP Developement In a Web Dynpro component, group together as many views that belong to one application part as possible. If, however, the ABAP workload is too large, split the component up. Dos and Dont's: Web Dynpro Components: Delete all Web Dynpro component instances as soon as they are no longer needed. To do that, use IF_WD_COMPONENT_USAGE=>DELETE_COMPONENT. Use dynamic navigation or dynamic component usages only if it is absolutely necessary. Set the lifetime of a view to when visible, if the view is displayed only once in an application. As far as possible always set the lifetime to when visible. Note: Although memory consumption is reduced by the lifespan of when visible, when visible can affect performance since in this case the view has to be initialized every time it is displayed. See also Creating and Deleting Components and Views. Dos and Dont's: Web Dynpro Context: Do not put all your data into the context. Do not create a mega context for all data belonging to one application. Put only the data required for the UI element binding into the context. Use the assistance class or other ABAP OO classes for the data exchange. Generated by Jive on 2013-07-12+02:00 3 Performance of Webdynpro ABAP Developement If required create local contexts, for example, in views. Do not create deep-nested contexts. Use singleton nodes, if nesting's (master detail) are necessary. Do not use dynamic attributes (IF_WD_CONTEXT_NODE_INFO->ADD_ATTRIBUTE) Use data with context structure for BIND_TABLE. Update the context only if the data actually has to be updated. Do not create long context mapping chains. Dos and Dont's: Web Dynpro UI elements: Do not use container scrolling (scrollingMode<>none) Do not use the scrolling function of the browser window. Note the following exception: If the application screen is to be used fordisplay only and not for user input, as an exception you can use browser scrolling to avoid unnecessary server roundtrips. Create application screen that fit into a typical browser window. Use the scrolling features of Table, MultiPane, and RowRepeater. Avoid deep nesting's of Containers, Groups, and TabStrips. Note: server and client performance is strongly affected by nesting's.It may also occur that deeply nested contents are not shown on the front end as a result of browser restrictions which cannot be influenced by the Webdynpro framework. Do not insert any TransparentContainer UI elements into ContainerUI elements, for example, Groups. Dos and Dont's: Web Dynpro UI elements : Generated by Jive on 2013-07-12+02:00 4 Performance of Webdynpro ABAP Developement To minimize nesting depths, if possible, swap the RootUIElementContainer UI element (TransparentContainer) with other Container UI elements, such as Table, TabStrip, and Group. See also Root Elements of Views. It is best to arrange logically nested contents into rows As far as possbile, do not use the UI element tree To display tree structures use a Table with either TreeByKeyTableColumn or TreeByNestingTableColumn. Do not use dynamic UI element programming and/or multiple components for repeating layouts. Use RowRepeater or MultiPane for repeating layouts. Modify your UI elements only if they really have to be changed. If possible, use delta rendering Note that there are special Performance Aspects when using the InteractiveForm UI element. Where to Store business logic? As beginners we do coding inside the respective controllers. We should be aware that it is wrong practice of coding . Webdynpro framework is based on MVC (Model View Controller) architecture. Model is the area to store the business logic which indicates separation of business logic and user view. Assistance class represents the best example for model. We can put our business logic inside the assistance class and by attaching the assistance class , we can access those methods. One more advantage would be reusability . Generated by Jive on 2013-07-12+02:00 5 Performance of Webdynpro ABAP Developement we could implement the assistance class and deploy methods through assistance class. How to simplify context reading / writing?: About 60% or more of software costs is maintenance. The more code lines we have, the more maintenance costs are. Henceforth we need to reduce the lines of coding. Mostly developers ignores the above fact by following standard way of generating code through code wizard. In real time applications, we need to build multiple views and each view has to read ‘n’ number of context and nodes  Rather using 14 lines of code to read the context and nodes, we can achieve the same in 2 lines of code as given below. method get_data. data: ls_vbrk type wd_this-> element_vbrk. wd_this->o_context_element->get_attributes( exporting path = 'VBRK' importing values = ls_vbrk ). endmethod. This is achieved by integrating a helper class and using it to read the context. We need to initialize the helper class in WDDOINIT method as given below. method wdinit. create object o_context_element exporting context = wd_context. Generated by Jive on 2013-07-12+02:00 6 Performance of Webdynpro ABAP Developement endmethod. Handle dropdown by key: Experts advice not to use drop down by key. In unavoidable scenarios, we can handle the dropdown by key through optimization. WD4A engines fills automatically the dropdown by key fields whose domain values are directly associated. If domain values are not directly associated with the field, then WD4A does not fill dropdown by key field values automatically. We have to call set_attribute_value_set of if_wd_context_node_info what we find by calling get_node_info. We can further optimize the code by using helper class as given below Delete unwanted components: Delete the webdynpro components which are no longer required. IF_wd_component_usage=>delete_component. Unwanted nodes can be deactivated by using <node_name>->invalidate(). Use Supply Functions: Whenever we need to populate dropdowns, radio buttons or checkboxes it’s better to use supply functions to populate there nodes. In that way whenever the node is invoked it will automatically call the supply function and populate the node and intern populates our UI elements. Generated by Jive on 2013-07-12+02:00 7 Performance of Webdynpro ABAP Developement Automatic refresh: You may have an application where you want to automatically refresh the data selection periodically, without intervention from the user. This can be achieved using a TimedTrigger UI element: http://help.sap.com/saphelp_nw04s/helpdata/en/da/a6884121a41c09e10000000a155106/ content.htm Accessibility of a Web Dynpro Application: To make a business application available to those users who are dependent on technical support of various kinds due to disability, the Web Dynpro framework provides them with the option of setting up accessible applications. Almost all UI elements additionally provide the property accessibilityDescription. This can be used to include a title, as an alternative, whenever the UI element should not or cannot carry a visible title (Header). In contrast to the case with the tooltip, which should contain a semantic description of the purpose of the UI element, only a short, title-like expression is entered in the accessibilityDescription. Displaying Accessibility Texts for Testing: Generated by Jive on 2013-07-12+02:00 8 Performance of Webdynpro ABAP Developement To test an application in accessibility mode, you can either set a screen reader or wait for the tooltip to display. For quick testing you can also display the accessible text in a box at the bottom of the browser window. To do this enter the URL parameter sap-accessibility-debug=X. The accessibility mode sap- accessibility=X must also be activated. The text of the element currently focused on is displayed after the prefix ACC: Performance check: In WDA, use the key combination 'CTRL-ALT-SHIFT-P' to see some interesting memory and performance stats for your application. Use the key combination 'CTRL-ALT-SHIFT-H' to see all the available keyboard shortcuts (including the one above). Use transaction SHMM from NetWeaver 6.20 and higher to take a memory snapshot at any moment in time for your application. Use transaction STAD if you see a lot of server time as a problem with your app (e.g. things are taking a lot of time on the server). Use transaction SAT to get to the new Runtime Analysis tool – don't forget to go to SICF first to select the ICF node you want    to analyse. Use tools like HTTPWatch or Chrome browser development tools to see what is happening in your HTTP requests/responses. Generated by Jive on 2013-07-12+02:00 9 Performance of Webdynpro ABAP Developement Performance tools: Webdynpro ABAP Runtime Analysis Webdynpro memory Analysis Webdynpro Trace tool Perfromance Monitor Webdynpro abap Runtime Analysis: Web Dynpro ABAP is integrated in the existing Runtime Analysis. You can find information about the runtime analysis tools in the ABAP documentation. You can launch the runtime analysis for Web Dynpro ABAP applications from the Web Dynpro Explorer in the ABAP Workbench. For details explanation follow below link: http://help.sap.com/saphelp_nw70ehp1/helpdata/en/46/f7cc6bd1b3537ee10000000a1553f6/ content.htm Webdynpro Memory Analysis: You can perform a memory analysis for your Web Dynpro ABAP application to analyze the current memory consumption. The procedure is as follows: Create a trace variant. Generated by Jive on 2013-07-12+02:00 10

Description:
he is dealing with Web Dynpro ABAP,Floorplan manager, BADI's and the Switch This tutorial describes about the performance of webdynpro abap
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.