Globale Variablen im Druckprogramm

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Man sollte mit der Nutzung von globalen Variablen im Druckprogramm vorsichtig sein.

Vorteil globale Variablen

  • Globale Variablen sind bequem, da diese Variablen bei der Nutzung über mehrere Unterroutinen vom Druckprogramm nicht zwingend in der Parameterschnittstelle der Programmeinheiten übergeben werden müssen.

Nachteile globale Variablen und Vorgehensweisen

  • Die Verwendung der globalen Variablen schwer zu überblicken/verstehen sein, wenn globale Variablen häufig im Druckprogramm angesprochen werden. Lokal definierte Variablen, bzw. Globale Variablen die sauber in Form-Routinen oder Methoden übergeben werden haben weniger Verwendungen und sind so leichter zu verstehen.
  • Wird ein Druckprogramm z. B. über das Programm RSNAST00 zur Ausgabe für diverse Belege/NAST-Einträge in einem Programmablauf verwendet, können globale Variablen des gleichen Druckprogramms von einer Belegausgabe zu einer anderen Belegausgabe ungewollt weitergegeben werden. Z. B. wird bei einem Beleg eine globale Variable gesetzt, dass diese Rechnung eine Gutscchrift ist und ber der nächsten Rechnung, die keine Gutschrift ist, wird aufgrund des gesetzten Merkers vom vorherigen Beleg trotzdem von einer Gutschrift ausgegangen und es kommt zu falschen Ergebnissen.

Vorgehensweise

  • Die Variablen sollten mmer so lokal wie möglich angelegt werden.
  • Wenn globale Variablen nötig sind, dann sollten diese globalen Variablen beim Programmaufruf möglichst an einer Stelle/Programmunterroutine initialisiert werden. Das ist übersichtlicher als wenn die Clearingbefehle über das Druckprogramm verteilt sind.
  • Wenn eine Prüfung erfolgt, wo eine globale Variable gesetzt wird (oder nicht), kann die Variable im Else-Zweig gecleart werden.