Bedenke aber auch folgendes:
Ein Service dient ja eigentlich einer Funktion, die von mehreren Programmen benötigt werden könnte.
Ansonsten kann man die Funktion ja auch direkt ins Hauptprogramm verlegen.
Da der Service u.U. in der ACTGRP eine Lebensdauer während der gesamten Jobdauer besitzt, kommt es also auch durchaus vor, dass deine Static-Variable einen stundenalten Zustand aufweist und Folgeergebnisse verfälscht werden können.
Besser ist es daher, einen Arbeitsbereich (DS der benötigten Felder) der Funktion per Reference mit zu übergeben und einen Status-Code (Start, Next, Final) zu verwenden.
Dann kann man beim Aufruf dann sicher sein, dass das gewünschte Ergebnis auch Stunden später noch funktioniert.