Business Server Pages
Sicherheitsaspekte für BSP
Benutzerkonzepte
Systemanmeldung
Voraussetzungen
Konfigurationseinstellungen
Szenarien zur Kennwort-Anmeldung
Kennwortänderung bei Basic Authentication vornehmen
Kennwortänderungen im SSO-Umfeld
Benutzerspezifische Änderungen
Beispiel
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-Benutzer
Anlegen neuer Benutzer
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
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 für BSP-Anwendungen
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
Web Application Builder für BSPs
Einführung
Komponenten einer BSP-Applikation
Aufbau einer BSP-Applikation
Eventhandler
Seitenattribute
Globale Objekte
Grundfunktionen
BSP-Applikationen anlegen
Seiten anlegen
Controller anlegen
Fehlerseiten anlegen
Seitenübergänge festlegen
Auf MIMEs referenzieren
BSP-Applikationen aktivieren
BSP-Applikation ausführen
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
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
Externe Tools mit WebDAV einsetzen
Implementierung des Seiten-Layouts mit externen Tools
Massenimport für MIMEs über WebDAV
Kopieren von Seitenattributen
Massenimport für MIMEs über WebDAV
Pretty Printer im Web Application Builder
MIME Repository
Unterstützte MIME-Types
MIME-Objekte importieren
Upload und Download von MIME-Objekten
Ordner anlegen
Namensraumordner anlegen
MIME-Objekte in BSPs umwandeln
MIME-Objekte als übersetzungsrelevant klassifizieren
Weitere Funktionen
Tipps & Tricks
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
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
Verwendung von Tooltipps
Feld-Label
Feld-History
Kalender
Wertehilfe
Business Server Pages Administration
Anmeldeticket-Cache
HTTP-Browser-Tracing
HTTP-Proxy
ICM-Tracing
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 AS-ABAP 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 wird die Anzeigesprache festgelegt?
Wie kann ich für lang laufende Prozesse einen Timeout abfangen?
Wie kann ich die Performanz meiner BSP-Applikation untersuchen?