Jeremia Girke
31. März 2016

Javascript vs. Formcalc

In Formularprojekten wie auch in anderen Softwareprojekten unterliegen Entwickler einer sogenannten Entwicklungsrichtlinie. Dieses Rahmenwerk gibt beispielsweise vor, wie mit globalen Variablen umgegangen, in welcher Form dokumentiert und wie Entwicklungsobjekte benannt werden sollen. Innerhalb dieser rahmengebenden Vorgaben handeln Entwickler in den ihnen gelassenen Freiheiten nach bestem Wissen und Gewissen. Der individuelle Entwicklungsstil eines Entwicklers prägt sich in den Entscheidungen, die ihm in diesen Freiräumen gelassen werden, aus.

Wahl der Skriptsprache

Eine wesentliche Entscheidung bei der Entwicklung von Adobe Forms, wenn diese nicht explizit durch eine Entwicklungsrichtlinie vorgeschrieben ist, ist die Wahl der Skriptsprache: Javascript oder Formcalc. Im Folgenden werde ich diese zwei Skriptsprachen gegenüberstellen und kurz erläutern, wie ich die Ausprägung des jeweiligen Vergleichsmerkmals bewerte. Als Vergleichsmerkmale dienen:

  1. Funktionsumfang
  2. Weiterentwicklung
  3. Performanz und Handhabung
  4. Dokumentation

Funktionsumfang

Hinsichtlich des Funktionsumfangs ist Javascript mächtiger als das eigens für die Formularentwicklung eingeführte Formcalc. Beispielsweise können wiederkehrende Aufgaben mit Javascript als function ausgegliedert werden. Dazu wird, wie in der nachfolgenden Abbildung dargestellt, ein Skriptobjekt angelegt, in welchem die gewünschte Funktion definiert wird. Der Aufruf findet dann wie gewohnt als Skript-Ereignis eines Objekts statt. Formcalc lässt die Definition eigener Funktionen vermissen. Eine mögliche Ursache des erweiterten Funktionsumfangs von Javascript wird im nächsten Abschnitt erläutert.

Skriptsprache

Weiterentwicklung

Die Weiterentwicklung des proprietären Formcalcs ist an Adobe gebunden, während Javascript zwar ebenso eine eingetragene Marke von Oracle ist, aber wesentlich mehr Verwendungszwecke als nur die Formularentwicklung aufweist. Infolgedessen besitzt Javascript einen ganz anderen Innovationstreiber als Formcalc. Allerdings birgt diese Eigenschaft auch Risiken. Bei Formcalc hat der Entwickler gegenüber Adobe immer die Sicherheit, dass das Script auch nach Aktualisierung des Adobe Document Services, des Adobe Livecycle Designer oder des Adobe Acrobat Readers funktioniert. Bei Javascript kann sich der Entwickler nur auf die Charakteristik des De-facto-Standards verlassen.

Performanz und Handhabung

Während Javascript über eine spezielle Laufzeitumgebung auf dem XFA-Prozessor ausgeführt wird, läuft Formcalc nativ auf diesem und greift ohne Umweg auf die Objekte des Formulars zu. Folglich ist die Performanz eines Formcalc-Skripts wesentlich besser als die eines äquivalenten Javascripts. Ebenso ist die Formcalc-Schreibweise aufgrund fehlender geschweifter Klammern (Akkoladen) kürzer und weniger fehleranfälliger als Javascript. Infolgedessen ist Formcalc hinsichtlich Handhabung im Formularumfeld meiner Meinung nach Javascript überlegen.

Dokumentation

Ausführliche Dokumentationen zu Javascript im Allgemeinen sind an vielen verschiedenen Stellen im Netz zu finden. Beispiele hierfür sind W3Schools und SELFHTML. Allerdings wird für die Mehrzahl der entwickelten Adobe Formulare nur ein relativ kleiner Funktionspool benötigt, wodurch eine formularbezogene Dokumentation zweckmäßig einzuschätzen ist. Obschon Adobe beide Skriptsprachen bei der Dokumentation berücksichtigt, liegt der Fokus seitens Adobe auf Formcalc.

Unser E-Book zu SAP FormCalc

E-Book: SAP FormCalc

Interaktive Formulare, die auch noch nach der Generierung des Formulars Veränderungen vorgenommen werden und das ist nur eins der vielen Benefits.

Fazit

Javascript ist deutlich mächtiger als Formcalc und wird unabhängig von Adobe ständig weiterentwickelt, wodurch jedoch auch Gefahren entstehen können. Für komplexe, interaktive Formulare ist Javascript aufgrund des erweiterten Funktionsumfangs die richtige Skriptsprache. Bei den meisten SAP-Druckformularen, bei denen zusätzlich Performanz eine sehr wichtige Rolle spielt, ist Formcalc als Skriptsprache zweckadäquat. Einsteigern, die zuvor nicht mit Javascript gearbeitet haben, fällt zudem die Skriptentwicklung mit Formcalc aufgrund der einfacheren Handhabung und der besseren formularbezogenen Dokumentation leichter.

Letztlich ist die Wahl der Skriptsprache, wie eingangs behauptet, eine Sache des Entwicklungsstils. Ich persönlich arbeite momentan fast ausschließlich mit SAP-Druckformularen und entscheide mich dementsprechend regelmäßig für Formcalc. Um bei komplexen Formcalc-Skripten den Überblick zu behalten, benutze ich ein externes Sprachpaket für Notepad++, welches über “Sprachen” -> “Eigene Sprache definieren …” -> “Importieren” eingefügt werden kann (Javascript sollte bereits als Standard-Sprache vorhanden sein).

Stimmen Sie mit meiner Einschätzung überein oder bewerten Sie die oben beschriebenen Eigenschaften anders? Fragen und Bemerkungen können Sie wie immer als Kommentar hinterlassen.

Jeremia Girke

Jeremia Girke

Seit 10 Jahren berate ich Unternehmen im Bereich Formulare und Outputmanagement im SAP und NON-SAP Umfeld. Profitieren Sie von meiner Erfahrung in Ihren Projekten.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

ZUGFeRD, digitale Signaturen, Mehrfarbigkeit – die Anforderungen an Formulare steigen stetig. Das ist auch unserem Kunden– einem Automobilteilzulieferer – bewusst. Das Unternehmen beliefert weltweit mehr als 10.000 Kunden.

weiterlesen

Auch wenn immer mehr Verwaltungsvorgänge und Geschäftsprozesse papierlos ablaufen: An der Erstellung eines Entgelt- und Zeitnachweises kommt kaum ein Wirtschaftsunternehmen vorbei.

weiterlesen

Ob jetzt nun ein Geschäftsführerwechsel ansteht oder ein Logo oder eine Fußzeile angepasst werden muss: Vielen Unternehmen ist die Problematik bekannt, dass Formular häufig und aus den unterschiedlichsten Gründen verändert oder angepasst werden müssen. Die Abänderung eines […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Julia Buecker
Julia Bücker Kundenservice