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: