SAP, die deutsche führende Firma für ERP-Software (Enterprise Recource Planning) für Unternehmen ist einer der größten Softwarehersteller der Welt. Mit BSP (Business Server Pages) bietet SAP neben der eigenen Programmiersprache ABAP ein Tool zur Erstellung sehr sicherer Webanwendungen. Ein großer Vorteil ist hier, dass nur serverseitige Cookies verwendet werden. Es wird nichts auf dem Rechner des Nutzers abgelegt. Ein anderer Vorteil ist die klare Struktur, die Programme zerlegt und Einzelteile wiederverwendbar macht. Dies macht die Nutzung für den Einsteiger allerdings sehr kompliziert.

 

Hier eine kurze Anleitung, wie man eine BSP-Page entwirft.

 

BSP ist gegliedert in vier Ebenen, welche einzelne Teile einer Anwendung darstellen. Die erste Ebene ist die Desgnebene, hier wird in der Regel in einer Spezialform von HTML, genannt bhtml das Layout einer Seite erstellt. Im Eventhandler (zweite Ebene) wird Code in ABAP (Wahlweise eventuell JAVA) verwendet, um Paramter aus dem Layout zu übergeben, oder im Layout anzuzeigen. Die Verbuchungslogik ist die dritte Ebene. Hier werden Datenbankzugriffe durchgeführt. Auch hier wird in der Regel die Programmiersprache ABAP eingesetzt. Die vierte Ebene ist schließlich die Datenbank selbst, in welcher Daten aller Art dauerhaft abgespeichert werden.

 

Um eine BSP-Applikation anzulegen muss man sich zunächst im SAP-System anmelden, welches mal eben als Grundversion, ohne jegliche Beratung oder Anpassung für eine Firma mit um die 100.000 Euro zu Buche schlägt.

 

Es empfiehlt sich nun zunächst ein Konzept für die Tabellen der Datenbank zu entwerfen. Das Ziel einer jeden ERP-Software ist es, sehr viele Daten verwalten zu können. Weitere Modelle wie Use-Case oder Aktivitätsdiagramm sind auch einer erfolgreichen Durchführung dienlich.

 

Weiß man, welche Tabellen die Datenbank enthalten soll, und welche Spalten die einzelnen Tabellen haben sollen, so findet man im SAP_System links im Menü in der Regel das Dictionary. Alternativ kann man es mit dem SAP Transaktionscode SE11 im entsprechenden Eingabefeld aufrufen.

 

Hier hat man via Klick die Möglichkeit beliebig viele Tabellen anzulegen, sowie deren Attribute. Allerdings muss man hierbei eindeutige Datentypen vergeben.

 

In die angelegten Tabellen können nun Daten geschrieben werden.

 

Hier im Dictionary können auch Sperrbausteine zur Sicherheit angelegt werden. Eine Ausführung würde diese Kurzanleitung sprengen.

 

Als nächstes kümmert man sich in der Regel um das Design. Dies geschieht im Object Navigator, oder auch SE 80. Bhtml ist ähnlich wie HTML eine Layoutsprache. Codes werden hier aber anderes formatiert, so wie <htmlb: textview …>. Man findet alle verwendbaren Tags links im Menü unter Erweiterungen.

 

Htmlb hat den Vorteil, dass es den Datentransfer unterstützt. Verwendet man reines HTML, was nicht oft praktiziert wird, muss man auf Id’s zugreifen.

 

Ist das Design angelegt, braucht man den Eventhandler. Um ihn zu bearbeiten klickt man den Reiter ‚Eventhandler‘ oben auf dem Bildschirm neben ‚Layout‘ an. Zudem muss man alle Variablen, die in irgend einer Weise in die Datenbank sollen, oder dieser entnommen werden müssen in den Seitenattributen definieren. Sie müssen auch so benannt werden, wie sie später in der dritten Ebene bezeichnet werden.

 

Auch die Seitenattribute findet man oben auf dem Bildschirm neben dem Reiter Eventhandler.

Der Eventhandler selbst wird in ABAP geschrieben. JAVA ist eine Alternative, auf die hier nicht eingegangen wird. ABAP erlaubt aus SQL bekannte Anweisungen, aber auch weitergehende Möglichkeiten wie READ <table> INTO…

 

Selbstverständlich gibt es auch Schleifen, Abfragen und weiteres. Es handelt sich um eine vollwertige Programmiersprache.

 


 

Grundsätzlich gibt es im Eventhandler verschiedene Bereiche. Die wichtigstens sind die folgenden:

 

OnInizialisation: Hier wird programmiert, was bei Starten einer einzelnen Webseite geschehen soll, zum Beispiel, welche Variablen von der vorhergehenden Seite übernommen werden sollen.

 

OnInputProzessing: Hier wird programmiert, was geschehen soll, wenn zum Beispiel eine User einen Button drückt, welche Variablen oder auch Tabellen dann ab die Klasse zur verarbeitung wie übergeben werden.

 

Diese Möglichkeiten lassen sich auch oben im Bildschirm auswählen.

 

Last but not least, muss man im Class Builder die zu übergebenden Attribute anlegen, was wie im Eventhandler funktioniert. Sie müssen heissen, wie im Eventhandler, und in die Klasse selbst kommen die SQL-Befehle, welche dann aus der Datenbank lesen oder in sie schreiben.


 

Eine Navigation kann jeweils durch Doppelklick auf eine definierte Klasse erfolgen. Hat man eine Klasse im Eventhandler angesprochen, also als Wort definiert, so springt die SAP-Oberfläche bei Doppelklick auf dieses direkt in den Class Builder. Dies funktioniert bei fast allen Wechseln zwischen einzelnen Definitionen in dieser Weise.

 

Diese Anleitung sollte nur einen kleinen Überblick über die Entwicklung von BSP-Anwendungen geben.

 

Selbstverständlich ersetzt eine Kurzanleitung in einem derartigen Fall nicht ein Studium oder die Lektüre von zahlreichen Fachbüchern.