Floorplan Manager für Web Dynpro ABAP

für die externe Navigation illustriert im Kontrast dazu eine andere. ERP-Anwendung für die Karriereplanung von Mitarbeitern aus dem. Talentmanagement, in ...
3MB Größe 30 Downloads 180 Ansichten
Thomas Frambach, Simon Hoeg

Floorplan Manager für Web Dynpro ABAP™

Bonn  Boston

Auf einen Blick TEIL I Grundlagen 1

Einführung ...............................................................

19

2

Erste Schritte: Erstellen einer Floorplan-Manager- Anwendung .............................................................

57

Konfiguration einer Floorplan-Manager- Anwendung .............................................................

73

3 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

Inhalt Vorwort ................................................................................... 13

TEIL I Grundlagen 1

Einführung ............................................................... 19 1.1

1.2

1.3

1.4

2

UI-Framework für die SAP Business Suite ................ 1.1.1 SAP NetWeaver Application Server  als Basis ...................................................... 1.1.2 UI-Guidelines ............................................. 1.1.3 Floorplans .................................................. 1.1.4 Auslieferung und Verfügbarkeit .................. Basistechnologie Web Dynpro ABAP ...................... 1.2.1 Grundlagen ................................................ 1.2.2 Anpassungen in Web Dynpro ABAP ........... Floorplan Manager und Web Dynpro ABAP ............ 1.3.1 Floorplan-Manager-Components ................ 1.3.2 Floorplan-Manager-Anwendungs- hierarchie ................................................... 1.3.3 Floorplan-Manager-Phasenmodell .............. 1.3.4 Technische Integration in der  SAP Business Suite ...................................... Zusammenfassung ...................................................

20 20 22 23 30 32 32 40 50 50 52 53 54 56

Erste Schritte: Erstellen einer Floorplan- Manager-Anwendung ............................................. 57 2.1

Erstellen einer einfachen Floorplan-Manager- Anwendung ............................................................ 2.1.1 Erstellen einer Web-Dynpro-Component .... 2.1.2 Erstellen einer Web-Dynpro-Anwendung ... 2.1.3 Anlegen der Konfigurationen mit dem  Konfigurationseditor des Floorplan  Managers ................................................... 2.1.4 Testen der Floorplan-Manager- Anwendung ................................................ 2.1.5 Wie geht es weiter? ....................................

57 58 61

63 67 68

7

Inhalt

2.2 2.3

3

Konfiguration einer Floorplan-Manager- Anwendung ............................................................. 73 3.1 3.2

3.3

3.4

4

Konfigurierbare Komponenten ................................ Konfigurationseditor ................................................ 3.2.1 Starten des Editors ...................................... 3.2.2 Arbeitsbereiche des Editors ......................... 3.2.3 Bildfolge eines Floorplans ............................ 3.2.4 Konfiguration der Identification Region ....... 3.2.5 Grundlagen zur Konfiguration eines  Guided Activity Floorplans .......................... 3.2.6 Grundlagen zur Konfiguration eines ............ Object Instance Floorplans .......................... 3.2.7 Grundlagen zur Konfiguration eines ............ Overview Page Floorplans ........................... 3.2.8 Konfiguration des Einstiegsbildes und ......... Bestätigungsbildes ....................................... 3.2.9 Konfiguration von Erläuterungen ................. 3.2.10 Konfiguration der Toolbar ........................... Anwendungshierarchie-Browser .............................. 3.3.1 Starten der Anwendung .............................. 3.3.2 Browser-Modus .......................................... 3.3.3 Deep-Copy-Modus ..................................... Zusammenfassung ...................................................

74 75 75 78 82 83 84 87 88 92 94 94 104 106 107 108 109

Phasenmodell .......................................................... 111 4.1

4.2

8

Application Creation Tool ........................................ 69 Zusammenfassung ................................................... 71

Überblick ................................................................ 4.1.1 Web-Dynpro-Controller-Methoden ............. 4.1.2 Ereignissteuerung ........................................ Floorplan-Manager-Schnittstellen ............................ 4.2.1 Interface IF_FPM_UI_BUILDING_BLOCK ..... 4.2.2 Interface IF_FPM_WORK_PROTECTION ..... 4.2.3 Interface IF_FPM_TRANSACTION ............... 4.2.4 Anwendungsspezifische Konfigurations- Controller .................................................... 4.2.5 Interface IF_FPM_SHARED_DATA ...............

111 113 116 119 121 133 135 138 141

Inhalt

4.3

4.2.6 Interface IF_FPM_APP_CONTROLLER ........ 142 4.2.7 Interface IF_FPM_RESOURCE_MANAGER .. 143 Zusammenfassung ................................................... 148

TEIL II Generische UI-Building-Blocks 5

Feeder-Klassen ........................................................ 151 5.1

5.2

5.3

5.4

5.5

6

Grundlagen und Gemeinsamkeiten ......................... 5.1.1 Feeder-Methode GET_PARAMETER_LIST ... 5.1.2 Feeder-Methode INITIALIZE ...................... Interface IF_FPM_GUIBB_FORM ............................. 5.2.1 Feeder-Methode GET_DEFINITION ............ 5.2.2 Feeder-Methode GET_DATA ...................... 5.2.3 Feeder-Methode FLUSH ............................. 5.2.4 Feeder-Methode PROCESS_EVENT ............. 5.2.5 Feeder-Methode GET_DEFAULT_CONFIG .. 5.2.6 Feeder-Methode CHECK_CONFIG .............. Interface IF_FPM_GUIBB_LIST ................................ 5.3.1 Feeder-Methode GET_DEFINITION ............ 5.3.2 Feeder-Methode GET_DATA ...................... 5.3.3 Feeder-Methode PROCESS_EVENT ............. 5.3.4 Feeder-Methode  CHECK_DEFAULT_CONFIG ........................ 5.3.5 Feeder-Methode CHECK_CONFIG .............. Interface IF_FPM_GUIBB_SEARCH .......................... 5.4.1 Feeder-Methode GET_DEFINITION ............ 5.4.2 Feeder-Methode GET_DATA ...................... 5.4.3 Feeder-Methode PROCESS_EVENT ............. 5.4.4 Feeder-Methode FLUSH ............................. 5.4.5 Feeder-Methoden CHECK_DEFAULT_ CONFIG und CHECK_CONFIG .................... Zusammenfassung ...................................................

152 154 155 157 157 174 184 186 188 197 197 198 204 208 209 212 212 213 221 223 226 226 227

UI-Komponenten .................................................... 229 6.1

Formular-Komponente ........................................... 6.1.1 Arbeitsbereich Vorschau ............................. 6.1.2 Arbeitsbereich Hierarchie .......................... 6.1.3 Arbeitsbereich Attributsicht ........................

230 232 233 235

9

Inhalt

6.1.4 6.1.5

6.2

6.3

6.4

6.5

Arbeitsbereich Aktionsbereich ..................... Konfiguration von zentralen  Einstellungen .............................................. Listen-Komponente ................................................. 6.2.1 Arbeitsbereich Vorschau ............................. 6.2.2 Arbeitsbereich Hierarchie ........................... 6.2.3 Arbeitsbereiche Attributsicht und  Aktionsbereich ............................................ 6.2.4 Konfiguration von zentralen  Einstellungen .............................................. Suchmasken-Komponente ....................................... 6.3.1 Arbeitsbereich Vorschau ............................. 6.3.2 Arbeitsbereich Hierarchie ............................ 6.3.3 Arbeitsbereiche Attributsicht und  Aktionsbereich ............................................ 6.3.4 Konfiguration von zentralen  Einstellungen .............................................. Registerkarten-Komponente .................................... 6.4.1 Arbeitsbereich Vorschau ............................. 6.4.2 Arbeitsbereich Hierarchie ............................ 6.4.3 Arbeitsbereiche Attributsicht und  Aktionsbereich ............................................ 6.4.4 Layouteinstellungen .................................... Zusammenfassung ...................................................

