How To Read Only Visible Fields in Powl
How To Read Only Visible Fields in Powl
SAP NetWeaver
How-To Guide
Typographic Conventions
Type Style
Example Text
Description
Words or characters quoted
from the screen. These
include field names, screen
titles, pushbuttons labels,
menu names, menu paths,
and menu options.
Cross-references to other
documentation
Example text
Emphasized words or
phrases in body text, graphic
titles, and table titles
File and directory names and
their paths, messages,
names of variables and
parameters, source text, and
names of installation,
upgrade and database tools.
User entry texts. These are
words or characters that you
enter in the system exactly as
they appear in the
documentation.
Variable user entry. Angle
brackets indicate that you
replace these words and
characters with appropriate
entries to make entries in the
system.
Keys on the keyboard, for
example, F2 or ENTER.
Icons
Icon
Description
Caution
Note or Important
Example
Recommendation or Tip
Example text
Example text
<Example
text>
EXAMPLE TEXT
Table of Contents
1.
2.
3.
4.
Purpose............................................................................................................................1
Scope ...............................................................................................................................1
Prerequisites....................................................................................................................2
Step-by-Step Procedure ..................................................................................................3
4.1
4.2
Configuration settings ...............................................................................................3
Changes in feeder class............................................................................................4
1.
Purpose
Currently, when a personal object worklist or POWL is accessed from the SAP Netweaver Portal or
SAP Netweaver Business Client, the contents of all fields contained in the feeder class are read. This
may involve complex selection procedures accessing several data sources in order to select all fields
potentially required for display. For the end user, this long selection is perceived as poor system
performance since it may take some time for the results of the POWL query to be displayed. If only a
subset of the fields is initially visible to the end user, then the large initial selection is a waste of
system resources.
The user can already personalize which fields he or she wishes to see in the POWL by setting up a number
of views that use ABAP List Viewer or ALV to determine which columns are displayed in each view
(Settings). Instead of selecting and filling all fields in the feeder class at run time, applications that
expect to do large and complex selections at run time can now implement a logic whereby only the
fields selected for display in the chosen ALV view are read at run time. This results in faster
performance in the eyes of the end user. When the user switches to a view that contains different
fields, a new selection will take place to access the fields required for that view. This will lead to more
refreshes, as data is read on demand.
CAUTION
As soon as a new field is added to the list of visible fields, a refresh will be triggered.
Therefore, this feature needs to be used with care. If the visible fields in the work list
change very often, it is recommended not to make use of this feature as it could
worsen the performance.
2.
Scope
This will provide applications using the POWL with an option to improve performance when large
numbers of fields are being selected via the feeder class. Note that the implementation of this feature is
optional for applications using the POWL. There is no need for existing applications that do not
anticipate performance issues for long selections to change their applications.
Important
The performance benefit is not inherent in the framework itself, but will be achieved by
the application developers working with this function.
This requirement does not handle so-called lazy loading. If the view contains more fields than
can be shown on the screen and the user has to scroll right to see some of the fields, the feeder class
will still read all visible fields rather than reselecting on each scrolling action. Either the application
must consider splitting wide lists into separate views for delivery to the customer, or the
user/administrator at the customer site can split wide lists into separate views. Similarly, if the results
of the query contain more lines than can be shown on the screen and the user has to scroll down to
see the remainder of the list, the feeder class will still read all the lines rather than reselecting on each
page down action. There will be no tree logic, where the top nodes of a hierarchy are presented to
the user and then the objects of the next node of the hierarchy are read when the user clicks on the
node.
3.
Prerequisites
The application has implemented a feeder class, and the necessary customizing. More
information about developing the feeder class can be found at
https://bis.wdf.sap.corp/twiki/pub/Applications/POWL/POWLHow_to_Guide.pdf
4.
Step-by-Step Procedure
1. Configuration settings
2. Implement the logic to read only visible fields in get_objects method of
the feeder class.
In order to use this feature the following steps need to be performed.
4.1
Configuration settings
Since the implementation of this feature is optional, it is provided via configuration possibility. This can
be achieved by following the steps given below.
1. Start transaction SE80 and enter the Web Dynpro Component POWL_UI_COMP.
2. Right click on node POWL_UI_COMP or 'Component Configurations'
configuration.
3. Enter 'POWL_UI_COMP' into the field component name and choose a name for your
configuration.
4. Click tCreate.
5. Click the Component-Defined tab (in an SAP ERP EhP3 system the tabs name is Explicit Configuration).
create/change
The Web Dynpro Configuration editor will open..
6. Choose typeSpecific from the drop down menu of the ADD button.
7. Select the node TYPE_SPECIFIC. Choose the corresponding POWL Type from
the input help in field Type. Select the ReadVisibleColumns checkbox .
Application = POWL
4.2
Click on Change.
Additional importing parameter to get the list of visible columns in get_objects method
4. Using this importing parameter you can write the logic to fetch only the visible set of fields from
the database in order to improve the performance.
5.. Save and activate your class.
Example
An example for this implementation can be found in package POWL_TEST. The example feeder
class is CL_POWL_VISIBLE_COLUMNS_TEST.