Wir
beschäftigen uns als Erstes mit dem Aufruf von JavaScript-Funktionen aus einem GuiXT Script, was
auch unabhängig von der Verwendung von ActiveX Controls sinnvoll ist.
Sie gehen dazu wie folgt vor:
Legen Sie
eine Datei mit der Endung .js an, z.B. "lib.js".
In diese Datei
schreiben Sie eine JavaScript Funktion, zum Beispiel:
function test()
{
return "Hello World";
}
Falls Sie ein grösseres Projekt mit GuiXT Controls realisieren wollen, empfiehlt es
sich, einen speziellen Editor für JavaScript zu nutzen. Wir empfehen
dazu Microsoft Visual Studio, das es auch in einer kostenlosen "Express
Edition" gibt.
Den Namen der
Datei tragen Sie im GuiXT Profile ein:
Sie können hier später, durch Semikolon getrennt, auch mehrere Dateien
angeben, falls eine einzelne Datei zu umfangreich wird. Alle Dateien
werden geladen und können auf gemeinsame globale Variablen zugreifen.
Achtung: Wenn Sie nach einem Test etwas in Ihrer JavaScript Datei
ändern, müssen Sie für den nächsten Test mit "/O..." einen neuen SAP GUI
Modus öffnen, da in dem alten Modus noch die alte Version Ihrer JavaScript
Datei läuft. Das gesamte JavaScript-Programm wird innerhalb eines Modus
nur einmal geladen, sodass z.B. globale Variablen ihren Wert behalten.
In einem
GuiXT Script oder InputScript rufen Sie die JavaScript-Funktion über das
Schlüsselwort "CallJS" auf. Den Wert können Sie testweise als "Message"
ausgeben:
CallJS msg = test
Message
"S: &V[msg]"
-statusline
Das heisst:
Die JavaScript-Funktion "test" wird aufgerufen und das Ergebnis in die
GuiXT-Variable V[msg] gestellt. Falls Sie an dem Rückgabewert nicht
interessiert sind, können Sie eine VBScript-Funktion einfach mit
CallVBS test
aufrufen.
Als Ergebnis
erscheint eine SAP GUI - Nachricht mit dem Text aus der JavaScript
Funktion: