Passwort-Historie löschen

Y12S_22_USR_DELPWDHIST ist ein feiner Report. Mit ihm kann die Passwort-Historie eines beliebigen Users gelöscht werden. Auf diese Weise ist man nicht mehr gezwungen ein Passwort zu wählen, dass keinem der letzten fünf entspricht. Geschrieben wurde es für einen Monitor-User, der aufgrund seiner Verwendung immer das gleiche Passwort haben sollte, jedoch als Dialog-User den üblichen Passwort-Regeln unterworfen ist.

PHP:
*&--- Technical description -------------------------------------------*
*& Report  Y12S_22_USR_DELPWDHIST                          Version 1.1 *
*& 03.05.2004 by Kai Boenke                        <kai.boenke@gmx.de> *
*&                                                                     *
*&--- Function overview -----------------------------------------------*
*& Delete password-history for given user and set the old password as  *
*& the new one.                                                        *
*&                                                                     *
*& PLEASE NOTICE THAT USING THIS REPORT IS STRICTLY FORBIDDEN BY DSB!  *
*&                                                                     *
*&--- Changelog -------------------------------------------------------*
*&  03.05.2004  Kai Boenke         First edition                       *
*&  09.08.2004  Kai Boenke         Made client selectable              *
*&  09.08.2004  Kai Boenke         Extend current passwords lifetime   *
*&---------------------------------------------------------------------*
REPORT Y12S_22_USR_DELPWDHIST.

Tables:      USR02.
Parameters:  client   Like USR02-MANDT   Default SY-MANDT   Obligatory,
             uname    Like USR02-BNAME   Default SY-UNAME   Obligatory.


*&----- Validate given data
Select * From USR02 Client Specified Where       MANDT = client
                                             And BNAME = uname.
EndSelect.

If SY-SUBRC <> 0.
  Message a000(fb) With 'No such user/client.'.
EndIf.
If SY-DBCNT <> 1.
  Message a000(fb) With 'Inaccurate user/client selection.'.
EndIf.


*&----- Delete password-history extending the current one
USR02-OCOD1 = USR02-BCODE.
USR02-BCDA1 = SY-DATUM.
USR02-OCOD2 = ''.
USR02-BCDA2 = ''.
USR02-OCOD3 = ''.
USR02-BCDA3 = ''.
USR02-OCOD4 = ''.
USR02-BCDA4 = ''.
USR02-OCOD5 = ''.
USR02-BCDA5 = ''.


*&----- Update user
Modify USR02 Client Specified.
If SY-SUBRC <> 0.
  Message e000(fb) With 'Could not update user. '
                        '(' SY-SUBRC ')'.
Else.
  Message s000(fb) With 'User updated.'.
EndIf.

Zu beachten ist dabei, dass die Verwendung gegebenenfalls gegen die Datenschutzbestimmungen verstößt. Daher sollte man sich vorher bei seinem Datenschutzverantwortlichen über die Einsatzmöglichkeiten erkundigen.