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






















