Adobe Formcalc

Adobe FormCalc ist eine Skriptsprache zur Erstellung von Berechnungsskripten in der Formulartechnologie Adobe Forms. Mit ihrer Hilfe lassen sich kleine Skripte im Adobe LiveCycle Designer erstellen. Die Funktionalit├Ąt von FormCalc orientiert sich hierbei an gebr├Ąuchlicher Tabellenkalkulationssoftware und wird von Adobe in einer Skriptreferenz bereitgestellt.

Mit der Einf├╝hrung von Adobe Forms wurde erstmals die M├Âglichkeit der Daten├╝bertragung zwischen PDF und SAP geschaffen. Um die Daten beim Transfer konsistent zu halten, ist es wichtig, die Eingaben auf dem Formular zu pr├╝fen. Dabei kann es wichtig sein, dass Eingaben nach einem gewissen Schema get├Ątigt werden, um keine Fehler auszul├Âsen.

Skripte vereinfachen diese Pr├╝fung, indem sie beispielsweise nur Eingaben in einem bestimmten Format zulassen. Au├čerdem k├Ânnen arithmetische Berechnungen innerhalb eines Formulars durchgef├╝hrt werden.

Erst durch die Verwendung von Skripten lassen sich alle M├Âglichkeiten von statischen und interaktiven PDF-Formularen verwenden.

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.

JavaScript

Die Alternative zu Adobe FormCalc ist JavaScript. Im Gegensatz zu JavaScript wurde FormCalc eigens f├╝r die Entwicklung von Skripten in Adobe Forms entwickelt.

In der Praxis zeigt sich, dass Skripte, die in FormCalc geschrieben wurden, um ein Vielfaches schneller ausgef├╝hrt werden als inhaltsgleiche Skripte in JavaScript. Dies f├╝hrt insbesondere bei Formularen, in denen gro├če Mengen an Skripten ausgef├╝hrt werden, zu Performance-Vorteilen.

Adobe Formcalc oder JavaScript?

Sowohl FormCalc als auch JavaScript bieten Vor- als auch Nachteile bei der Verwendung. Je nach Vorerfahrung mit Skriptsprachen ist es sinnvoll, die Vor- und Nachteile gegeneinander abzuw├Ągen, bevor die Skriptsprache festgelegt wird. Es ist auch m├Âglich, die Skriptsprache innerhalb eines Formulars zwischen verschiedenen Skripten zu wechseln.

Skriptsprachen

Durch den Einsatz einer Skriptsprache, wie z. B. FormCalc, kann die Funktionalit├Ąt von Formularen deutlich erweitert werden. Berechnungen im Formular k├Ânnen durchgef├╝hrt werden, die gegebenenfalls erst nach einer Eingabe auf dem Formular ausgef├╝hrt werden. Im Gegensatz zu statischen PDF-Formularen k├Ânnen bei interaktiven Formularen auch noch nach der Generierung des Formulars Ver├Ąnderungen vorgenommen werden.

Au├čerdem kann festgelegt werden, an welcher Stelle im Formular das Skript ausgef├╝hrt werden soll. Hierzu stellt FormCalc sogenannte Events bereit. Sobald ein Event eintritt, werden alle Skripte ausgef├╝hrt, die f├╝r dieses Event entwickelt wurden.

Event initialize

Ein Beispiel ist das Event ÔÇ×initializeÔÇť. Das Event wird ausgef├╝hrt, sobald das Formular initialisiert und generiert wird. Ein Skript, das auf dem Event ÔÇ×clickÔÇť programmiert ist, wird noch nicht beim Generieren des Formulars, sondern erst beim Klicken ┬áauf das dazugeh├Ârige Feld ausgef├╝hrt. Dies ist beispielsweise bei einem Button sinnvoll, der bei einem Klick Informationen weiterleiten soll.

Zudem kann angegeben werden, ob ein Skript client- oder serverseitig ausgef├╝hrt werden soll. Ein clientseitiges Skript wird jedes Mal ausgef├╝hrt, sobald das Dokument ge├Âffnet wird. Dadurch kann bei der Generierung des Formulars Zeit gespart werden. Ein serverseitiges Skript wird hingegen nur ausgef├╝hrt, wenn das Dokument generiert wird. Dadurch kann Zeit beim ├ľffnen des Dokuments eingespart werden. Allerdings k├Ânnen Skripte auf manchen Events, wie z. B. click, nicht serverseitig ausgef├╝hrt werden.

Syntax Adobe Formcalc

Adobe FormCalc besteht aus verschiedenen Bausteinen, die sich zu Ausdr├╝cken zusammensetzen lassen. Ein Beispiel hierf├╝r sind Literale, mit denen konstante Werte dargestellt werden k├Ânnen. Soll ein Feld jedes Mal den Wert ÔÇ×500ÔÇť ├╝bergeben, kann dieser Wert als Literal hinterlegt werden.

Operatoren

Mithilfe von Operatoren k├Ânnen Berechnungen durchgef├╝hrt werden. Die g├Ąngigsten Operatoren sind die vier Grundrechenarten. Zudem besitzt FormCalc auch Bezeichner und Schl├╝sselw├Ârter. Diese k├Ânnen farblich hervorgehoben werden. Schl├╝sselw├Ârter sind reservierte W├Ârter, die als Teile von Ausdr├╝cken, speziellen Zahlenliteralen und Operatoren verwendet werden.

Funktionsaufrufe

Au├čerdem k├Ânnen auch Funktionsaufrufe durchgef├╝hrt werden, die f├╝r bestimmte Aufgaben notwendig sind. Manche Funktionen ben├Âtigen einen bestimmten Satz von Argumenten f├╝r die Ausf├╝hrung und zur R├╝ckgabe eines Wertes, andere nicht. Viele Funktionen besitzen optionale Argumente. Das hei├čt, der Benutzer entscheidet, ob das Argument in der betreffenden Situation ben├Âtigt wird oder nicht.