236 241 242 243 244 244 246 251 252 252 253 254 256 258 258 259 259 260

TEIL III Weiterführende Funktionen und Praxisempfehlungen 7

Message Handling ................................................... 263 7.1 7.2

7.3 7.4

10

Nachrichtentypen .................................................... Verwendung des Message Managers ....................... 7.2.1 Konfiguration der Message Region .............. 7.2.2 Schnittstelle  IF_FPM_MESSAGE_MANAGER ................... Fehlerseite ............................................................... Message Mapping ................................................... 7.4.1 Zuordnungsfelder ........................................ 7.4.2 Generalisierung ........................................... 7.4.3 Tabellensichten für den Message Mapper ....

263 266 266 268 273 275 276 277 279

Inhalt

Schnittstellenparameter zum  Message Mapping ...................................... 279 7.4.5 Protokoll zum Message Mapping ................ 280 Zusammenfassung ................................................... 280

7.4.4

7.5

8

Navigation ............................................................... 281 8.1

8.2 8.3 8.4

9

Launchpad .............................................................. 8.1.1 Standard-Launchpad ................................... 8.1.2 Embedded Launchpad ................................ 8.1.3 Launchpad-UIBB ........................................ Customizing ............................................................ Navigationsschnittstelle .......................................... Zusammenfassung ...................................................

285 288 291 293 302 306 309

Dialoge .................................................................... 311 9.1

9.2

9.3 9.4

Konfiguration von Dialogen .................................... 9.1.1 Guided Activity und Object Instance .......... 9.1.2 Overview Page ........................................... Öffnen von Dialogen ............................................... 9.2.1 Öffnen mittels Konfiguration ...................... 9.2.2 Dynamisches Öffnen ................................... Schließen von Dialogen .......................................... Zusammenfassung ...................................................

311 312 312 313 313 314 315 316

10 Dynamisches Verhalten ........................................... 317 10.1 OIF-Schnittstelle ..................................................... 10.1.1 IF_FPM_OIF ............................................... 10.1.2 IF_FPM_CNR_OIF ...................................... 10.1.3 IF_FPM_IDR ............................................... 10.2 GAF-Schnittstelle .................................................... 10.2.1 IF_FPM_GAF .............................................. 10.2.2 IF_FPM_CNR_GAF und IF_FPM_IDR .......... 10.3 OVP-Schnittstelle ................................................... 10.3.1 IF_FPM_OVP .............................................. 10.3.2 IF_FPM_CNR_OVP ..................................... 10.4 Zusammenfassung ...................................................

320 321 324 326 329 330 332 333 333 335 338

11

Inhalt

11 Wiring ...................................................................... 339 11.1 Konzept .................................................................. 11.1.1 Feeder-Modell ............................................ 11.1.2 Konnektorklasse .......................................... 11.1.3 Transaktionsbehandlung .............................. 11.2 Konfiguration und Implementierung ........................ 11.2.1 Datenmodell und benötigte Klassen ............ 11.2.2 Programmablauf .......................................... 11.2.3 Implementierung ........................................ 11.2.4 Konfiguration .............................................. 11.3 Zusammenfassung ...................................................

340 340 341 343 344 345 347 347 351 352

Die Autoren ............................................................................. 353 Index ........................................................................................ 355

12

Vorwort

»Simplicity« war der Name des Projektes zur Gründung eines UIFrameworks, das nach rund vier Jahren und insgesamt fünf Entwicklungszyklen 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 Benutzeroberflächen mit hohem Wiedererkennungsgrad und exzellenter Bedienbarkeit zu präsentieren, technischen Beratern und Geschä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 Managers 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 Managers. Nach der Lektüre sind Sie in der Lage, selbstständig SAP-Geschäftsanwendungen mithilfe des Floorplan Managers zu entwickeln, können dieses Buch aber auch als Nachschlagewerk verwenden. Es beschränkt sich dabei nicht nur auf die Dokumentation der wesentlichen Aspekte, sondern bietet darüber hinaus Hintergrundinformationen zur Architektur und Funktionsweise des Floorplan Managers.

13

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 verwendeten Begriffe erläutert. Nach der Erstellung einer Beispielanwendung 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-Komponenten für die Darstellung von Anwendungsinhalten (Kapitel 5 und Kapitel 6). 왘 Der dritte Teil des Buches vermittelt weiterführende FloorplanManager-Funktionalitäten. Dabei ist Kapitel 7 der Nachrichtenbehandlung 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 Verwendung 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 Implementierungsbeispiels 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 markiert ist. Eine Erklärung, warum hier Vorsicht geboten ist, ist beigefügt. 왘 Hinweis: Wird das besprochene Thema erläutert und vertieft, macht ein Pluszeichen Sie darauf aufmerksam.

14

Vorwort

왘 Tipp: Nützliche Tipps und Shortcuts, die Ihnen die Arbeit erleichtern, 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. Grundsätzlich steht der Floorplan Manager seit dem Enhancement Package 1 von SAP NetWeaver 7.0 zur Verfügung. Dort sind neben den Kernfunktionalitäten und dem Konfigurationseditor bereits die wichtigsten 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 FloorplanManager-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 AG Simon Hoeg, Senior-Entwickler, SAP AG

15

Für die Kommunikation von Anwendungen in einem übergeordneten 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 Navigationswerkzeug, das Launchpad. Hinweis Im Hinblick auf die Verwendung des Begriffs der Navigation im Zusammenhang mit dem Launchpad ist es notwendig, diesen Begriff für die Ausführungen in diesem Abschnitt gegenüber der internen Anwendungsnavigation 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 Navigation innerhalb einer Anwendung, wie zum Beispiel beim Hin-und-HerSpringen 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 unterschieden 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.

281

8

Navigation

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 Anwendung mit der Selbstbeschreibung eines Mitarbeiters aufgerufen wird.

Interne (anwendungslokale) Navigation

Externe (anwendungsübergreifende) Navigation

Anwendung 1

Anwendung 2

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 Managers zwangsläufig immer auch selbst eine Floorplan-ManagerAnwendung. Für die Pflege und die Navigation zu dem Aufgerufenen stellt das Launchpad ein Customizing bereit, das die Integration für

282

Navigation

8

eine ganze Reihe von Anwendungstypen erlaubt. Dadurch ermöglicht das Launchpad eine echte Interoperabilität über die Integration von Web-Dynpro-Anwendungen hinaus. Tabelle 8.1 beschreibt alle Anwendungstypen, die in einem Launchpad gepflegt und damit im Rahmen einer Anwendung mit dem Floorplan 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 Enterprise 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 BusinessObjekten 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 PFCGRollen 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

283

Anwendungstypen

8

Navigation

Anwendungstyp

Beschreibung

SAP BI Report (Query)

Mit diesem Typ wird eine BI Query aufgerufen.

SAP BI Report (Webtemplate)

Mit diesem Typ wird ein BI-Webtemplate aufgerufen.

Transactions

Dieser Typ stößt herkömmliche ABAPTransaktionen an.

URL

Mit diesem Typ wird auf eine beliebige URL navigiert.

Visual Composer xApps

Dieser Typ startet Composite Applications, 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-Anwendungen oder herkömmliche Web-DynproAnwendungen sein.

Web Dynpro Java

Dieser Typ navigiert auf Anwendungen in Web Dynpro Java auf dem SAP NetWeaver Application Server Java.

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

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

