SAPscript

ebook-sapscript_250x250Bei SAPscript handelt es sich um die älteste Technologie zur Formularentwicklung im SAP-System. Trotz ihres Alters wird sie noch heute in fast jedem Unternehmen genutzt. Die Nachfolger von SAPscript sind die Technologien Smartforms und Adobe Interactive Forms.

Inhalt

  1. Technologische Einordnung
  2. Aufbau SAPscript-Formular
  3. Best Practices für häufige SAPscript-Probleme
  4. Formatierung von SAPscript-Formularen
  5. Transaktionen im SAPscript-Umfeld
  6. Debuggen in SAPscript
  7. Vorteile von SAPscript
  8. Grenzen von SAPscript
  9. Fazit

Technologische Einordnung

Vor SAPscript gab es im SAP keine Formulartechnologie. Mit R2 wurde dann SAPscript im SAP eingeführt. Einen großen Schub hat die Technologie mit Launch von R3 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 Rechnung, Lieferschein und Bestellung. Meist werden diese Formulare direkt mit der SAP Einführung erstellt und sind seither bei vielen Kunden auch nicht umgestellt auf eine andere Technologie. Aufgrund der ABAP-Nahen Programmierung der Formulare ist auch das Knowhow zu SAPscript weit verbreitet.

Aufbau SAPscript-Formular

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 SmartForms 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

Best Practices für häufige SAPscript-Probleme

SAPscript

Im Folgenden möchte ich Ihnen noch ein paar Tipps mitgeben, die ich im Laufe meiner Beraterkarriere mitnehmen durfte. 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. Diese Wissen möchte ich nun ihm Folgenden mit Ihnen teilen.

Formatierung von SAPscript-Formularen

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-Umfeld

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) helfen, 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:

  1. Debuggen starten
  2. Debuggen überspringen (Debugger bleibt aktiviert, wird jedoch nicht angezeigt)
  3. Debugger beenden
  4. 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 von SAPscript

SAPscript punktet durch seine codenahe Programmierung. Da alles in ABAP programmiert ist und auch die Datenbeschaffung, Aufbereitung und Ausgabe in einem Element stattfindet, 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 von SAPscript

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.

Fazit

SAPscript ist ein Urgestein im SAP. Es wird noch häufig eingesetzt und genutzt. Aufgrund des Alters kann es durchaus sinnvoll sein, 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.

Neue Formulare sollten nicht mehr mit SAPscript entwickelt werden. Auch SmartForms ist nicht die Technologie der Wahl. Denn wie für SAPscript hat SAP den Mainstream-Support ab 2020 aufgekü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.

Wie sind Ihre Erfahrungen in Bezug auf Wartbarkeit von SAPscript-Formulare mit mehr als 10 Jahren Fachanforderungen? Wie begegnen Sie dem Thema?

Ich freue mich auf einen regen Austausch.

E-Book SAPscript


SHARE
nach oben