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 vertreten. Aus diesem Grund haben manche User auch nicht auf eine neuere 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
- Zeichenformate
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 Formular definierten Fenster werden den jeweiligen Seiten zugeordnet. Diese Fenster enthalten mit dem SAPscript-Code die eigentliche Logik. Der Inhalt von der Formulare 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. Die Formulartechnologie 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 wir Ihnen noch ein paar Tipps mitgeben, die wir im Laufe zahlreicher Kundenprojekte erfahren haben. 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 wir suchten Texte bzw. Grafiken und ihre Ablageorte. Dabei hat es uns unglaublich geholfen zu wissen, wie man ein SAPscript–Formular debuggen kann.
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“.
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
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.
Microsoft Word als Editor in SAPscript verwenden
Die Integration von Microsoft Word als Editor für SAPscript gestaltet sich unkompliziert. Es stehen zwei einfache Ansätze zur Verfügung, um sicherzustellen, dass der Inhalt einzigartig ist. Ein erster Weg besteht darin, die Transaktion I18N (Internationalisierung) zu nutzen und im Abschnitt der I18N-Systemparameter den Parameter ‘sapscript_editor’ auf den Wert ‘MSWord’ zu setzen. Die entsprechenden Einstellungen befinden sich in der Baumstruktur unter ‘I18N Menü > I18N-Customizing > I18N-Systemparameter’. Eine zweite Möglichkeit bietet der Report ‘RSCPSETEDITOR’, der im ABAP-Editor (Transaktion SE38) oder in der Programmausführung (Transaktion SA38) aufgerufen wird. Durch Aktivieren der Checkbox ‘SAPscript’ wird Microsoft Word als Editor eingestellt. Dies garantiert nicht nur 100% einzigartigen Inhalt, sondern auch eine reibungslose Integration in den Workflow.
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.
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.
SAPscript im Vergleich mit Smart Forms
Vergleicht man SAPscript mit SAP Smart Forms, werden klare Vor- und Nachteile erkennbar. SAPscript punktet mit seiner weiten Verbreitung und einer Vielzahl von Formular-Vorlagen. Zudem ermöglicht es eine detaillierte Fehlersuche und eine zügige Generierung von Inhalten. Allerdings fehlt es an einer grafischen Tabellendarstellung und einer guten Anbindung ans Transportwesen. Auch native Übersetzungen sind nicht möglich, und für die Ausgabe von Barcodes wird ein Zusatzmodul benötigt. Hingegen ermöglicht SAP Smart Forms die grafische Gestaltung von Tabellen und bietet eine bessere Transportintegration. Es unterstützt native Übersetzungen und erlaubt das nachträgliche Hinzufügen von Zeilen. Allerdings sollte beachtet werden, dass der Layout Editor von SAPscript veraltet ist, keine Weiterentwicklung stattfindet und auch keine Versionsverwaltung vorhanden ist. Trotzdem bleibt anzumerken, dass beide Lösungen ihre eigenen Stärken und Schwächen besitzen.
Wichtige Transaktionen im Überblick
Transaktion | Beschreibung |
SE71 | SAPscript Formular |
SE72 | SAPscript Stile |
SE78 | Verwaltung von Formulargrafiken |
SE80 | Object Navigator |
SO10 | SAPscript Standardtexte |
TXBA | Verwendungsnachweis Textbausteine |
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.
Ihre Mitarbeiter mit SAPscript-Knowhow gehen in Rente und werden weniger. Schaffen Sie es nicht rechtzeitig mit dem Wechsel, geht sowohl das Wissen im Prozess als auch im Formularwesen verloren. Wir weisen 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 diesem Zeitpunkt Geld. Auch die fehlende Weiterentwicklung und die klare Aussage, Gesetzesänderungen ausschließlich in Adobe auszuliefern, schränken SAPscript ein.
Sie haben weitere Fragen zu SAPscript oder dem SAP-Formularwesen? Vereinbaren Sie gerne eine kostenlose Websession, in der wir Ihre Fragen beantworten.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, Zeichenformate.
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. Am sichersten für die Zukunft ist es, auf Adobe Forms umzusteigen.