Objekt „Alternative“ im LiveCycle Designer

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Ein Alternativknoten wird genutzt, um im Formular abhängig von Bedingungen verschiedene Variablen auszugeben. Alternativknoten werden im Kontext angelegt und dort eine Eintrittsbedingung formuliert, die zum Eintreten des Ereignisses TRUE (bzw. FALSE) führt. Im Layout wird ein Teilformular auf diesen Alternativknoten referenziert und in Abhängigkeit der Ereignisse TRUE und FALSE werden zugehörige Teilformulare (mit deren Feldern) ausgeführt.

Hier im Beispiel wird eine Variable ZZTKNONN (Kontraktnummer) im Formular ausgegeben oder ausgeblendet.

Vor- und Nachteile „Alternativen“ gegenüber Scripting

  • Das Objekt „Alternativen“ sind in Adobe Forms wesentlich unständlicher einzusetzen als in Smart Forms.
  • Das Objekt Alternative in Adobe Forms entsteht immer aus der Kombination der Anlage der Alternative und dessen Bedingung(en) im Kontext und der Verwendung der Alternative im LiveCycle Designer. Aus meiner Sicht wenig übersichtlich und umständlich.
  • Bei Alternativen hat man den Nachteil, dass man lediglich 2 Zustände hat: TRUE und FALSE. Werden z. B. 3 verschiedene Zustände abgefragt, so müsste man bei Verwendung von Alternativen im TRUE-Ereignis oder im FALSE-Ereignis eine weitere TRUE-FALSE-Alternative anlegen.
  • Im Scripting im LiveCycle Designer kann man die Abfrage von Zuständen oft deutlich transparenter abbilden, indem man im Scripting Felder, bzw. Teilformulare ausblendet, die eine Bedingung nicht erfüllen. In diesem Fall sollten die entsprechenden Feldnamen im LiveCycle Designer ein Präfix „Scr_“ bekommen, damit der Formularentwickler schnell auf das Vorhandensein von Scripting stösst, was in diesem Fall die Anzeige von Feldern beeinflusst. Es ist ein häufiges Problem bei Formularentwicklern, dass sie sich nicht erklären können, warum ein Feld nicht angezeigt wird - bis sie auf Scripting stossen, was unter gewissen Bedingungen Felder/Teilformulare ausblendet. Diese Gefahr wird deutlich minimiert durch das Präfix.
  • Ein Vorteil von Alternativen ist, dass man die beiden Zustände und deren Bedingungen direkt im Kontext sieht. Meist werden diese Alternativen dann auch im LiveCycle Designer genutzt und können über das Verwendungsfenster im LiveCycle Designer identifiziert werden.

Anlage Alternative im Kontext

Anlage Knotentyp "Alternative" über Rechtsklick

AdobeFormsAlternative1.jpg

Attribute pflegen

AdobeFormsAlternative3.jpg

Auf Alternativbedingungen klicken

AdobeFormsAlternative4.jpg

Alternativbedingung(en) pflegen

AdobeFormsAlternative5.jpg

Definieren mehrere Einzelbedingungen im Zusammenhang das Ereignis TRUE oder FALSE, dann werden die Einzelbedingungen beim Feld „Operator“ mit „und“ oder „oder“ verknüpft.

Anlage Alternative im LiveCycle Designer

Teilformular hinzufügen

AdobeFormsAlternative6.jpg

Datenbindung Teilformular auf Alternativknoten im Kontext

Der untergeordnete Teilformularsatz und dessen Teilformulare referenzieren dann relativ in der Datenbindung zu diesem übergeordneten Teilformular.

AdobeFormsAlternative7.jpg

Teilformularsatz hinzufügen

Der Teilformularsatz dient der Aufnahme der alternativen Teilformulare TRUE und FALSE.

AdobeFormsAlternative8b.jpg

Alternativen bearbeiten

AdobeFormsAlternative9.jpg

Bindung Teilformulare TRUE und FALSE auf Ereignisse $.TRUE und $.FALSE

AdobeFormsAlternative10.jpg

Teilformulare TRUE und FALSE

AdobeFormsAlternative11.jpg

Teilformular TRUE bindet auf $.TRUE und wird beim Eintreten des Ereignisses TRUE ausgeführt.

AdobeFormsAlternative12.jpg

Teilformular FALSE bindet auf $.FALSE und wird beim Eintreten des Ereignisses FALSE ausgeführt.

AdobeFormsAlternative13.jpg

Textknoten in Teilformular

AdobeFormsAlternative14.jpg

Der Textknoten wird ganz normal an ein Kontextfeld gebunden. Wenn das Kontextfeld nicht unter dem Knoten TRUE hängt, dann wird in der Bindung der komplette Kontextpfad gebunden, wie hier im Beispiel (es ist nur ein Ausschnitt des kompletten Pfades zu sehen). Andernfalls würde hier auch die relative Bindung "$.Feld" erfolgen.

AdobeFormsAlternative15.jpg

Literatur