SmartForms ein SAP ABAP
⚡ Intelligente Zusammenfassung
SmartForms ein SAP Mit ABAP können Sie Formulare für den Massendruck erstellen und pflegen, die per Drucker, Fax, E-Mail oder Internet ausgegeben werden können. Diese Seite erläutert die Architektur, die Knoten des Formular-Builders, Fenster, Tabellen, Vorlagen, Stile und das generierte Funktionsmodul.

Was sind intelligente Formulare in SAP ABAP?
SAP Smart Forms dient zur Erstellung und Pflege von Formularen für den Massendruck in SAP Systeme.Als Ausgabemedium SAP Smart Forms unterstützen einen Drucker, ein Fax, E-Mail oder das Internet (durch Verwendung der generierten XML-Ausgabe).
SAP führte 1998 SmartForms ein, um die Einschränkungen in SAP Skripte. SmartForms sind einfacher zu entwickeln, zu warten und zu transportieren als SAP Skript.
Vergleich von Smart Forms und SAPScripts
- In SmartForms sind mehrere Seitenformate möglich, was in nicht der Fall ist SAP Scripts
- Es ist möglich, ein SmartForm ohne Hauptfenster zu haben.
- Routinen können im SmartForms-Tool geschrieben werden.
- SmartForms generiert bei Aktivierung einen Funktionsbaustein.
- Etiketten können in SmartForms nicht erstellt werden.
| Eigenschaften | Intelligente Formulare | SAPSkript |
|---|---|---|
| Seitenformate | Mehrere Seitenformate in einem Formular | Einseitiges Format pro Formular |
| Hauptfenster | Nicht verpflichtend | Es wird genau ein Hauptfenster benötigt. |
| Routinen | Im Formular selbst geschrieben | Geschrieben im separaten Druckprogramm |
| Aktivierung | Erzeugt ein Funktionsmodul | Es wird kein Funktionsbaustein generiert. |
| Labels | Kann nicht erstellt werden | Kann erstellt werden |
Vorteile von intelligenten Formularen
- Dank der rein grafischen Benutzeroberfläche können Formulare auch ohne Programmierkenntnisse angepasst werden.
- Bei der Aktivierung des Smart Forms generiert das System automatisch und zur Laufzeit den Funktionsbaustein.
- Um Änderungen vorzunehmen, müssen wir Drag & Drop, Ausschneiden und Einfügen verwenden. Zu diesen Aktionen gehört nicht das Schreiben von Codierungszeilen oder die Verwendung einer Skriptsprache.
- Wir können statische und dynamische Tabellen einfügen. Dazu gehören die Zeilenumbrüche in den einzelnen Tabellenzellen, das Auslösen von Ereignissen für Tabellenüberschriften und Zwischensummen sowie das Sortieren von Daten vor der Ausgabe.
- Die Smart Forms ermöglichen dem Anwender das Einbinden von Grafiken, die entweder als Teil des Formulars oder als Hintergrundgrafik angezeigt werden können. Beim Ausdrucken kann der Anwender die Hintergrundgrafik bei Bedarf ausblenden.
- Mithilfe der generierten Dateien ist Web Publishing möglich XML Möglichkeiten für das Ausgangssignal:
Architextur von SAP Intelligente Form
Das Architekturdiagramm zeigt die drei beteiligten Schichten. Das Formular wird im Formulargenerator erstellt, die Aktivierung generiert das Funktionsmodul, und das Druckprogramm ruft dieses Modul mit den Anwendungsdaten auf. Die Entwurfsschritte der ersten Schicht werden im Folgenden erläutert.
Smartforms-Leitfaden
Lass es uns durchgehen SAP fragst-
- Transaktion eingeben SMARTFORMS in das Feld Transaktionscode ein.
- Geben Sie im nächsten Bildschirm einen Formularnamen ein und klicken Sie auf Erstellen
Der nächste Bildschirm ist in drei Abschnitte unterteilt:
Navigationsfenster bestehen aus Knoten und Unterknoten. Sie enthalten alle Elemente (Text, Fenster usw.), die zu SAP-Formularen gehören
- Wartungsfenster zeigt Attribute der Elemente
- Formulardrucker Das Fenster zeigt das Layout der Seite
Wann immer wir intelligente Formulare erstellen, SAP erstellt/generiert einen Funktionsbaustein. Im Gegensatz SAPSkripte, SAP Mit FORMS können Sie die Sprache ändern.
Im Navigationsfenster finden Sie
Globale Datenerklärungen : Die hier definierten Daten können im gesamten Smartform zu Codierungszwecken verwendet werden.
Formularschnittstelle : Hier werden alle Daten definiert, die vom Druckprogramm an die Smartform übergeben werden.
Durch Klicken mit der rechten Maustaste auf die Seiten können Sie eine neue Seite, ein neues Fenster, eine neue Grafik oder eine neue Adresse erstellen.
Der Ausdruck erfolgt auf Basis des Feldes „Nächste Seite“.
Die Verarbeitung erfolgt jedoch gemäß der Reihenfolge im Navigationsfenster!
Als Hintergrundbild und Grafiken können Sie entweder schwarz-weiße oder farbige Bitmap-Bilder aufgreifen und diese in Form von Standardtexten ablegen. Sie können einen Umweg vom Smartform-Bildschirm machen und den Formulargrafikbildschirm öffnen. Transaktions-Code: Se78
Einstellungen im Grafikfenster von Smart Forms
Windows in Smart Forms
Es gibt zwei Arten von Windows
- Main
- Sekundär
Wichtige Punkte zu beachten
- Sie können nicht mehr als ein Hauptfenster auf einer Seite haben. Sie können mehrere sekundäre Fenster haben
- Was auch immer Sie im sekundären Fenster drucken … es muss statisch sein. (Wenn Sie 20 Zeilen in einer PO haben und eine Seitenbeschränkung besteht, werden die Zeilen auf die nächste Seite im Hauptfenster übertragen. D. h. bei Inhalten vom Typ „Vorgänger und Nachfolger“ werden sie im Hauptfenster der Reihe nach gedruckt. Dies ist in sekundären Fenstern nicht zulässig.
Im Hauptfenster können wir Text als Einleitung hinzufügen, um die Formularausgabe anzupassen.
Die Ausgabeoptionen in jedem Fenster bestimmen die Liniengröße, Breite, Farben und den einzufügenden Hintergrund.
Smartforms bietet die Möglichkeit, die Adressnummer anzugeben, die in der zentralen Adressverwaltung gepflegt wird. Die Adresse wird direkt aus der ADRC-Tabelle entnommen und in das Formular eingetragen.
Die beiden verschiedenen Editoren sind in Smartforms verfügbar, nämlich: Normaler Editor
und der Grafikeditor.
Diese Einstellung kann mit dem Konfigurationseditor in den Dienstprogrammen geändert werden.
Tische in einem Fenster
Im Tabellen-Painter können Sie das Format entsprechend den Clientanforderungen zeichnen (z. B. Überschrift, Unterüberschrift, Element, Zwischensumme, Gesamtsumme usw.).
Mithilfe des Tabellenlayouts können Sie Folgendes bestimmen:
- Die Anzahl der Zeilen und Zellen
- Die Höhe jeder Zeile
- Die Breite jeder Zelle
- Die Ausrichtung der Tabelle im Fenster
Die Tabelle zeigt die verschiedenen Linientypen, die in der Tabelle verwendet werden. Die Linientypen definieren die Größe jeder Zelle und die Anzahl der Zellen in jeder Zeile.
Smart Forms-Programmierablauf
wenn ein SAP Nach dem Erstellen der Smart Form-Vorlage erstellt ein Benutzer das Formularlayout und definiert mithilfe des Smart Form Builders die erforderlichen Felder, Bedingungen und speziellen Programmieranweisungen in der Smart Form-Vorlage.
Nachdem der Formularentwurf abgeschlossen ist, muss das Formular aktiviert werden, bevor es von den Druckprogrammen getestet oder aufgerufen werden kann. Durch die Aktivierung des Formulars wird die Generierung eines Funktionsmoduls initiiert, das die gesamte Verarbeitung des Formulars übernimmt.
Dieser Funktionsbaustein interagiert mit dem Anwendungsprogramm/Druckprogramm, um die Ausgabe auf dem benutzerdefinierten Ausgabemedium für das angegebene Gerät zu erstellen.
Bei Smart Forms nutzen wir 2 Funktionsmodule für die Verarbeitung des Smart Forms. An den ersten Funktionsbaustein übergeben wir als Importparameter den Namen des Smart Forms. Dies gibt dann den Namen des dynamisch generierten Funktionsbausteins zurück, der die Smartform tatsächlich aufruft.
Der Smartform-Name kann an die Funktion Modul übergeben werden – 'SSF_FUNCTION_MODULE_NAME'
Dadurch wird der Funktionsmodulname des Smartforms zurückgegeben, auf das verwiesen wird.
Das Druckprogramm ruft das FM auf 'SSF_FUNCTION_MODULE_NAME' um den Namen des Funktionsmoduls zur Laufzeit zu erhalten. Anschließend wird das so erhaltene Funktionsmodul aufgerufen, um die Smartform auszuführen.
Wie man ein intelligentes Formular aus einem Druckprogramm aufruft
Der oben beschriebene zweistufige Aufruf wird immer gleich geschrieben. Das Programm löst zuerst den generierten Namen auf und führt ihn dann mit den Anwendungsdaten aus.
- Den Funktionsbausteinnamen auflösen: Übergeben Sie den Formularnamen an SSF_FUNCTION_MODULE_NAME. Der generierte Name ändert sich mit jedem System und darf daher niemals fest codiert werden.
- Das generierte Modul dynamisch aufrufen: Verwenden Sie CALL FUNCTION mit der Variablen, die den aufgelösten Namen enthält, und übergeben Sie die Daten über die in der Formularschnittstelle definierten Parameter.
- Steuerung der Ausgabe: Füllen Sie die Kontrollstruktur SSFCTRLOP, um den Druckdialog zu unterdrücken oder eine Vorschau anzufordern, und füllen Sie SSFCOMPOP mit dem Ausgabegerät.
- Ausnahmen behandeln: Das generierte Modul löst FORMATTING_ERROR, INTERNAL_ERROR, SEND_ERROR und USER_CANCELED aus, daher muss SY-SUBRC nach dem Aufruf überprüft werden.
DATA: lv_fm_name TYPE rs38l_fnam, ls_control TYPE ssfctrlop, ls_output TYPE ssfcompop. * 1. Get the name of the generated function module CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = 'Z_SMART_INVOICE' IMPORTING fm_name = lv_fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE e001(zsf). " Form not found ENDIF. * 2. Call the generated module with the form data ls_control-no_dialog = 'X'. ls_control-preview = 'X'. CALL FUNCTION lv_fm_name EXPORTING control_parameters = ls_control output_options = ls_output is_header = ls_header TABLES it_items = lt_items EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5.
⚠️ Warnung: Der generierte Funktionsbausteinname, z. B. /1BCDWB/SF00000123, ist in jedem System unterschiedlich. Er muss immer mit SSF_FUNKTIONSMODULNAME aufgelöst werden, da das Programm sonst nach dem Transport fehlschlägt.
Template
Eine Vorlage kann verwendet werden, wenn Sie die genaue Größe der Ausgabe kennen oder die Ausgabe ein festes Format hat.
ZB Steuerformular/Schecks/Flugscheinformular/Bahnticket: Alle diese Formulare verwenden Vorlagen.
Der große Unterschied zwischen Tabelle und Vorlage besteht darin, dass sich die Höhe in einer Tabelle dynamisch ändert. In einer Vorlage nennen wir eine Zeile eine „Linie“.
SMART-Stile
Ein Smart Style enthält:
- Kopfdaten, die die Standardwerte eines Smart Style enthalten
- Absatzformate einschließlich Einzüge und Abstände, Schriftartattribute, Tabulatoren sowie Gliederung und Nummerierung
- Zeichenformate einschließlich Effekte (hochgestellt, tiefgestellt), Barcode und Schriftartattribute
- Farben und Unterstreichungen für ein Absatz- oder Zeichenformat
Mit der Transaktion „smartforms“ / „smartstyles“ können Sie einen Smart Style erstellen.
💡 Tipp: Weisen Sie den Smart Style den Formularattributen zu, anstatt jedem Textknoten. Dadurch wirkt sich eine Stiländerung auf jeden Absatz des Formulars aus.
Das ist alles für dieses Tutorial






















