Smart Forms Knotentyp Schablone
Siehe Smart Forms.
Mit einer Schablone können Felder auf dem Formular an einer exakt defininierten Position ausgegeben werden.
Eine Schablone ähnelt in einigen Eigenschaften dem Knotentyp Tabelle .
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.
Es bietet sich nun an den Zoomgrad zu erhöhen, z. B. auf 125%.
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.
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.
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.
Nutzung einer Schablone
Über das Kontextmenü "Anlegen - Schablone" wird eine Schablone eingefügt.
Die neue Schablone kann hier den gleichen Namen haben wie der Textknoten INFO_TEXT, weil diese beiden Knoten unterschiedliche Knotentypen haben.
Defaultangaben Schablone
Man klickt nun auf 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)
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
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.
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.
Ausgabe Formular mit Schablone
Die Felder der Schablone werden nun sauber bündig ausgegeben.
Web-Links
Literatur
- SAP Smart Forms - Das umfassende Handbuch, von Werner Hertleif, Christoph Wachter, Rinaldo Heck, Tobias Trapp, Thomas Karas; 3. Auflage, S. 122 ff.