Smart Forms Knotentyp Schablone

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Siehe Smart Forms.

Mit einer Schablone Knotentyp Schablone.jpg können Felder auf dem Formular an einer exakt defininierten Position ausgegeben werden.

Eine Schablone ähnelt in einigen Eigenschaften dem Knotentyp Tabelle Knotentyp Tabelle.jpg.

Generierung Schablone im Coding

Nach dem Schablonen kann im Coding gesucht werden. Z. B. sieht das Coding bei einer Schablone TEMPLATE_INVOICE_DETAILS so aus.

CALL FUNCTION 'SSFCOMP_TABLE_BEGIN'
     EXPORTING  I_DEFINITION = 'TEMPLATE_INVOICE_DETAILS'
     EXCEPTIONS OTHERS       = 1.

Kritische Würdigung Schablonen

Vorteile

  • Schablonen haben große Vorteile gegenüber der Nutzung von Feldern mit Tabulatoren. Die Trennung mit Tabulatoren ist in der Originalsprache des Formulars sehr schnell gemacht. Aber ist fehleranfällig, enn Texte übersetzt werden müssen oder die Variablenlängen abhängig von den Belegdaten sind. Dann passiert es bei Nutzung von Tabulatoren häufig, dass ein anderer Tabulator greift und die Ausgabe nicht mehr bündig erfolgt.
  • Schablonen legen die genaue Position fest, an der eine Zelle in einer Schablone ausgegeben werden soll und das Layout verhält sich sehr robust bei Übersetzungen und Texten unterschiedlicher Feldlängen.

Nachteile

  • Schablonen sind schwer zu lesen im Form Builder. Die Position der Ausgabe von Texten ergibt sich erst durch die Zuordnung unter den Ausgabebedingungen zu einer Zeile und Spalte. Wo eine Zeile und Spalte sich befindet, erkennt man letztlich, wenn man die Detaildarstellungen der Zeilentypen zu einer Schablone öffnet.

Resümee

  • Mit Schablonen können Texte sehr sauber und robust bezüglich Übersetzungen positioniert werden und daher macht es Sinn Schablonen einzusetzen.
  • Man sollte jedoch sehr zurückhaltend sein sehr komplexe Schablonen zu erstellen. Sie sind für den Formularentwickler sehr schwer zu überblicken und zu warten. In so einem Fall eines komplexen Layouts sollten besser mehrere Schablonen erstellt werden, mit denen der Formularentwickler sich besser orientieren kann.

Beispiel komplexe Schablone

Diese Schablone ist sehr schwer zu überblicken.

Schablone1.jpg


Es bietet sich nun an den Zoomgrad zu erhöhen, z. B. auf 125%.

Schablone2.jpg


Nun ist zumindest das Layout der Schablone gut zu sehen. Die Bezeichnungen der Zeilen sollten so gewählt werden, dass die Zeilenzahl im Namen auftaucht, wie hier "%C1", "%C2", etc.

Schablone3.jpg

Verwendung einer Schablone am Beispiel

Hier wird das Smart Forms ZREB_SF_EXAMPLE_01 verwendet, welches eine Kopie des Smart Forms SF_EXAMPLE_01 ist.


Nutzung eines Textknotens

In diesem Formular gibt es einen Textknoten INFO_TEXT, wo SAP es sich etwas einfach gemacht hat und verschiedene Felder ("Unser Sachbearbeiter", "Telefon", etc.) in einen Textknoten eingefügt hat.

SmartFormsSchablone2.jpg


Dies könnte Probleme verursachen bei Übersetzungen oder wenn der Anwender spezielle Formatierungen, wie z. B. genau definierte Absatzabstände benötigt. Hier ist auch der Name von "Unser Sachbearbeiter" ungewollt umgebrochen.

SmartFormsSchablone1.jpg

Nutzung einer Schablone

Über das Kontextmenü "Anlegen - Schablone" wird eine Schablone eingefügt.

SmartFormsSchablone3.jpg

Die neue Schablone kann hier den gleichen Namen haben wie der Textknoten INFO_TEXT, weil diese beiden Knoten unterschiedliche Knotentypen haben.

SmartFormsSchablone4.jpg

Defaultangaben Schablone

Man klickt nun auf Details.jpg um zur Detailansicht der Schablone zu kommen.

Hier ist defaultmäßig

  • Zeilenhöhe = 20 mm
  • Schablonenbreite = Breite übergeordnetes Fenster (hier 8,2 cm).
  • 1 Spalte = Breite Schablone (8,2 cm)

SmartFormsSchablone5.jpg


Bearbeitung Details Schablone

Hier werden nun 6 Zeilen mit jeweils 2 Spalten benötigt.

Da die 6 Zeilen jeweils gleiche Höhe und gleiche Anzahl von Spalten haben, kann man sich hier auf das Anlegen einer Zeile beschränken mit Eingabe

  • (Zeile) von = 1
  • (Zeile) bis = 6
  • Spaltenbreite jeweils 4,1 cm
  • Zeilenhöhe 6 cm

SmartFormsSchablone8.jpg


Anlage Textknoten in Schablone

Es werden nun 12 Textknoten für die 6 Zeilen mit jeweils 2 Spalten benötigt.

Da die Knoten lediglich untereinander eingefügt werden und so nicht erkennbar ist, in welcher Zelle der Schablone ein Textknoten sich befindet, wird hier am Anfang vom Namen des Textknotens Z<zeile>S<spalte> hinzugefügt. Dies erleichtert die Zuordnung zur Zelle.

Der Text "Unser Sachbearbeiter" wurde nun gekürzt zu "Unser Sachbearb." und der Textknoten INFO_TEXT wurde durch eine Bedingung 1 = 2 deaktiviert.

SmartFormsSchablone9.jpg

Ausgabeoptionen Textknoten

Die Zuordnung des Textknotens zur Zelle erfolgt über den Reiter "Ausgabeoptionen" unter der Überschrift "Ausgabestruktur" mit den Feldern "Zeile" und "Spalte".

Hier beim Textknoten Z1S1_SACHBEARBEITER_LBL Zeile = 1 und Spalte = 1. Alle Textknoten der Schablone sind entsprechend der passenden Zelle zuzuordnen.

SmartFormsSchablone7.jpg


Ausgabe Formular mit Schablone

Die Felder der Schablone werden nun sauber bündig ausgegeben.

SmartFormsSchablone10.jpg

Web-Links


Literatur