Scripting Variablen

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Wie bei jeder Programmsprache sind auch bei JavaScript und FormCalc Variablen elemente Bestandteile der Programmsprache.

Siehe auch Scripting Formularobjekte adressieren.

Namensvergabe

Buchstaben, Ziffern und Unterstrich

  • Der Variablenname muß mit einem Buchstaben beginnen
  • Nach dem ersten Buchstaben dürfen nur Buchstaben, Ziffern oder ein Unterstrich folgen.

Reservierte Namen

  • Der Variablenname darf nicht reserviert sein von JavaScript und FormCalc, wie z. B. "boolean", "char" oder "finally" und dürfenf dann nicht als Variablenname verwendet werden.

Umlaute und verbotene Zeichen

  • Umlaute, ß und sonstige Sonderzeichen sind nicht nicht erlaubt. Daher sollten auch bei der Benennung von Teilformularen, Textfeldern etc.im Designer auf diese Zeichen verzichtet werden, um diese Objekte per Scripting ansprechen zu können

Groß- und Kleinschreibung

JavaScript und FormCalc unterscheiden im Gegensatz zu ABAP zwischen Groß-/Kleinschreibung.

Das Coding

lv_variable == 2;

ist etwas anderes als

LV_VARIABLE == 2;

Höckerschreibweise / CamelCase

Vorteilhaft für die Lesbarkeit ist es bei Variablen die Höckerschreibweise (englisch "CamelCase" oder "CamelBack") zu verwenden.

var iZahl = 12;  //Java-Script

oder

var iZahl = 12  //Form-Calc

Semantische Bedeutung

In JavaScript und FormCalc werden vom Entwickler keine Datentypen explizit zugewiesen. Es empfiehlt sich jedoch durch den ersten Buchstaben des Variablennamens der Variable eine semantische Bedeutung zu geben. i = Ganzzahlen (Zahlen ohne Komma) f = Floatingpoint (Zahlen mit Komma) s = String (Zeichenkette) b = Boolean (wahr/falsch) o = Objekte array = Mehrere Felder

Interner Datentyp

Aber auch wenn der Entwickler keinen Datentyp vorgibt, wird intern von JavaScript für eine Variable ein Datentyp verwendet. Es hilft der Variable diesen Datentyp voran zu stellen. Während der Laufzeit kann sich auch der Datentyp ändern. Aber das ist in der Praxis selten.

  • iVariable = integer (sowohl Zahlen ohne Komma als auch mit Komma)
  • sVariable = String (Zeichenkette)
  • bVariable (wahr/falsch)
  • oVariable (Objekt)
  • arrayVariable (Array)

Deklaration von Variablen

  • Variablen müssen in JavaScript im Gegensatz zu ABAP nicht zwingend deklariert werden. Wenn sie nicht deklariert werden, dann legt sie JavaScript im Hintergrund selber an. Auch in JavaScript sollten die Variablen angelegt werden, damit der Code verständlicher ist.
  • In FormCalc müssen Variablen zwingend angelegt werden.
  • Bei der Variablendeklaration kann auch gleich ein Wert zugewiesen werden.
var iZahl = 42;

Variablentypen

Textvariable

var Kundenname = "Müller";  //JavaScript
var Kundenname = "Müller"   //FormCalc

Zahlenvarable

var Zahl = 42;              //JavaScript
var Zahl = 42               //FormCalc

Stringvariablen

Stringvariablen beherrschen mehr Textoperationen als normale Textariablen. Sie werden nicht mit "var" definiert, sondern

Wohnort = new String();     //JavaScript

Nur JavaScript macht eine Unterscheidung zwischen Strings und Textvariablen.

Arrays (JavaScript)

Arrays können nur in JavaScript angelegt werden und nicht in FormCalc. Arrays können gleich eine Reihe von Werten aufnehmen. Sie werden nicht mit "var" definiert, sondern

arrayNamen = new Array();   //JavaScript

Die einzelnen Variablen eines Arrays werden dann angesprochen durch

arrayNamen(1)
arrayNamen(2)
...

Zugriff auf Tabellen

FormCalc kann sehr elegant auf Tabellen zugreifen, die im Formular als Tabelle oder im wiederholenden Teilformular angelegt worden sind.

var iAnzahl
iAnzahl = Count(Tabellenname[*])  //Anzahl der Elemente in Tabelle
var iSumme
iSumme = Sum(Tabellenname[*])     //Summe in Tabelle

Globale Variablen

Wertzuweisung

Eine extrem häufige Verwendung von Variablen ist es Werte zuzuweisen. Wird das aktuelle Formularobjekt (z. B. Textfeld) angesprochen, in dem das Scripting eingebunden ist, muss das Formularobjekt nicht angesprochen werden. Dies macht das Coding kürzer und besser lesbar und das Formularobjekt kann hinterher auch umbenannt werden und das Coding bleibt weiterhin gültig.

Siehe auch Scripting Formularobjekte adressieren.

JavaScript (rawValue)

Der Wert des aktuellen Feldes wird mit "this.rawValue" angesprochen.

Bei einem Textfeld

this.rawValue = "Dies ist ein Text";

Bei einem Zahlenfeld

this.rawValue = 42;

FormCalc ($)

Der Wert des aktuellen Feldes wird mit "$.rawValue" oder noch kürzer mit "$" angesprochen.

$ = "Dies ist ein Text"
$ = 42

oder

$.rawValue = "Dies ist ein Text"
$.rawValue = 42

Web-Links