Debugging Scriptcode

Aus SAP-Wiki
(Weitergeleitet von Scripting Code debuggen)
Wechseln zu: Navigation, Suche

Der Adobe LiveCycle Designer bietet im Gegensatz zu ABAP nur wenige Möglichkeiten den Script-Code zu debuggen und eine Syntaxprüfung vorzunehmen. Hier ist noch viel Verbesserungspotential.

Debugging mit MessageBoxen

Man kann ein improvisiertes Debugging programmieren, indem man Variablen in MessageBoxen ausgibt. Dies kann jedoch gerade in Schleifen oder mit vielen MessageBoxen nervig sein, da hier alle MessageBoxen bestätigt werden müssen. Es kann auch passieren, dass das Event nicht zu einer Messagebox passt und die Messagebox daher nicht aufgerufen wird.

xfa.host.messageBox("Feldinhalt Objekt XY: " + this.rawValue);  //Java-Script
$host.messageBox("Variableninhalt:" + $.rawValue)   //Form-Calc

Debugging mit Textfeldern

Man kann sich notfalls auch behelfen, indem man Textfelder auf dem Formular platziert, die man mit Variableninhalten füllt.

1 Wert in 1 Textfeld

Hier wird der Wert aus der Variablen "S_OVM.GV_ANZ_VERGLEICHSMIETE" im Kontext in das Textfeld "Textfeld1" geschrieben.

Textfeld1.rawValue = xfa.record.S_OVM.GV_ANZ_VERGLEICHSMIETE.value;  //Java-Script


Das Textfeld wird nun auf dem Formular ausgegeben mit dem Variableninhalt "4". Hier sind es die vier Tabellenzeilen, die darüber zu sehen sind.

Scriptdebugging6.jpg

Mehrere Werte in 1 Textfeld (Concat)

In ein Textfeld lassen sich auch mehrere Felder schreiben mit dem Befehl Concat.

$ = Concat(BUKRS.$, "/", EBELN.$, "/", EBELP.$  ) //FormCalc

Syntaxprüfung

Eine rudimentäre Syntaxprüfung ist auch im Script-Editor möglich über das Menü "Extras - Sytax prüfen" oder über das Symbol Syntaxpruefung6.JPG. Alle Codingstellen im Formular werden geprüft. Fehlerhafte Zeilen werden markiert.

Scriptdebugging3.jpg


Hier wurde das "if" falsch geschrieben und daher markiert er das passende Else.

Die Warnungen/Error erscheinen unter der Palette "Bericht" auf dem Reiter "Warnungen".

Scriptdebugging4.jpg

Debugging-Konsole

console.show();
console.println("Inhalt Objekt XY:" + this.rawValue);

Die Debugging-Konsole bietet sich v. a. an, wenn viele Einträge erfolgen, z. B. in Schleifen.

Dafür muss die Debugging-Konsole im Acrobat Reader aktiviert sein.

Scriptdebugging1.jpg

Der Haken bei "Fehler bei Fehlern und Meldungen anzeigen" muss gesetzt sein.

Scriptdebugging2.jpg

Web-Links

Literatur