# SY-UNAME: Hart kodierte Benutzernamen in ABAP ermitteln Quelle: https://rz10.de/sap-basis/hart-kodierte-benutzernamen-in-abap-ermitteln/ Stand: 2026-07-28 Hart kodierte Benutzernamen in ABAP Programmen können ein erhebliches Sicherheitsrisiko darstellen. In diesem Blog-Beitrag werde ich Ihnen erklären, wie Sie diese Schwachstellen mit SY-UNAME ermitteln können. ## **SY-UNAME** Das Systemfeld SY-UNAME beinhaltet den Namen des derzeit angemeldeten Benutzers. Es kommt immer wieder vor, dass anstatt der Benutzung der AUTHORITY-CHECK der Inhalt des Systemfeldes SY-UNAME direkt abgefragt wird, zum Beispiel für Funktionstests. Ein Beispiel ist der folgende Code: > *IF sy-uname <> 'ENTWICKLER'. > AUTHORITY-CHECK ... > ENDIF.* ## **Verwendung von SY-UNAME ermitteln** Der Standardreport RS_ABAP_SOURCE_SCAN bietet eine gute Möglichkeit, [Ihren Quellcode](https://de.wikipedia.org/wiki/Quelltext) nach der Verwendung von SY-UNAME zu durchsuchen. Sie können den Report / das Programm zum Beispiel durch die Transaktion SE80 aufrufen und ausführen. [![sy-uname](https://rz10.de/files/2015/07/execute_report-205x300.jpg)](https://rz10.de/files/2015/07/execute_report.jpg) In der Eingabemaske "Scan ABAP Report Sourcen" können Sie nun in das Feld des gesuchten Strings eine Mehrfachselektion vornehmen. [![Hart kodierte ABAP Benutzernamen ermitteln 2](https://rz10.de/files/2015/07/report_selection-300x182.jpg)](https://rz10.de/files/2015/07/report_selection.jpg) 1. Durch das Klicken auf die Mehrfachselektion öffnet sich das Eingabefeld für die Mehrfachselektion. 2. Geben Sie hier die folgenden Werte ein: **"SY-UNAME <> .*"**, **"SY-UNAME = .*"** und **"CASE SY-UNAME"**. 3. Stellen Sie sicher, dass der Haken bei **"String ist regulärer Ausdruck"** gesetzt ist. 4. Zur Eingrenzung der zur überprüfenden Programme können Sie hier mit **Z*** oder / und **Y*** die SAP Standardprogramme ausgrenzen. 5. Damit auch die Includes mit überprüft werden, empfehle ich Ihnen, den Haken bei **"Includes auflösen"** zu setzen. Nach dem Ausführen des Reports erhalten Sie einen Report mit allen Quelldateien, welche die gesuchten Strings beinhalten. [![Hart kodierte ABAP Benutzernamen ermitteln 3](https://rz10.de/files/2015/07/report_result-240x300.jpg)](https://rz10.de/files/2015/07/report_result.jpg) Mit einem Klick auf den angezeigten Quellcode können Sie sich den gesamten Quellcode der Datei anschauen. ## Grenzen der Ermittlung Diese eher simple Überprüfung stößt schnell an ihre Grenzen, wie das folgende Beispiel zeigt: > *DATA: lv_field TYPE string. > FIELD-SYMBOLS: TYPE any.* > > lv_field = 'SY-UNAME'. > ASSIGN (lv_field) TO . > IF = 'ENTWICKLER'. > * AUTHORITY-CHECK ... > WRITE 'AUTHORITY-CHECK bypassed!'. > ENDIF. Deshalb sollte die Verwendung von SY-UNAME nie zur Überprüfung von ausführbarem Code verwendet werden. Was sind Ihre Erfahrungen mit dem Ermitteln von hart kodierten Benutzernamen in ABAP Programmen? Ich freue mich auf Ihre Kommentare.