Auswertung Argumente

FormCalc wertet alle Funktionsargumente der Reihe nach aus, beginnend mit dem f├╝hrenden Argument. Wenn versucht wird, einer Funktion weniger als die ben├Âtigte Zahl von Argumenten zu ├╝bergeben, erzeugt die Funktion einen Ausnahmefehler. Jede Funktion erwartet die einzelnen Argumente in einem bestimmten Format, d. h. entweder als Zahlen- oder als Zeichenfolgenliteral. Wenn der Wert eines Arguments nicht mit dem von der Funktion erwarteten Format ├╝bereinstimmt, wandelt FormCalc den Wert entsprechend um.

Architektur

FormCalc-Berechnungen und JavaScript-Skripte unterliegen bei der Strukturierung von Quellcode jeweils spezifischen Regeln. Wenn es jedoch um den Zugriff auf Formularobjekteigenschaften und -werte geht, st├╝tzen sie sich auf die gleiche Referenz-Syntax.

Das XML Form Object Model bietet ├╝ber eine Namenskonvention, bei der alle Objekte, Eigenschaften und Methoden jeweils durch ein Punktzeichen (.) voneinander getrennt sind, eine strukturierte M├Âglichkeit, auf Objekteigenschaften und -werte zuzugreifen.

Struktur Referenzsyntax

Jede Referenzsyntax weist in der Regel eine in folgende Abschnitte unterteilte Struktur auf:

  • Die Namen der ├╝bergeordneten Objekte in der Formularhierarchie, die zur Navigation zu einem bestimmten Feld oder Objekt dient. Mit den beiden Paletten „Hierarchie“ und „Datenansicht“ k├Ânnen Sie die Position eines Objekts im Verh├Ąltnis zu anderen Objekten im Formular und in zugeh├Ârigen Daten ermitteln.
  • Der Name des Objekts, das Sie referenzieren m├Âchten.
  • Der Name der Eigenschaft oder Methode, auf die Sie zugreifen m├Âchten. Dieser Abschnitt enth├Ąlt m├Âglicherweise auch Objekte des XML Form Object Models, die in der Struktur vor der Eigenschaft oder Methode auftreten, aber in der Palette „Hierarchie“ nicht als Objekte aufgef├╝hrt werden.

Abbildung Referenzsyntax

In nachfolgender Abbildung sehen Sie die Referenz-Syntax f├╝r den Zugriff auf den Wert eines Textfelds in einem Formularentwurf. Die einzelnen Bl├Âcke sind jeweils mit einem Buchstaben markiert und durch einen Punkt voneinander getrennt. Dabei gelten die folgenden Konventionen f├╝r die Objektbenennung:

Adobe Formcalc: Textfeld im Formularentwurf

A: Formularhierarchie-Objekte; B: Objektname; C: Name der Eigenschaft oder Methode

Fazit Adobe FormCalc

Durch den Einsatz einer Skriptsprache er├Âffnen sich viele neue M├Âglichkeiten bei der Gestaltung von Adobe Forms. Als propriet├Ąre Skriptsprache bietet sich FormCalc an, da diese von der Syntax her leichter zu erlernen ist und schneller als vergleichbarer Quellcode in JavaScript arbeitet.

Damit der Einstieg in FormCalc gelingt, bietet Adobe eine Skriptreferenz an, in der die wichtigsten Bestandteile von FormCalc beschrieben und anhand von Beispielen veranschaulicht werden.

FormCalc Unterst├╝tzung

Problematisch kann sein, dass FormCalc ausschlie├člich von Adobe gepflegt und weiterentwickelt wird, was bei JavaScript nicht der Fall ist. Aus diesem Grund l├Ąsst sich aktuell nicht sagen, welche der beiden Skriptsprachen sich langfristig im Bereich der Formularentwicklung durchsetzen wird. Letztendlich ist es auch eine Frage der Vorkenntnisse und des Entwicklungsstils, ob nun FormCalc oder JavaScript zur Erstellung von Formularskripten genutzt wird.

Welche Erfahrungen haben Sie mit Adobe FormCalc gesammelt? Bevorzugen Sie und/oder Ihre Entwickler eher FormCalc oder JavaScript? Aus welchen Gr├╝nden haben Sie diese Entscheidung getroffen? Hinterlassen Sie Ihre Gedanken hierzu entweder in einem Kommentar oder per E-Mail an girke@mind-forms.de. Ich freue mich auf Ihre R├╝ckmeldung.


Das k├Ânnte Sie auch interessieren:



Unsere Produkte zu Adobe Formcalc

Warum ergibt es Sinn, sich mit dem Thema Adobe Forms auseinanderzusetzen?Die Strategie der SAP ist sehr deutlich: Sie werden auch k├╝nftig Adobe Forms als Standardtechnologie weiterentwickeln und supporten. In 10 Jahren Adobe Forms hat sich viel getan. SAP HANA ÔÇŽ

Mehr Informationen

Das Ausdrucken papierbasierter Benutzerantr├Ąge kostet Zeit und Geld. Oft wird nur ein Bruchteil ben├Âtigt. Die L├Âsung ist der interaktive SAP Benutzerantrag welcher Fehleingaben vermindert, Zeit spart und dynamisch erweiterbar ist.

Mehr Informationen

SAPscript ist die erste und damit ├Ąlteste Formulartechnologie im SAP-Umfeld und wird bereits seit 1992 eingesetzt.

Mehr Informationen

Schreiben Sie einen Kommentar

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





Angebot anfordern
Preisliste herunterladen
Expert Session
Support