Thomas Frambach, Simon Hoeggxmedia.galileo-press.de.s3.amazonaws.com/leseprobe… ·  ·...

53
Bonn Boston Thomas Frambach, Simon Hoeg Floorplan Manager für Web Dynpro ABAP

Transcript of Thomas Frambach, Simon Hoeggxmedia.galileo-press.de.s3.amazonaws.com/leseprobe… ·  ·...

Bonn � Boston

Thomas Frambach, Simon Hoeg

Floorplan Manager für Web Dynpro ABAP™

Auf einen Blick

TEIL I Grundlagen

1 Einführung ............................................................... 19

2 Erste Schritte: Erstellen einer Floorplan-Manager-Anwendung ............................................................. 57

3 Konfiguration einer Floorplan-Manager-Anwendung ............................................................. 73

4 Phasenmodell .......................................................... 111

TEIL II Generische UI-Building-Blocks

5 Feeder-Klassen ......................................................... 151

6 UI-Komponenten ..................................................... 229

TEIL III Weiterführende Funktionen und Praxisempfehlungen

7 Message Handling .................................................... 263

8 Navigation ............................................................... 281

9 Dialoge .................................................................... 311

10 Dynamisches Verhalten ............................................ 317

11 Wiring ...................................................................... 339

7

Inhalt

Vorwort ................................................................................... 13

TEIL I Grundlagen

1 Einführung ............................................................... 19

1.1 UI-Framework für die SAP Business Suite ................ 201.1.1 SAP NetWeaver Application Server

als Basis ...................................................... 201.1.2 UI-Guidelines ............................................. 221.1.3 Floorplans .................................................. 231.1.4 Auslieferung und Verfügbarkeit .................. 30

1.2 Basistechnologie Web Dynpro ABAP ...................... 321.2.1 Grundlagen ................................................ 321.2.2 Anpassungen in Web Dynpro ABAP ........... 40

1.3 Floorplan Manager und Web Dynpro ABAP ............ 501.3.1 Floorplan-Manager-Components ................ 501.3.2 Floorplan-Manager-Anwendungs-

hierarchie ................................................... 521.3.3 Floorplan-Manager-Phasenmodell .............. 531.3.4 Technische Integration in der

SAP Business Suite ...................................... 541.4 Zusammenfassung ................................................... 56

2 Erste Schritte: Erstellen einer Floorplan-Manager-Anwendung ............................................. 57

2.1 Erstellen einer einfachen Floorplan-Manager-Anwendung ............................................................ 572.1.1 Erstellen einer Web-Dynpro-Component .... 582.1.2 Erstellen einer Web-Dynpro-Anwendung ... 612.1.3 Anlegen der Konfigurationen mit dem

Konfigurationseditor des Floorplan Managers ................................................... 63

2.1.4 Testen der Floorplan-Manager-Anwendung ................................................ 67

2.1.5 Wie geht es weiter? .................................... 68

Inhalt

8

2.2 Application Creation Tool ........................................ 692.3 Zusammenfassung ................................................... 71

3 Konfiguration einer Floorplan-Manager-Anwendung ............................................................. 73

3.1 Konfigurierbare Komponenten ................................ 743.2 Konfigurationseditor ................................................ 75

3.2.1 Starten des Editors ...................................... 753.2.2 Arbeitsbereiche des Editors ......................... 783.2.3 Bildfolge eines Floorplans ............................ 823.2.4 Konfiguration der Identification Region ....... 833.2.5 Grundlagen zur Konfiguration eines

Guided Activity Floorplans .......................... 843.2.6 Grundlagen zur Konfiguration eines ............

Object Instance Floorplans .......................... 873.2.7 Grundlagen zur Konfiguration eines ............

Overview Page Floorplans ........................... 883.2.8 Konfiguration des Einstiegsbildes und .........

Bestätigungsbildes ....................................... 923.2.9 Konfiguration von Erläuterungen ................. 943.2.10 Konfiguration der Toolbar ........................... 94

3.3 Anwendungshierarchie-Browser .............................. 1043.3.1 Starten der Anwendung .............................. 1063.3.2 Browser-Modus .......................................... 1073.3.3 Deep-Copy-Modus ..................................... 108

3.4 Zusammenfassung ................................................... 109

4 Phasenmodell .......................................................... 111

4.1 Überblick ................................................................ 1114.1.1 Web-Dynpro-Controller-Methoden ............. 1134.1.2 Ereignissteuerung ........................................ 116

4.2 Floorplan-Manager-Schnittstellen ............................ 1194.2.1 Interface IF_FPM_UI_BUILDING_BLOCK ..... 1214.2.2 Interface IF_FPM_WORK_PROTECTION ..... 1334.2.3 Interface IF_FPM_TRANSACTION ............... 1354.2.4 Anwendungsspezifische Konfigurations-

Controller .................................................... 1384.2.5 Interface IF_FPM_SHARED_DATA ............... 141

Inhalt

9

4.2.6 Interface IF_FPM_APP_CONTROLLER ........ 1424.2.7 Interface IF_FPM_RESOURCE_MANAGER .. 143

4.3 Zusammenfassung ................................................... 148

TEIL II Generische UI-Building-Blocks

5 Feeder-Klassen ........................................................ 151

5.1 Grundlagen und Gemeinsamkeiten ......................... 1525.1.1 Feeder-Methode GET_PARAMETER_LIST ... 1545.1.2 Feeder-Methode INITIALIZE ...................... 155

5.2 Interface IF_FPM_GUIBB_FORM ............................. 1575.2.1 Feeder-Methode GET_DEFINITION ............ 1575.2.2 Feeder-Methode GET_DATA ...................... 1745.2.3 Feeder-Methode FLUSH ............................. 1845.2.4 Feeder-Methode PROCESS_EVENT ............. 1865.2.5 Feeder-Methode GET_DEFAULT_CONFIG .. 1885.2.6 Feeder-Methode CHECK_CONFIG .............. 197

5.3 Interface IF_FPM_GUIBB_LIST ................................ 1975.3.1 Feeder-Methode GET_DEFINITION ............ 1985.3.2 Feeder-Methode GET_DATA ...................... 2045.3.3 Feeder-Methode PROCESS_EVENT ............. 2085.3.4 Feeder-Methode

CHECK_DEFAULT_CONFIG ........................ 2095.3.5 Feeder-Methode CHECK_CONFIG .............. 212

5.4 Interface IF_FPM_GUIBB_SEARCH .......................... 2125.4.1 Feeder-Methode GET_DEFINITION ............ 2135.4.2 Feeder-Methode GET_DATA ...................... 2215.4.3 Feeder-Methode PROCESS_EVENT ............. 2235.4.4 Feeder-Methode FLUSH ............................. 2265.4.5 Feeder-Methoden CHECK_DEFAULT_

CONFIG und CHECK_CONFIG .................... 2265.5 Zusammenfassung ................................................... 227

6 UI-Komponenten .................................................... 229

6.1 Formular-Komponente ........................................... 2306.1.1 Arbeitsbereich Vorschau ............................. 2326.1.2 Arbeitsbereich Hierarchie .......................... 2336.1.3 Arbeitsbereich Attributsicht ........................ 235

Inhalt

10

6.1.4 Arbeitsbereich Aktionsbereich ..................... 2366.1.5 Konfiguration von zentralen

Einstellungen .............................................. 2416.2 Listen-Komponente ................................................. 242

6.2.1 Arbeitsbereich Vorschau ............................. 2436.2.2 Arbeitsbereich Hierarchie ........................... 2446.2.3 Arbeitsbereiche Attributsicht und

Aktionsbereich ............................................ 2446.2.4 Konfiguration von zentralen

Einstellungen .............................................. 2466.3 Suchmasken-Komponente ....................................... 251

6.3.1 Arbeitsbereich Vorschau ............................. 2526.3.2 Arbeitsbereich Hierarchie ............................ 2526.3.3 Arbeitsbereiche Attributsicht und

Aktionsbereich ............................................ 2536.3.4 Konfiguration von zentralen

Einstellungen .............................................. 2546.4 Registerkarten-Komponente .................................... 256

6.4.1 Arbeitsbereich Vorschau ............................. 2586.4.2 Arbeitsbereich Hierarchie ............................ 2586.4.3 Arbeitsbereiche Attributsicht und

Aktionsbereich ............................................ 2596.4.4 Layouteinstellungen .................................... 259

6.5 Zusammenfassung ................................................... 260

TEIL III Weiterführende Funktionen und Praxisempfehlungen

7 Message Handling ................................................... 263

7.1 Nachrichtentypen .................................................... 2637.2 Verwendung des Message Managers ....................... 266

7.2.1 Konfiguration der Message Region .............. 2667.2.2 Schnittstelle

IF_FPM_MESSAGE_MANAGER ................... 2687.3 Fehlerseite ............................................................... 2737.4 Message Mapping ................................................... 275

7.4.1 Zuordnungsfelder ........................................ 2767.4.2 Generalisierung ........................................... 2777.4.3 Tabellensichten für den Message Mapper .... 279

Inhalt

11

7.4.4 Schnittstellenparameter zum Message Mapping ...................................... 279

7.4.5 Protokoll zum Message Mapping ................ 2807.5 Zusammenfassung ................................................... 280

8 Navigation ............................................................... 281

8.1 Launchpad .............................................................. 2858.1.1 Standard-Launchpad ................................... 2888.1.2 Embedded Launchpad ................................ 2918.1.3 Launchpad-UIBB ........................................ 293

8.2 Customizing ............................................................ 3028.3 Navigationsschnittstelle .......................................... 3068.4 Zusammenfassung ................................................... 309

9 Dialoge .................................................................... 311

9.1 Konfiguration von Dialogen .................................... 3119.1.1 Guided Activity und Object Instance .......... 3129.1.2 Overview Page ........................................... 312

9.2 Öffnen von Dialogen ............................................... 3139.2.1 Öffnen mittels Konfiguration ...................... 3139.2.2 Dynamisches Öffnen ................................... 314

9.3 Schließen von Dialogen .......................................... 3159.4 Zusammenfassung ................................................... 316

10 Dynamisches Verhalten ........................................... 317

10.1 OIF-Schnittstelle ..................................................... 32010.1.1 IF_FPM_OIF ............................................... 32110.1.2 IF_FPM_CNR_OIF ...................................... 32410.1.3 IF_FPM_IDR ............................................... 326

10.2 GAF-Schnittstelle .................................................... 32910.2.1 IF_FPM_GAF .............................................. 33010.2.2 IF_FPM_CNR_GAF und IF_FPM_IDR .......... 332

10.3 OVP-Schnittstelle ................................................... 33310.3.1 IF_FPM_OVP .............................................. 33310.3.2 IF_FPM_CNR_OVP ..................................... 335

10.4 Zusammenfassung ................................................... 338

Inhalt

12

11 Wiring ...................................................................... 339

11.1 Konzept .................................................................. 34011.1.1 Feeder-Modell ............................................ 34011.1.2 Konnektorklasse .......................................... 34111.1.3 Transaktionsbehandlung .............................. 343

11.2 Konfiguration und Implementierung ........................ 34411.2.1 Datenmodell und benötigte Klassen ............ 34511.2.2 Programmablauf .......................................... 34711.2.3 Implementierung ........................................ 34711.2.4 Konfiguration .............................................. 351

11.3 Zusammenfassung ................................................... 352

Die Autoren ............................................................................. 353

Index ........................................................................................ 355

13

Vorwort

»Simplicity« war der Name des Projektes zur Gründung eines UI-Frameworks, das nach rund vier Jahren und insgesamt fünf Entwick-lungszyklen zu einem unverzichtbaren Bestandteil der Entwicklung von Webanwendungen für betriebswirtschaftliche Standardsoftware in der SAP Business Suite geworden ist.

