Scripting Bedingungen

Aus SAP-Wiki
Zur Navigation springenZur Suche springen


Siehe JavaScript und FormCalc Scripting im LiveCycle Designer.

Die Ausführung vom Coding in Abhängigkeit von Bedingungen ist eine sehr häufige Anwendung im Scripting. In der Regel wird dann eine If-Klausel verwendet werden.

Siehe Scripting Abfrage auf gefüllte Variable (null).

Hierarchien von Bedingungen

  • Bedingungen können auch geschachtelt werden.
  • Tief geschachtelte Bedingungen sollten allerdings möglichst vermieden werden, um die Lesbarkeit zu gewährleisten.
  • Lassen sich tiefe Schachtelungen nicht vermeiden, sollte die Einrückungen/Tabs entsprechend der Hierarchietiefe gesetzt werden und der Code sorgfältig kommentiert werden.

if-Anweisung

FormCalc

In FormCalc ist die If-Anweisung leichter lesbar als in JavaScript, da in FormCalc auf geschweifte Klammern verzichtet wird und auch das "Endif" explizit das Ende der Anweisung leicht erkennbar ist.

if-endif

Die einfachste Variante einer If-Bedingung.

if (Bedingung) then
 ... //Anweisungen
endif

If-else-endif

Eine If-Bedingung mit einer Else-Alternative.

if (Bedingung) then
 ... //Anweisungen
else
 ... //Anweisungen
endif

if-elseif-else-endif

Eine If-Bedingung mit mehreren ElseIf-Bedingungen und einer Else-Alternative.

if (Bedingung) then
 ... //Anweisungen
elseif (Bedingung) then
 ... //Anweisungen
else
 ... //Anweisungen
endif

Beim Event "ready:form" wird hier ein Teilformular mit seinen Feldern in Abhängigkeit von einem Feld ALT_GRUNDPREIS im Teilformular ein- bzw. ausgeblendet.

Man ist hier in einem Loop und insofern kann bei jedem Datensatz das Teilformular ein-/ausgeblendet werden.

An der grünen Formatierung des Textes nach ";" kann man auch sofort erkennen, dass hier ein FormCalc-Code vorliegt. Insofern hat eine reichhalte Kommentierung immer noch impliziten Nutzen, dass man nicht den JavaScript-Code und FormCalc-Code verwechselt.

ScriptingIfAusblenden1.JPG

JavaScript

Hier wird nur unter einer Bedingung eine oder mehr Anweisungen ausgeführt. Andernfalls wird keine Anweisung ausgeführt.

If

if (Bedingung) 
  {
   ... ; //Anweisungen
  }

If-else

Soll in jedem Fall eine Anweisung ausgeführt werden.

if (Bedingung) 
  {
   ... ; //Anweisungen
  }  
else
  {
   ... ; //Anweisungen
  }

Switch-Anweisung (JavaScript) und "break"

Die Switch-Anweisung gibt es nur in JavaScript.

Die Switch-Anweisung ähnelt der Case-Anweisung in ABAP. Der Befehl "default:" ist zuständig für alle Fälle, wo keiner der vorher explizit genannten Fälle zutrifft. In ABAP beim Case-Befehl hieße es "when others".

switch(Variable) 
  {
  case "Eberstein":
   Anweisung1;
   Anweisung2; 
   ...;
   break;        //beendet nach der Anweisung die Ausführung des Scripts

  case "Wulff":
   ... ; Anweisungen
   break;

  case "Meier":
   ... ; Anweisungen
   break;

  default:        //falls die anderen Bedingungen nicht erfüllt sind
   ... ; Anweisungen
   break;
   }    //ende des Switches