왘 Standard Das Standard-Launchpad kann in Floorplans integriert werden und dient dort als Startpunkt für den Aufruf weiterer Anwendungen. 왘 Embedded Das Embedded Launchpad kann, wie der Name schon andeutet, als Web-Dynpro-Component in andere Web-Dynpro-Components integriert werden. 왘 FPM UIBB Das Launchpad vom Typ FPM UIBB kann wie ein eigenständiger UI-Building-Block (UIBB) beliebige Navigationsziele über zwei Hierarchien hinweg verwalten.

284

Launchpad

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-Schnittstelle 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 Laufzeitumgebungen 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 AnwendungsContent im Rahmen der Releases der SAP Business Suite wird von SAP üblicherweise innerhalb von Rollen verfügbar gemacht. Als Rollen-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 Rollen-Repositorys sowie die verfügbaren Launchpad-Anwendungstypen miteinander in Zusammenhang gebracht.

285

8.1

8

Navigation

Anwendungstyp

SAP SAP NetWeaver NetWeaver Portal Business Client (PCD)

SAP Webbrowser NetWeaver Business Client (PFCG)

BEx Analyser

ja

ja

nein

BAdI-Implementierung

BI Report

ja

ja

ja

BAdI-Implementierung

Crystal Reports

ja

ja

ja

BAdI-Implementierung

InfoSet Query

ja

ja

ja

BAdI-Implementierung

Object-Based Navigation

ja

ja

ja

BAdI-Implementierung

Portal Pages

ja

ja

nein

BAdI-Implementierung

Report Writer

ja

ja

ja

BAdI-Implementierung

SAP BI Report (Query)

ja

ja

ja

BAdI-Implementierung

SAP BI Report (Webtemplate)

ja

ja

ja

BAdI-Implementierung

Transactions

ja

ja

ja

BAdI-Implementierung

URL

ja

ja

ja

ja

Visual Composer xApps

ja

ja

nein

BAdI-Implementierung

Web Dynpro ABAP

ja

ja

ja

ja

Web Dynpro Java

ja

ja

nein

BAdI-Implementierung

Xcelsius Dashboard

ja

ja

ja

BAdI-Implementierung

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

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

286

Launchpad

8.1

nerseits sowohl Rollen aus dem Portal Content Directory als auch aus dem AS ABAP konsumieren kann, während das SAP NetWeaver Portal ausschließlich Zugriff auf das Portal Content Directory hat. Weitere Informationen Für ausführliche Informationen zu den von SAP bereitgestellten Laufzeitumgebungen SAP NetWeaver Business Client und SAP NetWeaver Portal verweisen 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.

Die natürlichen Umgebungen für SAP-Anwendungen sind in erster Linie die SAP-eigenen Laufzeitumgebungen im SAP NetWeaver Portal und dem SAP NetWeaver Business Client. Die Ausführbarkeit der jeweiligen Anwendungstypen aus dem sonstigen SAP-Anwendungsspektrum wird innerhalb dieser Umgebungen automatisch gewährleistet. Außerhalb der SAP-eigenen Laufzeitumgebungen werden alle Webanwendungen 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 Anwendungstypen haben außerhalb der SAP-Laufzeitumgebungen die Möglichkeit, ein BAdI (Business Add-in) mit der Bezeichnung BADI_APB_ LPD_BROWSER_ONLY_URL zu verwenden, um damit eine eigene Navigation zu realisieren. Dieses BAdI wird immer gezogen, sobald eine Navigation mit dem Launchpad außerhalb der SAP-Laufzeitumgebungen erfolgt. Das BAdI-Interface IF_APB_LPD_BROWSER_ONLY_URL enthält genau eine Methode (URL_TO_START_APPLICATION), deren Signatur in Tabelle 8.3 erklärt wird. 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

287

Webanwendungen

BAdI-Implementierung

8

Navigation

Parameter

Beschreibung

ID_APPLICATION_TYPE

Dieser Importparameter beinhaltet den Anwendungstyp (siehe Tabelle 8.1).

ID_DATA_OBJECT

Dieser Parameter wird lediglich von ausgewählten Anwendungen genutzt und soll für die nachfolgenden Ausführungen keine Beachtung finden. Im Standardfall ist dieser Parameter einfach leer.

ID_INSTANCE

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

ID_ROLE

Dieser Importparameter entspricht der sogenannten Launchpad-Rolle. Dieser Parameter repräsentiert gemeinsam mit der ID_INSTANCE den Schlüssel für das jeweilige Launchpad.

ID_URL

Dieser Importparameter wird im Fall der Anwendungstypen Web Dynpro ABAP und Transactions bereits durch das Launchpad mit der URL vorbelegt, um die entsprechenden Anwendungen zu starten. Im einfachsten Fall könnte die Anwendung diese URL einfach an den Exportparameter weiterreichen.

IT_PARAMETERS

Dieser Importparameter beinhaltet eine Liste mit allen Parametern, die innerhalb des LaunchpadCustomizings gepflegt werden können. Somit stehen der Anwendung alle Customizing-Informationen zur Verfügung.

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

Grundsätzlich hat die Anwendung mithilfe der Implementierung der BAdI-Interface-Methode URL_TO_START_APPLICATION die Möglichkeit, 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äufigsten angewendet. Um ein Standard-Launchpad zu nutzen, kann eine

288

8.1

Launchpad

Anwendung in der Konfiguration der Floorplans die Toolbar-Elemente 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ühren (siehe Abbildung 8.2): 1. Rufen Sie den Floorplan-Manager-Konfigurationseditor der jeweiligen Floorplan-Komponente im Änderungsmodus auf, und selektieren Sie innerhalb der Komponentenkonfiguration den jeweiligen Schritt oder die jeweilige Sicht (1).

Konfiguration

2. Drücken Sie innerhalb des Aktionsbereichs die Drucktaste Element zur Drucktastenleiste hinzufügen (2). 3. Wählen Sie im folgenden Dialog für die Elementauswahl Sie können auch oder Verwandte Links aus (3).

2

1

3

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

Die 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.

289

Verknüpfung

8

Navigation

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.2 mit 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 eingesetzt 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 Anwendungen mit einem ähnlichen Anwendungshintergrund verweist. Auch wenn diese Beispielanwendung keinen unmittelbaren Geschäftszweck 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-

290

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 Konfiguration ein Anwendungsfluss etabliert werden, bei dem jeweils thematisch zusammengehörige Anwendungen untereinander navigieren können.

8.1.2

Embedded Launchpad

Das Embedded Launchpad ist eine eigenständige Web-Dynpro-Component 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 Customizing hinterlegt werden (siehe Abschnitt 8.2). Die Web-Dynpro-Component für das Embedded Launchpad lautet APB_LAUNCHPAD_LIGHT, und das einzige Window dieser Component ist LPD_LIGHT_WINDOW. Von der Verwendung eines Embedded Launchpads macht unter anderem der UIBB der Web-Dynpro-Component FPM_CONF_STEP Gebrauch. 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).

Bestätigungsschritt

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

Der Floorplan-Manager-UIBB FPM_CONF_STEP kann separat konfiguriert werden, um die Verknüpfung zu einem Embedded Launchpad

291

Konfiguration

8

Navigation

herzustellen. Dabei sind folgende Schritte auszuführen (siehe Abbildung 8.6): 1. Rufen Sie den Web-Dynpro-Konfigurationseditor für die WebDynpro-Component FPM_CONF_STEP aus der ABAP Workbench heraus auf (1). 2. Legen Sie mittels des Konfigurationseditors für die Web-DynproComponent FPM_CONF_STEP eine neue Komponentenkonfiguration 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).

1

2

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

292

Launchpad

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

8.1.3

Launchpad-UIBB

