Scripting Funktionen

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Um Coding redundanzfrei zu halten sind im Script-Code Funktionen sehr wichtig. Sie entsprechen in ABAP einem Funktionsbaustein, einer Form-Routine oder einer Methode.

Warum Funktionen

  • Mit Funktionen kann man Redundanz vermeiden
  • Man spart sich Tipparbeit
  • Das Coding wird übersichtlicher
  • Funktionen in einem Skriptobjekt lassen sich leicht finden und so schneller in andere Formulare kopieren

Grundlagen

  • Die Variablen, die einer Funktion übergeben werden, werden immer als Kopie übergeben und nicht als Referenz. Werden die Variablen also in der Funktion verändert, werden die Variablen im Aufrufer nicht verändert.
  • Eine Funktion besteht immer aus dem Coding der Funktion und ein oder mehreren Aufrufstellen der Funktion.
  • Eigene Funktionen können nur mit JavaScript programmiert werden. Dies stellt gerade für Formulare mit umfangreichem Scripting eine deutliche Einschränkung der Verwendbarkeit von FormCalc gegenüber JavaScript dar.

Kommentierung Funktion

Da eine Funktion relativ selten verwendet wird, aber dann oft eine hohe Bedeutung hat, sollte eine Fuktion ausführlich kommentiert werden

  • Was macht die Funktion
  • Bei welchem Ereignis wird die Funktion gerufen
  • Welche Importparameter gibt es und welche Werte werden erwartet
  • Gibt es globale Variablen, die genutzt werden
  • Von welchen Annahmen geht die Funktion aus
  • Autor + Datum

Verwendung Funktion

Returnwert Funktion

  • Eine Funktion hat immer nur genau einen Return-Wert, bzw. einen Exportparameter.
  • Benötigt man mehrere Returnwerte, dann kann man diese Werte in einem Array speichern. Die Zählung des Array beginnt bei 0 und setzt sich dann fort mit 1, 2 etc.
  • Der Return-Parameter ist zu erkennen im Coding durch "return <Variablenname>;". Es ist nicht wichtig wie die Returnvariable heißt.
return Variablenname;

Wird ein Arrayparameter verwendet.

ArrayParameter = new Array();
...
ArrayParameter[0] = ...
ArrayParameter[1] = ...
ArrayParameter[2] = ...

return ArrayParameter;

Funktion

Die nachfolgende Funktion "FunktionAddition" hat zwei Importparameter "Parameter1" und "Parameter2".

function FunktionAddition(Parameter1, Parameter2) 
{  
 var Returnparameter;

 Returnparameter = Parameter1 + Parameter2; //Addition der Parameter

 return Returnparameter;   //Rückgabeparameter
 }

Aufruf Funktion

  • 2 Importparameter der Funktion
  • Funktionsbausteiname
  • Aufnahme des Returnparameters der Funktion
var Par1;
var Par2;
var Returnwert;

Par1 = 10;
Par2 = 20;

//Die Variable "Returnwert" nimmt den Rückgabeparameter der Funktion auf
//Die Variablen "Par1" und "Par2" sind die Importparameter der Funktion
//FunktionAddition ist der Name der Funktion

Returnwert = FunktionAddition(Par1, Par2);  //Ergebnis = 30

Skriptobjekt

  • Theoretisch kann das Coding der Funktion in der Codingroutine stehen, in der das Coding des Aufrufers sich befindet. Dies ist selten sinnvoll, da eine Funktion von sinnvollerweise von mehreren Codingstellen aufgerufen wird.
  • Vom gesamten Formular aufrufbar, redundanzfrei ist die Nutzung von einem Skriptobjekt.

Skriptobjekt1.JPG

Eingebaute Funktionen

Anwendungen für eigene Funktionen

  • umfangreich gestaltete Messageboxen (mit Titel, Text und Typ)
  • Dialogboxen
  • komplexe Berechnungen

Web-Links

Literatur