** TEAM FPM ** – Switching from the Old List UIBB to the New List UIBB (aka List ATS UIBB)
This blog post describes how to replace the old List UIBB with the new one.
The new List UIBB is known as the List ATS UIBB (ATS stands for ABAP Table Services).
To find out which List component your FPM application uses, look at the name of the WD ABAP
component of the List component; FPM_LIST_UIBB is the old List component, FPM_LIST_UIBB_ATS
is the new List component. (Use FLUID, the FPM configuration editor, at floorplan level to find out the
WD ABAP component name).
The List ATS UIBB is available from SAP NetWeaver 7.31 onwards (software component SAP_BASIS).
Why Switch to the List ATS UIBB?
The List ATS UIBB has several advantages over the old List UIBB, with the most important being:
- smooth vertical and horizontal scrolling
- an integrated personalization dialog box
- advanced filter, sorting, and grouping capabilities
- different aggregation possibilities
- the ability to create different views
- mass edit mode (meaning the List component creates dummy rows at the bottom of the
list, enabling the user to enter new data quickly and easily)
- copying data to and from a Microsoft Excel spreadsheet
How is the transition done? Like all FPM generic UIBBs (GUIBBs), the List ATS UIBB
consists of a WD component (FPM_LIST_UIBB_ATS), a feeder class and a
configuration. The interface for the feeder class is actually the same for both
the old and new List components; this makes life easier because it means you
can just reuse the current feeder class without needing to change anything (you
could make changes though, and I will point that out at a later point in this
blog). So, all that’s needed is to exchange the old List UIBB with the List ATS
UIBB in the floorplan configuration, and to create a new configuration for the
newly-added List ATS UIBB. And here’s how to do that, in detail:
- Start FLUID and open the floorplan configuration (that is, an OVP, GAF or OIF
configuration) of your application and switch to edit mode.
- In the floorplan schema, locate and remove the old List UIBB.
- Press the Add UIBB button and choose List UIBB. This will automatically add the
List ATS UIBB.
- In the floorplan schema, locate the row that contains the new List ATS UIBB.
You will see that a configuration is missing for the new UIBB. Enter a configuration
name into the corresponding input field and press the Save button – and don’t worry
if your configuration doesn’t actually exist yet – you can create it in the next step.
- Make sure the List ATS UIBB is selected and press the Configure UIBB button
in the panel’s toolbar.
- In the window that is opened, press the Create Configuration button. The
editor asks for the name of the feeder class. As pointed out earlier, you can
use the same feeder class for the old and new List components.
- After you have entered the name of the feeder class, add all the columns and toolbar
elements that were there for the old List UIBB. You might also want to have a look at the
General Settings panel as it contains some additional settings for the List ATS UIBB.
- Save your changes and restart your application. You should now see the
List ATS UIBB in action.
These instructions are mainly intended for applications that were developed customer-side.
In this case, the instructions above will lead to a modification of the floorplan configuration.
However, if you want to avoid modifications (for example, if the configuration is provided by
SAP), you have the possibility to enhance it or to create a customizing for it (SAP Note
1619534 provides documentation on how to do that).
Important Remarks &
The old List UIBB had the WD ABAP implicit personalization enabled; the end user could
access the WD ABAP implicit personalization at runtime using the context menu (for example,
they could set columns to invisible or change the amount of visible rows). After the transition
to the List ATS UIBB, the implicit personalization of WD ABAP is switched off; the end user
will not be able to access the WD ABAP implicit personalization using the context menu. Instead,
there is now a new explicit Personalization dialog box available (it can be accessed via a button
on the toolbar). The implicit WD ABAP personalization of the old List UIBB is lost and there is no
possibility for converting it.
Additionally, the old List UIBB supported three different rendering modes: Standard Rendering,
ALV Rendering and Row Repeater Rendering (see the General Settings panel in the configuration
of the old List UIBB). The List ATS UIBB does not support these rendering modes.
ALV Rendering is not necessary anymore; all its features are available in the List ATS UIBB (personalizations
made in this rendering mode will not be available in the List ATS UIBB). Row Repeater Rendering is also not
supported in the List ATS UIBB; a much better way for that is the FPM Form Repeater UIBB (WD component
Remarks regarding the Feeder Class:
As I’ve already mentioned, feeder classes of the old List UIBB and the List ATS UIBB use the same feeder
class interface (IF_FPM_GUIBB_LIST). That means feeder classes of the old List UIBB can be reused without
the need for changing them. However, there are a few parameters that are intended for the List ATS UIBB only,
and which can be used optionally:
PROCESS_EVENT, parameter IO_UI_INFO
You can use this parameter in order to retrieve information about the current UI status (for example, the current sort
order, or the position of certain rows). Please refer to the FPM Developer’s Guide for more detailed info).
GET_DATA, parameter IO_EXTENDED_CTRL
You can use this parameter for extended features like controlling the mass edit mode or setting the focus (again,
please refer to the FPM Developer’s Guide for more detailed info).
GET_DATA, parameter EO_ITAB_CHANGE_LOG
This is the so called data change log. You can use it for a detailed data exchange. The old List UIBB had a
very simple method for exchanging data; you could only exchange the whole data. This parameter provides
a little more flexibility, in that you can exchange single rows of data. When this data changelog is used the
List UIBB ATS will automatically behave in a way that the SAP UI guideline recommends: This is relevant
when a sorting rule or a filter rule is active (that means when the user chose to sort or filter the data).
In such a case when a row (or more than row) is inserted, the current active sort and filter rules shall not be
applied to it.
That means if a filter rule is active that would cause the new row to be hidden it will appear on the UI anyway.
Also the current sort rule will not influence the position where it appears. The position where it appears is
determined if currently a row is selected. If so, the new row will appear beneath that selected row.
If there is no row selected it will appear at the bottom. Only when the user sorts or filters the dataagain the
sort and filter rule shall be applied to those new rows.
There are mainly two different types data change logs: The key change log (it means rows are identified by
their unique key) and the stable line change log (it means rows are identified by their position). If possible it
is recommended to use the key data change log. All the details regarding this, is documented in the
FPM Developer’s Guide. Please refer to the chapter about the List UIBB ATS, there see data exchange
(the data change log is described in detail in the appendix).
1619534: How to Adapt, Customize and Enhance FPM Applications.
- FPM Developer’s Guide (available on SCN; go to the Floorplan Manager page and choose the link
Get started with Floorplan Manager)