Die spezielle FPM-UIBB-Ausprägung des Launchpads ist insbesondere für die Anwendungspakete vorgesehen, die selbst ein Menüund Navigationsschema für die Verwendung ihrer Produkte bereitstellen müssen. Aufgrund seiner Struktur ist der Launchpad-UIBB exklusiv für die Verwendung in einem Overview Page Floorplan vorgesehen. 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 (LaunchpadKomponente hinzufügen) direkt als vorkonfigurierte Komponente zur Verfügung (siehe Abbildung 8.7).

Overview Page Floorplan

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

Eine Darstellung in der Art eines Launchpad-UIBBs wird in ähnlicher Weise durch den Floorplan Manager für Web Dynpro Java angeboten. Dort ist dieser Ansatz unter dem Namen Home and Area Page bekannt 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 Navigationswerkzeug, 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 seinerseits 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-

293

Home and  Area Page

8.1

8

Navigation

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üs und 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.

294

Launchpad

왘 LPD_HIT_WINDOW Dieses Window kann eine Trefferliste mit den am häufigsten eingesetzten 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_WINDOW und 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ühierarchie abbildet (die Hauptsicht), während das Window LPD_AREA_WINDOW die zweite Stufe der Hierarchie darstellt (die Bereichssicht). Die folgenden Abschnitte beschreiben die jeweiligen Sichten des Launchpad-UIBBs im Detail.

Hauptsicht Die Hauptsicht wird aus dem Konfigurationseditor heraus direkt angelegt, wenn die Launchpad-Komponente wie in Abbildung 8.7 aus der Liste der angebotenen UIBB-Komponenten ausgewählt wird. Für die Konfiguration zur Verknüpfung mit dem Launchpad sind folgende Schritte durchzuführen (siehe Abbildung 8.9): 1. Rufen Sie den Konfigurationseditor für den Overview Page Floorplan 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üsselfelder 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-ManagerTestpaket begutachtet werden. In dieser Anwendung wird ein Launchpad im Stil einer ESS-Lösung nachgebildet. Die Rolle und die

295

Hauptsicht konfigurieren

8.1

8

Navigation

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

1

3

2 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 Einstiegsseite 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 Darstellungsvarianten auch in Abbildung 8.10 bis Abbildung 8.12 zu sehen sind: Darstellungsvarianten

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

296

Launchpad

bestimmte Anwendungen, sogenannte Quicklinks, aus der Übersicht erreichbar (wie zum Beispiel die Anwendung Abwesenheitsantrag 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 inkludierten Anwendungen (zum Beispiel Abwesenheitsantrag anlegen). 왘 Index In 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

297

8.1

8

Navigation

Abbildung 8.11 Darstellung mit dem Verzeichnis eines Launchpad-UIBBs

Abbildung 8.12 Darstellung mit dem Index eines Launchpad-UIBBs

298

Launchpad

Durch die Verwendung von Drucktasten innerhalb des Zuordnungsblocks 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_LAUNCHPAD 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 Floorplan 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-

299

8.1

Floorplan-Manager-Ereignisse

8

Navigation

Ereignis FPM_BACK_TO_MAIN dafür, dass die Anwendung wieder zurü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ändigt, 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 Anwendungen angeboten.

300

Launchpad

8.1

Um für diese Sicht eine Verknüpfung zu einem Standard-Launchpad anzulegen, müssen Sie die folgenden Schritte ausführen (siehe Abbildung 8.15): 왘 Rufen Sie den Konfigurationseditor für den Overview Page Floorplan 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).

Launchpad verknüpfen

왘 Wählen Sie innerhalb der Komponentenkonfiguration den Knoten relatedLinks aus (2). 왘 Tragen Sie die notwendigen Informationen der LaunchpadSchlüsselfelder Rolle und Instanz schließlich in die dafür vorgesehenen Felder ein (3).

1 3

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

왘 Neben der Ansicht für die verwandten Links gibt es mit der Sicht auf die am häufigsten genutzten Anwendungen eine weitere optionale Sicht, die durch das Window LPD_HIT_WINDOW der Floorplan-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 Unterschied, dass die Einstellungen für den Knoten MostFrequently-

301

Häufig genutzte Anwendungen

8

Navigation

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

8.2

Customizing

