Variantenschutz aufheben

ABAP-Variantenpflege kann einem Schutz unterliegen

Mit der SE38 lässt sich eine ABAP-Variante auf den Ersteller schützen [Variantenschutz]. Dies geschieht nicht in einer Rolle, sondern in der Tabelle VARID. Im Feld PROTECTED wird ein X gesetzt und schon darf die Variante nicht mehr von jemandem anderes als dem Ersteller geändert werden. Dieser Variantenschutz lässt sich mit der SE38 Variantenpflege in der Funktion Attribute pflegen.

Diese Variantenpflege kann gut sein, kann aber auch zu Problemen führen. Denken Sie etwa daran, das ein Benutzer 300 Varianten angelegt hat und nun den Betrieb verlässt. Was ist zu tun?

Variantenschutz durch die Administration aufheben

Betrachtet man die Tabelle VARID, dann ist der Benutzerschutz dadurch realisiert, dass im Feld ENAME der Benutzer steht und das Feld PROTECTED mit X bewertet ist. Dies gilt es zu löschen. SAP® hat hier zu einen Report RSVARENT ausgeliefert, mit dem man diesen Schutz aufheben kann. Auch gibt es einen Hinweis H80526 Geschützte Variante entsperren, der das Doing kurz beschreibt.

Der Report RSVARENT hat ein flexibles Selektionsbild, so dass Sie eine schnelle Auswahl durchführen können! Im Programm selbst werden alle ausgewählten Tabelleneinträge über den Report selektiert, und das Protected-Feld gelöscht.

Somit können Sie obiges Problem mit dem „gegangenen User“ schnell lösen! Der Nachteil dieser Methode ist allerdings, dass nun alle Varianten des alten Benutzers nicht mehr gesperrt sind.
Man könnt nun auf die Idee kommen, die Berechtigungen des alten Benutzers einfach auf einen neuen zu übertragen. Also die neuere Funktion „Benutzer umbenennen“ in der SU01 zu verwenden. Doch wird durch diese Funktion nicht die neue ID des neuen Benutzers in die VARID übertragen. Damit fällt diese Methode aus.

Bleibt noch zu überlegen, ob man nicht eine Z-Version des RSVARENT schreiben sollte, welche die Tabelle VARID nach dem alten User durchsucht und einfach den neuen setzt. Man sucht also alle Sätze des alten Benutzers und setzt den neuen Benutzer!
Ein Programm, das dieses machen könnte, wäre in etwa das folgende:

REPORT ZS_RSVARUSER.
TABLES: VARID.
PARAMETERS: S_ONAME TYPE VARID-ENAME,
            S_NNAME TYPE VARID-ENAME.
SELECT * FROM VARID WHERE ENAME = S_ONAME.
   CHECK VARID-PROTECTED NE SPACE.
   MOVE S_NNAME TO VARID-ENAME.
   „… Setzen letzter Änderer in AENAME. und Datum in AEDAT
   „…. und AETIME
   IF NOT VARID-VARIANT(4) EQ ‚SAP&‘
     AND NOT VARID-VARIANT(4) EQ ‚CUS&‘.
       MOVE ‚F‘ TO VARID-TRANSPORT.
   ENDIF.
   MODIFY VARID.
ENDSELECT.

Abgesehen von diesem Programm, könnte auch der Administrator mit der SE16N den Variantenschutz aufheben. [Beachten Sie aber den Blogbeitrag zu SE16N]

Sie sehen, manchmal – um nicht zu sagen oft – werden auch vom Hersteller nicht alle Schutzmechanismen über das Berechtigungskonzept gelöst. Hier ist ein Beispiel, wo Sie sich ohne ein Blick in die Hinweise berechtigungstechnisch einen Ast gesucht hätten.

Ich glaube auch diese Problemfälle gehören hier in diesen Blog, da es sich ja eigentlich um ein Berechtigungsproblem handelt.

Gruß
Bernd Klüppelberg

Schreiben Sie bitte einen Kommentar





SAP Berechtigungen, -Konzepte, -Technik | System Beratung Bernd Klüppelberg