Es gehört in der Tat zu den Kernaufgaben des Floorplan Managers für Web Dynpro ABAP, die Welt einfacher zu gestalten: Anwendern Be-nutzeroberflächen mit hohem Wiedererkennungsgrad und exzel-lenter Bedienbarkeit zu präsentieren, technischen Beratern und Ge-schäftsprozessexperten maximale Flexibilität bei der Anpassung von Oberflächen zu erlauben und insbesondere Anwendungsentwicklern eine zeitaufwendige Oberflächenprogrammierung zu ersparen.

Zielsetzung

Dieses Buch verfolgt das Ziel, allen Verwendern des Floorplan Mana-gers für Web Dynpro ABAP eine umfassende technische Hilfe zur Verfügung zu stellen: Grundlagenwissen, Anwendungsbeispiele und Praxisempfehlungen. Dazu wird Ihnen zum einen die technologische Basis des Floorplan Managers vermittelt, zum anderen erhalten Sie anhand vielfältiger Beispiele eine umfangreiche Hilfestellung für das Erlernen der relevanten Techniken und Tools des Floorplan Mana-gers.

Nach der Lektüre sind Sie in der Lage, selbstständig SAP-Geschäfts-anwendungen mithilfe des Floorplan Managers zu entwickeln, kön-nen dieses Buch aber auch als Nachschlagewerk verwenden. Es beschränkt sich dabei nicht nur auf die Dokumentation der wesent-lichen Aspekte, sondern bietet darüber hinaus Hintergrundinforma-tionen zur Architektur und Funktionsweise des Floorplan Managers.

14

Vorwort

Aufbau

Das Werk folgt dem typischen Aufbau eines Kompendiums:

� Der erste Teil des Buches besteht aus vier Grundlagenkapiteln. In Kapitel 1 werden die allgemeinen Grundlagen und theoretischen Hintergründe zum Floorplan Manager vorgestellt und die verwen-deten Begriffe erläutert. Nach der Erstellung einer Beispielanwen-dung in Kapitel 2 und Konfigurationsdetails in Kapitel 3 erklärt das Werk in Kapitel 4 die Kernkomponenten des Floorplan Managers.

� Der zweite Teil befasst sich dann mit generischen UI-Komponen-ten für die Darstellung von Anwendungsinhalten (Kapitel 5 und Kapitel 6).

� Der dritte Teil des Buches vermittelt weiterführende Floorplan-Manager-Funktionalitäten. Dabei ist Kapitel 7 der Nachrichten-behandlung gewidmet und Kapitel 8 der Navigation mit dem Floorplan Manager. Innerhalb von Kapitel 9 wird der Umgang mit Dialogen vorgestellt. Kapitel 10 beschäftigt sich mit der Verwen-dung der Floorplan-Manager-Programmierschnittstellen. Schließ-lich wird in Kapitel 11 das Wiring für den Datenaustausch zwischen Floorplan-Manager-Komponenten erklärt und anhand eines Imple-mentierungsbeispiels veranschaulicht.

Wo immer möglich, werden Tipps und Tricks, illustrative Beispiele und Screenshots zur Erläuterung sowie Tabellen präsentiert, damit Sie die Inhalte zu einer bestimmten Fragestellung schnell erfassen und selbst in der Praxis umsetzen können.

Zusatzinformationen

Wichtige Hinweise und Zusatzinformationen werden in Form von grau hinterlegten Kästen gesondert hervorgehoben. Diese Kästen haben unterschiedliche Schwerpunkte und sind mit verschiedenen Symbolen markiert:

� Achtung: Seien Sie bei der Durchführung der Aufgabe oder des Schrittes besonders vorsichtig, der mit einem Ausrufezeichen mar-kiert ist. Eine Erklärung, warum hier Vorsicht geboten ist, ist bei-gefügt.

� Hinweis: Wird das besprochene Thema erläutert und vertieft, macht ein Pluszeichen Sie darauf aufmerksam.

15

Vorwort

� Tipp: Nützliche Tipps und Shortcuts, die Ihnen die Arbeit erleich-tern, sind mit einem Sternchen gekennzeichnet.

� Weitere Informationen: Mit dem Doppelpfeil gekennzeichnete Stellen verweisen Sie auf andere Kapitel im Buch oder externe Informationen, die Ihnen dabei helfen, das Thema umfassender zu verstehen.

Systemvoraussetzungen

Dieses Buch behandelt den Floorplan-Manager-Auslieferungsstand auf Basis von SAP NetWeaver 7.0 Enhancement Package 2. Grund-sätzlich steht der Floorplan Manager seit dem Enhancement Package 1von SAP NetWeaver 7.0 zur Verfügung. Dort sind neben den Kern-funktionalitäten und dem Konfigurationseditor bereits die wichtigs-ten Floorplans und die generischen Komponenten für das Formular und die Liste enthalten.

Danksagung

Unser Dank gilt dem Verlag Galileo Press und besonders unserem Lektor Stefan Proksch für die tolle Zusammenarbeit. Außerdem möchten wir uns herzlich bei den Kollegen aus dem Architekturteam der SAP Business Suite für die unermüdliche Unterstützung in allen zentralen Fragen und Diskussionen bedanken. Unsere besondere Verbundenheit und Hochachtung gilt schließlich dem Floorplan-Manager-Team, das in den vergangenen Jahren durch hervorragende Arbeit und enormes Engagement dieses UI-Framework erschaffen hat. Audentis fortuna iuvat! – Den Tapferen hilft das Glück! (Vergil, »Aeneis«)

Thomas Frambach, Senior-Entwickler, SAP AGSimon Hoeg, Senior-Entwickler, SAP AG

281

Für die Kommunikation von Anwendungen in einem überge-ordneten Kontext ist es notwendig, eine Navigation der Anwendungen untereinander zu ermöglichen. Für diese Navigation zwischen den Anwendungen mit dem Floorplan Manager wird das Launchpad verwendet. In diesem Kapitel werden alle Aspekte der Navigation im Zusammenhang mit Floorplan Manager und Launchpad erläutert.

8 Navigation

Für die Abbildung komplexerer Abläufe oder ganzer Prozessketten müssen häufig mehrere Anwendungen miteinander interagieren. Dafür integrieren Anwendungen in der Regel die Möglichkeit, andere abhängige Anwendungen wiederum selbst aufzurufen. Der Floorplan Manager nutzt für diesen Zweck ein spezielles Navigati-onswerkzeug, das Launchpad.

Hinweis

Im Hinblick auf die Verwendung des Begriffs der Navigation im Zusam-menhang mit dem Launchpad ist es notwendig, diesen Begriff für die Aus-führungen in diesem Abschnitt gegenüber der internen Anwendungsnavi-gation abzugrenzen. Das Launchpad dient dem Zweck der anwendungs-übergreifenden Navigation. Damit ist der tatsächliche Aufruf einer Anwendung gemeint, die durch eine andere Anwendung ausgelöst wurde. Nicht diskutiert werden soll an dieser Stelle eine etwaige Naviga-tion innerhalb einer Anwendung, wie zum Beispiel beim Hin-und-Her-Springen zwischen den Schritten bei einem Guided Activity Floorplan. Der Begriff der Navigation muss daher aufgrund der jeweils differierenden Charakteristik bezüglich der beiden möglichen Navigationsarten unter-schieden werden in:

� externe Navigation zwischen Anwendungen

� interne Navigation innerhalb einer Anwendung

Für die nachfolgenden Ausführungen zum Launchpad wird der Begriff der Navigation synonym für die externe Navigation zwischen mehreren Anwendungen untereinander verwendet.

282

Navigation8

Interne/Externe Navigation

In Abbildung 8.1 sehen Sie den Unterschied zwischen interner und externer Navigation noch einmal veranschaulicht. Die Darstellung für die interne Navigation zeigt dabei das Umschalten zwischen zwei Schritten eines Guided Activity Floorplans bei einer Anwendung für den Performance-Management-Prozess aus SAP ERP. Die Darstellung für die externe Navigation illustriert im Kontrast dazu eine andere ERP-Anwendung für die Karriereplanung von Mitarbeitern aus dem Talentmanagement, in der mittels Drucktaste eine weitere Anwen-dung mit der Selbstbeschreibung eines Mitarbeiters aufgerufen wird.

Abbildung 8.1 Lokale und anwendungsübergreifende Navigation

Grundsätzlich dient das Launchpad immer der Pflege der Beziehung zwischen einem Aufrufer und einem Aufgerufenen. Der Aufrufer ist bei der Verwendung des Launchpads innerhalb des Floorplan Mana-gers zwangsläufig immer auch selbst eine Floorplan-Manager-Anwendung. Für die Pflege und die Navigation zu dem Aufgerufenen stellt das Launchpad ein Customizing bereit, das die Integration für

Externe (anwendungsübergreifende) Navigation

Anwendung 1

Anwendung 2

Interne (anwendungslokale) Navigation

283

Navigation 8

eine ganze Reihe von Anwendungstypen erlaubt. Dadurch ermög-licht das Launchpad eine echte Interoperabilität über die Integration von Web-Dynpro-Anwendungen hinaus.

AnwendungstypenTabelle 8.1 beschreibt alle Anwendungstypen, die in einem Launch-pad gepflegt und damit im Rahmen einer Anwendung mit dem Floor-plan Manager aufgerufen werden können.

Anwendungstyp Beschreibung

BEx Analyser Mit diesem Typ kann der BEx Analyzer gestartet werden.

BI Report Mit diesem Typ wird zu einem BI Enter-prise Report navigiert.

BusinessObjects Dashboard (früher Xcelsius Dashboard)

Mit diesem Typ wird auf ein Dashboard navigiert, das mit SAP BusinessObjects Dashboards erstellt wurde.

Crystal Reports Mit diesem Typ wird auf einen Report navigiert, der mit SAP Crystal Reports erstellt wurde.

InfoSet Query Dieser Typ navigiert auf InfoSet Querys (SAP Querys).

Object-Based Navigation Die sogenannte Object-Based Navigation (OBN) ist ein Navigationsinstrument im SAP NetWeaver Portal. Dabei wird die Beziehung zwischen definierten Business-Objekten und zugehörigen Operationen gepflegt, die mit PCD-Objekten für die Navigation verknüpft werden können.

Analog kann die Beziehung für die Object-Based Navigation auch in PFCG-Rollen in der gleichnamigen Transaktion gepflegt werden, um eine Object-Based Navigation ebenso im SAP NetWeaver Business Client zu ermöglichen.

Portal Pages Dieser Typ navigiert auf Objekte aus dem Portal Content Directory (PCD) im SAP NetWeaver Portal.

Report Writer Dieser Typ startet Report-Writer-Berichte, basierend auf aktuellen Daten, und reprä-sentiert den Vorgänger der BI-Berichte.

Tabelle 8.1 Anwendungstypen für die Navigation mit dem Launchpad

284

Navigation8

Ein Launchpad kann innerhalb einer Floorplan-Manager-Anwen-dung in unterschiedlichen Ausprägungen verwendet werden. Je nach Ausprägung wird daher zwischen drei Launchpad-Typen unter-schieden:

Launchpad-Typen � StandardDas Standard-Launchpad kann in Floorplans integriert werden und dient dort als Startpunkt für den Aufruf weiterer Anwendun-gen.

� EmbeddedDas Embedded Launchpad kann, wie der Name schon andeutet, als Web-Dynpro-Component in andere Web-Dynpro-Components integriert werden.

� FPM UIBBDas Launchpad vom Typ FPM UIBB kann wie ein eigenständiger UI-Building-Block (UIBB) beliebige Navigationsziele über zwei Hierarchien hinweg verwalten.

SAP BI Report (Query) Mit diesem Typ wird eine BI Query aufge-rufen.

SAP BI Report (Webtemplate) Mit diesem Typ wird ein BI-Webtemplate aufgerufen.

