
SAPscript
Inhaltsverzeichnis
Technologie
SAPscript wurde mit der ERP-Software R/2 eingeführt – vorher gab es im SAP noch keine Formulartechnologie. Einen großen Schub hat die Technologie mit Launch von R/3 erhalten. Hier wurden viele Standardprozesse im SAP mit Formular-Vorlagen versorgt. Da es schon seit 1982 verfügbar ist, existiert eine hohe Verbreitung der Technologie.
Klassiker für den Einsatz von SAPscript-Formularen sind Rechnungen, Lieferscheine und Bestellungen. Meist werden diese Formulare direkt mit der SAP-Einführung erstellt und sind seither bei vielen Kunden auch nicht auf eine andere Technologie umgestellt. Aufgrund der ABAP-nahen Programmierung der Formulare ist auch das Knowhow zu SAPscript weit verbreitet.
Aufbau
Ein SAPscript-Formular ist in diverse Elemente unterteilt. Dazu gehören:
- Seiten
- Fenster
- Absatzformate
- Zeichenformat
Es können beliebig viele Seiten definiert werden. Für jede Seite muss eine Folgeseite festgelegt werden. Die meisten SAPscript-Formulare bestehen aus den Seiten FIRST und NEXT, wobei die Folgeseite bei FIRST die Seite NEXT ist und die Seite NEXT sich selbst als Folgeseite hat.
Die im SAPscript-Formular definierten Fenster werden den jeweiligen Seiten zugeordnet. Diese Fenster enthalten mit dem SAPscript-Code die eigentliche Logik. Der Inhalt von SAPscript-Formularen wird ebenfalls durch den Code erzeugt. Anders als bei anderen Formulartechnologien, ist es nicht möglich, die Inhalte zum Beispiel per Drag and Drop auf das Formular zu ziehen.
SAPscript kennt im Unterschied zu Smart Forms oder Adobe Forms auch keine transparente Schnittstelle zur Datenübertragung aus dem Druckprogramm zum Formular. SAPscript nutzt stattdessen die Datenfelder aus dem Druckprogramm. Die Werte aus dem Druckprogramm werden in das SAPscript-Formular übernommen. Dort können sie ausgegeben oder für Anweisungen verwendet werden.
Best Practices
Im Folgenden möchte ich Ihnen noch ein paar Tipps mitgeben, die ich im Laufe zahlreicher Kundenprojekte erfahren habe. Die häufigsten Probleme traten dabei immer in einem der folgenden beiden Bereiche auf: Entweder hatte sich das das Format des Formulars komplett verschoben oder ich suchte Texte bzw. Grafiken und ihre Ablageorte. Dabei hat mir unglaublich geholfen zu wissen, wie ich ein SAPscript–Formular debuggen kann.
Formatierung
Die Formatierung der SAPscript-Formulare erfolgt durch die Absatz- und Zeichenformate. In diesen werden Schriftart, -größe, Stil, Tabulatorabstand, Zeilenabstand und weitere Einstellungen für die Ausgabe der Texte im SAPscript definiert. Absatzformate beziehen sich dabei immer auf gesamte Zeilen des SAPscript–Editors. Zeichenformate können innerhalb der Zeilen für einzelne Sätze, Wörter oder Buchstaben genutzt werden, zum Beispiel um ein Wort in einem Satz zu unterstreichen.
Transaktionen im SAPscript
Zu den wichtigsten Transaktionen im Bereich der SAPscript-Formulare gehört die Transaktion SE71 mit der der sogenannte „Form Painter“, der Editor für SAPscript-Formulare, aufgerufen wird. In dieser Transaktion erfolgt die Erstellung und Pflege der einzelnen SAPscript-Formulare.
Weitere wichtige Transaktionen sind die SE78 zur Verwaltung von Formulargrafiken, die in SAPscript-Formulare eingebunden werden können und die Transaktion SO10 für SAPscript–Standardtexte. Die in der Transaktion SO10 definierten Texte können über eine INCLUDE-Anweisung in die SAPscript-Formulare eingebunden werden. Dies ermöglicht die Verwendung von gleichen Textelementen in mehreren verschiedenen SAPscript-Formularen.
Debuggen in SAPscript
Bei fehlerhaften Druckprogrammen oder im Formular selbst kann die Formular-Testhilfe (Debugger) dabei unterstützen, den Fehler zu finden und zu beseitigen. Der Debugger wird in der Formularpflege (Transaktion SE71) über das Menü „Hilfsmittel >Debugger einschalten“ aktiviert. Der Test selbst wird dann über eine Druckausgabe im Dialog gestartet.
Durch die Ausgabe des SAPscript-Formulars wird der Debugger gestartet und es bestehen 4 Möglichkeiten:
- Debuggen starten
- Debuggen überspringen (Debugger bleibt aktiviert, wird jedoch nicht angezeigt)
- Debugger beenden
- Trace aktivieren
Ab sofort werden alle Aufrufe von SAPscript-Funktionsbausteinen, jedes INCLUDE und alle Warnungen aufgezeigt. Zusätzlich können weitere Breakpoints gesetzt werden, indem auf die Spalte vor einer Zeile doppelt geklickt wird. Diese wird dann durch einen Stern (*) gekennzeichnet. Die Navigation zu den vorhergehenden bzw. nachfolgenden Zeilen erfolgt durch die Tasten „Bild auf“ und „Bild runter“.
Wie im ABAP-Debugger können Datenfelder angezeigt werden. Dafür müssen die Namen in der unteren Liste des Debuggers eingetragen werden. Datenfelder, die auf dem Formular ausgeben werden, werden hier automatisch angezeigt. In manchen Fällen hält der Debugger bei der Verwendung von F8 vor dem nächsten Breakpoint ohne erkennbaren Grund an. In diesem Fall sollten alle Breakpoints vorher einmal gelöscht werden. Das Deaktivieren des Debuggers erfolgt im Menü unter „Debugger -> beenden“.
Vorteile
SAPscript punktet durch seine code-nahe Programmierung. Da alles in ABAP programmiert ist und auch die Datenbeschaffung, Aufbereitung und Ausgabe in einem Element stattfinden, lassen sich Fehler schnell finden und gut analysieren. Entwickler brauchen nicht an mehreren Stellen suchen, sondern können in einer Maske navigieren.
Aufgrund des Alters von SAPscript ist zudem das Knowhow zur Technologie stark verbreitet. Viele Entwickler verfügen über langjährige Erfahrung im Umgang mit SAPscript, was im täglichen Betrieb natürlich hilfreich ist. Falls Sie dennoch Hilfe brauchen, bieten wir umfangreiche Schulungen zum Thema SAPscript an.
Grenzen
Mit dem Alter der Technologie sind auch Nachteile verbunden. Hier sind vor allem die fehlende Archivierung und die Unübersichtlichkeit bei komplexen Formularen zu nennen.
SAPscript-Formulare existieren auf einem System nur in einer Version. Es ist nicht möglich, wie zum Beispiel bei ABAP-Programmen, eine Version des Formulars zu erstellen und diese später wieder zu nutzen. Wird also eine Änderung in einem Formular vorgenommen, kann diese nicht mehr rückgängig gemacht werden. Zum Umgehen dieser Problematik ist es möglich, Formulare und auch Standardtexte aus dem SAP-System herunterzuladen. Dies erfolgt über den Report RSTXTRAN. Dieser Report ermöglicht es auch, die heruntergeladenen SAPscript-Formulare später wieder in das System hochzuladen. Dadurch ist eine indirekte Archivierung möglich.
Bei komplexen SAPscript-Formularen leidet die Übersichtlichkeit stark. In vielen Fällen ist eine stundenlange Einarbeitung des Entwicklers nötig, bevor er Änderungen an einem Formular vornehmen kann. Das liegt vor allem an der schlechten bzw. schwachen Gliederung der einzelnen Formularelemente in Fenstern und der fehlenden Möglichkeit, den SAPscript-Code einzurücken, wie es zum Beispiel bei ABAP der Fall ist.
SAPscript & Smart Forms
SAPscript ist die erste und damit älteste Formulartechnologie im SAP-Umfeld und wird bereits seit 1992 eingesetzt.
Bei SAPscript-Formularen ist es darüber hinaus nicht möglich, Schleifen zu verwenden. Die mehrfache Ausgabe eines Textelements muss über das Druckprogramm gesteuert werden. Berechnungen und Datenselektion können über FORM-Routinen innerhalb des SAPscript-Formulars durchgeführt werden. Aufgrund der Übersichtlichkeit und der Trennung von Logik und Darstellung sollte auf diese Möglichkeit jedoch verzichtet werden.
Fazit
SAPscript ist ein Urgestein im SAP. Es wird noch häufig eingesetzt und genutzt. Aufgrund des Alters ist es jedoch sinnvoll, einen Umstieg auf eine neuere Technologie zu planen. Alte Formulare sind oft gekennzeichnet durch mehr als 10 Jahre (wechselnde) Fachanforderungen. Dass es hier zu einer Unübersichtlichkeit im Code kommt, ist fast unvermeidbar.
Technische Grenzen kommen durch Barcodes, QR-Codes, andere Schriftarten wie Kyrillisch oder Chinesisch aber auch arabische Schriften mehr und mehr zu tragen. All diese Anforderungen lassen sich nativ mit Adobe Forms auch im SAP-Standard ohne Barcode-Module oder Zusatz-Hardware umsetzen.
Ihr SAPscript-Knowhow geht in Rente und wird weniger. Schaffen Sie es nicht rechtzeitig mit dem Wechsel, geht sowohl das Wissen im Prozess als auch im Formularwesen verloren. Ich weise gezielt darauf hin, dass neue Formulare nicht mehr mit SAPscript entwickelt werden sollten. Auch Smart Forms ist nicht die Technologie der Wahl. Denn wie für SAPscript hat SAP den Mainstream-Support mit dem ERP-Ende 2025 abgekündigt. Somit kosten Supportanfragen per SAP Note ab diesen Zeitpunkt Geld. Auch die fehlende Weiterentwicklung und die klare Aussage, Gesetzesänderungen ausschließlich in Adobe auszuliefern, schränken SAPscript ein.
Lassen Sie uns in einer kostenlosen Websession über Ihre Herausforderungen und Wünsche sprechen.Websession: SAPscript
FAQ
- Was ist SAPscript?
SAPscript ist die älteste Formulartechnologie im SAP-Umfeld. Fast jedes Unternehmen nutzt SAPscript-Formulare zur Ausgabe von Daten aus dem SAP-System. Sehr häufig werden die Rechnungen von Unternehmen noch in SAPscript abgebildet. Auch Lieferschein und Bestellung sind Evergreens der Technologie.
- Wie ist SAPscript aufgebaut?
Ein SAPscript-Formular ist in diverse Elemente unterteilt. Dazu gehören: Seiten, Fenster, Absatzformate, Zeichenformat
- Wann lohnt sich der Umstieg?
Heutzutage ist es nicht empfehlenswert bei neuen Formularen auf SAPscript zu setzen, da die Technologie seit mehreren Jahrzehnten nicht weiterentwickelt wird und daher viele heute erwartete Funktionalitäten fehlen.