Floorplan Manager
for Web Dynpro ABAP
- Developer's Guide -
S A P N e t W e a v e r 7 . 0
E n h a n c e m e n t P a c k a g e 3
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
1
Copyright
Error! No text of specified style in document.
© Copyright 2011 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the
express permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components
of other software vendors.
Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z,
System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390,
OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+,
POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System
Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX,
Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM
Corporation.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of
Adobe Systems Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or
registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web
Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented
and implemented by Netscape.
SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other
SAP products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of SAP AG in Germany and in several other countries all over the world. All other product and
service names mentioned are the trademarks of their respective companies. Data contained in this document
serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its
affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any
kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only
warranties for SAP Group products and services are those that are set forth in the express warranty
statements accompanying such products and services, if any. Nothing herein should be construed as
constituting an additional warranty.
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
2
Error! No text of specified style in document.
Icons in Body Text
Icon
Meaning
Caution
Example
Note
Recommendation
Syntax
Additional icons are used in SAP Library documentation to help you identify different types of information at a
glance. For more information, see Help on Help General Information Classes and Information Classes for
Business Information Warehouse on the first page of any version of SAP Library.
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.
EXAMPLE TEXT
Example text
Example text
Technical names of system objects. These include report
names, program names, transaction codes, table names,
and key concepts of a programming language when they
are surrounded by body text, for example, SELECT and
INCLUDE.
Output on the screen. This includes file and directory
names and their paths, messages, names of variables
and parameters, source text, and names of installation,
upgrade and database tools.
Exact user entry. 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.
EXAMPLE TEXT
Keys on the keyboard, for example, F2 or ENTER.
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
3
Error! No text of specified style in document.
Table of Contents
Copyright.......................................................................................................................................................... 2
Icons in Body Text ........................................................................................................................................... 3
Typographic Conventions ................................................................................................................................ 3
Floorplan Manager ................................................................................................................................. 12
Getting Started ....................................................................................................................................... 12
User Interface Building Blocks ........................................................................................................... 13
IF_FPM_UI_BUILDING_BLOCK Interface ........................................................................................ 13
Creating a Simple FPM Application ................................................................................................... 15
Creating a Web Dynpro Component .................................................................................................. 15
Adding Views to your Web Dynpro Component ............................................................................................. 16
Creating a Web Dynpro Application ................................................................................................... 16
Using Application Parameters ............................................................................................................ 17
Creating an Application Configuration with the FPM Configuration Editor ........................................ 18
Configuring FPM_GAF_COMPONENT ............................................................................................................... 18
Configuring FPM_IDR_COMPONENT ............................................................................................................... 19
Testing your FPM Application ............................................................................................................ 19
FPM Application Creation Tool .............................................................................................................. 20
Starting the ACT ................................................................................................................................. 20
Creating a New Application using the ACT ........................................................................................ 20
FLUID (Flexible UI Designer)................................................................................................................. 21
Launching FLUID in Different Modes ................................................................................................. 22
Structure and Layout of FLUID .......................................................................................................... 22
Changing the Layout of FLUID .......................................................................................................... 27
Working with FLUID ........................................................................................................................... 28
Adding an Existing UIBB to your Application.................................................................................................. 28
Changing the Title of a Step inside an Application based on the GAF Floorplan ........................................... 28
Editing the Form Component inside an Application ....................................................................................... 29
Adding a New Button to the Toolbar in a Floorplan Component of an Application ......................................... 29
Moving back to a Floorplan Component from a GUIBB Component .............................................................. 29
Limitations .......................................................................................................................................... 30
Wire Model ............................................................................................................................................. 30
IF_FPM_UIBB_MODEL Interface ...................................................................................................... 30
IF_FPM_FEEDER_MODEL Interface ................................................................................................ 30
FPM on BOL .......................................................................................................................................... 33
Creating a GUIBB on BOL ................................................................................................................. 33
Creating an FPM Application on BOL ................................................................................................ 34
Design Time with the FPM Configuration Editor.................................................................................... 35
Floorplan Instances in the FPM Configuration Editor ........................................................................ 35
OIF Instance .................................................................................................................................................. 36
GAF Instance ................................................................................................................................................. 36
OVP Instance ................................................................................................................................................. 37
Adding and Activating Sub-Steps for GAF Applications .................................................................... 37
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
4
Error! No text of specified style in document.
FPM Toolbar ...................................................................................................................................... 37
Differences between an OIF and a GAF Toolbar ........................................................................................... 38
Adding Elements to a Toolbar ........................................................................................................................ 38
Adjusting the Toolbar Dynamically ................................................................................................................. 38
Toolbar Buttons .............................................................................................................................................. 39
Toolbar Button Events ................................................................................................................................... 40
IF_FPM_CNR_GAF Interface ............................................................................................................ 41
Accessing the API for a GAF application: ...................................................................................................... 41
GAF Specific Parameters............................................................................................................................... 42
IF_FPM_CNR_OIF Interface ............................................................................................................. 44
Accessing the API for an OIF application: ...................................................................................................... 44
OIF Specific Parameters ................................................................................................................................ 45
FPM Complete Preview ..................................................................................................................... 46
FPM Identification Region (IDR) ........................................................................................................ 46
Adjusting the IDR Dynamically ....................................................................................................................... 47
Adding a Link to the FPM Configuration Editor in the IDR ............................................................................. 47
IF_FPM_IDR Interface ....................................................................................................................... 47
Providing a Link to the FPM Configuration Editor in the IDR ............................................................. 48
Quick Help .......................................................................................................................................... 49
Creating Quick Help ....................................................................................................................................... 49
Procedure ...................................................................................................................................................... 49
Variants .............................................................................................................................................. 50
Configuring Variant Selection ......................................................................................................................... 50
Initial Screen ...................................................................................................................................... 51
Skipping the Initial Screen.............................................................................................................................. 51
Confirmation Screen ...................................................................................................................................... 52
FPM Event Loop ................................................................................................................................ 53
Raising Standard Events ............................................................................................................................... 53
Triggering the FPM Event Loop ..................................................................................................................... 53
Triggering Application-Specific Events ........................................................................................................... 54
Reacting to Framework Events ...................................................................................................................... 54
Key Web Dynpro Methods ............................................................................................................................. 55
Different Categories of Web Dynpro Interfaces .............................................................................................. 55
Overview Page Floorplan (OVP) ........................................................................................................... 56
Structure of an OVP ........................................................................................................................... 56
Page .............................................................................................................................................................. 56
Section ........................................................................................................................................................... 57
UIBBs / GUIBBs ............................................................................................................................................. 57
Stacking ......................................................................................................................................................... 58
Page Master ................................................................................................................................................... 58
Personalization ................................................................................................................................... 60
Personalization Editor .................................................................................................................................... 61
Toolbars ............................................................................................................................................. 63
External Navigation Menus ................................................................................................................ 63
Default Actions ................................................................................................................................... 64
Edit / Display Mode ............................................................................................................................ 65
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
5
Error! No text of specified style in document.
Processing Mode for Collapsed UIBBs ('Lazy Load') ........................................................................ 66
Technical UIBBs ................................................................................................................................. 67
Initial Search Page & External Navigation ......................................................................................... 67
OVP-Related FPM Events for Navigation .......................................................................................... 71
Dynamic Changes at Runtime ........................................................................................................... 73
OVP CNR API ................................................................................................................................................ 74
Application Configuration Controller API ........................................................................................................ 75
Setting a Default ALV View for a Freestyle UIBB .................................................................................. 76
Design Time Settings in the FPM Configuration Editor ..................................................................... 77
Rendering the ALV Views during Runtime......................................................................................... 77
FPM Dialog Boxes ................................................................................................................................. 78
Structure ............................................................................................................................................. 78
Features ............................................................................................................................................. 79
Creating and Configuring an FPM Dialog Box ................................................................................... 80
Triggering Dialog Boxes from a Toolbar Button ................................................................................. 81
Opening and Closing FPM Dialog Boxes........................................................................................... 81
Event Processing in Dialog Boxes ..................................................................................................... 82
The MV_IS_DIALOG_MODE Attribute .............................................................................................. 82
Sample Coding to Call A Dialog Box ................................................................................................. 82
Opening a Dialog Box using Direct API ......................................................................................................... 82
Opening a Dialog Box by Raising an FPM Event ........................................................................................... 82
Message Manager for FPM Dialog Boxes ......................................................................................... 83
Error Page of an FPM Dialog Box ...................................................................................................... 84
Enabling/Disabling Dialog Box Buttons at Runtime ........................................................................... 84
Sample Code to Set the Status of the Dialog Box button. ................................................................. 84
FAQs on FPM Dialog Boxes .............................................................................................................. 84
Generic User Interface Building Block (GUIBB) .................................................................................... 85
Feeder Classes .................................................................................................................................. 85
Structure ........................................................................................................................................................ 85
Features ......................................................................................................................................................... 86
Context Menus in GUIBBs ................................................................................................................. 86
Methods of IF_FPM_GUIBB_CTXT_MENU Interface .................................................................................... 86
Form Component (GUIBB FORM GL2) ............................................................................................. 88
Structure ........................................................................................................................................................ 88
IF_FPM_GUIBB_FORM Interface .................................................................................................................. 89
Group Layout in a Form ................................................................................................................................. 93
Form Component (GUIBB FORM) ..................................................................................................... 93
Structure ........................................................................................................................................................ 93
IF_FPM_GUIBB_FORM Interface .................................................................................................................. 94
Using the CHECKBOX_GROUP Display Type in a Form .............................................................................. 97
List ATS Component (GUIBB List ATS) ............................................................................................. 98
Feeder Class .................................................................................................................................................. 98
Configuration ................................................................................................................................................ 100
Data Exchange ............................................................................................................................................ 100
Actions ......................................................................................................................................................... 102
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
6
Error! No text of specified style in document.
Features ....................................................................................................................................................... 104
Advanced Features ...................................................................................................................................... 105
Changes to Elements from 'Old' List Component (GUIBB List) .................................................................... 107
List Component (GUIBB LIST) ......................................................................................................... 108
Structure ...................................................................................................................................................... 108
IF_FPM_GUIBB_LIST_PAGING Interface ................................................................................................... 113
Additional Information on the List Component ............................................................................................. 115
FPM Events and the List Component .......................................................................................................... 116
Rendering GUIBB List as ALV ..................................................................................................................... 116
Hierarchical List Component (GUIBB TREE)................................................................................... 117
Structure ...................................................................................................................................................... 117
IF_FPM_GUIBB_TREE Interface ................................................................................................................. 119
Additional Information on the Hierarchical List Component ......................................................................... 124
FPM Events and the Hierarchical List Component ....................................................................................... 124
Search Component (GUIBB SEARCH) ........................................................................................... 125
Structure ...................................................................................................................................................... 126
Integration .................................................................................................................................................... 127
IF_FPM_GUIBB_SEARCH Interface ........................................................................................................... 127
Enter, Reset, and Clear Buttons .................................................................................................................. 133
Result List .................................................................................................................................................... 133
Exclude Criteria ............................................................................................................................................ 135
Dependent Searches ................................................................................................................................... 135
Launchpad Component (GUIBB LAUNCHPAD) .............................................................................. 135
Structure ...................................................................................................................................................... 135
IF_FPM_GUIBB_LAUNCHPAD Interface .................................................................................................... 138
Tabbed Component (GUIBB TABBED COMPONENT) ................................................................... 139
Structure ...................................................................................................................................................... 140
Changing the Tabbed Component Dynamically at Runtime ........................................................................ 140
POWL Component (GUIBB POWL) ................................................................................................. 141
Pre-requisites ............................................................................................................................................... 141
The POWL Component in FPM ................................................................................................................... 142
Configuring a POWL Component in FPM .................................................................................................... 142
The POWL Component at Runtime ............................................................................................................. 145
Actions from Detail UIBB.............................................................................................................................. 146
Navigation to Error Page .............................................................................................................................. 146
Composite Component (GUIBB Composite) ................................................................................... 147
Structure ...................................................................................................................................................... 147
Editing the Composite Component .............................................................................................................. 147
Changing the Composite UIBB dynamically at Runtime .............................................................................. 147
Analytical Components ........................................................................................................................ 148
Analytics List Component................................................................................................................. 149
Component Configuration ............................................................................................................................ 149
Tree Component with Analytics Feeder Class ................................................................................. 151
Search Component with Analytics Feeder Class ............................................................................. 153
Chart Component with Analytics Feeder Class ............................................................................... 154
Structure ...................................................................................................................................................... 155
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
7
Error! No text of specified style in document.
IF_BS_ANLY_GUIBB_CHART Interface ..................................................................................................... 156
Chart Configuration for the Floorplan Manager ............................................................................................ 159
Chart Appearance ........................................................................................................................................ 160
Chart Customizing File ................................................................................................................................. 161
Adding a Chart Component.......................................................................................................................... 161
FPM Events and the Chart Component ....................................................................................................... 162
Application-Specific Analytics UIBBs ............................................................................................... 163
Analytical Application Programming Interface (API) ..................................................................................... 163
FPM Event Loop for Analytics and Planning.................................................................................... 164
REUSE UIBB (RUIBB) ......................................................................................................................... 166
Attachment RUIBB ........................................................................................................................... 166
RUIBB Interface ........................................................................................................................................... 166
Adding the Attachment RUIBB in FLUID ...................................................................................................... 170
Attachment RUIBB Features ........................................................................................................................ 171
Notes RUIBB .................................................................................................................................... 176
RUIBB Interface ........................................................................................................................................... 176
Adding the Notes RUIBB in FLUID .............................................................................................................. 180
Notes RUIBB Features ................................................................................................................................ 181
Value/Input Helps for Generic UIBBs (GUIBBs) .................................................................................. 184
Assignments in the Field Description ............................................................................................... 185
DDIC Value Help .......................................................................................................................................... 185
OVS ............................................................................................................................................................. 185
Freestyle Value Help .................................................................................................................................... 185
Fixed Values ................................................................................................................................................ 186
Drag-and-Dropping Data between UIBBs ........................................................................................... 186
Enabling Drag-and-Drop .................................................................................................................. 186
Configuring Drag-and-Drop .............................................................................................................. 187
Events and Event Parameters ......................................................................................................... 188
Class, Methods and Parameters of Drag-and-Drop ........................................................................ 188
Event Processing during Drag-and-Drop ......................................................................................... 190
Handling Drop in UIBBs ................................................................................................................... 190
Dynamically Changing Drag-and-Drop ............................................................................................ 190
Context Based Adaptations (CBA) ...................................................................................................... 190
Basic Concepts ................................................................................................................................ 192
Adaptation Schema ...................................................................................................................................... 192
Adaptation Dimension .................................................................................................................................. 192
Adaptation Context ...................................................................................................................................... 192
Inheritance of Component Configurations .................................................................................................... 192
Step-By-Step Example ..................................................................................................................... 192
Adding an Attachment UIBB for Managers .................................................................................................. 192
Adapting the Address Layout ....................................................................................................................... 197
Avoiding Unnecessary FPM Events ............................................................................................................. 201
Setting the Adaptation Context Locally ........................................................................................................ 201
Hiding of UIBBs ............................................................................................................................................ 203
Navigation with Launchpads ................................................................................................................ 204
SAP COMMUNITY NETWORK
SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG
8