Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Einleitung
19
Teil I Grundlagen
25
1 Schnelleinstieg in Web Dynpro ABAP
27
1.1 Was ist Web Dynpro?
27
1.2 Model-View-Controller
29
1.2.1 Model-View-Controller in der Theorie
30
1.2.2 Varianten
31
1.2.3 Model-View-Controller und Web Dynpro
32
1.3 Funktionalität und Beispielanwendung
33
1.3.1 Web-Dynpro-Technologie
33
1.3.2 UI-Elemente
34
1.3.3 Fortgeschrittene Funktionen
38
1.3.4 Wiederverwendung von Web-Dynpro-Elementen
40
2 Web-Dynpro-Architektur
43
2.1 Entwicklungsumgebung
44
2.1.1 Web Dynpro Explorer
44
2.1.2 Web-Dynpro-Code-Wizard
51
2.1.3 Template Gallery
54
2.2 Components und Anwendungen
56
2.2.1 Components
56
2.2.2 Anwendungen
57
2.2.3 Zusammenhang zwischen Components und Anwendungen
58
2.2.4 Anwendung – dynamische Änderung des Browser-Titels
58
2.2.5 Schritt für Schritt: Anlegen von Components und Anwendungen
59
2.3 View
64
2.3.1 Views
64
2.3.2 Windows und Plugs
79
2.3.3 Nachrichten – Message Manager und Message Area
93
2.4 Controller
104
2.4.1 Controller-Typen
104
2.4.2 Attribute
105
2.4.3 Methoden
106
2.4.4 Phasenmodell
109
2.4.5 Verwendung und Sichtbarkeit
112
2.4.6 Aktionen und Ereignisse
116
2.4.7 Controller-Interface-Typen
120
2.4.8 Assistance-Klasse
121
2.5 Context
122
2.5.1 Aufbau des Contexts
123
2.5.2 Context-Editor
125
2.5.3 Eigenschaften
130
2.5.4 Lead-Selection
134
2.5.5 Rekursive Context-Knoten
135
2.5.6 Datenbindung
136
2.5.7 Mapping
140
2.5.8 Supply-Funktionen
143
2.5.9 Context-Attribut-Eigenschaften
145
2.5.10 Context-Change-Log
149
2.6 Context-Programmierung
152
2.6.1 Navigation durch den Context
153
2.6.2 Setzen der Lead-Selection
155
2.6.3 Erzeugen und Löschen von Context-Elementen
156
2.6.4 Auslesen und Änderung existierender Context-Knoten/-Elemente
159
2.6.5 Range-Context-Knoten
161
2.7 Multi-Component-Architekturen
163
2.7.1 Component-Verwendungen
164
2.7.2 Verwendung von Interface-Views
171
2.7.3 Verwendung des Interface-Controllers
172
2.7.4 Componentübergreifendes Mapping
174
2.7.5 Component-Interfaces
181
Teil I Referenz
185
3 Container und Layouts
187
3.1 Container
187
3.1.1 Hierarchische Struktur von UI-Elementen in Views
188
3.1.2 Eigenschaften für alle Unterklassen von CL_WD_SCROLL_CONTAINER
190
3.1.3 ScrollContainer
195
3.1.4 TransparentContainer
195
3.1.5 LayoutContainer
200
3.1.6 Group
200
3.1.7 Tray
204
3.1.8 Panel
208
3.1.9 Splitter
214
3.2 Quasi-Container
220
3.2.1 Accordion
221
3.2.2 RowRepeater
226
3.2.3 ContextualPanel
229
3.2.4 HorizontalContextualPanel
232
3.2.5 NavigationList
236
3.2.6 PageHeader
245
3.2.7 MultiPane
250
3.2.8 TabStrip
252
3.2.9 ViewContainerUIElement
258
3.3 Layouts
258
3.3.1 Grundlagen
259
3.3.2 FlowLayout
261
3.3.3 RowLayout
265
3.3.4 MatrixLayout
267
3.3.5 GridLayout
270
3.3.6 PageLayout
273
3.3.7 FormLayout
275
3.3.8 FormLayoutAdvanced
278
3.3.9 FormDesignLayout
282
3.3.10 RasterLayout
290
4 UI-Elemente und ihre Eigenschaften
293
4.1 Eigenschaften für alle UI-Elemente
294
4.2 Kategorie »text«
297
4.2.1 Allgemeines
297
4.2.2 InputField
298
4.2.3 Label
311
4.2.4 Caption
315
4.2.5 Explanation
317
4.2.6 TextView
322
4.2.7 TextEdit
326
4.2.8 FormattedTextView
330
4.2.9 FormattedTextEdit
336
4.2.10 SectionHeader
337
4.2.11 RatingIndicator
340
4.3 Kategorie »action«
342
4.3.1 Allgemein
342
4.3.2 Button
343
4.3.3 ButtonChoice
345
4.3.4 IconButton
348
4.3.5 LinkChoice
350
4.3.6 LinkToAction
351
4.3.7 LinkToURL
354
4.3.8 TimedTrigger
356
4.4 Kategorie »selection«
360
4.4.1 Allgemein
360
4.4.2 ToggleButton
361
4.4.3 ToggleLink
363
4.4.4 TagCloud
364
4.5 Kategorie »complex«
367
4.5.1 Allgemein
367
4.5.2 BreadCrumb
368
4.5.3 DateNavigator
371
4.5.4 Legend
377
4.5.5 PhaseIndicator
381
4.5.6 RoadMap
385
4.5.7 Shuttle
391
4.5.8 Tree
395
4.6 Kategorie »layout«
404
4.6.1 Allgemein
405
4.6.2 HorizontalGutter
405
4.6.3 InvisibleElement
407
4.6.4 MessageArea
408
4.7 Kategorie »graphic«
411
4.7.1 Allgemein
411
4.7.2 BusinessGraphics
412
4.7.3 Chart
434
4.7.4 Gantt
439
4.7.5 GeoMap
448
4.7.6 ValueComparison
457
4.7.7 Image
461
4.7.8 Network
463
4.7.9 ProgressIndicator
464
4.7.10 ThresholdSlider
466
4.8 Kategorie »integration«
471
4.8.1 Allgemein
471
4.8.2 AcfExecute
472
4.8.3 AcfUpDownload
477
4.8.4 FileDownload
480
4.8.5 FileUpload
487
4.8.6 IFrame
488
4.8.7 InteractiveForm
491
4.8.8 OfficeControl
498
4.9 Aggregierte Elemente
507
4.9.1 Allgemein
507
4.9.2 Menu
508
4.9.3 MenuBar
513
4.9.4 ToolBar
514
4.10 PanelStack
522
5 Drag & Drop für UI-Elemente
527
5.1 Allgemeines
531
5.1.1 DragSourceInfo
531
5.1.2 DropTargetInfo
533
5.1.3 DropTarget
534
5.1.4 Ereignis »onDrop«
536
5.2 Tree
539
5.3 GridLayout/MatrixLayout
542
5.4 ItemListBox
548
5.5 Table
551
5.5.1 Nicht hierarchische Tabellen
551
5.5.2 Hierarchische Tabellen
556
5.6 CTable
557
5.7 Accordion
566
5.8 PanelStack
569
5.9 Operationsmodi
571
5.9.1 Browse & Collect
571
5.9.2 Generisches Drag & Drop
572
5.9.3 Laufzeit-Authoring
572
6 Dynamische Programmierung
573
6.1 Arten dynamischer Programmierung
574
6.2 Context
575
6.2.1 Context-Knoten-Metainformation
576
6.2.2 Context-Knoten anlegen
577
6.2.3 Context-Attribute anlegen
583
6.2.4 Context-Mapping
592
6.2.5 Weitere Methoden
595
6.3 View
598
6.3.1 ABAP-Klassenhierarchie für UI-Elemente
599
6.3.2 Referenz eines UI-Elements ermitteln
601
6.3.3 Eigenschaft und Layout eines UI-Elements ändern
603
6.3.4 UI-Elemente anlegen
604
6.4 Aktion
613
6.4.1 Implementierung der Methode »wddomodifyview( )«
615
6.4.2 Implementierung Aktionsbehandler-Methode
618
6.5 Component-Verwendung
619
6.5.1 Verwendung von Components
619
6.5.2 Klonen von Verwendungserklärungen
623
6.5.3 Dynamische View-Einbettung
632
6.5.4 Dynamische Ereignisregistrierung
636
7 Eingabe- und semantische Hilfen
641
7.1 Implementierung von Auswahlmöglichkeiten
642
7.1.1 Dropdown-Menüs
642
7.1.2 Radiobutton
651
7.1.3 Checkbox
655
7.1.4 ItemListBox
659
7.1.5 TriStateCheckBox
661
7.2 Wertehilfen
662
7.2.1 Wertehilfe-Modus »Deaktiviert«
664
7.2.2 Wertehilfe-Modus »Automatisch«
664
7.2.3 Wertehilfe-Modus »Dictionary-Suchhilfe«
673
7.2.4 Wertehilfe-Modus »Object Value Selector«
673
7.2.5 Wertehilfe-Modus »Frei Programmiert«
686
7.3 Select-Options
697
7.3.1 Select-Options in ABAP-Programmen
697
7.3.2 Klassische Select-Options
699
7.3.3 Select-Options 2.0
712
7.4 Semantische Hilfen
722
7.4.1 Hilfetexte mit Quick-Infos
722
7.4.2 Erläuterungstexte
723
7.4.3 ABAP-Dictionary-Hilfe
724
7.4.4 Erläuterungen
726
7.4.5 SAP-Knowledge-Warehouse-Dokumente
729
Teil II Fortgeschrittene Techniken
735
8 Erweiterung, Konfiguration, Customizing und Personalisierung
737
8.1 Erweiterungen mit dem SAP Enhancement Framework
741
8.1.1 Anlegen einer Erweiterung
742
8.1.2 Erweiterung von Web-Dynpro-Objekten
743
8.2 Konfiguration im Überblick
747
8.3 Berechtigungen
748
8.4 Component-Konfiguration
749
8.4.1 Bestandteile
749
8.4.2 Anlegen einer Component-Konfiguration
750
8.4.3 Web-Dynpro-Built-In-Konfiguration
752
8.4.4 Component-defined-Konfiguration
753
8.4.5 Erstellung eigener ComponentKonfigurationseditoren
758
8.4.6 Component-Konfigurationseigenschaften
763
8.5 Anwendungskonfiguration
764
8.5.1 Anlegen und Bearbeiten von Anwendungskonfigurationen
765
8.5.2 Anwendungsparameter
767
8.5.3 Auswahl der zu verwendenden ComponentKonfiguration
768
8.6 Customizing
769
8.6.1 Anlegen des Customizings
771
8.6.2 Transport des Customizings
772
8.6.3 Dekorative UI-Elemente
773
8.7 Personalisierung
774
8.7.1 Verwendung der Web-Dynpro-Built-In-Personalisierung
774
8.7.2 Explizites Speichern eines Configuration-Controllers
775
8.7.3 Abschalten der Personalisierung
777
9 Integration komplexer UIElemente und Components
779
9.1 FlashIsland/SilverlightIsland (*Island)
780
9.1.1 Adobe Flash
780
9.1.2 Microsoft Silverlight
782
9.1.3 Vorgehen
783
9.1.4 Eigenschaften von *Island
788
9.1.5 Aggregierte Elemente
788
9.1.6 Barrierefreiheit
793
9.2 HtmlContainer und HtmlIsland
795
9.2.1 HtmlContainer
796
9.2.2 HtmlIsland
805
9.3 Table
815
9.3.1 Einfache Tabelle anlegen
817
9.3.2 Eigenschaften
821
9.3.3 Ereignisse
835
9.3.4 Aggregierte Elemente
847
9.3.5 Weitere Funktionen
850
9.4 TableColumn
853
9.4.1 Eigenschaften
853
9.4.2 Barrierefreiheit
859
9.4.3 Aggregierte Elemente
859
9.4.4 Ereignis
864
9.5 TablePopin
864
9.5.1 Eigenschaften
865
9.5.2 Ereignis
866
9.5.3 Aggregierte Elemente
866
9.5.4 Verwendung
867
9.6 TableColumnGroup
870
9.7 TableRowGrouping, TreeByKeyTableColumn und TreeByNestingTableColumn
872
9.7.1 TableRowGrouping
872
9.7.2 TreeByKeyTableColumn und TreeByNestingTableColumn
874
9.8 CTable
879
9.8.1 Eigenschaften
880
9.8.2 Ereignisse
884
9.8.3 Aggregierte Elemente
885
9.9 CTableColumn
885
9.9.1 Ereignis
888
9.9.2 Aggregierte Elemente
888
9.10 CTableHeaderArea
888
9.10.1 Eigenschaften
888
9.11 CTableHierarchicalCell
889
9.11.1 Eigenschaften
889
9.11.2 Ereignis
890
9.11.3 Aggregierte Elemente
890
9.12 CTableSymbolCell
890
9.13 SAP List Viewer
891
9.13.1 Integration des SAP List Viewers in drei Schritten
893
9.13.2 Methoden und Ereignisse der ALV-Component
895
9.13.3 ALV Configuration Model
902
9.13.4 Änderungen an den Tabelleneinstellungen
909
9.13.5 Änderungen am Spaltenvorrat
911
9.13.6 Änderungen an der Toolbar
913
10 Weiterführende Konzepte
917
10.1 Pop-up-Fenster
917
10.1.1 Fensterebenen
917
10.1.2 Pop-up-Fenster erzeugen
918
10.1.3 Standard-Button-Aktionen
921
10.1.4 Anlegen eines Pop-up-Fensters
922
10.2 Kontextmenüs
925
10.2.1 Standardkontextmenü
927
10.2.2 Kontextmenü anlegen
929
10.2.3 Zuweisung eines Kontextmenüs
934
10.3 Fokus-Handling
936
10.3.1 Cursor-Beeinflussung über Meldungen
936
10.3.2 Gezieltes Setzen des Cursors auf ein UI-Element
937
10.3.3 Gezieltes Setzen des Cursors auf ein Context-Element-Attribut
938
10.3.4 Gezieltes Scrollen zu einem UI-Element
938
10.4 Nachrichten und Internationalisierung
939
10.4.1 Texte aus dem ABAP Dictionary
940
10.4.2 Texte aus dem Online Text Repository
941
10.4.3 Texte aus der Assistenzklasse
944
10.4.4 Nachrichten
949
10.5 Portalintegration
962
10.5.1 Voraussetzungen
963
10.5.2 Portal-Eventing
965
10.5.3 Navigation
969
10.5.4 WorkProtect-Modus
972
10.5.5 Interface IF_WD_PORTAL_INTEGRATION
973
10.6 Performance- und Speicheroptimierung
974
10.6.1 Checklisten für die performante Web-Dynpro-Entwicklung
978
10.6.2 Performance-Tools
980
10.6.3 On-Demand-Component- und View-Instanziierung
983
10.6.4 Delta-Rendering
987
10.7 Debuggen von Web-Dynpro-Anwendungen
992
10.7.1 Debugger einrichten
993
10.7.2 Verwendung des Web-Dynpro-Werkzeugs
994
10.8 Barrierefreiheit
996
10.8.1 Barrierefreie Entwicklung
998
10.8.2 Barrierefreiheit aktivieren und testen
999
10.8.3 Unterstützung von Accessible Rich Internet Applications (ARIA)
1000
10.9 Mashups
1001
10.9.1 CHIP anlegen
1004
10.9.2 Sidepanel anlegen
1006
10.9.3 Automatisches Wiring konfigurieren
1009
10.9.4 IFrame-CHIP mit dem Page Builder anlegen
1011
10.9.5 IFrame-CHIP in Sidepanel einbinden
1017
10.10 Testen mit eCATT
1018
10.10.1 Aufzeichnung mithilfe von eCATT
1019
10.10.2 eCATT-Aufzeichnungen bearbeiten
1021
10.10.3 Testen von eCATT-Testskripten
1022
10.11 Testen mit ABAP-Unit-Tests
1023
10.12 Trace-Tool zur Fehleranalyse
1028
10.13 Karten mithilfe von Visual Business visualisieren
1031
10.14 Themes
1034
10.15 Floorplan Manager
1038
10.15.1 Grundprinzipien des Floorplan Managers
1038
10.15.2 Erstellen von FPM-Anwendungen
1041
Anhang
1047
A Anwendungsparameter und URL-Parameter
1049
A.1 Anwendungsparameter setzen
1049
A.2 Auswertungsreihenfolge
1050
A.3 Anwendungsparameter
1050
A.3.1 Allgemeine Anwendungsparameter
1051
A.3.2 Web-Dynpro-Anpassungen
1056
A.3.3 Design-Einstellungen
1057
A.3.4 Sidepanel
1060
A.3.5 Anwendungsindividuelle Parameter
1061
A.4 Globale Einstellungen
1064
A.5 URL-Parameter für Web Dynpro
1064
A.6 SAP-URL-Parameter
1066
B Web-Dynpro-Programmierschnittstellen
1069
B.1 Component
1069
B.2 Controller-Schnittstellen
1073
B.3 Anwendungsschnittstellen
1076
B.4 View-Schnittstellen
1079
B.5 Window-Schnittstellen
1082
B.6 Nachrichtenausgabe
1085
B.7 Personalisierung – IF_WD_PERSONALIZATION
1087
B.8 Portalintegration – IF_WD_PORTAL_INTEGRATION
1090
B.9 Context-Schnittstellen
1091
C Die Autoren
1113
Index
1115