Transactions Dieser Typ stößt herkömmliche ABAP-Transaktionen an.

URL Mit diesem Typ wird auf eine beliebige URL navigiert.

Visual Composer xApps Dieser Typ startet Composite Applicati-ons, die mit dem SAP NetWeaver Visual Composer erstellt wurden.

Web Dynpro ABAP Dieser Typ navigiert auf Anwendungen in Web Dynpro ABAP im Allgemeinen. Das können Floorplan-Manager-Anwendun-gen oder herkömmliche Web-Dynpro-Anwendungen sein.

Web Dynpro Java Dieser Typ navigiert auf Anwendungen in Web Dynpro Java auf dem SAP NetWea-ver Application Server Java.

Anwendungstyp Beschreibung

Tabelle 8.1 Anwendungstypen für die Navigation mit dem Launchpad (Forts.)

285

Launchpad 8.1

Mit der detaillierten Beschreibung der jeweiligen Launchpads befasst sich Abschnitt 8.1. Das weitere Customizing von Launchpads wird Ihnen in Abschnitt 8.2 erläutert. Das grundsätzliche Vorgehen für den programmatischen Umgang mit der Floorplan-Manager-Schnitt-stelle für die Navigation ist in Kapitel 9, »Dialoge«, beschrieben.

8.1 Launchpad

Für alle Aspekte bezüglich der Navigation zwischen Anwendungen ist die jeweilige Laufzeitumgebung zu diesen Anwendungen zu beachten. Für webbasierte Anwendungen, die in Web Dynpro ABAP erstellt wurden, sind im SAP-Umfeld vor allem die folgenden Lauf-zeitumgebungen interessant:

� SAP NetWeaver Portal

� SAP NetWeaver Business Client (Release 3.x)

� Webbrowser (Internet Explorer, Mozilla Firefox, Safari)

Darüber hinaus muss berücksichtigt werden, ob die interagierenden Anwendungen vollkommen losgelöst ohne übergeordneten Kontext kommunizieren oder durch eine gewisse logische Zusammengehö-rigkeit in Form einer Rolle verbunden sind. Jeglicher Anwendungs-Content im Rahmen der Releases der SAP Business Suite wird von SAP üblicherweise innerhalb von Rollen verfügbar gemacht. Als Rol-len-Repositorys werden dabei das Portal Content Directory für das SAP NetWeaver Portal sowie klassische Rollen aus dem AS ABAP (mittels Transaktion PFCG) für den SAP NetWeaver Business Client unterstützt. In Tabelle 8.2 werden die Laufzeitumgebungen und Rol-len-Repositorys sowie die verfügbaren Launchpad-Anwendungsty-pen miteinander in Zusammenhang gebracht.

286

Navigation8

Rollen Tabelle 8.2 berücksichtigt das aktuelle Release 3.0 für den SAP Net-Weaver Business Client. Für das technische Verständnis ist es außer-dem wichtig zu wissen, dass der SAP NetWeaver Business Client sei-

Anwendungs-typ

SAP NetWeaver Portal

SAP NetWeaver Business Client (PCD)

SAP NetWeaver Business Client (PFCG)

Webbrowser

BEx Analyser ja ja nein BAdI-Imple-mentierung

BI Report ja ja ja BAdI-Imple-mentierung

Crystal Reports ja ja ja BAdI-Imple-mentierung

InfoSet Query ja ja ja BAdI-Imple-mentierung

Object-Based Navigation

ja ja ja BAdI-Imple-mentierung

Portal Pages ja ja nein BAdI-Imple-mentierung

Report Writer ja ja ja BAdI-Imple-mentierung

SAP BI Report (Query)

ja ja ja BAdI-Imple-mentierung

SAP BI Report (Webtemplate)

ja ja ja BAdI-Imple-mentierung

Transactions ja ja ja BAdI-Imple-mentierung

URL ja ja ja ja

Visual Compo-ser xApps

ja ja nein BAdI-Imple-mentierung

Web Dynpro ABAP

ja ja ja ja

Web Dynpro Java

ja ja nein BAdI-Imple-mentierung

Xcelsius Dash-board

ja ja ja BAdI-Imple-mentierung

Tabelle 8.2 Ausführbarkeit von Launchpad-Anwendungstypen in Abhängigkeit von Laufzeitumgebung und Rollen-Repository

287

Launchpad 8.1

nerseits sowohl Rollen aus dem Portal Content Directory als auch aus dem AS ABAP konsumieren kann, während das SAP NetWeaver Por-tal ausschließlich Zugriff auf das Portal Content Directory hat.

Die natürlichen Umgebungen für SAP-Anwendungen sind in erster Linie die SAP-eigenen Laufzeitumgebungen im SAP NetWeaver Por-tal und dem SAP NetWeaver Business Client. Die Ausführbarkeit der jeweiligen Anwendungstypen aus dem sonstigen SAP-Anwendungs-spektrum wird innerhalb dieser Umgebungen automatisch gewähr-leistet.

WebanwendungenAußerhalb der SAP-eigenen Laufzeitumgebungen werden alle Web-anwendungen als herkömmliche Browser-Anwendungen behandelt. Damit steht dort der exklusive Zugriff auf die SAP-Systemdaten nicht zur Verfügung. Für die beiden klassischen, auf ABAP basierenden Anwendungstypen Web Dynpro ABAP und Transactions ist das Launchpad selbst in der Lage, die Navigation auch in einem reinen Browser-Umfeld automatisch zu ermöglichen. Alle anderen Anwen-dungstypen haben außerhalb der SAP-Laufzeitumgebungen die Mög-lichkeit, ein BAdI (Business Add-in) mit der Bezeichnung BADI_APB_LPD_BROWSER_ONLY_URL zu verwenden, um damit eine eigene Naviga-tion zu realisieren. Dieses BAdI wird immer gezogen, sobald eine Navigation mit dem Launchpad außerhalb der SAP-Laufzeitumge-bungen erfolgt. Das BAdI-Interface IF_APB_LPD_BROWSER_ONLY_URLenthält genau eine Methode (URL_TO_START_APPLICATION), deren Signatur in Tabelle 8.3 erklärt wird.

BAdI-Implemen-tierung

Weitere Informationen

