SAPscript einfach erklärt

SAPscript ist die älteste Formulartechnologie in SAP ERP bzw. SAP S/4HANA. Mithilfe von Formularen kann man Dokumente als Informationsträger im SAP-System erstellen. Dabei ist es möglich, ein interaktives Formular oder vom System generiertes Formular zu nutzen. Nicht nur deshalb sind Formulare im SAP-System sehr wertvoll und werden häufig genutzt.

In SAP ERP bzw. SAP S/4HANA werden folgende Formulartechnologien unterstützt:

  • SAPScript
  • SAP Smart Forms
  • SAP Interactive Forms by Adobe

In diesem Artikel wird die Formulartechnologie SAPScript näher erläutert. Außerdem wird anhand eines Beispiels ein Formular basierend auf SAPScript erstellt.

Was ist SAPScript?

SAPScript ist die älteste SAP-Formulartechnologie. Sie ist standardmäßig in SAP ERP bzw. SAP S/4HANA vorhanden, da sie bei jeder Installation enthalten ist und ausgeliefert wird.

Häufig werden Rechnungen, Bestellungen oder Lieferscheine mithilfe von SAPscript generiert und an den Geschäftspartner versendet.

SAPscript arbeitet mit einer zeilenbasierten Verarbeitung. Das bedeutet, dass die entsprechenden Daten zeilenweise ausgegeben werden. Aufgrund dieser Architektur muss man häufig mit der Programmiersprache ABAP das Layout programmieren, damit es optisch passt.

Das Unternehmen SAP selbst hat angekündigt, den Support für diese Formulartechnologie 2025 einzustellen und empfiehlt, anstatt SAPscript SAP Interactive Forms by Adobe zu verwenden. Vor allem im Rahmen eine Umstellung auf SAP S/4HANA.

Formular mit SAPScript erstellen – Beispiel

Für ein SAPscript-Formular benötigt man:

  • Formular – Transaktion SE71
  • ABAP Programm – Transaktion SE38
  • SAPscript Fonts – Transaktion SE73

In diesem Beispiel wird ein einfaches Formular erstellt. Dabei wird die Adresse des Lieferanten und ein Standardtext abgebildet.

Für die Ausgabe eines SAPscript-Formulars benötigt man ein Druckprogramm. Ein Druckprogramm enthält mindestens folgende Funktionsbausteine:

  • START_FORM
  • END_FORM
  • OPEN_FORM
  • WRITE_FORM
  • CLOSE_FORM
  • CONTROL_FORM

SAPscript-Formular erstellen – Transaktion SE71

Ein SAPscript-Formular besteht aus verschiedenen Teilobjekten. Diese Teilobjekte werden im Form Painter (Transaktion SE71) angelegt. Hier gibt man die ID des Formulars an und klickt auf den Anlegen-Button.

SAPScript-Formular erstellen - SE71

Die daraufhin angezeigte Meldung „Das Formular Z_ERP_UP Sprache DE ist im Mandant 100 nicht vorhanden“ kann bestätigt werden. Wenn diese Meldung nicht angezeigt wird, deutet das darauf hin, dass es dieses Formular bereits im System gibt.

Formular-Kopf

Im Anschluss gibt man im Formular-Kopf die Bedeutung an und speichert durch den Sichern-Button oder die Tastenkombination „Strg + S“. Nach dem Speichern ändert sich der Status von „neu – nicht gesichert“ auf „neu – gesichert“.

Formular-Kopf anlegen

Formular-Seiten

Als Nächstes legt man die Formular-Seiten an. Hierzu nutzt man den Button „Seiten“, verwendet die Menüfunktion „Springen > Seiten“ oder die F6-Taste.

Formular-Seiten anlegen - SE71

Anschließend werden die Formular-Seiten angezeigt. Zum jetzigen Zeitpunkt existieren noch keine Seiten und deshalb werden auch noch keine angezeigt.

Um die erste Seite anzulegen, gibt man im Feld „Seite“ die ID der Seite an. In diesem Beispiel wählen wir „ERSTE“.

Formular-Seite ERSTE

Nachdem man die Enter-Taste gedrückt hat, wird die Seite angelegt und erscheint in der Übersicht. In diesem einfachen Beispiel würde es ausreichen, keine Folgeseite zu definieren. Da eine Folgeseite sinnvoll ist, wird die Folgeseite angegeben.

Formular-Seite ERSTE Attribute

Eine Folgeseite ermöglicht die Erstellung eines Dokuments über mehrere Seiten hinweg. Möchte man beispielsweise eine Bestellung mit mehreren Positionen angeben, so würde ein Formular ohne Folgeseite einfach nach der einen Seite enden. Mit der Angabe von einer Folgeseite kann sich das Formular über mehrere Seiten erstrecken.

