Scripting Bedingungen

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

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

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

Tiefe 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.

Die einfachste Variante einer If-Bedingung.

if (Bedingung) then
 ... Anweisungen
endif

Eine If-Bedingung mit einer Else-Alternative.

if (Bedingung) then
 ... Anweisungen
else
 ... Anweisungen
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 ( Bedingung ) 
{
 ... Anweisungen;
}

Der Code kann auch so geschrieben werden

if ( Bedingung ) {
 ... Anweisungen;
}

Soll in jedem Fall eine Anweisung ausgeführt werden.

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

Switch-Anweisung

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(Name) 
  {
  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