Für ausführliche Informationen zu den von SAP bereitgestellten Laufzeitum-gebungen SAP NetWeaver Business Client und SAP NetWeaver Portal ver-weisen wir Sie an dieser Stelle auf die Dokumentation für SAP NetWeaver zu diesen Produkten, die Sie im SAP Help Portal (http://help.sap.com) im Bereich SAP NetWeaver finden.

Parameter Beschreibung

ED_URL Dies ist der einzige Exportparameter der Methode. Der Wert dieses Parameters entspricht der URL, die direkt verwendet wird, um innerhalb des Webbrowsers die Navigation anzustoßen.

Tabelle 8.3 Beschreibung der BAdI-Interface-Methode URL_TO_START_APPLICATION

288

Navigation8

Grundsätzlich hat die Anwendung mithilfe der Implementierung der BAdI-Interface-Methode URL_TO_START_APPLICATION die Möglich-keit, eine URL zu definieren, die im Fall der Navigation direkt durch den Webbrowser aufgerufen wird. Die Parameter aus der Signatur dieser Methode stellen der Anwendung dafür alle Informationen bereit, über die das Launchpad beim Aufruf der Navigation verfügt.

8.1.1 Standard-Launchpad

Unter den drei Launchpad-Ausprägungen (Standard, Embedded, FPM UIBB) wird das Standard-Launchpad üblicherweise am häufigs-ten angewendet. Um ein Standard-Launchpad zu nutzen, kann eine

ID_APPLICATION_TYPE Dieser Importparameter beinhaltet den Anwen-dungstyp (siehe Tabelle 8.1).

ID_DATA_OBJECT Dieser Parameter wird lediglich von ausgewähl-ten Anwendungen genutzt und soll für die nach-folgenden Ausführungen keine Beachtung finden. Im Standardfall ist dieser Parameter einfach leer.

ID_INSTANCE Dieser Importparameter entspricht der Launch-pad-Instanz. Dieser Parameter repräsentiert gemeinsam mit ID_ROLE den Schlüssel für das jeweilige Launchpad.

ID_ROLE Dieser Importparameter entspricht der sogenann-ten Launchpad-Rolle. Dieser Parameter repräsen-tiert gemeinsam mit der ID_INSTANCE den Schlüs-sel für das jeweilige Launchpad.

ID_URL Dieser Importparameter wird im Fall der Anwen-dungstypen Web Dynpro ABAP und Transactions bereits durch das Launchpad mit der URL vorbe-legt, um die entsprechenden Anwendungen zu starten. Im einfachsten Fall könnte die Anwen-dung diese URL einfach an den Exportparameter weiterreichen.

IT_PARAMETERS Dieser Importparameter beinhaltet eine Liste mit allen Parametern, die innerhalb des Launchpad-Customizings gepflegt werden können. Somit ste-hen der Anwendung alle Customizing-Informatio-nen zur Verfügung.

Parameter Beschreibung

Tabelle 8.3 Beschreibung der BAdI-Interface-Methode URL_TO_START_APPLICA-TION (Forts.)

289

Launchpad 8.1

Anwendung in der Konfiguration der Floorplans die Toolbar-Ele-mente Sie können auch oder Verwandte Links einfach mit einem Launchpad verknüpfen. Zum Hinzufügen dieser Toolbar- respektive Drucktastenzeilen-Elemente müssen Sie folgende Schritte durchfüh-ren (siehe Abbildung 8.2):

Konfiguration1. Rufen Sie den Floorplan-Manager-Konfigurationseditor der jewei-ligen Floorplan-Komponente im Änderungsmodus auf, und selek-tieren Sie innerhalb der Komponentenkonfiguration den jeweili-gen Schritt oder die jeweilige Sicht (1).

2. Drücken Sie innerhalb des Aktionsbereichs die Drucktaste Ele-

ment zur Drucktastenleiste hinzufügen (2).

3. Wählen Sie im folgenden Dialog für die Elementauswahl Sie kön-

nen auch oder Verwandte Links aus (3).

Abbildung 8.2 Auswahl der Elemente »Sie können auch« oder »Verwandte Links« für die Verwendung des Launchpads

VerknüpfungDie Verknüpfung mit einem konkreten Launchpad erfolgt durch die Zuweisung der Launchpad-Schlüsselfelder Rolle und Instanz mit dem jeweiligen Toolbar-Element, wie in Abbildung 8.3 illustriert.

1

2

3

290

Navigation8

Abbildung 8.3 Verknüpfung von einem Launchpad mit einem Element aus der Toolbar

Schlüsselfelder Die Bedeutung der Launchpad-Schlüsselfelder wird in Abschnitt 8.2mit den Ausführungen zum Customizing erklärt. An dieser Stelle werden wie in Abbildung 8.3 die Rolle FPM_NAV_2 und die Instanz YOU_CAN_ALSO verwendet, die auch in der Beispielanwendung FPM_TEST_NAVIGATION_2 aus dem Floorplan-Manager-Testpaket einge-setzt werden.

Eine Darstellung mit diesem Beispiel ist in Abbildung 8.4 zu sehen, es veranschaulicht die Navigation unter Verwendung des Elementes Sie können auch, das üblicherweise auf nachgelagerte Anwendun-gen mit einem ähnlichen Anwendungshintergrund verweist. Auch wenn diese Beispielanwendung keinen unmittelbaren Geschäfts-zweck im Sinn einer ERP-Anwendung repräsentiert, wird doch die technische Funktionsweise eines Standard-Launchpads anschaulich illustriert.

Abbildung 8.4 Darstellung der Verwendung eines Launchpads

Analog zu der Verwendung des Elementes Sie können auch ist das Element Verwandte Links dafür vorgesehen, eine Liste mit Anwen-

291

Launchpad 8.1

dungen zu verwalten, die sich einem nahe liegenden Geschäftszweck widmen. In Kombination der Elemente Sie können auch und Verwandte Links mit dem Launchpad kann somit allein durch Kon-figuration ein Anwendungsfluss etabliert werden, bei dem jeweils thematisch zusammengehörige Anwendungen untereinander navi-gieren können.

8.1.2 Embedded Launchpad

Das Embedded Launchpad ist eine eigenständige Web-Dynpro-Com-ponent und kann als solche in andere Web-Dynpro-Components integriert werden. Dadurch lassen sich beispielsweise innerhalb von Freestyle-UIBBs Launchpads für die Navigation einbinden.

Embedded Launchpads müssen direkt als Typ Embedded im Customi-zing hinterlegt werden (siehe Abschnitt 8.2). Die Web-Dynpro-Com-ponent für das Embedded Launchpad lautet APB_LAUNCHPAD_LIGHT, und das einzige Window dieser Component ist LPD_LIGHT_WINDOW.

BestätigungsschrittVon der Verwendung eines Embedded Launchpads macht unter an-derem der UIBB der Web-Dynpro-Component FPM_CONF_STEP Ge-brauch. Dieser UIBB kann beispielsweise verwendet werden, um in einem abschließenden Bestätigungsschritt für einen Floorplan eine Auswahl möglicher anschließender Anwendungen anzubieten (siehe Abbildung 8.5).

Abbildung 8.5 Embedded Launchpad in einem Bestätigungsschritt für einen Guided Activity Floorplan

KonfigurationDer Floorplan-Manager-UIBB FPM_CONF_STEP kann separat konfigu-riert werden, um die Verknüpfung zu einem Embedded Launchpad

292

Navigation8

herzustellen. Dabei sind folgende Schritte auszuführen (siehe Abbil-dung 8.6):

1. Rufen Sie den Web-Dynpro-Konfigurationseditor für die Web-Dynpro-Component FPM_CONF_STEP aus der ABAP Workbenchheraus auf (1).

2. Legen Sie mittels des Konfigurationseditors für die Web-Dynpro-Component FPM_CONF_STEP eine neue Komponentenkonfigura-tion an (2).

3. Fügen Sie innerhalb der Komponentenkonfiguration ein neues Launchpad hinzu, und tragen Sie die notwendigen Informationen für die Launchpad-Rolle und -Instanz ein. In diesem Beispiel sind das FPM_NAV_2 für die Rolle und AREA_PAGE für die Instanz (3).

Abbildung 8.6 Konfiguration für den UIBB FPM_CONF_STEP

Verwendung Der UIBB der Web-Dynpro-Component FPM_CONF_STEP mit dem Embedded Launchpad kann dann wie jeder normale UIBB mit der

1

2

3

293

Launchpad 8.1

Angabe über Component- und Window-Name sowie über den Namen der Konfiguration verwendet werden.

8.1.3 Launchpad-UIBB

Overview Page Floorplan

Die spezielle FPM-UIBB-Ausprägung des Launchpads ist insbeson-dere für die Anwendungspakete vorgesehen, die selbst ein Menü- und Navigationsschema für die Verwendung ihrer Produkte bereit-stellen müssen. Aufgrund seiner Struktur ist der Launchpad-UIBB exklusiv für die Verwendung in einem Overview Page Floorplan vor-gesehen. Die Web-Dynpro-Component für dieses Launchpad lautet FPM_LAUNCHPAD_UIBB und steht innerhalb der Konfiguration für den Overview Page Floorplan in der UIBB-Auswahlliste (Launchpad-

Komponente hinzufügen) direkt als vorkonfigurierte Komponente zur Verfügung (siehe Abbildung 8.7).

Abbildung 8.7 Launchpad-Komponente in der Liste verfügbarer UIBBs für den Overview Page Floorplan

Home and Area Page

Eine Darstellung in der Art eines Launchpad-UIBBs wird in ähnlicher Weise durch den Floorplan Manager für Web Dynpro Java angebo-ten. Dort ist dieser Ansatz unter dem Namen Home and Area Pagebekannt und wird in erster Linie als Bestandteil von Employee (ESS)und Manager Self-Services (MSS) verwendet. Bei den Home and Area Pages handelt es sich ebenfalls um ein komplexes Navigationswerk-zeug, das für Employee und Manager Self-Services auf der Basis von Web Dynro Java für jegliche Form der Navigation verwendet wird.

Der Launchpad-UIBB greift diesen Ansatz auf und stellt damit seiner-seits Anwendungsprodukten auf Floorplan-Manager-Basis in ABAP ein strukturiertes konfigurierbares Menüschema für die Navigation bereit. Um einen Eindruck von der Darstellung im Rahmen des Floorplan Managers zu vermitteln, zeigt Abbildung 8.8 einen Laun-

294

Navigation8

chpad-UIBB bezüglich einer möglichen Verwendung für Employee Self-Services. Die Darstellung beinhaltet eine sogenannte Hauptsicht sowie die zwei optionalen Sichten für verwandte Links und die am häufigsten genutzten Anwendungen. Die Bedeutung und der Umgang mit diesen Sichten werden im weiteren Verlauf in jeweils separaten Abschnitten erläutert.

Abbildung 8.8 Darstellung eines Launchpad-UIBBs

Sichten Ein Launchpad-UIBB bietet unterschiedliche Sichten auf die Menüsund Einträge. Diese Sichten werden durch jeweils separate Windows der Web-Dynpro-Component FPM_LAUNCHPAD_UIBB repräsentiert:

� LPD_MAIN_WINDOW

Dieses Window stellt die Hauptsicht dar.

� LPD_AREA_WINDOW

Dieses Window stellt die Bereichssicht dar.

� LPD_REL_WINDOW

Dieses Window kann verwandte Links enthalten.

295

Launchpad 8.1

� LPD_HIT_WINDOW

Dieses Window kann eine Trefferliste mit den am häufigsten ein-gesetzten Anwendungen enthalten.

Dabei ist für eine sinnvolle Verwendung die Nutzung der Windows LPD_MAIN_WINDOW und LPD_AREA_WINDOW grundsätzlich vorgesehen, da eine plausible und konsistente Darstellung der Inhalte ohne sie nicht möglich ist. Die beiden Sichten der Windows LPD_HIT_WINDOWund LPD_REL_WINDOW können optional von der Anwendung genutzt werden.

Die Menüstruktur eines Launchpad-UIBBs kann zweistufig gegliedert werden, wobei das Window LPD_MAIN_WINDOW die erste Menühierar-chie abbildet (die Hauptsicht), während das Window LPD_AREA_WIN-DOW die zweite Stufe der Hierarchie darstellt (die Bereichssicht). Die folgenden Abschnitte beschreiben die jeweiligen Sichten des Launch-pad-UIBBs im Detail.

Hauptsicht

Die Hauptsicht wird aus dem Konfigurationseditor heraus direkt angelegt, wenn die Launchpad-Komponente wie in Abbildung 8.7aus der Liste der angebotenen UIBB-Komponenten ausgewählt wird. Für die Konfiguration zur Verknüpfung mit dem Launchpad sind fol-gende Schritte durchzuführen (siehe Abbildung 8.9):

Hauptsicht konfigurieren

1. Rufen Sie den Konfigurationseditor für den Overview Page Floor-plan im Änderungsmodus auf, und wählen Sie die Konfiguration für die Komponente FPM_LAUNCHPAD_UIBB (Window LPD_MAIN_WINDOW) über die Drucktaste UIBB Konfigurieren aus (1).

2. Wählen Sie innerhalb der Komponentenkonfiguration den Knoten Launchpad aus (2).

3. Tragen Sie die notwendigen Informationen der Launchpad-Schlüs-selfelder Rolle und Instanz schließlich in die dafür vorgesehenen Felder ein (3).

Als Beispiel für die Verwendung eines Launchpad-UIBBs kann die Anwendung FPMGB_TEST_LAUNCHPAD aus dem Floorplan-Manager-Testpaket begutachtet werden. In dieser Anwendung wird ein Laun-chpad im Stil einer ESS-Lösung nachgebildet. Die Rolle und die

296

Navigation8

Instanz für das damit verknüpfte Launchpad verweisen auf die Ein-träge HOME_AND und AREA_PAGE.

Abbildung 8.9 Konfiguration für den Launchpad-UIBB und Verknüpfung mit den Launchpad-Schlüsselfeldern

Neben der notwendigen Pflege der Schlüsselfelder Rolle und Instanz erlaubt die Konfiguration weitere zentrale Einstellungen:

� Home Page (Einstiegsseite)

� Related Links (Verwandte Links)

� Most Frequently Used (Am häufigsten verwendet)

Während die Einstellungen zu Verwandte Links für die Sicht des Windows LPD_REL_WINDOW zuständig sind, verwaltet Am häufigsten

verwendet die Einstellungen für die Sicht mit dem Window LPD_HIT_WINDOW. Für die Hauptsicht selbst sind die Einstellungen zur Ein-stiegsseite relevant. Hier wird definiert, welche Darstellung für die Hauptsicht standardmäßig angezeigt und sichtbar ist. Die folgenden drei Optionen stehen für die Darstellung zur Auswahl, deren Darstel-lungsvarianten auch in Abbildung 8.10 bis Abbildung 8.12 zu sehen sind:

Darstellungs-varianten

� Übersicht/Karte (Map)Die Darstellung der Übersicht beinhaltet die Menüstruktur der ersten Hierarchieebene sowie die zugehörigen Beschreibungs-texte. Außerdem sind Einträge für den direkten Absprung auf

1

2

3

297

Launchpad 8.1

bestimmte Anwendungen, sogenannte Quicklinks, aus der Über-sicht erreichbar (wie zum Beispiel die Anwendung Abwesenheits-

antrag anlegen in Abbildung 8.10).

� Verzeichnis (Directory)Die Darstellung für das Verzeichnis beinhaltet die Menüstruktur der ersten Hierarchie (zum Beispiel Arbeitszeiten in Abbildung 8.11) sowie die jeweils zugehörige zweite Hierarchiestufe (zum Beispiel Abwesenheitsantrag) mit dem Absprung auf die inklu-dierten Anwendungen (zum Beispiel Abwesenheitsantrag anle-

gen).

� IndexIn der Darstellung mit dem Index (siehe Abbildung 8.12) wird eine alphabetische Ansicht mit einer Suche über alle Anwendungen aus einem Launchpad angeboten.

Abbildung 8.10 Darstellung mit der Übersicht eines Launchpad-UIBBs

298

Navigation8

Abbildung 8.11 Darstellung mit dem Verzeichnis eines Launchpad-UIBBs

Abbildung 8.12 Darstellung mit dem Index eines Launchpad-UIBBs

299

Launchpad 8.1

Floorplan-Mana-ger-Ereignisse

Durch die Verwendung von Drucktasten innerhalb des Zuordnungs-blocks mit der Launchpad-Komponente für die Hauptsicht kann eine Ereignisbehandlung eingeführt werden, die das einfache Hin- und Her-Schalten zwischen den drei Darstellungsvarianten ermöglicht. Dafür müssen die folgenden drei Floorplan-Manager-Ereignisse den jeweiligen Drucktasten zugeordnet werden:

� FPM_EVENT_LPD_MAP_VIEW (für die Übersicht)

� FPM_EVENT_LPD_DIR_VIEW (für das Verzeichnis)

� FPM_EVENT_LPD_IND_VIEW (für den Index)

Diese Logik ist ebenfalls in der Testanwendung FPMGB_TEST_LAUNCH-PAD realisiert und kann dort betrachtet werden.

Bereichssicht

Um aus der Übersicht heraus die Navigation auf die zweite Ebene der Menühierarchie zu ermöglichen, muss für den Overview Page Floor-plan eine Bearbeitungsseite angelegt werden (CONTENTAREA_2, siehe Testanwendung FPMGB_TEST_LAUNCHPAD). Diese Seite enthält dann den Zuordnungsblock für den Launchpad-UIBB mit dem Window LPD_AREA_WINDOW für die Bereichssicht (siehe Abbildung 8.13).

Abbildung 8.13 Konfiguration der Bereichsseite für den Launchpad-UIBB

Die Bereichssicht enthält die Liste aller Anwendungen nebst Icons und den entsprechenden Menüeinträgen (siehe Abbildung 8.14). Die Drucktaste Zurück sorgt mit dem verknüpften Floorplan-Manager-

300

Navigation8

Ereignis FPM_BACK_TO_MAIN dafür, dass die Anwendung wieder zu-rück zur Hauptsicht springt.

Abbildung 8.14 Darstellung mit der Bereichssicht eines Launchpad-UIBBs

Optionale Sichten

Der Launchpad-UIBB wird durch zwei optionale Sichten vervollstän-digt, die zusätzliche Komfortfunktionalitäten liefern:

Verwandte Links � Zunächst gibt es die Sicht für Verwandte Links, die durch das Window LPD_REL_WINDOW des Launchpad-UIBBs repräsentiert wird. Wie bereits von Standard-Launchpads bekannt, wird damit eine einfache Verknüpfung zu einer Liste von ähnlichen Anwen-dungen angeboten.

301

Launchpad 8.1

Um für diese Sicht eine Verknüpfung zu einem Standard-Launch-pad anzulegen, müssen Sie die folgenden Schritte ausführen (siehe Abbildung 8.15):

Launchpad verknüpfen

� Rufen Sie den Konfigurationseditor für den Overview Page Floor-plan im Änderungsmodus auf, und wählen Sie die Konfiguration für die Komponente FPM_LAUNCHPAD_UIBB (Window LPD_REL_WINDOW) über die Drucktaste UIBB konfigurieren aus (1).

� Wählen Sie innerhalb der Komponentenkonfiguration den Knoten relatedLinks aus (2).

� Tragen Sie die notwendigen Informationen der Launchpad-Schlüsselfelder Rolle und Instanz schließlich in die dafür vor-gesehenen Felder ein (3).

Abbildung 8.15 Konfiguration der Sicht für »Verwandte Links« in einem Launch-pad-UIBB

Häufig genutzte Anwendungen

� Neben der Ansicht für die verwandten Links gibt es mit der Sicht auf die am häufigsten genutzten Anwendungen eine weitere opti-onale Sicht, die durch das Window LPD_HIT_WINDOW der Floor-plan-Manager-UIBB-Komponente zur Verfügung gestellt wird. Wie der Name bereits andeutet, dient diese Sicht dazu, eine anwenderspezifische Trefferliste mit den am häufigsten genutzten Anwendungen anzubieten.

Die Konfiguration für diese Sicht erfolgt analog zu dem Vorgehen für die verwandten Links (siehe Abbildung 8.15), mit dem Unter-schied, dass die Einstellungen für den Knoten MostFrequently-

1

2

3

302

Navigation8

Used gepflegt werden. Als Anschauungsbeispiel für den Launch-pad-UIBB mit allen verfügbaren Sichten sei an dieser Stelle auf die bereits mehrfach genannte Anwendung FPMGB_TEST_LAUNCHPADhingewiesen.

8.2 Customizing

Das Launchpad-Customizing beherbergt alle angelegten Launchpads, unabhängig von ihrem jeweiligen Typ. Die Typisierung eines Laun-chpads erfolgt immer zum Zeitpunkt der Erstellung.

Folgende Schritte sind durchzuführen, um ein Launchpad im Custo-mizing anzulegen:

Launchpad anlegen 1. Starten Sie die Transaktion LPD_CUST.

2. Drücken Sie in der Ansicht Übersicht über Launchpads die Drucktaste Neues Launchpad.

3. Hinterlegen Sie im Dialog Werte für ein neues Launchpad erfas-

sen die Angaben für Rolle und Instanz (siehe auch folgender Hin-weiskasten), Beschreibung und Namensraum (siehe Abbildung 8.16). Die Angabe für die Beschreibung repräsentiert dabei eine einfache textliche Beschreibung, und für den Namensraum ist der üblich verwendete Entwicklungsnamensraum zu hinterlegen (zum Beispiel ZGALILEO).

4. Treffen Sie für den Launchpad-Typ die Auswahl zwischen Stan-

dard (keine Eingabe), Embedded oder Launchpad-UIBB (siehe Abschnitt 8.1). Abbildung 8.16 zeigt den Customizing-Eintrag mit dem Launchpad-Typ Embedded.

5. Wählen Sie für das Anlegen von neuen Anwendungen für das Launchpad den Eintrag Neue Anwendung aus.

6. Hinterlegen Sie für den neuen Customizing-Eintrag einen spre-chenden Link-Text (siehe auch Abbildung 8.20). Der Link-Text ist ausschlaggebend für den Eintrag, der innerhalb des Launchpads zur Laufzeit der Anwendung angeboten wird.

7. Der Anwendungstyp bestimmt die Art der Anwendung für die Navigation. Je nach Anwendungstyp müssen Sie die anwendungs-spezifischen Parameter hinterlegen (zum Beispiel Namensraum, Anwendung und Konfiguration für eine Anwendung mit dem Floorplan Manager). In Abbildung 8.20 ist das Customizing für den Anwendungstyp einer Web-Dynpro-Anwendung dargestellt.

303

Customizing 8.2

8. Speichern Sie das Customizing schließlich mit einem Klick auf Save.

Abbildung 8.16 Customizing-Dialog für das Anlegen eines Launchpads

In der Customizing-Ansicht (Transaktion LPD_CUST) Übersicht über

Launchpads sind die unterschiedlichen Launchpad-Typen durch die jeweils spezifischen Felder für die Typen Eingebettet und FPM_

GUIBB zu identifizieren (siehe Abbildung 8.17). Während die Typen für Embedded und UIBB-Launchpads in der Übersicht markiert sind, bringt ein Standard-Launchpad keine besonderen Markierungen mit.

Abbildung 8.17 Launchpad-Typen in der Customizing-Übersicht

Launchpad-Hierarchie

Hinsichtlich der Verwendung von Launchpad-UIBBs ist ein grundle-gendes Verständnis der zweistufigen Menühierarchie wichtig.

� Die erste Stufe gibt die übergeordneten Einträge und die Beschrei-bung in der Hauptsicht vor.

Hinweis

Die Motivation für einen kombinierten Launchpad-Schlüssel aus Rolleund Instanz stammt aus dem etablierten Rollenverständnis im SAP Net-Weaver Portal. Eine Rolle im Portal repräsentiert in der Regel eine Busi-ness-Rolle als umfassende Einheit für eine Anzahl thematisch zusammen-hängender Anwendungen. Innerhalb dieser Rollen ist der Anwendungsin-halt häufig in Arbeitsbereiche aufgeteilt, um die Rolle zusätzlich zu strukturieren (zum Beispiel in der Portalrolle »Manager Self-Service«). Diesem Ansatz folgend, ermöglicht ein Launchpad die Verwendung einer Rolle (analog zu einer Portalrolle) in Verknüpfung mit einer Instanz (ana-log zu einem Arbeitsbereich).

304

Navigation8

� Die zweite Stufe ist für die untergeordneten Einträge der Haupt-sicht verantwortlich und wird außerdem durch die Bereichssicht repräsentiert.

In Abbildung 8.18 und Abbildung 8.19 wird der Zusammenhang zwischen der Darstellung zur Laufzeit und dem zugehörigen Custo-mizing veranschaulicht. Die jeweiligen Stufen der Hierarchie sind jeweils in der Darstellung zur Laufzeit (Abbildung 8.18) und im kor-respondierenden Customizing (Abbildung 8.19) hervorgehoben.

Abbildung 8.18 Launchpad-UIBB mit zweistufiger Menühierarchie

Abbildung 8.19 Customizing für einen Launchpad-UIBB mit zweistufiger Menü-hierarchie

Anwendungs-Customizing

In Abhängigkeit vom jeweiligen Anwendungstyp für das Customi-zing mit dem Launchpad differieren die notwendigen Parameter zwangsläufig. So sind für eine URL-Anwendung vollkommen andere

1. Hierarchiestufe

2. Hierarchiestufe

Anwendung

1. Hierarchiestufe

2. Hierarchiestufe

Anwendung

305

Customizing 8.2

Parameter erforderlich als für eine Web-Dynpro-Anwendung. Je nach Typ bringt das Launchpad mit den erweiterten Parametern eine Anzahl möglicher Einstellungen mit, die jeweils anwendungsspezi-fisch sind.

In Abbildung 8.20 wird die Pflege für die Parameter einer Web-Dyn-pro-Anwendung gezeigt.

Abbildung 8.20 Launchpad-Customizing für eine Web-Dynpro-Anwendung

Wie in dieser Darstellung zu sehen ist, können dort alle Parameter gepflegt werden, die im Zusammenhang mit dem Start einer Web-

306

Navigation8

Dynpro-Anwendung relevant sind (Name der Anwendung, Namens-raum, Systemalias für das SAP NetWeaver Portal). Im Bereich für erweiterte Parameter werden Portalparameter, der Name der Web-Dynpro-Konfiguration sowie Anwendungsparameter und ein Anwen-dungsalias hinterlegt. Der Anwendungsalias fungiert als Identifikator bei der programmatischen Verwendung der Navigationsschnittstelle, die im folgenden Abschnitt beschrieben wird.

8.3 Navigationsschnittstelle

Das Launchpad-Customizing ist nicht nur die Grundlage für die Navi-gation mit den bekannten Launchpad-Typen, sondern auch für die Floorplan-Manager-Programmierschnittstelle der Navigation. Das bedeutet, Anwendungen können ihrerseits programmatisch auf die Einträge aus dem Launchpad-Customizing zugreifen, um eine Navi-gation zu ermöglichen.

Neben der Verwendung des Launchpads im Rahmen der Konfigura-tion steht für Anwendungen eine Schnittstelle zur Verfügung, um programmatisch eine Navigation zwischen zwei Anwendungen zu erlauben. Bei der Implementierung können entweder existierende Launchpads oder vollkommen eigenständige Navigationsziele defi-niert und verwendet werden. Dementsprechend werden zwei Inter-faces für die Navigation angeboten:

Schnittstellen � IF_FPM_NAVIGATION

� IF_FPM_NAVIGATE_TO

Während das erstgenannte Interface IF_FPM_NAVIGATION für die Navigation bestehende Launchpads verwendet, ist IF_FPM_NAVI-GATION_TO für die Navigation ohne Launchpad vorgesehen. Um wäh-rend der Anwendungslaufzeit Zugriff auf die Klassen zu erhalten, die dieses Interface implementieren, kann eine Anwendung die Metho-den GET_NAVIGATION bzw. GET_NAVIGATE_TO der zentralen Klasse vom Typ IF_FPM verwenden. Dabei liefert die Methode GET_NAVIGA-TION die Klasse CL_FPM_NAVIGATION zurück, die das Interface IF_FPM_NAVIGATION implementiert. Analog dazu liefert GET_NAVIGATE_TO mit CL_FPM_NAVIGATE_TO die Klasse, die das Interface IF_FPM_NAVIGATE_TO einfügt.

307

Navigationsschnittstelle 8.3

Interface IF_FPM_NAVIGATION

Listing 8.1 zeigt die Implementierung für einen Ereignisbehandler eines UIBBs mit dem Zugriff auf eine Instanz vom Typ IF_FPM_NAVI-GATION. Als eindeutiger Identifikator muss der Methode GET_NAVI-GATION der Launchpad-Schlüssel aus Rolle und Instanz übergeben werden. In diesem Implementierungsbeispiel wird dazu das Launch-pad für die Rolle FPM_NAV_2 und der Instanz YOU_CAN_ALSO verwen-det, das auch in der Beispielanwendung FPM_TEST_NAVIGATION_2 des Floorplan-Manager-Testpakets eingesetzt wird.

DATA: lv_lpd_instance TYPE string, lv_lpd_role TYPE string, ls_nav_key TYPE fpm_s_navigation_key, lo_fpm TYPE REF TO if_fpm, lo_fpm_navigation TYPE REF TO if_fpm_navigation.lv_lpd_role = 'FPM_NAV_2'.lv_lpd_instance = 'YOU_CAN_ALSO'.lo_fpm = cl_fpm_factory=>get_instance( ).ls_nav_key-key1 = lv_lpd_role.ls_nav_key-key2 = lv_lpd_instance.lo_fpm_navigation ?= lo_fpm->get_navigation( ls_nav_key ).

Listing 8.1 Zugriff auf eine Instanz vom Typ IF_FPM_NAVIGATION

Das Interface IF_FPM_NAVIGATION besitzt für jeden Anwendungstyp eine korrespondierende ADD-Methode (siehe Tabelle 8.1), wie zum Beispiel ADD_WEBDYNPRO_ABAP. Die Anwendung FPM_TEST_NAVIGATION_2demonstriert, wie einem Launchpad die unterschiedlichen Anwen-dungstypen unter Sie können auch hinzugefügt werden. Eine Beschreibung aller weiteren Interface-Methoden von IF_FPM_NAVI-GATION über die ADD-Methoden hinaus ist in Tabelle 8.4 aufgeführt.

Methode Beschreibung

GET_KEY_FROM_ALIAS Diese Methode liefert als Rückgabewert den Identi-fikator für eine bestimmte Anwendung in einem Launchpad. Als Importparameter muss dafür der im gesamten Launchpad einmalige Anwendungsalias übergeben werden. Listing 8.2 zeigt die Verwen-dung dieser Methode.

IS_ANYTHING_CHANGED Diese Methode hat nur einen einzigen Booleschen Exportparameter, der anzeigt, ob das jeweilige Launchpad geändert wurde.

Tabelle 8.4 Beschreibung der Interface-Methoden von IF_FPM_NAVIGATION

308

Navigation8

Wird auf dem Objekt mit dem Typ IF_FPM_NAVIGATION die Methode NAVIGATE aufgerufen, wird das Floorplan-Manager-Ereignis mit der Konstante CL_FPM_EVENT=>GC_EVENT_NAVIGATE angestoßen und die Navigation zur entsprechenden Anwendung ausgelöst. Erweitert man Listing 8.1 mit der Implementierung aus Listing 8.2, wird damit eine komplette Navigation zu einer Launchpad-Anwendung abge-handelt (einschließlich der Weiterleitung von Parametern).

DATA: lo_wd_application TYPE REF TO if_wd_application, lo_api_componentcontroller TYPE REF TO if_wd_component, lv_key TYPE string, lv_alias TYPE string, lv_accessibility TYPE string, lv_rtl TYPE string, lt_business_param TYPE apb_lpd_t_params,

MODIFY Diese Methode kann verwendet werden, um bestimmte Eigenschaften einer Anwendung zu ver-ändern. Die Eigenschaften werden durch Importpa-rameter repräsentiert, um auf diese Weise unter anderem die Sichtbarkeit, die Beschreibung und den Text zu ändern.

MODIFY_PARAMETERS Diese Methode kann verwendet werden, um einen existierenden Parameter einer Anwendung abzuän-dern und zusätzliche Parameter hinzuzufügen. Die Methode besitzt keine Rückgabeparameter. In Lis-ting 8.2 wird die Verwendung anhand der potenzi-ellen Parameter RTL (Right-To-Left für die Angabe der Textrichtung) und Accessibility aufgezeigt.

NAVIGATE Diese Methode initiiert letztlich die Navigation zu einer Anwendung. Die Verwendung ist im Imple-mentierungsbeispiel in Listing 8.2 aufgezeigt.

REMOVE Diese Methode hat nur einen Importparameter mit dem Identifikator der Anwendung, die aus einem Launchpad entfernt werden soll.

SET_FILTER Diese Methode kann verwendet werden, um einen Filter für Launchpad-Ordner zu definieren, damit der Inhalt dieser Ordner dargestellt werden kann.

TYPE_OF_LPD Diese Methode gibt an, um welchen Launchpad-Typ es sich handelt (Standard, Embedded, UIBB).

Methode Beschreibung

Tabelle 8.4 Beschreibung der Interface-Methoden von IF_FPM_NAVIGATION

309

Zusammenfassung 8.4

s_business_param TYPE apb_lpd_s_params.* Abholen der Klassen für die Anwendungsumgebunglo_api_componentcontroller = wd_comp_controller->wd_get_api( ).lo_wd_application = lo_api_componentcontroller->get_application( ).* Abholen der Anwendungsparameter RTL und Accessibility lv_accessibility = lo_wd_application->get_is_accessible( ). lv_rtl = lo_wd_application->get_is_rtl( ). ls_business_param-key = 'RTL'. ls_business_param-value = lv_rtl.APPEND ls_business_param TO lt_business_param. ls_business_param-key = 'ACCESSIBILITY'. ls_business_param-value = lv_accessibility.APPEND ls_business_param TO lt_business_param.* Aufruf der Anwendung über den Alias lv_alias = 'Alias'.CALL METHOD lo_fpm_navigation->get_key_from_alias EXPORTING iv_alias = lv_alias RECEIVING rv_key = lv_key.lo_fpm_navigation->modify_parameters( EXPORTING id_target_key = lv_key it_business_parameter = lt_business_param ).lo_fpm_navigation->navigate( lv_key ).

Listing 8.2 Auslösen einer Navigation mit Parameterübergabe

Interface IF_FPM_NAVIGATE_TO

Im Unterschied zu IF_FPM_NAVIGATION besitzt das Interface IF_FPM_NAVIGATE_TO außer den Launch-Methoden für die Navigation zu den jeweiligen Anwendungstypen (wie zum Beispiel LAUNCH_WEBDYNPRO_ABAP) keine der Methoden aus Tabelle 8.4, da der Umgang mit Laun-chpads entfällt.

8.4 Zusammenfassung

Navigation bedeutet im Zusammenhang mit dem Floorplan Mana-ger, dass eine Anwendung eine weitere Anwendung aufruft. Dieses Kapitel hat zunächst den Begriff der Navigation hinsichtlich des Floorplan Managers eingeordnet und das Launchpad als Navigations-werkzeug für den Floorplan Manager vorgestellt. Dabei wurden alle

310

Navigation8

Ausprägungen von Launchpads und das entsprechende Customizing erläutert. Schließlich wurde die Programmierschnittstelle für die Navigation eingeführt, die Anwendungen eine Navigation mit dem Floorplan Manager erlaubt.

355

Index

A

ABAP 21ABAP Objects 50ABAP Workbench 32ABAP-OO-Klasse 151Programmiersprache 32

ABAP-Trial-Version, Installation 32Abbrechen

Event Loop 130Floorplan-Manager-Ereignis 140

Abschnitt, OVP-Schnittstelle 335ADD_BR_ELEMENT 194ADD_ELEMENT 194ADD_UIBB, Konfigurations-Con-

troller 321Administrator 48Administratormodus 47, 48, 49AFTER_FAILED_EVENT 130Aktion 39

ausführbare 181Formular 179Konfiguration 170Verknüpfung 169

AktionsbereichFormular 236Liste 244Registerkarte 259Suchmaske 253

ALV 249Ändern, Zustand 140Anpassung 21, 40

explizite 42Floorplan-Manager-Ereignis 140implizite 42

Anwendung, Performance 178Anwendungsbeispiel 31Anwendungs-Customizing, Launch-

pad 304anwendungseigener Dialog 129Anwendungshierarchie 52, 104Anwendungshierarchie-Browser 73,

104Browser-Modus 106, 107Deep-Copy-Modus 106, 108Einstiegsbild 106

Anwendungskonfiguration 42, 53, 63, 104Anwendungsparameter 44

Anwendungskontext, transaktionaler 135

Anwendungs-Log 264, 275Anwendungsparameter 62anwendungsspezifische Daten 151anwendungsspezifischer Konfigurati-

ons-Controller 138, 317, 329anwendungsspezifisches Ereignis 118Anwendungstyp, Launchpad 283APB_FPM 30, 50APB_FPM_CONFIG 31APB_FPM_CORE 31, 50, 74APB_FPM_DEMO 31APB_FPM_GUIBB 31APB_FPM_TEST 31, 311APB_LAUNCHPAD_LIGHT 291Application Creation Tool 69Applikations-Controller 143Arbeitsbereich

Konfiguration 232, 243Registerkarte 257Suchmaske 251

Assignment-Block 28Assistance-Klasse 36, 50, 138Assoziation, Wiring 341Attribut, finales 41, 81Attributsicht

Formular 235Liste 244Registerkarte 259Suchmaske 253

Aufbau, Formular 230ausführbare Aktion 181ausgezeichnetes Ereignis 116Auslieferung 31Ausnahme 197, 263

B

BADI_APB_LPD_BROWSER_ONLY_URL 287

BAPI_USER_CHANGE 187

356

Index

BAPI_USER_GETLIST 346BAPIRET2 268, 274Basis Identification Region 83Benutzergruppe 40Benutzeroberfläche 19Benutzerrolle 85Benutzerverwaltung 345Berechtigung 75, 106Bereichssicht, Launchpad-UIBB 299Bestätigungsbild 92, 265Bestätigungsschritt 291Bottom-Toolbar 25Branchenlösung 21Breadcrumb, UI-Element 80Business-Objekt 339

C

CANCEL_EVENT 140CHECK_CONFIG

Formular 197Liste 212Suchmaske 226

CHECK_DEFAULT_CONFIGFormular 188Liste 209Suchmaske 226

CL_ABAP_STRUCTDESCR 159CL_FPM 51CL_FPM_CONFIRMATION_REQUEST

124CL_FPM_ERROR_FACTORY 274CL_FPM_EVENT 96, 116CL_FPM_GAF_ASSIST 50CL_FPM_GUIBB_SEARCH_

CONVERSION 224CL_FPM_NAVIGATE_TO 306CL_FPM_NAVIGATION 306CL_FPM_OIF_ASSIST 50CLEAR_MESSAGES 270Component 108Component, unsichtbare 144Component-Controller 34Component-Controller-Methode 114Component-defined-Anpassung 42Component-Hierarchie 42Component-Interface 36

Component-Konfiguration 42, 44, 75, 104explizite/implizite 48

Component-Schnittstelle 38Component-Verwendung 38, 43CONFIGURE_APPLICATION 43CONFIGURE_COMPONENT 45, 76,

77Container

Gruppe 234zusammengesetzte Gruppe 234

Content-Bereich 25Context 35Context-Binding 138Controller-Methode 113CREATE_FROM_BAPIRET2 274CREATE_FROM_EMPTY_DATA 274CREATE_FROM_OBJECT 274CREATE_FROM_OTR 274CREATE_FROM_T100 274CS_DATA 178CT_ACTION_USAGE 179CT_FIELD_USAGE 181Custom-Controller 35, 44CUSTOMIZE_COMPONENT 76Customizing 40, 46, 52, 107

Designzeiteditor 47Laufzeiteditor 47Launchpad 282, 303Transport 46

CX_FPM_EXCEPTION 269, 270

D

Darstellungsvariante, Launchpad-UIBB 296

Data Dictionary 158, 159DATA, generischer Datentyp 186Daten

anwendungsspezifische 151Identification Region 326

Datenaustausch 185Wiring 341

Datenbank 224Datenbereich 327Daten-Container 345, 347

Wiring 347

357

Index

Datenkomponente, zentrale 141Datenmodell 345

Wiring 347zentrales 185

Datenverlust 123, 133Deep Copy 105

Affix ändern 109Konfigurations-ID 108Zielkonfigurations-ID 108, 109

DELETE_NEW 48Delta-Handling 41Design-Template 23, 74Designzeit 74

Formular 197Dialog 311, 314

anwendungseigener 129Konfiguration 311Öffnen 313Schließen 315

DIALOG_BOX_ID 316DIALOG_BUTTON_ACTION 316Dialogfenster 311Differenzierungsebene 85Differenzierungsmerkmal, Toolbar

325DISPLAY_ERROR_PAGE 274Dokumentationsobjekt 94Drag & Drop

Liste 243Operation 158, 172, 238, 252Suchmaske 215

DrucktasteSuchen 254Zurücksetzen 254

Drucktastenelement 234Drucktastenzeile, Formular 234, 240,

244dynamisches Verhalten, Liste 206

E

Eigenschaft, Formular 182einfache Gruppe 191, 234Eingabe, unzulässige 126Einstiegsbild 92, 265Element, Anlegen 193Embedded Launchpad 284, 291Employee Self-Service 293

Endanwender 19, 48Enhancement Framework 40, 42Enterprise Resource Planning 21Entscheidungstabelle, UIBB-Freigabe

147Entwickler 48, 49Enumeration, Suchmaske 218EO_FIELD_CATALOG 159Ereignis

anwendungsspezifisches 118ausgezeichnetes 116lokales 116

Ereignisbehandler 115, 116Ereignis-ID 118Erfolg 264Ergebnisliste 221, 223, 252

inkludierte 215Ergebnismenge 254

Suchmaske 225Erläuterung 94

Dokumentationsobjekt 94erweiterte Identification Region 83Erweiterung 107ES_OPTIONS, Suchmaske 220ESS 293ET_ACTION_DEFINITION 167ET_DND_DEFINITION 172ET_FIELD_DESCRIPTION 160ET_FIELD_DESCRIPTION_ATTR 215ET_SPECIAL_GROUPS 171EV_ACTION_USAGE_CHANGED 179EV_DATA_CHANGED 178EV_FIELD_USAGE_CHANGED 181EV_RESULT 126EV_RETURN 126EV_VETO_RELEASE 147Event Loop 119, 171, 176

Abbrechen 130Anhalten 126OIF-Schnittstelle 329Unterbrechen 119

explizite Anpassung 42explizite Component-Konfiguration

48expliziter Konfigurationskontext 90Export

Liste 248Tabelle 248

externe Navigation 281

358

Index

F

F_FPM_CONNECTOR 341Feeder-Klasse 55, 69, 75, 151

generische 339Verknüpfung 236

Feeder-Modell 340Fehler 264Fehlerbeschreibung 273Fehlerdetail 273Fehlermeldung 187Fehlerprotokoll 264, 275Fehlerseite 264, 273Fehlerverarbeitung 187fehlgeschlagenes Floorplan-Manager-

Ereignis 131Feld, Gruppierung 171Feldauswahl

Ergebnisliste 254Liste 243Suchmaske 253

Feldbeschreibung 160, 165Feldkatalog 69, 158, 159

Ergebnisliste 213, 215Liste 198Suchkriterium 213, 215

fester Wert, Formular 161final 48Final Action 98finales Attribut 41Floorplan 23

Floorplan-Komponente 50Floorplan Manager

an Anwendung partizipieren 119Component 74Konfiguration 31Konfigurations-Controller 319Navigation 306Phasenmodell 53Testpaket 204Web Dynpro Java 293

Floorplan-Manager-Ereignis 96, 100, 103, 116, 170, 178, 186, 223, 311Abbrechen 140Anpassen 140fehlgeschlagenes 131Formular 180, 184, 187Liste 208

FLUSHFormular 184Suchmaske 226

Fokus 271Formular 104, 151

Aufbau 230Eigenschaft 182

Formularfeld 165Formularinhalt 237Fortgang, Event Loop 129FPM_ALWAYS_LOG 280FPM_BACK_TO_MAIN 103FPM_CALL_DEFAULT_EDIT_PAGE

103FPM_CALL_FULL_SCREEN 103FPM_CFG_APPL_CREATION_TOOL

69FPM_CFG_HIERARCHY_BROWSER

106FPM_CHANGE_CONTENT_AREA

104FPM_CHECK 101FPM_CLOSE 98, 101FPM_CLOSE_DIALOG 316FPM_CONF_STEP 291FPM_CONFIG_EXPERT 77, 106FPM_DELETE_CURRENT_OBJECT

93, 101FPM_DIALOG_STATE 315FPM_EDIT 101FPM_EVENT_RESULT 127FPM_EXIT_TO_MAIN_STEP 99FPM_FINISH 96, 97FPM_FORM_UIBB 75, 153, 230FPM_GAF_COMPONENT 61, 64, 66,

74, 84FPM_GOTO_START 102FPM_GUIBB_LIST_ON_LEAD_

SELECTION 209FPM_HIDE_CLOSE 63, 95FPM_IDR_COMPONENT 64, 74, 83FPM_LAUNCHPAD_UIBB 294FPM_LEAVE_INITIAL_SCREEN 92,

98, 101, 103FPM_LIST_UIBB 75, 153, 242FPM_LOAD_DRAFT 101FPM_LOG_ON_GENERALIZATION

280

359

Index

FPM_LOG_ON_HIDE 280FPM_MAXIMUM_MESSAGE_SIZE

63FPM_MSG_GENERALIZE 279FPM_NEW 101FPM_NEXT_OBJECT 101FPM_NEXT_STEP 98FPM_OIF_COMPONENT 61, 64, 74,

87FPM_OPEN_DIALOG 104, 313, 315FPM_OVP_COMPONENT 88FPM_PREVIOUS_OBJECT 102FPM_PREVIOUS_STEP 98FPM_PRINT 101FPM_PRINT_PREVIEW 101FPM_READ_ONLY 101FPM_REDO 102FPM_REFRESH 100FPM_RUNTIME_MESSAGES 269FPM_S_DIALOG_BOX_PROPERTIES

314, 315FPM_SAVE 100, 103FPM_SAVE_AND_BACK_TO_MAIN

103, 104FPM_SAVE_AS 101FPM_SAVE_DRAFT 97, 101FPM_SEARCH_UIBB 75, 153, 251FPM_SEND 101FPM_SHOW_MESSAGE_LOG 63,

268FPM_TABBED_UIBB 75, 256FPM_UIBB_PREVIEW 78FPM_UNDO 102FPM_V_MSG_MAPPER 279FPM_VMSGCATEGORY 279FPMGB_DISPLAY_TYPE 230, 242FPMGB_S_ACTIONDEF 167FPMGB_S_ACTIONUSAGE 180FPMGB_S_CHANGELOG 185FPMGB_S_DND_DEFINITION 173FPMGB_S_FIELDUSAGE 182FPMGB_S_FORMFIELD_DESCR 160FPMGB_S_LISTFIELD_DESCR 199FPMGB_S_SEARCH_OPTIONS 220,

255FPMGB_S_SEARCHFIELD_DESCR

216FPMGB_S_SPECIAL_GROUPS 171FPMGB_SEARCH_ATTR_TYPES 217

Freestyle-UIBB 52, 311Freigeben, Ressource 144Funktionalität, zentrale 116

G

GAF � Guided Activity FloorplanGC_EVENT_SAVE 136Generalisierungsart 278Generalisierungsebene 278generische Feeder-Klasse 339generischer Konfigurationseditor 78generischer Oberflächenbaustein �

GUIBBgenerischer UIBB � GUIBBgerichtete Verbindung 339GET_DATA

Formular 174Liste 204Suchmaske 221

GET_DEFAULT_CONFIG, Formular 188

GET_DEFINITION 179Formular 157Liste 198Suchmaske 213

GET_NAVIGATE_TO 306GET_NAVIGATION 306GET_PARAMETER_LIST 154GET_RUNTIME_INFO 319GET_SERVICE 324GET_STATE 48globale Einstellung, Liste 209globale Konsistenzprüfung 125Gruppe

einfache 191, 234Formular 237zusammengesetzte 193, 234, 238

Gruppentyp 237Gruppierung, Feld 171GUIBB 31, 52, 54, 74, 151, 311

Komponente 74, 153Konfiguration 152Parameter 154

Guided Activity Floorplan 24, 25, 29, 69, 265, 273, 280, 312Aktionsbereich 85Bestätigungsbild 93

360

Index

Erläuterung 94Hauptschritt 66, 84Hierarchie 85Kontrollbereich 85Toolbar 96Unterschritt 84, 85, 86

H

Hauptschritt 265GAF-Schnittstelle 331

Hauptsicht 265Launchpad-UIBB 295OIF-Schnittstelle 322

Hello-World-Beispiel 57Hierarchie

Formular 233Liste 244Registerkarte 258Suchmaske 252

Hierarchieebene, Launchpad-UIBB 296

hierarchische Ordnung 233Hilfetext, Formular 167Home and Area Page 293Horizontal Contextual Panel 26horizontale Ausrichtung, Registerkarte

259

I

Identification Region 24, 104, 318, 326Basis Identification Region 83erweiterte 83

IDR, Konfiguration 67IF_FPM 62, 274, 314, 315IF_FPM_APP_CONTROLLER 142IF_FPM_CFG_UIBB_PREVIEW 78IF_FPM_CNR_GAF 99, 318, 332IF_FPM_CNR_OIF 102, 318, 324IF_FPM_CNR_OVP 104, 318, 335IF_FPM_CONNECTOR 350IF_FPM_CONNECTOR_DEF 342IF_FPM_CONNECTOR_RUN 342IF_FPM_CONSTANTS 316IF_FPM_ERROR_DETAILS 274

IF_FPM_FEEDER_MODEL 340, 348, 349

IF_FPM_FLOORPLAN_COMP 51IF_FPM_GAF 317, 330IF_FPM_GAF_CONF_EXIT 138, 317,

330IF_FPM_GUIBB 153IF_FPM_GUIBB_FORM 157, 349IF_FPM_GUIBB_FORM_CONFIG

189, 231IF_FPM_GUIBB_LIST 197, 348IF_FPM_GUIBB_LIST_CONFIG 209IF_FPM_GUIBB_SEARCH 212IF_FPM_GUIBB_SEARCH_CONFIG

226IF_FPM_IDR 84, 318, 326IF_FPM_MESSAGE_MANAGER 266,

268, 269, 279IF_FPM_NAVIGATE_TO 306IF_FPM_NAVIGATION 306, 307IF_FPM_OIF 317, 321IF_FPM_OIF_CONF_EXIT 138, 317,

321IF_FPM_OVP 317, 333, 334IF_FPM_OVP_CONF_EXIT 138, 317,

333IF_FPM_PARAMETER 62, 314IF_FPM_RESOURCE_MANAGER 143IF_FPM_SHARED_DATA 141IF_FPM_TRANSACTION 135IF_FPM_UI_BUILDING_BLOCK 51,

58, 92, 95, 121, 265, 314IF_FPM_WIRE_MODEL 323IF_FPM_WIRE_MODEL_

TRANSACTION 343IF_FPM_WORK_PROTECTION 133IF_WD_PERSONALIZATION 48implizite Anpassung 42implizite Component-Konfiguration

48Importparameter 270IN_DIALOG_MODE 316Inbound-Plug 37Index

Formular 233Launchpad-UIBB 297

InitialisierungsphaseGUIBB 153Wiring 341

INITIALIZE 155

361

Index

inkludierte Ergebnisliste 215Inplace-Navigation 80, 85Instanz 307

Launchpad 289, 303Integrität, transaktionale 135Interface-Controller 36Interface-View 36, 107, 108interne Navigation 29, 281IO_EVENT 176IO_LAYOUT_CONFIG

Formular 189Liste 209Suchmaske 226

IS_DATA 186IT_CHANGE_LOG 185IT_SELECTED_FIELDS 177IV_RAISED_BY_OWN_UI 178IV_RELEASE_COMPONENT 147IV_REVERT 131

J

Java 21

K

Kardinalität 81Kategorie 277Klassenkonstruktor 350Komfortfunktion 225Konfiguration 40, 52

Embedded Launchpad 291Speichern 189Standard-Launchpad 289

Konfigurations-Context 42Konfigurations-Controller 44, 139

anwendungsspezifischer 138, 317, 329

expliziter 49Konfigurationsdialog, Formular 236Konfigurationseditor 57, 73, 75, 266,

311Aktionsbereich 64, 81Attributsicht 64, 81Formular 231generischer 78globale Einstellung 80Hierarchie 80

Kontrollbereich 80Liste 242Navigationsbereich 64, 80Navigationspfad 80Vorschau 64, 78

Konfigurations-ID 107Konfigurationskontext 74

expliziter 90Konfigurationstyp 42konfigurierbare Komponente 73Konfigurierbarkeit 22Konnektorklasse 339, 341, 345Konsistenzprüfung, lokale/globale

125Kontext 276, 277Kontextmenü 115Kopf, Identification Region 326Kopfbereich 327Kopie 105Korrektur-Workbench 42

L

Laufzeitfehler 157Laufzeitinformation 319Laufzeitumgebung 285Launch-Methode 309Launchpad 281

Customizing 302Hierarchie 303Schlüssel 307UIBB 284, 293, 294

Layouteinstellung, Registerkarte 259Layouttyp, Formular 241Lead-Selection 205, 208, 247

Wiring 352Lebensdauer 266Liste 104, 151

dynamisches Verhalten 206Export 248globale Einstellung 209

lokale Konsistenzprüfung 125lokales Ereignis 116LPD_CUST, Launchpad-Customizing

302LPD_HIT_WINDOW, Launchpad-UIBB

301LPD_LIGHT_WINDOW 291LPD_REL_WINDOW 300

362

Index

M

Manager Self-Service 293, 303Mapping 36Markierung, finale 48Master-/Detailbeziehung 256maximale Treffermenge 223Menü, Launchpad-UIBB 294, 295Message Handling 263, 311Message Mapper 275, 276

Aktivieren 276Generalisierung 277Protokoll 280Tabellensicht 279Zuordnungsfeld 276

Message Mapping 275Schnittstellenparameter 279

Message Region 24, 265, 266Größe 266Meldungsprotokoll 266

Methode, vordefinierte 111Model 34Model-View-Controller 32modifikationsfreie Erweiterung 40MSS 293, 303Mussfeld

Formular 183, 241Liste 248

MVC 32

N

Nachricht 24, 265, 278Formular 158Lebensdauer 270, 271Schweregrad 273Sichtbarkeit 270, 271

Nachrichtenausgabe 127Nachrichtentyp 263, 273Namensraum 277Navigation 37, 265, 273, 281

externe/interne 281interne 29ohne Launchpad 306optimistische 27

Navigationslink 37NEEDS_CONFIRMATION 123, 265

O

obere Ticket Area 84Oberflächenbaustein

generischer � GUIBBObject Instance Floorplan 24, 26, 27,

69, 265, 280, 312Aktionsbereich 88Bestätigungsbild 93Erläuterung 94Hauptsicht 65Hierarchie 88Konfiguration 64Kontrollbereich 88Toolbar 99Untersicht 65

Object Navigator 58, 76, 106Object Value Selector, Formular 163Object-Based Navigation 283OBN 283OIF � Object Instance FloorplanON_HIDE 145OPEN_DIALOG_BOX 314Operator 218

Ausschließen 253optimistische Navigation 27optionale Sicht, Launchpad-UIBB 300Outbound-Plug 37Outport-Identifikation 339Outport-Typ 339OVERRIDE_EVENT_GAF 140, 330OVERRIDE_EVENT_OIF 140, 321OVERRIDE_EVENT_OVP 140, 333Overview Page Floorplan 24, 28, 69,

280, 312Bearbeitungsseite 89Bestätigungsbild 89, 94Dialog 89Einstiegsbild 89Erläuterung 94Fehlerseite 89Layouttyp 89Seitenart 89Struktur 90Toolbar 102

OVP � Overview Page Floorplan

363

Index

P

Panelstack 91Parameter

Launchpad 305transienter 144

Partizipieren, an einer Floorplan-Manager-Anwendung 119

Partnerentwicklung 22PCD 283, 285Performance, Anwendung 178Performance-Management 282Persistenzschicht 52Personalisierung 40, 48, 52, 90

Laufzeiteditor 48Personalisierungseditor 91PFCG 285Phasenmodell 39, 111, 265Plug 37Portal Content Directory 283, 285PROCESS_BEFORE_OUTPUT 92, 131,

176PROCESS_EVENT 125, 265

Formular 187Liste 208Suchmaske 223

Product Lifecycle Management 21Programmabbruch 273Programmiermodell 32Prüfung, zentrale 143

Q

QAF 24, 27, 88, 191Quick Activity Floorplan 24, 27, 88,

191Quicklink, Launchpad-UIBB 297

R

RAISE_BAPIRET2_EXCEPTION 270RAISE_CX_ROOT_EXCEPTION 270RAISE_EVENT 118RAISE_EXCPETION 270RAISE_T100_EXCEPTION 270

Registerkarte 104, 151Ausrichtung 259

Reihenfolge 273Relation, Wiring 341Rendering, Formular 174, 178Rendering-Stil 249REPORT_BAPIRET2_MESSAGE 269,

270, 279REPORT_MESSAGE 269, 270REPORT_OBJECT_MESSAGE 269,

270REPORT_T100_MESSAGE 269, 270,

279Ressource, Freigeben 144Roadmap 24, 26Rolle 75, 277, 307

Launchpad 289, 303Rollen-Repository 285Rollenverständnis 303Row Repeater 249Run Time Type Identification 159

S

S_DEVELOP 40, 76, 106S_TRANSPRT 106S_WDR_P13N 40, 76SAP Business ByDesign 22SAP Business Suite 19SAP ERP 21SAP List Viewer 249SAP NetWeaver 19SAP NetWeaver Application Server

20Benutzerverwaltung 345

SAP NetWeaver Business Client 133, 285

SAP NetWeaver Portal 133, 285SAP NetWeaver Visual Composer 284SAP PLM 21SAP SCM 21SAP SRM 21SAP, UI-Guideline 151SAP_ABA, Anwendungsbasis 30sap-config-mode 77SAP-Laufzeitumgebung 133

364

Index

sap-wd-configId 43Schlüsselfeld, Launchpad-UIBB 296Seite, OVP-Schnittstelle 335Seitenart 312

Bearbeitungsseite 103Einstiegsbild 103

selektierte Zeile 208Selektion

Liste 208Tabellenzeile 205

Selektionsereignis 247Selektionsmodus 247Selektionsverhalten 247Shared Data Component 138, 141SHOW_POPUP_DEFERRED 129Sichtbarkeit

Formular 168Formularfeld 177Liste 206UIBB 132

Soforthilfe 94Softwarekomponente 30Spalte, Liste 210Speichern

Konfiguration 189Suche 255

SQL-Statement 224Standardfunktion 103

Fertigstellen 96Schließen 95Zum Hauptschritt 96

Standard-Launchpad 284, 288Standardnachricht 276stapelbarer UIBB 90Start Over 102Startzustand

Formular 189Liste 209Suchmaske 226

Suchanfrage 224, 225Verwaltung 255

Suchattribut 217, 221, 224Suche 104

Speichern 255Suchen-Drucktaste 254Suchkriterium 252Suchmaske 151Supplier Relationship Management

21

Supply Chain Management 21Switch Framework 40

T

TabelleExport 248T100 268, 270, 274

Tabelleneigenschaft 205Tabelleneintrag 207Tabellenzeile

Selektion 205Tag 174

Drag & Drop 164OIF-Schnittstelle 329

Ticket Area, obere/untere 84Ticket, Identification Region 326Ticketbereich 327Toolbar 25, 94, 318

Aktivierungsfunktion 99anwendungsspezifische Funktion 95Ereignisbehandlung 95Standardfunktion 95

Tooltip, Formular 168Transaktion

LPD_CUST 98, 102SAAB 269SE61 94, 273SE80 32, 76, 106SLG1 264, 275, 280SM21 264SM30 279ST11 264ST22 264SU3 77, 106

transaktionale Integrität 135transaktionaler Anwendungskontext

135Transaktionsbehandlung 343Transaktionslogik, Wiring 343transienter Parameter 144Trefferliste 301Treffermenge, maximale 223Typinformation, Formular 159Typisierung, Launchpad 302

365

Index

U

Übersicht, Launchpad-UIBB 296UI 19UIBB 51, 53, 57

Entscheidungstabelle zur Freigabe 147

Freestyle 52Freestyle-UIBB 311generischer � GUIBBSichtbarkeit 132stapelbarer 90Vorschau 78Zurückversetzen 130

UI-Building-Block � UIBBUI-Design-Template 151UI-Element

Breadcrumb 80Formular 230, 234Liste 242Registerkarte 258

UI-Guideline 20, 22, 55, 94, 151, 266UI-Standard 23unsichtbare Component 144Unterbrechen, Event Loop 119untere Ticket Area 84Unterschritt, GAF-Schnittstelle 331Untersicht, OIF-Schnittstelle 324unzulässige Eingabe 126URL-Parameter

sap-config-mode 47, 48wddisableuserpersonalization 49

use-default-editor 78User Interface 19

V

validierungsrelevant, Formularaktion 167

Variante 85Verbindung, gerichtete 339Verknüpfung, Feeder-Klasse 236vertikale Ausrichtung, Registerkarte

259Verwaltung, Suchanfrage 255verwendete Web-Dynpro-Compo-

nent 141Verzeichnis, Launchpad-UIBB 297

View 33, 59, 60View-Controller-Methode 114vordefinierte Methode 111Vorher-/Nachhermethode 142Vorschau

Formular 232Liste 243Registerkarte 258Suchmaske 252

W

Warnung 264WD_ANALYZE_CONFIG_APPL 44WD_ANALYZE_CONFIG_COMP 46WD_ANALYZE_CONFIG_USER 49WDDOAFTERACTION 39WDDOBEFOREACTION 39WDDOBEFORENAVIGATION 39WDDOINIT 39WDDOMODIFYVIEW 39WDDOPOSTPROCESSING 39Web Dynpro 21

ABAP Workbench 58Aktion 167Anwendung 61Component 36, 58, 59Ereignis 114Rendering 114, 121, 177Web Dynpro ABAP 50Web-Dynpro-Built-In 42, 44, 80

Web Dynpro ABAP 305Web Dynpro Java 284Webanwendung 287Webbrowser 285Web-Dynpro-Component

UI-Komponente 229verwendete 141

Wiederverwendbarkeit 21Window 35, 59, 60Wire

Entität 347Implementierung 344Quellkomponente 345Zielkomponente 345

Wiring 339Konfiguration 351Modell 345

366

Index

WorkProtect-Modus 133WYSIWYG-Editor 73

X

XLS-Format 248XML 32

Z

Zeile, selektierte 208zentrale Datenkomponente 141

zentrale EinstellungFormular 241Liste 246Suchmaske 254

zentrale Funktionalität 116zentrale Prüfung 143zentrales Datenmodell 185Zurücksetzen-Drucktaste 254zusammengesetzte Gruppe 193, 234

Formular 238Zusammenstellung, Formularinhalt

237Zustand, Ändern 140