Formular-Fenster

Als Nächstes legt man das Formular-Fenster an. Hierfür wählt man den Button „Fenster“, die Menüfunktion „Springen > Fenster“ oder die F7-Taste.

Formular-Fenster SE71

Dadurch wird automatisch das Hauptfenster MAIN mit dem gleichnamigen Fenstertyp generiert. Bei Bedarf kann man die Bedeutung anpassen.

Formular-Fenster MAIN

In diesem Beispiel benötigen wir ein weiteres Fenster für die Adresse des Lieferanten. Das weitere Fenster kann man einfach über den Menüpfad „Bearbeiten > Anlegen Element…“ oder der Tastenkombination „Umschalt + F6“ anlegen.

Daraufhin kann man die ID des Fensters und dessen Beschreibung angeben.

Weiteres Element anlegen - SE71

Nachdem man das zusätzliche Fenster angelegt hat, erscheint es in der Übersicht mit dem Fenstertyp VAR (Rücksetzendes Fenster).

Formular-Seitenfenster

Durch die Formular-Seitenfenster fügen wir die Seite und das Fenster zusammen. Hierzu klicken wir auf den Button „Seitenfenster“, wählen die Menüfunktion „Springen > Seitenfenster“ oder nutzen die F8-Taste.

Formular-Seitenfenster - SE71

Zu Beginn wird die Seite ERSTE ohne Fenster dargestellt. Nun soll das Fenster ADRESSE auf der ersten Seite dargestellt werden. Das Fenster ADRESSE kann man auf die Seite ERSTE hinzufügen, in dem man in der Menüfunktion „Bearbeiten > Anlegen Element…“ wählt oder die Tastenkombination „Umschalt + F6“ nutzt.

Durch Doppelklick auf die Zeile mit der ADRESSE kann man dieses Fenster hinzufügen.

Formular-Seitenfenster Adresse hinzufügen

Nun muss man die Fensterbreite und -höhe angeben. Die Angaben „Linker Rand“ und „Oberer Rand“ sind optionale Angaben. Wenn man diese leer lässt, erscheint das Fenster in der linken oberen Ecke.

Formular-Seitenfenster - Attribute

Neben der Adresse des Lieferanten möchten wir den Standardtext auf der Seite noch hinzufügen. Deshalb fügen wir das Fenster MAIN ebenfalls hinzu. Dabei fällt auf, dass das Fenster ADRESSE nicht mehr hinzugefügt wird. Da es den Fenstertyp VAR hat, kann es nur einmal hinzugefügt werden.

Formular-Seitenfenster - MAIN

Über das Formular-Seitenlayout kann man das eingestellte Layout einfach überprüfen. Das Seitenlayout kann über die Menüfunktion „Hilfsmittel > Seitenlayout“ aufgerufen werden. Für die Druckansicht ist die Auswahl eines Ausgabegerätes notwendig. Hier kann man das häufig im System eingerichtete Ausgabegerät LOCL benutzen.

Formular-Textelemente

Nun wurde der grobe Rahmen des SAPscript-Formulars erstellt. Dieses Formular gilt es mit den notwendigen Daten zu füllen. Hierfür eignen sich vor allem die Textelemente.

Zuerst wird das Textelement für das Fenster ADRESSE erstellt. Hierfür gilt man im Formular-Seitenfenster doppelt auf die Zeile ADRESSE. Nach dem Doppelklick wird diese Zeile blau markiert und die entsprechenden Attribute im unteren Bereich angezeigt.

Die Textelemente können über den entsprechenden Button, der Menüfunktion „Bearbeiten > Textelemente“ oder der F9-Taste aufgerufen werden.

Textelemente - Fenster

Abhängig von den Einstellungen und dem SAP-Release öffnet sich Microsoft Word oder der interne Texteditor als integrierter Editor. Bei einem externen Editor (z.B. Microsoft Word) muss man die SAP-GUI-Sicherheitsabfrage bestätigen bzw. zulassen.

Den Zeileneditor kann man ebenfalls hierfür nutzen. Den Zeileneditor kann man einfach über „Springen > Editor wechseln“ nutzen.

Zeileneditor

Die Textelemente werden mit dem Formular gespeichert. Ein explizites Speichern ist an dieser Stelle deshalb nicht notwendig. Anschließend kann man die Anzeige der Textelemente mit dem Zurück-Button oder der F3-Taste verlassen.

Daraufhin kann man die Textelemente für das Fenster MAIN noch definieren.

Formular-Absatzformate

Um das Layout noch zu verschönern, pflegt man die Absatzformate. Die Absatzformate kann man über den entsprechenden Button, der Menüfunktion „Springen > Absatzformate“ oder der Tastenkombination „Umschalt + F4“ aufrufen.

