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.

  • ️ Hauptzweck: Smart Forms erstellt massenhaft gedruckte Dokumente und unterstützt die Ausgabe per Drucker, Fax, E-Mail und Internet über das generierte XML.
  • 🕰️ Herkunft: SAP Smart Forms wurde 1998 eingeführt, um die Grenzen von SAPSie sind skriptbasiert und lassen sich leichter entwickeln, warten und transportieren.
  • 🧱 Grafikdesign: Im Formular-Builder werden die Knoten per Drag & Drop angeordnet, sodass ein Formular angepasst werden kann, ohne eine einzige Zeile Skriptsprache schreiben zu müssen.
  • ⚙️ Generiertes Modul: Durch die Aktivierung eines Formulars wird ein Funktionsbaustein erzeugt, dessen Namen das Druckprogramm zur Laufzeit mit SSF_FUNCTION_MODULE_NAME erhält.
  • 🪟 Fensterregel: Eine Seite enthält höchstens ein Hauptfenster, das sich über mehrere Seiten erstreckt, während jedes sekundäre Fenster nur statische Inhalte anzeigt.
  • 📐 Tabelle oder Vorlage: Eine Tabelle wächst dynamisch mit den Daten, während eine Vorlage verwendet wird, wenn die Ausgabe eine feste Größe hat, wie beispielsweise ein Scheck oder ein Ticket.
  • ???? Intelligente Stile: Absatzformate, Zeichenformate, Farben und Barcodes werden in einem Smart Style gespeichert und in verschiedenen Formularen wiederverwendet.

SAP ABAP Smart Forms

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

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-

  1. Transaktion eingeben SMARTFORMS in das Feld Transaktionscode ein.
  2. Geben Sie im nächsten Bildschirm einen Formularnamen ein und klicken Sie auf Erstellen

Smartforms-Leitfaden

Der nächste Bildschirm ist in drei Abschnitte unterteilt:

Smartforms-Leitfaden

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.

Smartforms-Leitfaden

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.

Smartforms-Leitfaden

Der Ausdruck erfolgt auf Basis des Feldes „Nächste Seite“.

Die Verarbeitung erfolgt jedoch gemäß der Reihenfolge im Navigationsfenster!

Smartforms-Leitfaden

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

Smartforms-Leitfaden

Einstellungen im Grafikfenster von Smart Forms

Smartforms-Leitfaden

Windows in Smart Forms

Windows in Smart Forms

Es gibt zwei Arten von Windows

  1. Main
  2. 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.

Windows in Smart Forms

Im Hauptfenster können wir Text als Einleitung hinzufügen, um die Formularausgabe anzupassen.

Windows in Smart Forms

Die Ausgabeoptionen in jedem Fenster bestimmen die Liniengröße, Breite, Farben und den einzufügenden Hintergrund.

Windows in Smart Forms

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.

Windows in Smart Forms

Die beiden verschiedenen Editoren sind in Smartforms verfügbar, nämlich: Normaler Editor

Windows in Smart Forms

und der Grafikeditor.

Windows in Smart Forms

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

Windows in Smart Forms

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.

Windows in Smart Forms

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'

Smart Forms-Programmierablauf

Dadurch wird der Funktionsmodulname des Smartforms zurückgegeben, auf das verwiesen wird.

Smart Forms-Programmierablauf

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.

Smart Forms-Programmierablauf

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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“.

Vorlagen ein SAP ABAP

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.

Vorlagen ein SAP ABAP

💡 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

Häufig gestellte Fragen

Eine Tabelle wächst mit der Anzahl der Zeilen in der internen Tabelle, daher ändert sich ihre Höhe zur Laufzeit. Eine Vorlage hat eine feste Anzahl von Zeilen und Zellen und eignet sich beispielsweise für einen Scheck, eine Eintrittskarte oder ein Steuerformular.

Setzen Sie GETOTF in der Kontrollstruktur, lesen Sie die vom generierten Modul zurückgegebenen OTF-Daten und übergeben Sie diese an das Funktionsmodul CONVERT_OTF. Das Ergebnis ist eine Binärtabelle, die per E-Mail versendet oder heruntergeladen werden kann.

Nein. Ein Smart Form ist mandantenunabhängig und steht daher nach der Aktivierung in jedem Client des Systems zur Verfügung. SAPDas Skriptformular ist clientabhängig und muss mit SCC1 kopiert werden.

KI-Assistenten erstellen das Druckprogramm, einschließlich des Aufrufs von SSF_FUNCTION_MODULE_NAME und der Ausnahmebehandlung. Das Layout selbst wird weiterhin Knoten für Knoten im Formulargenerator angeordnet, da es sich um ein grafisches Objekt handelt.

Ja. Intelligente Formulare sind in vielen Systemen weiterhin die Standardeinstellung für den Massendruck. SAP Systeme, während Adobe Forms interaktive Dokumente abdeckt. KI-Tools beschleunigen hauptsächlich die damit verbundenen Aufgaben, wie das Lesen eines Formulars und das Erstellen der dazugehörigen Dokumentation.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: