Using ABAP |
Getting Involved |
Die Entstehung von ABAP - ein Überblick |
ABAP und seine Infrastruktur |
ABAP und der SAP NW Application Server |
Go and Create |
Eine Datenbanktabelle und Datenelemente anlegen |
Die grundlegenden Eigenschaften einer globalen Klasse definieren |
Methoden, Typen und Attribute einer globalen Klasse |
Core Development Tasks |
UI-Technologie |
Web Dynpro für ABAP |
Getting Involved |
Go and Create: Die erste Anwendung mit Web-Dynpro-ABAP |
Schritt 1: Anlegen und Bearbeiten einer Component |
Schritt 2: Gestalten der ersten View |
Schritt 3: Das Context-Mapping der ersten View |
Schritt 4: Die Bindung des Attributs |
Schritt 5: Gestalten der zweiten View |
Schritt 6: Pflege des Contexts der zweiten View |
Schritt 7: Einbetten der Views in ein Window |
Schritt 8: Festlegen der Navigation |
Schritt 9: Anlegen und Testen einer Web-Dynpro-Anwendung |
Web Dynpro ABAP: Entwicklung im Detail |
Grundlagen |
Die Component |
Die View |
Die UI-Elemente der View |
Die Struktur des View-Contextes |
Die Datenbindung |
Aktionen von UI-Elementen |
Parameter-Mapping |
Ereignisbehandler von Aktionen |
Der Component-Controller |
Das Context-Mapping |
Programmierung von Controller-Methoden |
Die Referenzvariable WD_CONTEXT |
Die Referenzvariable WD_THIS und das lokale Controller-Interface |
Die Methoden des lokalen Controller-Interfaces |
Die ausschließlich von der Laufzeit gerufenen Methoden |
Vordefinierte Methoden des lokalen Controller-Interfaces |
Ereignisse und Ereignisbehandler |
Supply-Funktion |
Freie Methoden der Anwendungsentwicklung |
Controller-übergreifender Methodenaufruf |
Die Web-Dynpro-Laufzeit-APIs |
Das Füllen des Contexts |
Das Phasenmodell |
Client-Implementierung |
Das Web-Dynpro-Window |
Navigation zwischen zwei Views |
Die Web-Dynpro-Anwendung |
URL einer Web-Dynpro-Anwendung |
Web-Dynpro-Anwendung mit Parametern aufrufen |
Component-übergreifende Programmierung |
Die verschiedenen Controller einer Web-Dynpro-Component |
Component-Verwendungen |
Component-Verwendung ohne Controller-Zugriff |
Component-Verwendung mit Controller-Zugriff |
Navigation über Window-Plugs |
Component-übergreifendes Context-Mapping |
Das externe Context-Mapping |
Arbeiten mit Web-Dynpro-Component-Interfaces |
Anlegen einer Web-Dynpro-Component-Interface-Definition |
Implementieren einer Web-Dynpro-Interface-Definition |
Beispiel für die Implementierung einer Interface-Definition |
Arbeiten mit Model-Components |
Dynamische Programmierung |
Dynamische Layout-Manipulation |
Dynamisches Arbeiten mit Parameter-Mappings |
Dynamische Context-Manipulation |
Dynamisches Arbeiten mit Component-Verwendungen |
Dyn. Erzeugung von Component-Verwendungen |
Dyn. Einbettung einer Interface-View |
Methodenaufruf in einer dyn. erz. Component-Verwendungen |
Dyn. Registrierung eines Ereignisbehandlers auf ein Ereignis |
Weiterführende Konzepte |
Arbeiten mit der Assistance-Klasse |
Service-Aufrufe in einer Web-Dynpro-Anwendung |
Service-Aufruf anlegen |
Service-Aufruf verwenden |
Datenbindungskonzepte |
Datenbindung von Oberflächenelement-Eigenschaften |
Datenbindung mittels Index und Schlüssel |
Festwerte von Attributen |
Context-Change-Log (Aufzeichung von Benutzereingaben) |
Eingabehilfen |
ABAP-Dictionary Suchhilfe |
OVS-Wertehilfe |
Frei programmierte Wertehilfe |
Meldungen |
Einbindung von Meldungen in das Meldungsprotokoll |
Handling von Web-Ikonen |
Datei-Export |
Portal-Integration |
Portal-Einbindung: Voraussetzungen |
Anwendung im Portal einbinden |
Portal-Ereignisse |
Auslösen eines Portal-Ereignisses |
Registrieren und Behandeln eines Ereignisses |
Portal-Navigation |
Objektbasierte Navigation (OBN) |
Absolute Navigation |
Relative Navigation |
WorkProtect-Modus |
Integration von Formularen |
PDF-Formular in eine Web-Dynpro-Anwendung integrieren |
Unterstützte Elemente der Adobe-Bibliothek |
Interaktive Verwendung eines Formulars |
Formulare mit Funktionsbaustein-basierter Schnittstelle |
Internationalisierung und Übersetzung |
Personalisierung und Konfiguration |
Component-Konfiguration |
Anwendungskonfiguration |
Personalisierung |
Konfiguration einer eingebundenen ALV-Component |
Modifikationsfreie Erweiterungen |
Erweiterungen in einer View implementieren |
Erweiterungen im Controller implementieren |
Erweiterungen in einem Window implementieren |
Barrierefreiheit einer Web-Dynpro-Anwendung |
ALV-Integration in das Web Dynpro ABAP |
Die ALV-Component in Ihrer Anwendung |
Vorgehensweise im Überblick |
ALV-Component |
Einbinden der ALV-Component |
Bereitstellen der Daten |
Verwenden der ALV-Views |
ALV Configuration Model |
Umfang des ALV Configuration Model |
Attribute, Felder und Spalten |
Spalten, Felder und ALV Configuration Model holen |
Klassendiagramm |
Funktionen, Ereignisse und Interaktionen |
Funktionen bereitstellen |
ALV-Standardfunktionen einsetzen |
Selbstdefinierte, anwendungsspezifische Funktionen einsetzen |
Funktion erzeugen und löschen |
Funktionsobjekte holen |
Oberflächenelement festlegen |
Position innerhalb der Toolbar festlegen |
Sichtbarkeit und Aktivierungsstatus steuern |
Ereignis zum Behandeln selbstdefinierter Funktionen |
Anhang |
Methoden im Interfacecontroller der ALV-Component |
DATA_CHECK |
GET_CONFIG_DATA |
GET_MODEL |
GET_MODEL_EXTENDED |
SET_DATA |
Ereignisse im Interfacecontroller der ALV-Component |
ON_AFTER_CONFIG |
ON_CLICK |
ON_DATA_CHECK |
ON_FUNCTION |
ON_LEAD_SELECT |
ON_STD_FUNCTION_AFTE |
ON_STD_FUNCTION_BEFO |
Dynpro Design-Zeit Konvertierung |
Einschränkungen |
Transformationsregeln |
Layout Management |
Dynpro-Controls |
Ankreuzfeld |
Frame |
I/O Feld |
Drucktaste |
Auswahlknopf |
Step-Loop |
SubScreen |
Table Control |
TabStrip |
Textfeld |
Qualitätssicherung |
ICM-Tracing |
HTTP-Browser-Tracing |
HTTP-Proxy |
Systemanmeldung (ICFX) |
Voraussetzungen |
Sicherheits-Einstellungen testen |
Konfigurationseinstellungen |
Szenarien zur Kennwortänderung |
Kennwortänderung bei Basic Authentication vornehmen |
Kennwortänderungen im SSO-Umfeld |
Benutzerspezifische Änderungen |
Beispiel |
URL-Generierung in einer AS-ABAP - Web Dispatcher Konfiguration |
Referenz |
Web-Dynpro-Werkzeuge in der ABAP Workbench |
Component Editor |
Controller Editor |
Controller: Eigenschaften |
Controller: Context |
Context-Knoten anlegen und pflegen |
Context-Attribute anlegen und pflegen |
Mapping definieren |
Controller: Attribute |
Controller: Ereignisse |
Controller: Methoden |
View Editor |
View: Layout |
View: Inbound- und Outbound-Plugs |
View: Die Bestandteile des View-Controllers |
Window Editor |
Window: Die View-Hierarchie |
Window: Inbound- und Outbound-Plugs |
Navigations-Links von Outbound-Plugs eines Windows |
Window: Die Bestandteile des Window-Controllers |
Interface-View anzeigen |
Interface-Controller anzeigen bzw. definieren |
Web-Dynpro-Anwendung |
Der Web-Dynpro-Code-Wizard |
User-Interface-Elemente |
Core-Bibliothek |
Layout-Grundlagen |
Layout |
LayoutData |
Oberflächenelement-Container |
UIElement |
UIElement-Eigenschaften |
UIElementContainer |
UIElementContainer-Eigenschaften |
UIElementContainer-Aggregationen |
ViewElement |
ActiveComponent-Bibliothek |
Gantt |
Gantt-Eigenschaften |
Gantt-Ereignisse |
Network |
Network-Eigenschaften |
Network-Ereignisse |
Abstrakte Oberflächenelemente |
AbstractActiveComponent |
AbstractActiveComponent-Eigenschaften |
Adobe-Bibliothek |
InteractiveForm |
InteractiveForm-Eigenschaften |
InteractiveForm-Ereignisse |
BusinessGraphics-Bibliothek |
BusinessGraphics |
BusinessGraphics-Eigenschaften |
BusinessGraphics-Ereignisse |
BusinessGraphics-Aggregationen |
Zugriff auf weitere Methoden in einem BusinessGraphics-Element |
Chart Designer |
Bearbeitung mit dem Chart Designer |
Category |
Category-Eigenschaften |
NumericValue |
NumericValue-Eigenschaften |
Point |
Point-Eigenschaften |
Point-Aggregationen |
Series |
Series-Eigenschaften |
Series-Aggregationen |
SimpleSeries |
SimpleSeries-Eigenschaften |
TimeValue |
TimeValue-Eigenschaften |
GeoMap |
GeoMap-Eigenschaften |
GeoMap-Ereignisse |
Abstrakte Oberflächenelemente |
AbstractIgsElement |
AbstractIgsElement-Eigenschaften |
AbstractSeries |
AbstractValue |
BusinessIntelligence-Bibliothek |
BIApplicationFrame |
BIApplicationFrame-Eigenschaften |
Zugriff auf Aktionen einer BEx Web Application |
OfficeIntegration-Bibliothek |
OfficeControl |
OfficeControl-Eigenschaften |
OfficeControl-Events |
Pattern-Bibliothek |
ContextualPanel |
ContextualPanel-Eigenschaften |
ContextualPanel-Events |
ContextualPanel-Aggregationen |
FreeContextualArea |
FreeContextualArea-Eigenschaften |
FreeContextualArea-Aggregationen |
ViewSwitch |
ViewSwitch-Eigenschaften |
ViewSwitch-Ereignisse |
MessageArea |
MessageArea-Eigenschaften |
MessageArea-Ereignisse |
NavigationList |
NavigationList-Eigenschaften |
NavigationList-Ereignisse |
NavigationList-Aggregationen |
ExpandableTitle |
ExpandableTitle-Eigenschaften |
ExpandableTitle-Ereignisse |
PageHeader |
PageHeader-Eigenschaften |
PageHeader-Aggregationen |
PageHeaderArea |
PageHeaderArea-Eigenschaften |
PageHeaderArea-Aggregationen |
Standard-Bibliothek (Simple Elements) |
Button |
Button-Eigenschaften |
Caption |
Caption-Eigenschaften |
CheckBox |
CheckBox-Eigenschaften |
CheckBoxGroup |
CheckBoxGroup-Eigenschaften |
CheckBoxGroup-Ereignisse |
DropDownByIndex |
DropDownByIndex-Eigenschaften |
DropDownByKey |
DropDownByKey-Eigenschaften |
Explanation |
Explanation-Eigenschaften |
FileDownload |
FileDownload-Eigenschaften |
FileUpload |
FileUpload-Eigenschaften |
FormattedTextView |
Unterstützte Tags |
FormattedTextView-Eigenschaften |
FormattedTextView-Events |
ValueComparison |
ValueComparison-Eigenschaften |
HorizontalGutter |
HorizontalGutter-Eigenschaften |
IFrame |
IFrame-Eigenschaften |
Image |
Image-Eigenschaften |
Image-Aggregationen |
InputField |
InputField-Eigenschaften |
InvisibleElement |
ItemListBox |
ItemListBox-Eigenschaften |
ItemListBox-Ereignisse |
Label |
Label-Eigenschaften |
LinkToAction |
LinkToAction-Eigenschaften |
LinkToAction-Events |
LinkToAction-Aggregationen |
LinkToURL |
LinkToURL-Eigenschaften |
LinkToURL-Aggregationen |
RadioButton |
RadioButton-Eigenschaften |
RadioButton-Ereignisse |
RadioButtonGroupByIndex |
RadioButtonGroupByIndex-Eigenschaften |
RadioButtonGroupByIndex-Ereignisse |
RadioButtonGroupByKey |
RadioButtonGroupByKey-Eigenschaften |
RadioButtonGroupByKey-Ereignisse |
TextEdit |
TextEdit-Eigenschaften |
TextView |
TextView-Eigenschaften |
TextView-Aggregationen |
TimedTrigger |
TimedTrigger-Eigenschaften |
TimedTrigger-Events |
ToggleButton |
ToggleLink |
ToggleLink-Eigenschaften |
TriStateCheckBox |
TriStateCheckBox-Eigenschaften |
TriStateCheckBox-Events |
ViewContainerUIElement |
Allgemeine untergeordnete UI-Elemente |
Link |
Link-Eigenschaften |
Menu |
Menu-Eigenschaften |
Menu-Aggregationen |
MenuItem |
MenuActionItem |
MenuActionItem-Eigenschaften |
MenuActionItem-Ereignisse |
MenuCheckBox |
MenuCheckBox-Eigenschaften |
MenuCheckBox-Ereignisse |
MenuRadioButton |
MenuRadioButton-Eigenschaften |
MenuRadioButton-Ereignisse |
MenuSeparator |
ToolBar |
ToolBar-Eigenschaften |
ToolBar-Aggregationen |
ToolBarButton |
ToolBarButton-Eigenschaften |
ToolBarButtonChoice |
ToolBarButtonChoice-Eigenschaften |
ToolBarButtonChoice-Aggregationen |
ToolBarDropDownByIndex |
ToolBarDropDownByIndex-Eigenschaften |
ToolBarDropDownByKey |
ToolBarDropDownByKey-Eigenschaften |
ToolBarInputField |
ToolBarInputField-Eigenschaften |
ToolBarLinkToAction |
ToolBarLinkToAction-Eigenschaften |
ToolBarLinkToAction-Events |
ToolBarLinkToURL |
ToolBarLinkToURL-Eigenschaften |
ToolBarSeparator |
ToolBarSeparator-Eigenschaften |
ToolBarToggleButton |
ToolBarToggleButton-Eigenschaften |
Layout-UI-Elemente |
FlowData |
FlowData-Eigenschaften |
FlowLayout |
FlowLayout-Eigenschaften |
MatrixData |
MatrixData-Eigenschaften |
MatrixHeadData |
MatrixLayout |
MatrixLayout-Eigenschaften |
RowData |
RowHeadData |
RowHeadData-Eigenschaften |
RowLayout |
GridData |
GridData-Eigenschaften |
GridLayout |
GridLayout-Eigenschaften |
Abstrakte Oberflächenelemente |
AbstractButton |
AbstractButton-Eigenschaften |
AbstractButton-Ereignisse |
AbstractCaption |
AbstractCaption-Eigenschaften |
AbstractDropDown |
AbstractDropDown-Eigenschaften |
AbstractDropDownByIndex |
AbstractDropDownByIndex-Eigenschaften |
AbstractDropDownByIndex-Ereignisse |
AbstractDropDownByKey |
AbstractDropDownByKey-Eigenschaften |
AbstractDropDownByKey-Ereignisse |
AbstractInputField |
AbstractInputField-Eigenschaften |
AbstractInputField-Events |
AbstractToggle |
AbstractToggle-Eigenschaften |
AbstractToggle-Events |
AbstractToggleButton |
AbstractToggleButton-Eigenschaften |
Standard-Bibliothek (Complex Elements) |
BreadCrumb |
BreadCrumb-Eigenschaften |
BreadCrumb-Ereignisse |
BreadCrumb-Aggregationen |
BreadCrumbStep |
BreadCrumbStep-Eigenschaften |
MultipleBreadCrumbStep |
MultipleBreadCrumbStep-Eigenschaften |
ButtonRow |
ButtonRow-Aggregationen |
DateNavigator |
DateNavigator-Eigenschaften |
DateNavigator-Ereignisse |
DateNavigator-Aggregationen |
DateNavigatorLegend |
DateNavigatorLegend-Eigenschaften |
DateNavigatorMarking |
DateNavigatorMarking-Eigenschaften |
MultiPane |
MultiPane-Eigenschaften |
MultiPane-Ereignisse |
MultiPane-Aggregationen |
PhaseIndicator |
PhaseIndicator-Eigenschaften |
PhaseIndicator-Ereignisse |
PhaseIndicator-Aggregationen |
Phase |
Phase-Eigenschaften |
ProgressIndicator |
ProgressIndicator-Eigenschaften |
ProgressIndicator-Aggregationen |
RoadMap |
RoadMap-Eigenschaften |
RoadMap-Ereignisse |
RoadMap-Aggregationen |
RoadMapStep |
RoadMapStep-Eigenschaften |
MultipleRoadMapStep |
MultipleRoadMapStep-Eigenschaften |
Table |
Table-Eigenschaften |
Table-Ereignisse |
Table-Aggregationen |
TableColumn |
TableColumn-Eigenschaften |
TableColumn-Aggregationen |
TableColumnGroup |
TableColumnGroup-Aggregationen |
TablePopin |
TablePopin-Eigenschaften |
TablePopin-Ereignisse |
TablePopin-Aggregationen |
TextBar |
TextBar-Eigenschaften |
TableStandardCell |
TableStandardCell-Eigenschaften |
TableStandardCell-Aggregationen |
TableSingleMarkableCell |
TableSingleMarkableCell-Eigenschaften |
TableSingleMarkableCell-Aggregationen |
TreeByKeyTableColumn |
TreeByKeyTableColumn-Eigenschaften |
TreeByNestingTableColumn |
TabStrip |
TabStrip-Eigenschaften |
TabStrip-Ereignisse |
TabStrip-Aggregationen |
Tab |
Tab-Eigenschaften |
Tab-Aggregationen |
Tree |
Tree-Eigenschaften |
Tree-Ereignisse |
Tree-Aggregationen |
TreeItemType |
TreeNodeType |
TreeNodeType-Eigenschaften |
TreeNodeType-Ereignisse |
Abstrakte Oberflächenelemente |
AbstractMasterTableColumn |
AbstractMasterTableColumn-Eigenschaften |
AbstractMasterTableColumn-Aggregationen |
AbstractTableCellVariant |
AbstractTableCellVariant-Eigenschaften |
AbstractTableColumn |
AbstractTableColumn-Eigenschaften |
AbstractTableColumn-Ereignisse |
AbstractTableColumn-Aggregationen |
AbstractTreeNodeType |
AbstractTreeNodeType-Eigenschaften |
AbstractTreeNodeType-Ereignisse |
AbstractTreeNodeType-Aggregationen |
AbstractTreeTableColumn |
AbstractTreeTableColumn-Eigenschaften |
AbstractTreeTableColumn-Ereignisse |
Standard-Bibliothek (Container Elements) |
Group |
Group-Eigenschaften |
Group-Aggregationen |
ScrollContainer |
ScrollContainer-Eigenschaften |
TransparentContainer |
TransparentContainer-Eigenschaften |
Tray |
Tray-Eigenschaften |
Tray-Ereignisse |
Tray-Aggregationen |
Legende |
Primäre Eigenschaft |
Controller-Klassen und -Interfaces |
Klassen und Interfaces des Frameworks |
IF_WD_ACTION |
IF_WD_APPLICATION |
IF_WD_COMPONENT |
IF_WD_COMPONENT_USAGE |
IF_WD_COMPONENT_USAGE_GROUP |
IF_WD_CONTEXT |
IF_WD_CONTEXT_NODE |
IF_WD_CONTEXT_NODE_INFO |
IF_WD_CONTEXT_ELEMENT |
IF_WD_CONTROLLER |
IF_WD_MESSAGE_MANAGER |
IF_WD_NAVIGATION_SERVICES |
IF_WD_PERSONALIZATION |
IF_WD_PORTAL_INTEGRATION |
IF_WD_VALIDATION |
IF_WD_VIEW |
IF_WD_VIEW_CONTROLLER |
IF_WD_VIEW_ELEMENT |
IF_WD_WINDOW |
IF_WD_WINDOW_CONTROLLER |
CL_WD_CUSTOM_EVENT |
CL_WDR_PORTAL_OBNWEB_SERVICE |
Service-Klassen |
CL_WD_ADOBE_SERVICES |
CL_WD_COMPONENT_ASSISTANCE |
CL_WD_CONTEXT_SERVICES |
CL_WD_DYNAMIC_TOOL |
CL_WD_RUNTIME_SERVICES |
CL_WD_UTILITIES |
Bedienung der ABAP-Dictionary Suchhilfen |
Tutorials |
Go and Create: Die erste Anwendung mit Web-Dynpro-ABAP |
Schritt 1: Anlegen und Bearbeiten einer Component |
Schritt 2: Gestalten der ersten View |
Schritt 3: Das Context-Mapping der ersten View |
Schritt 4: Die Bindung des Attributs |
Schritt 5: Gestalten der zweiten View |
Schritt 6: Pflege des Contexts der zweiten View |
Schritt 7: Einbetten der Views in ein Window |
Schritt 8: Festlegen der Navigation |
Schritt 9: Anlegen und Testen einer Web-Dynpro-Anwendung |
Erstellen einer einfachen Flug-Info-Anwendung |
Teil 1: Anlegen und Bearbeiten der View "SUCHEN" |
Teil 2: Testen der ersten View |
Teil 3: Anlegen und Bearbeiten der View "ANZEIGEN" |
Teil 4: Implemtierung des Datentransports |
Teil 5: Einrichten der Navigation |
URL-Parameter |
Berechtigungsprüfungen bei der Konfiguration/Personalisierung |
Business Server Pages |
Sicherheitsaspekte für BSP |
Sicherheitsrisiko-Liste |
URL-Generierung in einer AS-ABAP - Web Dispatcher Konfiguration |
Host-Header |
Absolute URL-Generierung |
Konfigurationstabelle HTTPURLLOC |
Programmierschnittstelle |
Szenario 1: Direkte Browser - AS-ABAP Kommunikation |
Szenario 2: Browser - AS-ABAP Kommunikation via reversen Proxy |
Szenario 3: Kommunikation direkt und über reversen Proxy |
Szenario 4: Kommunikation mit Protokollwechsel via reversen Prox |
Spezialfall: Kombination mit der ICFX-Anmelde-Anwendung |
Benutzerkonzepte |
Systemanmeldung (ICFX) |
Voraussetzungen |
Sicherheits-Einstellungen testen |
Konfigurationseinstellungen |
Szenarien zur Kennwortänderung |
Kennwortänderung bei Basic Authentication vornehmen |
Kennwortänderungen im SSO-Umfeld |
Benutzerspezifische Änderungen |
Beispiel |
URL-Generierung in einer AS-ABAP - Web Dispatcher Konfiguration |
Einsatz eines Default-Benutzers für BSP-Applikationen |
Anlegen eines Default-Benutzers |
Einsatz eines Internet-Benutzers für BSP-Applikationen |
Beispiel-BSP-Applikation für die Verwendung von Internet-Usern |
Anmeldung als Internet-User |
Anlegen neuer User |
Programmiermodell |
Was ist eine BSP-Applikation? |
Aufbau einer BSP-Applikation |
Zugriff auf eine BSP-Applikation |
Neustarten und Beenden einer BSP-Applikation |
Systemspezifische URL-Parameter |
Verarbeitung einer BSP-Applikation |
Erstellung einer BSP-Applikation |
Applikationsklasse einer BSP-Applikation |
Bestandteile einer BSP |
Eigenschaften |
Layout |
Eventhandler |
OnCreate |
OnRequest |
OnInitialization |
OnInputProcessing |
OnManipulation |
OnDestroy |
Seitenattribute |
Typdefinitionen |
BSP-Direktiven |
Seitendirektive |
Inline Code |
Kommentar |
Include-Direktive |
OTR-Direktiven |
Extension-Direktive |
Variablenübergabe |
Klassen und Interfaces |
Klasse CL_BSP_APPLICATION |
Klasse CL_BSP_MESSAGES |
Klasse CL_BSP_SERVER_SIDE_COOKIE |
Klasse CL_BSP_GET_TEXT_BY_ALIAS |
Klasse CL_BSP_CONTROLLER2 |
Interface IF_BSP_APPLICATION |
Interface IF_BSP_APPLICATION_EVENTS |
Interface IF_BSP_NAVIGATION |
Interface IF_BSP_PAGE |
Interface IF_BSP_RUNTIME |
Interface IF_BSP_PAGE_CONTEXT |
Iterator: Interface IF_HTMLB_TABLEVIEW_ITERATOR |
Interface IF_CLIENT_INFO |
Globale Objekte |
Objekt application |
Objekt navigation |
Objekt runtime |
Objekt request |
Objekt response |
Objekt messages |
Objekt page |
Objekt page_context |
BSP-Extensions |
Button |
TableView |
Eigene BSP-Extension definieren |
BSP-Extension Framework |
BSP-Extensions anlegen |
BSP-Elemente definieren |
Element-Inhalt festlegen |
Benutzerdefinierte Validierung |
Iteration über Element-Inhalt |
Manipulation des Element-Inhalts |
Referenzübergabe bei Attributen |
BSP-Extension aktivieren |
Elementhandler-Klassen implementieren |
Generierte Klassen und Klassenhierarchie |
Die Basisklasse CL_BSP_ELEMENT |
Dokumentation erfassen |
BSP-Elemente verwenden |
Beispiel: Verwenden von Extensions in BSP-Seiten |
Komposit-Elemente |
Seite before.htm erstellen |
Design-Lösung |
Neue BSP-Extension mit Elementen erstellen |
Seite after.htm erstellen |
Dynamische Verarbeitung von BSP-Elementen |
Neue BSP-Extension mit Komposit-Elementen erstellen |
Schritt 1 a) Implementierung von <sf:SimpleFormItem> |
Schritt 1 b) Verwendung von <htmlb:SimpleFormItem> |
Schritt 2: Erstellen von <sf:SimpleForm> |
Schritt 3: Änderungen am Look & Feel |
Model-View-Controller (MVC) |
MVC Design Pattern |
Einsatz von MVC für BSP |
Controller anlegen |
View anlegen |
Controller testen |
(Sub-)Controller aufrufen |
View aufrufen |
Fehlerseiten anlegen |
Von Seiten zu Controllern |
Aufruf-Möglichkeiten von BSP-Bestandteilen |
Navigation |
Lebensdauer |
Datenbindung |
Aufruf der Model-Klasse durch den Controller |
Komponenten |
Verarbeitungsablauf |
Erstellen eigener Komponenten |
Obersten Controller anlegen |
Komponente anlegen |
Komponente aufrufen |
Eingabeverarbeitung festlegen |
Klasse CL_BSP_CONTROLLER2 |
Architekturbeispiele |
BSP-Applikation mit Controllern und Views |
BSP-Applikation mit mehreren Views pro Controller |
Kombination der vorigen Beispiele |
Aufruf von Controllern anderer Anwendungen |
Aufruf mehrerer Controller aus einem View |
Model-View-Controller Tutorial |
Controller anlegen |
View anlegen |
Controller aufrufen |
Session-Handling |
Stateful BSP-Applikationen |
Session-Cookie |
Stateless BSP-Applikationen |
Persistenz von Daten durch Server-seitige Cookies |
Mischformen |
Einstellung als stateful oder stateless |
Stateful oder stateless programmieren? |
Eine kleine Beispiel-BSP-Applikation |
Kontrollfluss von BSPs |
BSP nur mit Layout |
BSP mit Layout und Initialisierung |
BSPs mit Layout, Initialisierung und Navigation |
BSPs mit Layout, Initialisierung und Eingabeverarbeitung |
Caching von BSPs |
Seitengestaltung |
Barrierefreiheit |
Programmierumfeld |
Empfohlene Browser-Einstellungen |
Debugging |
Breakpoints für BSP-Seitenfragmente |
ICM-Tracing |
HTTP-Browser-Tracing |
HTTP-Proxy |
Internationalisierung und Übersetzung |
OTR-Aliastext anlegen |
OTR-Langtext anlegen |
OTR-Texte im ABAP |
Werkzeuge zur BSP-Entwicklung |
MIME Repository |
Unterstützte MIME-Kategorien |
MIMEs importieren |
Upload und Download von MIMEs |
Ordner anlegen |
MIMEs in BSPs umwandeln |
MIMEs oder Verzeichnisse löschen |
Namensraumordner anlegen |
MIMEs als übersetzungsrelevant kennzeichnen |
Weitere Funktionen |
Pretty Printer im Web Application Builder |
Externe Tools mit WebDAV einsetzen |
Tag Browser |
Transformation Editor |
BAPI-Browser |
Online Text Repository |
Ausgabeaufbereitung |
Stylesheets |
Setzen von Stylesheets für HTMLB, XHTMLB und PHTMLB |
File-Upload in BSP-Applikationen |
File-Upload und Manipulation des Content |
Behandlung von Fehleingaben |
Fehlermeldungen von Auto-Seitenattributen ausgeben |
Seitenattribute anlegen |
Initialisierung vornehmen |
Layout festlegen |
Objekt messages einsetzen |
Alternative Fehlerausgabe kodieren |
Fehlermeldungen selbst hinzufügen |
Versendung von Mails aus BSP-Applikationen |
Bestellseite anlegen |
Applikationsklasse anlegen |
Attribute der Klasse |
Methoden der Klasse |
Methode SET_ADDRESS |
Methode SET_TIME |
Methode SEND |
Aufruf der Mail-Klasse |
MIME-Types einer Seite |
Mobile Erweiterungen des SAP Web Application Server |
Unterschiede zwischen mobilen Geräten |
Auswirkungen von Unterschieden bei WAP-Browsern |
Geräteerkennungsprozeß |
Interface IF_CLIENT_INFO |
Methode GET_ACCEPT |
Methode GET_BACK_HARD_WIRED |
Methode GET_BACK_LABEL |
Methode GET_CHAR_HEIGHT |
Methode GET_BREAKING_SPACE |
Methode GET_BROWSER_CATEGORY |
Methode GET_BROWSER_NAME |
Methode GET_BROWSER_OS |
Methode GET_CHAR_WIDTH |
Methode GET_COOKIES_SUPPORTED |
Methode GET_CSS_SUPPORTED |
Methode GET_DEFAULT_ACTION_DESIGN |
Methode GET_DEFAULT_BLOCK_SEPARATOR |
Methode GET_DEFAULT_BULLET |
Methode GET_DEFAULT_FORM_STYLE |
Methode GET_DEFAULT_MENU_STYLE |
Methode GET_DEVICE_CATEGORY |
Methode GET_DEVICE_NAME |
Methode GET_FIELDSET_LAYOUT |
Methode GET_FIELDSET_TITLE_VISIBLE |
Methode GET_FORM_FACTOR |
Methode GET_FORM_MENU_SUPPORTED |
Methode GET_FRAMES_SUPPORTED |
Methode GET_HREF_WITH_PARAMS_SUPPORTED |
Methode GET_IMAGE_LINKS_SUPPORTED |
Methode GET_INPUT_SHOWN_WITH_CAPTION |
Methode GET_LINKS_SEPARATED |
Methode GET_LINK_DECORATION |
Methode GET_LINK_TEXT_WIDTH |
Methode GET_MARQUEE_LINK_SUPPORTED |
Methode GET_MARQUEE_TEXT_SUPPORTED |
Methode GET_MAX_LINK_LENGTH |
Methode GET_MEDIA_FORMATS |
Methode GET_NEWLINE_AFTER_IMAGE |
Methode GET_NBSP_SUPPORTED |
Methode GET_NESTED_TABLES_SUPPORTED |
Methode GET_NEWLINE_AFTER_INPUT |
Methode GET_NEWLINE_BEFORE_IMAGE |
Methode GET_NEWLINE_BEFORE_INPUT |
Methode GET_NEWLINE_BEFORE_LINK |
Methode GET_NEWLINE_BETWEEN_IMAGES |
Methode GET_NEWLINE_BETWEEN_LINKS |
Methode GET_NEWLINE_BETW_LINK_AND_TAG |
Methode GET_PAGE_SIZE_MAX |
Methode GET_PIXEL_HEIGHT |
Methode GET_PIXEL_WIDTH |
Methode GET_REDIR_RELATIVE_SUPPORTED |
Methode GET_SELECTION_MENU_SUPPORTED |
Methode GET_SKIPPING_TO_INPUT |
Methode GET_SOFTKEY_NUM |
Methode GET_SOFTKEY_STYLE1 |
Methode GET_SOFTKEY_STYLE2 |
Methode GET_SOFTKEY_TITLE_WIDTH |
Methode GET_SCRIPT_SUPPORTED |
Methode GET_SUB_CATEGORY |
Methode GET_TABLE_HAS_BORDERS |
Methode GET_TABLE_SUPPORTED |
Methode GET_TELEPHONY_LINKS_SUPPORTED |
Methode GET_TEXT_STYLES_SUPPORTED |
Methode GET_TITLE_SUPPORTED |
Methode GET_TITLE_WIDTH |
Methode GET_USER_AGENT |
Administrationsleitfaden zur Geräteerkennung |
Datenhaltung zur Geräteerkennung |
Geräteeigenschaften modifizieren |
Zusätzliche mobile Endgeräte integrieren |
DDIC-Services für BSP-Anwendungen |
Überblick über Typeigenschaften |
Technische Eigenschaften |
Ausgabeeigenschaften |
Sprachabhängige Texte |
Services und Runtime-Objekt |
GET_FIELD_LABEL |
GET_QUICKINFO |
GET_DAY_COLLECTION |
GET_MONTH_COLLECTION |
GET_HISTORY_ID |
GET_LOCAL_HISTORY_ID |
GET_SIMPLE_HELPVALUES |
Verwendung in BSP-Applikationen |
Hilfe zur Anwendung |
Feld-Label |
Feld-History |
Kalender |
Wertehilfe |
SAP Enterprise Portal |
Session-Management des Portals und BSPs |
Domain-Relaxing |
Session-Handling ohne Cookies |
Business Server Pages Administration |
Anmeldeticket-Cache |
HTTP-Browser-Tracing |
HTTP-Proxy |
ICM-Tracing |
Konfiguration für voll qualifizierte Domänen- und Hostnamen |
BSP-Tutorials |
Erste Schritte mit Business Server Pages… |
Voraussetzungen für das Erstellen von Web-Applikationen |
Die erste BSP-Applikation |
BSP-Applikation anlegen |
BSP anlegen |
BSP-Layout festlegen |
Die Seitendirektive |
Scripting |
Bild einfügen |
BSP und BSP-Applikation aktivieren |
BSP-Applikation aufrufen |
MIME-Objekt aus dem MIME-Repository importieren |
Eine kleine BSP-Applikation |
Eine Online-Bücherauskunft mit Benutzer-Interaktion |
Verarbeitungsablauf |
BSP-Applikation und Seiten anlegen |
Einstiegsseite |
Layout für die Einstiegsseite festlegen |
Seitenattribute für die Einstiegsseite festlegen |
Eventhandler für die Einstiegsseite festlegen |
Navigationsstruktur festlegen |
Autorenliste |
Layout für die Autorenliste festlegen |
Eventhandler für die Autorenliste festlegen |
Seitenattribute für die Autorenliste festlegen |
Ergebnisliste |
Layout für die Ergebnisliste festlegen |
Eventhandler für die Ergebnisliste festlegen |
Seitenattribute für die Ergebnisliste festlegen |
Eine kleine BSP-Applikation mit HTMLB |
Online-Bücherauskunft |
BSP-Applikation und Seiten anlegen |
Einstiegsseite |
Layout für die Einstiegsseite festlegen |
Eventhandler für die Einstiegsseite festlegen |
Autorenliste |
Layout für die Autorenliste festlegen |
Ergebnisliste |
Layout für die Ergebnisliste festlegen |
Unser erster Online-Buchladen |
Online-Buchladen |
Verarbeitungsablauf |
Trennung von Datenbeschaffung, -auswertung und -ausgabe |
Datenmodell für die Bookshop-Tutorials |
BSP-Applikation und Seiten anlegen |
Wozu und wie erstellen Sie Seitenfragmente? |
Wie sieht das Layout für Ihre Einstiegsseite aus? |
Wie sieht das Layout für Ihre Info-Seite aus? |
Suchseite |
Wie sieht das Layout für Ihre Suchseite aus? |
Wie sehen die Seitenattribute für Ihre Suchseite aus? |
Wie sehen die Eventhandler für Ihre Suchseite aus? |
Wie sieht das Layout für die Seite der falschen ISBN aus? |
Ergebnisseite |
Wie sieht das Layout für Ihre Ergebnisseite aus? |
Wie sehen die Seitenattribute für Ihre Ergebnisseite aus? |
Wie sehen die Eventhandler für Ihre Ergebnisseite aus? |
Buchseite |
Wie sieht das Layout für Ihre Buchseite aus? |
Wie sehen die Seitenattribute für Ihre Buchseite aus? |
Wie sehen die Eventhandler für Ihre Buchseite aus? |
Wie sieht das Layout für Ihre Fehlerseite aus? |
Wie sieht das Layout für Ihre Bestätigungsseite aus? |
Wie sieht Ihre Navigationsstruktur aus? |
Weiterentwicklung des Buchladens |
Was kommt neu hinzu? |
Erweiterung des Online-Buchladens |
Verarbeitungsablauf |
Die Applikationsklasse |
BSP-Applikation und Seiten anlegen |
Einkaufskorb-Seite |
Layout |
Seitenattribute |
Eventhandler |
OnRequest |
OnInitialization |
OnInputProcessing |
Bestellseite |
Layout |
Seitenattribute |
Eventhandler |
Registrierungsseite |
Layout |
Seitenfragment zur Eingabe der Benutzerdaten |
Seitenattribute |
Eventhandler |
Layout für die Bestätigungsseite für die Registrierung |
Änderung der Einstiegsseite |
Änderung der Ergebnisseite |
Änderung der Suchseite |
Änderung der Titelleiste |
Änderung der Auftragsbestätigungsseite |
Model-View-Controller Tutorial |
Controller anlegen |
View anlegen |
Controller aufrufen |
Unser kleiner Online-Buchladen mit Verwendung von MVC und HTMLB |
Struktur des Buchladens |
BSP-Applikation, Controller und Views anlegen |
Haupt-Controller bookshop.do anlegen |
Haupt-View default.htm anlegen |
Seitenfragment head.htm anlegen |
Controller search.do für die Suche anlegen |
View search.htm für die Suche anlegen |
Controller result.do für die Ergebnisliste anlegen |
Custom-Rendering für die Autorenspalte erarbeiten |
Iterator: Interface IF_HTMLB_TABLEVIEW_ITERATOR |
View result.htm für die Ergebnisliste anlegen |
Controller detail.do für die Detailanzeige anlegen |
View detail.htm für die Detailanzeige anlegen |
View about.htm für die Detailanzeige anlegen |
Seite mit Ablauflogik corder.htm anlegen |
FAQ |
Was ist das Internet Communication Framework? |
Was ist die BSP-Laufzeitumgebung? |
Kann ich per HTTP auf einen Webserver zugreifen? |
Gibt es einen Server-Cache, der Web-Seiten speichert? |
Wie nehme ich die SSL-Konfiguration vor? |
Wird SSO für den SAP Web Application Server unterstützt? |
Kann ich BSPs dynamisch generieren? |
Wie gehe ich vor, um eine erste BSP-Applikation zu erstellen? |
Was ist eine Applikationsklasse? |
Wie kann ich Daten zwischen einem View und einer Page übergeben? |
Was sind BSP-Direktiven und welche gibt es? |
Wo kann ich meine Bilder ablegen? |
Kann ich ganze Tabellen als Seitenattribute übergeben? |
Wie kann ich den URL-Pfad für meine BSP feststellen? |
Wie kann ich Sprache oder Mandant in der URL übergeben? |
Wie kann ich Datenstrukturen von einem anderen System verwenden? |
Wie bekomme ich mit dem Iterator eine leere Zelle? |
Was mache ich bei einem Protokollkonflikt? |
Wie kann ich einstellen, dass meine Anwendung ohne Login läuft? |
Kann ich für meine BSP-Anwendung einen User-Switch durchführen? |
Wie bekomme ich eine BSP in eine Portal-Umgebung? |
Kann ich BSP-Applikationen für mobile Endgeräte erstellen? |
Wie wird die Anzeigesprache festgelegt? |
Wie kann ich für lang laufende Prozesse einen Timeout abfangen? |
Wie kann ich die Performanz meiner BSP-Applikation untersuchen? |
The Advantages of ABAP Objects |
Warum Sie ABAP Objects nutzen sollten |
Wie Sie ABAP Objects nutzen sollten - Best Practices |
Sharing Data |
Shared Objects - grundlegende Merkmale |
Shared Objects - fortgeschrittene Merkmale |
Best Practices |
Exception Handling |
Klassenbasierte Ausnahmen in ABAP – Was leisten sie? |
Grundlegende Merkmale |
Die Ausnahmebehandlung planen und Ausnahmen delegieren |
Die drei Ausnahmeklassen in ABAP |
Eine Ausnahmeklasse selbst definieren |
Neue Ausnahmen & frühere Konzepte zur Fehlerbehandlung |
Developing Persistency |
Der Standardweg zur Persistenz |
Andere Möglichkeiten der Persistenz |
Ganz oder gar nicht - Datenbank- und SAP-Transaktionen |
Exklusiver Datenbankzugriff - das Sperrkonzept des SAP NW AS |
Zugriffe beschränken - das Berechtigungskonzept des SAP NW AS |
Using Connectivity and Interoperability |
Die Integrationsstrategie der SAP und Web Services |
So funktionieren Web Services |
Schnittstellen und Proxies generieren - der Outside-In-Ansatz |
XML-basierte Prozessintegration mit der Exchange Infrastructure |
Applying Extensibility |
Wie funktionieren modifikationsfreie Erweiterungen? |
Details des Enhancement Frameworks an einem Beispiel |
Was sind explizite und implizite Erweiterungsoptionen? |
Explizite Erweiterungsoptionen |
Implizite Erweiterungsoptionen |
Wie funktionieren Sourcecode Plug-Ins im Detail |
In welche Struktur sind Sourcecode Plug-Ins eingebettet? |
Die neuen BAdIs |
Features des neuen BadIs |
BAdIs - ein Fallbeispiel |
Das Switch Framework |
Die Motivation |
Die Grundgedanken des Switch Frameworks |
Was und wie können Sie schalten? |
Schaltbare Objekte |
Wie können Sie schalten? |
Konfliktschalter |
Ensuring Quality |
Wie ABAP Unit Tests funktionieren |
Effektives Testen mit ABAP Unit |
Die Philosophie von Unit Tests |
Unit Tests und Transporte |
Welchen Nutzen Ihnen Tests mit ABAP Unit bringen |