Formular-Seitenfenster Absatzformate

Daraufhin gibt man im Feld „Absatz“ die ID des Absatzes ein. Nach Drücken der Enter-Taste wird diese angelegt und erscheint in der Übersicht. Nachdem die Beschreibung angepasst wurde, kann das Absatzformat gespeichert werden. Die anderen Einstellungen können unberührt bleiben.

Absatzformat A1

Formular-Grundeinstellungen

Nachdem nun wichtige Teilobjekte des Formulars angelegt und gepflegt wurden, muss man die Grundeinstellungen pflegen.

Die Grundeinstellungen ruft man im Formular-Kopf auf. Zuerst muss man hierfür den Button, die Menüfunktion „Springen > Kopf“ oder die F5-Taste verwenden.

Formular-Kopf

Anschließend kann man die Grundeinstellungen über den Button „Grundeinstellungen“ aufrufen. Jetzt pflegt man den Default-Absatz und die Startseite entsprechend.

Grundeinstellungen Formular

Anschließend können alle Änderungen und Anpassungen gespeichert werden. Ein Speichern ist auch während der Erstellung der Teilobjekte jederzeit möglich.

Das Formular kann produktiv verwendet werden, indem aktiviert wird. Das Formular aktiviert man über die Menüfunktion „Formular > Aktivieren“. Nach dem Aktivieren ändert sich der Status von „neu – gesichert“ auf „aktiv – gesichert“.

Testdruck

Nun wurde das Formular mit SAPscript erfolgreich erstellt. Alle notwendigen Teilobjekte wurden definiert und gepflegt. Über einen Testdruck kann man sich das Ergebnis anzeigen lassen.

Den Testdruck ruft man über die Menüfunktion „Hilfsmittel > Testdruck“ auf. Daraufhin gibt man sein gewünschtes Ausgabegerät an (z.B. LOCL) und drückt auf „Druckansicht“.

Druckansicht für LOCL

MS Word als Editor in SAPscript setzen

Microsoft Word kann einfach als Editor für SAPscript gesetzt werden. Hierfür gibt es aus meiner Sicht zwei einfache Möglichkeiten:

  • Transaktion I18N
  • Report RSCPSETEDITOR

Zum einen kann man in der Transaktion I18N (Internationalisierung) in den I18N-Systemparameter den Parameter sapscript_editor auf den Wert MSWord setzen. Die I18N-Systemparameter können in der Baumstruktur im Knoten „I18N Menü > I18N-Customizing > I18N-Systemparameter“ aufgerufen werden.

Im ABAP-Editor (Transaktion SE38) oder in der Programmausführung (Transaktion SA38) kann man den Report RSCPSETEDITOR aufrufen und die Checkbox SAPscript aktivieren.

Näheres ist im SAP-Hinweis 742661 beschrieben.

SAPscript vs SAP Smart Forms

Im Folgenden werden die Vor- und Nachteile von SAPscript im Vergleich zu SAP Smart Forms dargestellt.

Vorteil SAPscriptNachteil SAPscript
Weite VerbreitungKeine grafische Darstellung von Tabellen
Viele Formular-VorlagenSchlechte Integration an das Transportwesen
Detaillierte Fehlersuche möglichKeine nativen Übersetzungen
Schnellere GenerierungFür Barcode-Ausgabe Zusatzmodul notwendig
Kommandoknoten in StandardtextenNachträgliches Hinzufügen von Zeilen
Layout Editor veraltet
Keine Weiterentwicklung
Keine Versionsverwaltung
Versteckte Aktivierungsmöglichkeit

SAPscript vs SAP Interactive Forms by Adobe

Im Folgenden werden die Vor- und Nachteile von SAPscript im Vergleich zu SAP Interactive Forms by Adobe dargestellt.

Vorteil SAPscript Nachteil SAPscript
Weite VerbreitungSchlechtere Performance
Detaillierte Fehlersuche mit ABAP möglich Keine Weiterentwicklung
Standardmäßig in der SAP GUI vorhandenKeine Versionsverwaltung
Layout Editor veraltet
Aufwendige Fehleranalysen
Keine interaktiven Eingaben möglich
Hoher Entwicklungsaufwand

SAPScript – Wichtige Transaktionen

TransaktionscodeBeschreibung
SE71SAPscript Formular
SE72SAPscript Stile
SE78Verwaltung von Formulargrafiken
SO10SAPscript Standardtexte

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

1 Gedanke zu „SAPscript einfach erklärt“

  1. Nachteil von Adobe Interactive Forms ist auch, dass zusätzliche Lizenzkosten notwendig werden. Und braucht man da nicht auch noch den ADS (Adobe Document Server)?

    Antworten

Schreibe einen Kommentar