Revisionssichere Versionierung von ABAP-Programmen mit VERS_AT_IMP

Autor: Daniel Berlin | 6. Juni 2019

Zu den gem. HGB, AO und GoBS aufbewahrungspflichtigen Dokumenten zählt auch die Programmlogik eines SAP-Systems. Denn ohne eine Programmlogik lässt sich die Buchführung nicht nachvollziehen - daher reicht es nicht, ABAP-Programmversionen auf den Entwicklungssystem vorzuhalten. Schließlich kann dort bei vielen hochberechtigten Entwicklern keine Revisionssicherheit gewährleistet werden. Wie sich diese Anforderungen im SAP umsetzen lassen, wird in diesem Artikel vorgestellt. 

Auf der Entwicklungsebene sind oft weitgehende (Entwickler-) Berechtigungen vergeben und u.a. auch Reports wie RSVCAD03 und RSVCAD04 nutzbar, mit denen sich Versionen löschen lassen. Die dafür benötigte Berechtigung für das Objekt S_CTS_ADMI mit dem Wert TABL ist erfahrungsgemäß im Entwicklungssystem eher großzügig vergeben. Eine Linderung bietet der Transportsystem-Parameter “VERS_AT_IMP”, mit dem im Produktivsystem ebenfalls eine Versionierung erzeugt wird.

Versionierung bei Import für Produktivsysteme mit dem Parameter „VERS_AT_IMP“

Der Parameter „VERS_AT_IMP“ befindet sich im Profil des Transportsystems und kann die Werte NEVER, C_ONLY und ALWAYS annehmen kann. Der Standardwert NEVER schreibt beim Import von Objekten im Zielsystem keine Historie. Bei den beiden anderen Werten werden Versionen erzeugt: bei ALWAYS geschieht dies immer, bei C_ONLY nur bei Transporten von Originalen. Es sind übrigens nicht nur Reports betroffen, sondern alle Workbench-Objekte, die eine Versionshistorie unterstützen. Da der Platzbedarf der Versionen im Vergleich zu anderen Datenbankinhalten doch eher überschaubar ist, empfiehlt sich auf dem Produktivsystem der Wert ALWAYS. Es werden dann auf DEV und auf Produktion jeweils die komplette Versionshistorie vorgehalten – nur dass diese auf dem Entwicklungssystem nicht in dem Maße geschützt ist, wie dies auf dem Produktivsystem der Fall ist (u.a. über wesentlich eingeschränktere Berechtigungen und natürlich den allgemeinen Schutz des Systems gegen Änderungen). 

TMS Einstellungen für die Versionierung mit Parameter VERS_AT_IMP

Parameter VERS_AT_IMP setzen

Um den Parameter zu setzen, muss die Verwaltung des Transport Management Systems per Transaktion STMS geöffnet werden. Anschließend wird der Button „Systemübersicht“ und durch ein Doppelklick das Produktivsystem gewählt. Im Reiter „Transporttool“ finden Sie nun alle aktuell gesetzten tp-Parameter. VERS_AT_IMP ist standardmäßig nicht dabei (daher gilt der Defaultwert NEVER) und muss erst hinzugefügt werden. Der neu eingestellte Parameter gilt, sobald die Konfiguration gesichert und neu verteilt wurde. Um den Parameter später – z.B. im Rahmen eines Audits – schnell zu prüfen, bietet sich der Report RSTMSTPP („TPPARAM Viewer“) an. 

Optional: SPAM aktivieren

Zum Schluss bleibt noch eine Anmerkung zur Wirksamkeit bei Upgrades: der Parameter hat keine automatische Auswirkung auf die SPAM; dies dürfte wohl hauptsächlich daran liegen, dass beim Import einer Queue von Support Packages sehr viele Objekte aktualisiert werden und es dann zu einem enormen Wachstum von Versionsdaten kommen würde. Wünscht man dies dennoch, so kann man es manuell aktivieren (SPAM → ZusätzeEinstellungenQueue einspielen Objekte beim Einspielen versionieren). Der Einfluss auf die Performance (und ggf. Datenbankgröße) sollte jedoch vorher getestet werden. Bei Verwendung des neueren Software Update Managers (SUM) fällt diese Möglichkeit weg. 

Weitere Informationen

Audit-proof versioning of programs: VERS_AT_IMP https://www.daniel-berlin.de/security/sap-sec/audit-proof-versioning-of-programs-vers_at_imp/ 

Globale Parameter VERS_AT_IMP: https://help.sap.com/doc/saphelp_nw75/7.5.5/de-DE/3d/ad5bcf4ebc11d182bf0000e829fbfe/frameset.htm


Artikel war hilfreichArtikel empfehlen


Dieser Beitrag ist auch als Download verfügbar:
Daniel Berlin

Autor

Daniel Berlin

IT Auditor

Fragen? Anmerkungen?
Kontaktieren Sie mich

Kommentar verfassen


Unsere Top-Downloads

Angebot anfordern
Preisliste herunterladen
Expert Session
Support