Scripting Bedingungen

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

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 auch 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 2) 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)

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 wäre es das "when others".

switch(Variablenname) 
  {
  case "Eberstein"
   ... Anweisungen;
   break;        //beendet nach der Anweisung die Ausführung des Scripts

  case "Wulff"
   ... Anweisungen;
   break;

  case "Wenzel"
   ... Anweisungen;
   break;

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