Das Launchpad-Customizing beherbergt alle angelegten Launchpads, unabhängig von ihrem jeweiligen Typ. Die Typisierung eines Launchpads erfolgt immer zum Zeitpunkt der Erstellung. Folgende Schritte sind durchzuführen, um ein Launchpad im Customizing 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 erfassen die Angaben für Rolle und Instanz (siehe auch folgender Hinweiskasten), 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 Standard (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 sprechenden 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 anwendungsspezifischen 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.

302

Customizing

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

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

Hinweis Die Motivation für einen kombinierten Launchpad-Schlüssel aus Rolle und Instanz stammt aus dem etablierten Rollenverständnis im SAP NetWeaver Portal. Eine Rolle im Portal repräsentiert in der Regel eine Business-Rolle als umfassende Einheit für eine Anzahl thematisch zusammenhängender Anwendungen. Innerhalb dieser Rollen ist der Anwendungsinhalt 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 (analog zu einem Arbeitsbereich).

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

Hinsichtlich der Verwendung von Launchpad-UIBBs ist ein grundlegendes Verständnis der zweistufigen Menühierarchie wichtig. 왘 Die erste Stufe gibt die übergeordneten Einträge und die Beschreibung in der Hauptsicht vor.

303

LaunchpadHierarchie

8.2

8

Navigation

왘 Die zweite Stufe ist für die untergeordneten Einträge der Hauptsicht 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 Customizing veranschaulicht. Die jeweiligen Stufen der Hierarchie sind jeweils in der Darstellung zur Laufzeit (Abbildung 8.18) und im korrespondierenden Customizing (Abbildung 8.19) hervorgehoben.

1. Hierarchiestufe 2. Hierarchiestufe Anwendung

Abbildung 8.18 Launchpad-UIBB mit zweistufiger Menühierarchie

1. Hierarchiestufe 2. Hierarchiestufe Anwendung

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

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

304

Customizing

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 anwendungsspezifisch sind. In Abbildung 8.20 wird die Pflege für die Parameter einer Web-Dynpro-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-

305

8.2

8

Navigation

Dynpro-Anwendung relevant sind (Name der Anwendung, Namensraum, Systemalias für das SAP NetWeaver Portal). Im Bereich für erweiterte Parameter werden Portalparameter, der Name der WebDynpro-Konfiguration sowie Anwendungsparameter und ein Anwendungsalias 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 Navigation 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 Navigation zu ermöglichen. Neben der Verwendung des Launchpads im Rahmen der Konfiguration 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 definiert und verwendet werden. Dementsprechend werden zwei Interfaces 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_NAVIGATION_TO für die Navigation ohne Launchpad vorgesehen. Um während der Anwendungslaufzeit Zugriff auf die Klassen zu erhalten, die dieses Interface implementieren, kann eine Anwendung die Methoden GET_NAVIGATION bzw. GET_NAVIGATE_TO der zentralen Klasse vom Typ IF_FPM verwenden. Dabei liefert die Methode GET_NAVIGATION 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.

306

Navigationsschnittstelle

Listing 8.1 zeigt die Implementierung für einen Ereignisbehandler eines UIBBs mit dem Zugriff auf eine Instanz vom Typ IF_FPM_NAVIGATION. Als eindeutiger Identifikator muss der Methode GET_NAVIGATION der Launchpad-Schlüssel aus Rolle und Instanz übergeben werden. In diesem Implementierungsbeispiel wird dazu das Launchpad für die Rolle FPM_NAV_2 und der Instanz YOU_CAN_ALSO verwendet, 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_2 demonstriert, wie einem Launchpad die unterschiedlichen Anwendungstypen unter Sie können auch hinzugefügt werden. Eine Beschreibung aller weiteren Interface-Methoden von IF_FPM_NAVIGATION ü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 Identifikator 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 Verwendung 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

307

8.3

Interface IF_FPM_ NAVIGATION

8

Navigation

Methode

Beschreibung

MODIFY

Diese Methode kann verwendet werden, um bestimmte Eigenschaften einer Anwendung zu verändern. Die Eigenschaften werden durch Importparameter 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ändern und zusätzliche Parameter hinzuzufügen. Die Methode besitzt keine Rückgabeparameter. In Listing 8.2 wird die Verwendung anhand der potenziellen 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 Implementierungsbeispiel 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 LaunchpadTyp es sich handelt (Standard, Embedded, UIBB).

Tabelle 8.4 Beschreibung der Interface-Methoden von IF_FPM_NAVIGATION

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 abgehandelt (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,

308

Zusammenfassung

8.4

s_business_param TYPE apb_lpd_s_params. * Abholen der Klassen für die Anwendungsumgebung lo_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

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 Launchpads entfällt.

8.4

Zusammenfassung

Navigation bedeutet im Zusammenhang mit dem Floorplan Manager, 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 Navigationswerkzeug für den Floorplan Manager vorgestellt. Dabei wurden alle

309

Interface IF_FPM_ NAVIGATE_TO

8

Navigation

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.

310

Index A ABAP 21 ABAP Objects 50 ABAP Workbench 32 ABAP-OO-Klasse 151 Programmiersprache 32 ABAP-Trial-Version, Installation 32 Abbrechen Event Loop 130 Floorplan-Manager-Ereignis 140 Abschnitt, OVP-Schnittstelle 335 ADD_BR_ELEMENT 194 ADD_ELEMENT 194 ADD_UIBB, Konfigurations-Controller 321 Administrator 48 Administratormodus 47, 48, 49 AFTER_FAILED_EVENT 130 Aktion 39 ausführbare 181 Formular 179 Konfiguration 170 Verknüpfung 169 Aktionsbereich Formular 236 Liste 244 Registerkarte 259 Suchmaske 253 ALV 249 Ändern, Zustand 140 Anpassung 21, 40 explizite 42 Floorplan-Manager-Ereignis 140 implizite 42 Anwendung, Performance 178 Anwendungsbeispiel 31 Anwendungs-Customizing, Launchpad 304 anwendungseigener Dialog 129 Anwendungshierarchie 52, 104 Anwendungshierarchie-Browser 73, 104 Browser-Modus 106, 107 Deep-Copy-Modus 106, 108 Einstiegsbild 106

Anwendungskonfiguration 42, 53, 63, 104 Anwendungsparameter 44 Anwendungskontext, transaktionaler 135 Anwendungs-Log 264, 275 Anwendungsparameter 62 anwendungsspezifische Daten 151 anwendungsspezifischer Konfigurations-Controller 138, 317, 329 anwendungsspezifisches Ereignis 118 Anwendungstyp, Launchpad 283 APB_FPM 30, 50 APB_FPM_CONFIG 31 APB_FPM_CORE 31, 50, 74 APB_FPM_DEMO 31 APB_FPM_GUIBB 31 APB_FPM_TEST 31, 311 APB_LAUNCHPAD_LIGHT 291 Application Creation Tool 69 Applikations-Controller 143 Arbeitsbereich Konfiguration 232, 243 Registerkarte 257 Suchmaske 251 Assignment-Block 28 Assistance-Klasse 36, 50, 138 Assoziation, Wiring 341 Attribut, finales 41, 81 Attributsicht Formular 235 Liste 244 Registerkarte 259 Suchmaske 253 Aufbau, Formular 230 ausführbare Aktion 181 ausgezeichnetes Ereignis 116 Auslieferung 31 Ausnahme 197, 263

B BADI_APB_LPD_BROWSER_ONLY_ URL 287 BAPI_USER_CHANGE 187

355

Index

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

C CANCEL_EVENT 140 CHECK_CONFIG Formular 197 Liste 212 Suchmaske 226 CHECK_DEFAULT_CONFIG Formular 188 Liste 209 Suchmaske 226 CL_ABAP_STRUCTDESCR 159 CL_FPM 51 CL_FPM_CONFIRMATION_REQUEST 124 CL_FPM_ERROR_FACTORY 274 CL_FPM_EVENT 96, 116 CL_FPM_GAF_ASSIST 50 CL_FPM_GUIBB_SEARCH_ CONVERSION 224 CL_FPM_NAVIGATE_TO 306 CL_FPM_NAVIGATION 306 CL_FPM_OIF_ASSIST 50 CLEAR_MESSAGES 270 Component 108 Component, unsichtbare 144 Component-Controller 34 Component-Controller-Methode 114 Component-defined-Anpassung 42 Component-Hierarchie 42 Component-Interface 36

356

Component-Konfiguration 42, 44, 75, 104 explizite/implizite 48 Component-Schnittstelle 38 Component-Verwendung 38, 43 CONFIGURE_APPLICATION 43 CONFIGURE_COMPONENT 45, 76, 77 Container Gruppe 234 zusammengesetzte Gruppe 234 Content-Bereich 25 Context 35 Context-Binding 138 Controller-Methode 113 CREATE_FROM_BAPIRET2 274 CREATE_FROM_EMPTY_DATA 274 CREATE_FROM_OBJECT 274 CREATE_FROM_OTR 274 CREATE_FROM_T100 274 CS_DATA 178 CT_ACTION_USAGE 179 CT_FIELD_USAGE 181 Custom-Controller 35, 44 CUSTOMIZE_COMPONENT 76 Customizing 40, 46, 52, 107 Designzeiteditor 47 Laufzeiteditor 47 Launchpad 282, 303 Transport 46 CX_FPM_EXCEPTION 269, 270

D Darstellungsvariante, Launchpad-UIBB 296 Data Dictionary 158, 159 DATA, generischer Datentyp 186 Daten anwendungsspezifische 151 Identification Region 326 Datenaustausch 185 Wiring 341 Datenbank 224 Datenbereich 327 Daten-Container 345, 347 Wiring 347

Index

Datenkomponente, zentrale 141 Datenmodell 345 Wiring 347 zentrales 185 Datenverlust 123, 133 Deep Copy 105 Affix ändern 109 Konfigurations-ID 108 Zielkonfigurations-ID 108, 109 DELETE_NEW 48 Delta-Handling 41 Design-Template 23, 74 Designzeit 74 Formular 197 Dialog 311, 314 anwendungseigener 129 Konfiguration 311 Öffnen 313 Schließen 315 DIALOG_BOX_ID 316 DIALOG_BUTTON_ACTION 316 Dialogfenster 311 Differenzierungsebene 85 Differenzierungsmerkmal, Toolbar 325 DISPLAY_ERROR_PAGE 274 Dokumentationsobjekt 94 Drag & Drop Liste 243 Operation 158, 172, 238, 252 Suchmaske 215 Drucktaste Suchen 254 Zurücksetzen 254 Drucktastenelement 234 Drucktastenzeile, Formular 234, 240, 244 dynamisches Verhalten, Liste 206

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

Endanwender 19, 48 Enhancement Framework 40, 42 Enterprise Resource Planning 21 Entscheidungstabelle, UIBB-Freigabe 147 Entwickler 48, 49 Enumeration, Suchmaske 218 EO_FIELD_CATALOG 159 Ereignis anwendungsspezifisches 118 ausgezeichnetes 116 lokales 116 Ereignisbehandler 115, 116 Ereignis-ID 118 Erfolg 264 Ergebnisliste 221, 223, 252 inkludierte 215 Ergebnismenge 254 Suchmaske 225 Erläuterung 94 Dokumentationsobjekt 94 erweiterte Identification Region 83 Erweiterung 107 ES_OPTIONS, Suchmaske 220 ESS 293 ET_ACTION_DEFINITION 167 ET_DND_DEFINITION 172 ET_FIELD_DESCRIPTION 160 ET_FIELD_DESCRIPTION_ATTR 215 ET_SPECIAL_GROUPS 171 EV_ACTION_USAGE_CHANGED 179 EV_DATA_CHANGED 178 EV_FIELD_USAGE_CHANGED 181 EV_RESULT 126 EV_RETURN 126 EV_VETO_RELEASE 147 Event Loop 119, 171, 176 Abbrechen 130 Anhalten 126 OIF-Schnittstelle 329 Unterbrechen 119 explizite Anpassung 42 explizite Component-Konfiguration 48 expliziter Konfigurationskontext 90 Export Liste 248 Tabelle 248 externe Navigation 281

357

Index

F F_FPM_CONNECTOR 341 Feeder-Klasse 55, 69, 75, 151 generische 339 Verknüpfung 236 Feeder-Modell 340 Fehler 264 Fehlerbeschreibung 273 Fehlerdetail 273 Fehlermeldung 187 Fehlerprotokoll 264, 275 Fehlerseite 264, 273 Fehlerverarbeitung 187 fehlgeschlagenes Floorplan-ManagerEreignis 131 Feld, Gruppierung 171 Feldauswahl Ergebnisliste 254 Liste 243 Suchmaske 253 Feldbeschreibung 160, 165 Feldkatalog 69, 158, 159 Ergebnisliste 213, 215 Liste 198 Suchkriterium 213, 215 fester Wert, Formular 161 final 48 Final Action 98 finales Attribut 41 Floorplan 23 Floorplan-Komponente 50 Floorplan Manager an Anwendung partizipieren 119 Component 74 Konfiguration 31 Konfigurations-Controller 319 Navigation 306 Phasenmodell 53 Testpaket 204 Web Dynpro Java 293 Floorplan-Manager-Ereignis 96, 100, 103, 116, 170, 178, 186, 223, 311 Abbrechen 140 Anpassen 140 fehlgeschlagenes 131 Formular 180, 184, 187 Liste 208

358

FLUSH Formular 184 Suchmaske 226 Fokus 271 Formular 104, 151 Aufbau 230 Eigenschaft 182 Formularfeld 165 Formularinhalt 237 Fortgang, Event Loop 129 FPM_ALWAYS_LOG 280 FPM_BACK_TO_MAIN 103 FPM_CALL_DEFAULT_EDIT_PAGE 103 FPM_CALL_FULL_SCREEN 103 FPM_CFG_APPL_CREATION_TOOL 69 FPM_CFG_HIERARCHY_BROWSER 106 FPM_CHANGE_CONTENT_AREA 104 FPM_CHECK 101 FPM_CLOSE 98, 101 FPM_CLOSE_DIALOG 316 FPM_CONF_STEP 291 FPM_CONFIG_EXPERT 77, 106 FPM_DELETE_CURRENT_OBJECT 93, 101 FPM_DIALOG_STATE 315 FPM_EDIT 101 FPM_EVENT_RESULT 127 FPM_EXIT_TO_MAIN_STEP 99 FPM_FINISH 96, 97 FPM_FORM_UIBB 75, 153, 230 FPM_GAF_COMPONENT 61, 64, 66, 74, 84 FPM_GOTO_START 102 FPM_GUIBB_LIST_ON_LEAD_ SELECTION 209 FPM_HIDE_CLOSE 63, 95 FPM_IDR_COMPONENT 64, 74, 83 FPM_LAUNCHPAD_UIBB 294 FPM_LEAVE_INITIAL_SCREEN 92, 98, 101, 103 FPM_LIST_UIBB 75, 153, 242 FPM_LOAD_DRAFT 101 FPM_LOG_ON_GENERALIZATION 280

Index

FPM_LOG_ON_HIDE 280 FPM_MAXIMUM_MESSAGE_SIZE 63 FPM_MSG_GENERALIZE 279 FPM_NEW 101 FPM_NEXT_OBJECT 101 FPM_NEXT_STEP 98 FPM_OIF_COMPONENT 61, 64, 74, 87 FPM_OPEN_DIALOG 104, 313, 315 FPM_OVP_COMPONENT 88 FPM_PREVIOUS_OBJECT 102 FPM_PREVIOUS_STEP 98 FPM_PRINT 101 FPM_PRINT_PREVIEW 101 FPM_READ_ONLY 101 FPM_REDO 102 FPM_REFRESH 100 FPM_RUNTIME_MESSAGES 269 FPM_S_DIALOG_BOX_PROPERTIES 314, 315 FPM_SAVE 100, 103 FPM_SAVE_AND_BACK_TO_MAIN 103, 104 FPM_SAVE_AS 101 FPM_SAVE_DRAFT 97, 101 FPM_SEARCH_UIBB 75, 153, 251 FPM_SEND 101 FPM_SHOW_MESSAGE_LOG 63, 268 FPM_TABBED_UIBB 75, 256 FPM_UIBB_PREVIEW 78 FPM_UNDO 102 FPM_V_MSG_MAPPER 279 FPM_VMSGCATEGORY 279 FPMGB_DISPLAY_TYPE 230, 242 FPMGB_S_ACTIONDEF 167 FPMGB_S_ACTIONUSAGE 180 FPMGB_S_CHANGELOG 185 FPMGB_S_DND_DEFINITION 173 FPMGB_S_FIELDUSAGE 182 FPMGB_S_FORMFIELD_DESCR 160 FPMGB_S_LISTFIELD_DESCR 199 FPMGB_S_SEARCH_OPTIONS 220, 255 FPMGB_S_SEARCHFIELD_DESCR 216 FPMGB_S_SPECIAL_GROUPS 171 FPMGB_SEARCH_ATTR_TYPES 217

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

G GAF 씮 Guided Activity Floorplan GC_EVENT_SAVE 136 Generalisierungsart 278 Generalisierungsebene 278 generische Feeder-Klasse 339 generischer Konfigurationseditor 78 generischer Oberflächenbaustein 씮 GUIBB generischer UIBB 씮 GUIBB gerichtete Verbindung 339 GET_DATA Formular 174 Liste 204 Suchmaske 221 GET_DEFAULT_CONFIG, Formular 188 GET_DEFINITION 179 Formular 157 Liste 198 Suchmaske 213 GET_NAVIGATE_TO 306 GET_NAVIGATION 306 GET_PARAMETER_LIST 154 GET_RUNTIME_INFO 319 GET_SERVICE 324 GET_STATE 48 globale Einstellung, Liste 209 globale Konsistenzprüfung 125 Gruppe einfache 191, 234 Formular 237 zusammengesetzte 193, 234, 238 Gruppentyp 237 Gruppierung, Feld 171 GUIBB 31, 52, 54, 74, 151, 311 Komponente 74, 153 Konfiguration 152 Parameter 154 Guided Activity Floorplan 24, 25, 29, 69, 265, 273, 280, 312 Aktionsbereich 85 Bestätigungsbild 93

359

Index

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

H Hauptschritt 265 GAF-Schnittstelle 331 Hauptsicht 265 Launchpad-UIBB 295 OIF-Schnittstelle 322 Hello-World-Beispiel 57 Hierarchie Formular 233 Liste 244 Registerkarte 258 Suchmaske 252 Hierarchieebene, Launchpad-UIBB 296 hierarchische Ordnung 233 Hilfetext, Formular 167 Home and Area Page 293 Horizontal Contextual Panel 26 horizontale Ausrichtung, Registerkarte 259

I Identification Region 24, 104, 318, 326 Basis Identification Region 83 erweiterte 83 IDR, Konfiguration 67 IF_FPM 62, 274, 314, 315 IF_FPM_APP_CONTROLLER 142 IF_FPM_CFG_UIBB_PREVIEW 78 IF_FPM_CNR_GAF 99, 318, 332 IF_FPM_CNR_OIF 102, 318, 324 IF_FPM_CNR_OVP 104, 318, 335 IF_FPM_CONNECTOR 350 IF_FPM_CONNECTOR_DEF 342 IF_FPM_CONNECTOR_RUN 342 IF_FPM_CONSTANTS 316 IF_FPM_ERROR_DETAILS 274

360

IF_FPM_FEEDER_MODEL 340, 348, 349 IF_FPM_FLOORPLAN_COMP 51 IF_FPM_GAF 317, 330 IF_FPM_GAF_CONF_EXIT 138, 317, 330 IF_FPM_GUIBB 153 IF_FPM_GUIBB_FORM 157, 349 IF_FPM_GUIBB_FORM_CONFIG 189, 231 IF_FPM_GUIBB_LIST 197, 348 IF_FPM_GUIBB_LIST_CONFIG 209 IF_FPM_GUIBB_SEARCH 212 IF_FPM_GUIBB_SEARCH_CONFIG 226 IF_FPM_IDR 84, 318, 326 IF_FPM_MESSAGE_MANAGER 266, 268, 269, 279 IF_FPM_NAVIGATE_TO 306 IF_FPM_NAVIGATION 306, 307 IF_FPM_OIF 317, 321 IF_FPM_OIF_CONF_EXIT 138, 317, 321 IF_FPM_OVP 317, 333, 334 IF_FPM_OVP_CONF_EXIT 138, 317, 333 IF_FPM_PARAMETER 62, 314 IF_FPM_RESOURCE_MANAGER 143 IF_FPM_SHARED_DATA 141 IF_FPM_TRANSACTION 135 IF_FPM_UI_BUILDING_BLOCK 51, 58, 92, 95, 121, 265, 314 IF_FPM_WIRE_MODEL 323 IF_FPM_WIRE_MODEL_ TRANSACTION 343 IF_FPM_WORK_PROTECTION 133 IF_WD_PERSONALIZATION 48 implizite Anpassung 42 implizite Component-Konfiguration 48 Importparameter 270 IN_DIALOG_MODE 316 Inbound-Plug 37 Index Formular 233 Launchpad-UIBB 297 Initialisierungsphase GUIBB 153 Wiring 341 INITIALIZE 155

Index

inkludierte Ergebnisliste 215 Inplace-Navigation 80, 85 Instanz 307 Launchpad 289, 303 Integrität, transaktionale 135 Interface-Controller 36 Interface-View 36, 107, 108 interne Navigation 29, 281 IO_EVENT 176 IO_LAYOUT_CONFIG Formular 189 Liste 209 Suchmaske 226 IS_DATA 186 IT_CHANGE_LOG 185 IT_SELECTED_FIELDS 177 IV_RAISED_BY_OWN_UI 178 IV_RELEASE_COMPONENT 147 IV_REVERT 131

J Java 21

K Kardinalität 81 Kategorie 277 Klassenkonstruktor 350 Komfortfunktion 225 Konfiguration 40, 52 Embedded Launchpad 291 Speichern 189 Standard-Launchpad 289 Konfigurations-Context 42 Konfigurations-Controller 44, 139 anwendungsspezifischer 138, 317, 329 expliziter 49 Konfigurationsdialog, Formular 236 Konfigurationseditor 57, 73, 75, 266, 311 Aktionsbereich 64, 81 Attributsicht 64, 81 Formular 231 generischer 78 globale Einstellung 80 Hierarchie 80

Kontrollbereich 80 Liste 242 Navigationsbereich 64, 80 Navigationspfad 80 Vorschau 64, 78 Konfigurations-ID 107 Konfigurationskontext 74 expliziter 90 Konfigurationstyp 42 konfigurierbare Komponente 73 Konfigurierbarkeit 22 Konnektorklasse 339, 341, 345 Konsistenzprüfung, lokale/globale 125 Kontext 276, 277 Kontextmenü 115 Kopf, Identification Region 326 Kopfbereich 327 Kopie 105 Korrektur-Workbench 42

L Laufzeitfehler 157 Laufzeitinformation 319 Laufzeitumgebung 285 Launch-Methode 309 Launchpad 281 Customizing 302 Hierarchie 303 Schlüssel 307 UIBB 284, 293, 294 Layouteinstellung, Registerkarte 259 Layouttyp, Formular 241 Lead-Selection 205, 208, 247 Wiring 352 Lebensdauer 266 Liste 104, 151 dynamisches Verhalten 206 Export 248 globale Einstellung 209 lokale Konsistenzprüfung 125 lokales Ereignis 116 LPD_CUST, Launchpad-Customizing 302 LPD_HIT_WINDOW, Launchpad-UIBB 301 LPD_LIGHT_WINDOW 291 LPD_REL_WINDOW 300

361

Index

M

O

Manager Self-Service 293, 303 Mapping 36 Markierung, finale 48 Master-/Detailbeziehung 256 maximale Treffermenge 223 Menü, Launchpad-UIBB 294, 295 Message Handling 263, 311 Message Mapper 275, 276 Aktivieren 276 Generalisierung 277 Protokoll 280 Tabellensicht 279 Zuordnungsfeld 276 Message Mapping 275 Schnittstellenparameter 279 Message Region 24, 265, 266 Größe 266 Meldungsprotokoll 266 Methode, vordefinierte 111 Model 34 Model-View-Controller 32 modifikationsfreie Erweiterung 40 MSS 293, 303 Mussfeld Formular 183, 241 Liste 248 MVC 32

obere Ticket Area 84 Oberflächenbaustein generischer 씮 GUIBB Object Instance Floorplan 24, 26, 27, 69, 265, 280, 312 Aktionsbereich 88 Bestätigungsbild 93 Erläuterung 94 Hauptsicht 65 Hierarchie 88 Konfiguration 64 Kontrollbereich 88 Toolbar 99 Untersicht 65 Object Navigator 58, 76, 106 Object Value Selector, Formular 163 Object-Based Navigation 283 OBN 283 OIF 씮 Object Instance Floorplan ON_HIDE 145 OPEN_DIALOG_BOX 314 Operator 218 Ausschließen 253 optimistische Navigation 27 optionale Sicht, Launchpad-UIBB 300 Outbound-Plug 37 Outport-Identifikation 339 Outport-Typ 339 OVERRIDE_EVENT_GAF 140, 330 OVERRIDE_EVENT_OIF 140, 321 OVERRIDE_EVENT_OVP 140, 333 Overview Page Floorplan 24, 28, 69, 280, 312 Bearbeitungsseite 89 Bestätigungsbild 89, 94 Dialog 89 Einstiegsbild 89 Erläuterung 94 Fehlerseite 89 Layouttyp 89 Seitenart 89 Struktur 90 Toolbar 102 OVP 씮 Overview Page Floorplan

N Nachricht 24, 265, 278 Formular 158 Lebensdauer 270, 271 Schweregrad 273 Sichtbarkeit 270, 271 Nachrichtenausgabe 127 Nachrichtentyp 263, 273 Namensraum 277 Navigation 37, 265, 273, 281 externe/interne 281 interne 29 ohne Launchpad 306 optimistische 27 Navigationslink 37 NEEDS_CONFIRMATION 123, 265

362

Index

P Panelstack 91 Parameter Launchpad 305 transienter 144 Partizipieren, an einer FloorplanManager-Anwendung 119 Partnerentwicklung 22 PCD 283, 285 Performance, Anwendung 178 Performance-Management 282 Persistenzschicht 52 Personalisierung 40, 48, 52, 90 Laufzeiteditor 48 Personalisierungseditor 91 PFCG 285 Phasenmodell 39, 111, 265 Plug 37 Portal Content Directory 283, 285 PROCESS_BEFORE_OUTPUT 92, 131, 176 PROCESS_EVENT 125, 265 Formular 187 Liste 208 Suchmaske 223 Product Lifecycle Management 21 Programmabbruch 273 Programmiermodell 32 Prüfung, zentrale 143

Q QAF 24, 27, 88, 191 Quick Activity Floorplan 24, 27, 88, 191 Quicklink, Launchpad-UIBB 297

R RAISE_BAPIRET2_EXCEPTION 270 RAISE_CX_ROOT_EXCEPTION 270 RAISE_EVENT 118 RAISE_EXCPETION 270 RAISE_T100_EXCEPTION 270

Registerkarte 104, 151 Ausrichtung 259 Reihenfolge 273 Relation, Wiring 341 Rendering, Formular 174, 178 Rendering-Stil 249 REPORT_BAPIRET2_MESSAGE 269, 270, 279 REPORT_MESSAGE 269, 270 REPORT_OBJECT_MESSAGE 269, 270 REPORT_T100_MESSAGE 269, 270, 279 Ressource, Freigeben 144 Roadmap 24, 26 Rolle 75, 277, 307 Launchpad 289, 303 Rollen-Repository 285 Rollenverständnis 303 Row Repeater 249 Run Time Type Identification 159

S S_DEVELOP 40, 76, 106 S_TRANSPRT 106 S_WDR_P13N 40, 76 SAP Business ByDesign 22 SAP Business Suite 19 SAP ERP 21 SAP List Viewer 249 SAP NetWeaver 19 SAP NetWeaver Application Server 20 Benutzerverwaltung 345 SAP NetWeaver Business Client 133, 285 SAP NetWeaver Portal 133, 285 SAP NetWeaver Visual Composer 284 SAP PLM 21 SAP SCM 21 SAP SRM 21 SAP, UI-Guideline 151 SAP_ABA, Anwendungsbasis 30 sap-config-mode 77 SAP-Laufzeitumgebung 133

363

Index

sap-wd-configId 43 Schlüsselfeld, Launchpad-UIBB 296 Seite, OVP-Schnittstelle 335 Seitenart 312 Bearbeitungsseite 103 Einstiegsbild 103 selektierte Zeile 208 Selektion Liste 208 Tabellenzeile 205 Selektionsereignis 247 Selektionsmodus 247 Selektionsverhalten 247 Shared Data Component 138, 141 SHOW_POPUP_DEFERRED 129 Sichtbarkeit Formular 168 Formularfeld 177 Liste 206 UIBB 132 Soforthilfe 94 Softwarekomponente 30 Spalte, Liste 210 Speichern Konfiguration 189 Suche 255 SQL-Statement 224 Standardfunktion 103 Fertigstellen 96 Schließen 95 Zum Hauptschritt 96 Standard-Launchpad 284, 288 Standardnachricht 276 stapelbarer UIBB 90 Start Over 102 Startzustand Formular 189 Liste 209 Suchmaske 226 Suchanfrage 224, 225 Verwaltung 255 Suchattribut 217, 221, 224 Suche 104 Speichern 255 Suchen-Drucktaste 254 Suchkriterium 252 Suchmaske 151 Supplier Relationship Management 21

364

Supply Chain Management 21 Switch Framework 40

T Tabelle Export 248 T100 268, 270, 274 Tabelleneigenschaft 205 Tabelleneintrag 207 Tabellenzeile Selektion 205 Tag 174 Drag & Drop 164 OIF-Schnittstelle 329 Ticket Area, obere/untere 84 Ticket, Identification Region 326 Ticketbereich 327 Toolbar 25, 94, 318 Aktivierungsfunktion 99 anwendungsspezifische Funktion 95 Ereignisbehandlung 95 Standardfunktion 95 Tooltip, Formular 168 Transaktion LPD_CUST 98, 102 SAAB 269 SE61 94, 273 SE80 32, 76, 106 SLG1 264, 275, 280 SM21 264 SM30 279 ST11 264 ST22 264 SU3 77, 106 transaktionale Integrität 135 transaktionaler Anwendungskontext 135 Transaktionsbehandlung 343 Transaktionslogik, Wiring 343 transienter Parameter 144 Trefferliste 301 Treffermenge, maximale 223 Typinformation, Formular 159 Typisierung, Launchpad 302

Index

U Übersicht, Launchpad-UIBB 296 UI 19 UIBB 51, 53, 57 Entscheidungstabelle zur Freigabe 147 Freestyle 52 Freestyle-UIBB 311 generischer 씮 GUIBB Sichtbarkeit 132 stapelbarer 90 Vorschau 78 Zurückversetzen 130 UI-Building-Block 씮 UIBB UI-Design-Template 151 UI-Element Breadcrumb 80 Formular 230, 234 Liste 242 Registerkarte 258 UI-Guideline 20, 22, 55, 94, 151, 266 UI-Standard 23 unsichtbare Component 144 Unterbrechen, Event Loop 119 untere Ticket Area 84 Unterschritt, GAF-Schnittstelle 331 Untersicht, OIF-Schnittstelle 324 unzulässige Eingabe 126 URL-Parameter sap-config-mode 47, 48 wddisableuserpersonalization 49 use-default-editor 78 User Interface 19

V validierungsrelevant, Formularaktion 167 Variante 85 Verbindung, gerichtete 339 Verknüpfung, Feeder-Klasse 236 vertikale Ausrichtung, Registerkarte 259 Verwaltung, Suchanfrage 255 verwendete Web-Dynpro-Component 141 Verzeichnis, Launchpad-UIBB 297

View 33, 59, 60 View-Controller-Methode 114 vordefinierte Methode 111 Vorher-/Nachhermethode 142 Vorschau Formular 232 Liste 243 Registerkarte 258 Suchmaske 252

W Warnung 264 WD_ANALYZE_CONFIG_APPL 44 WD_ANALYZE_CONFIG_COMP 46 WD_ANALYZE_CONFIG_USER 49 WDDOAFTERACTION 39 WDDOBEFOREACTION 39 WDDOBEFORENAVIGATION 39 WDDOINIT 39 WDDOMODIFYVIEW 39 WDDOPOSTPROCESSING 39 Web Dynpro 21 ABAP Workbench 58 Aktion 167 Anwendung 61 Component 36, 58, 59 Ereignis 114 Rendering 114, 121, 177 Web Dynpro ABAP 50 Web-Dynpro-Built-In 42, 44, 80 Web Dynpro ABAP 305 Web Dynpro Java 284 Webanwendung 287 Webbrowser 285 Web-Dynpro-Component UI-Komponente 229 verwendete 141 Wiederverwendbarkeit 21 Window 35, 59, 60 Wire Entität 347 Implementierung 344 Quellkomponente 345 Zielkomponente 345 Wiring 339 Konfiguration 351 Modell 345

365

Index

WorkProtect-Modus 133 WYSIWYG-Editor 73

X XLS-Format 248 XML 32

Z Zeile, selektierte 208 zentrale Datenkomponente 141

366

zentrale Einstellung Formular 241 Liste 246 Suchmaske 254 zentrale Funktionalität 116 zentrale Prüfung 143 zentrales Datenmodell 185 Zurücksetzen-Drucktaste 254 zusammengesetzte Gruppe 193, 234 Formular 238 Zusammenstellung, Formularinhalt 237 Zustand, Ändern 140