[59134] in SAPr3-news

home help back first fref pref prev next nref lref last post

=?iso-8859-1?q?Re:_User_Massen=E4nderung?=

daemon@ATHENA.MIT.EDU (gs_dev0@nexgo.de)
Tue Mar 27 01:17:17 2007

To: sapr3-news@mit.edu
Date: 26 Mar 2007 22:17:07 -0700
From: gs_dev0@nexgo.de
Message-ID: <1174972627.473742.4200@y80g2000hsf.googlegroups.com>

On 26 Mrz., 10:17, "hoepp...@gmail.com" <hoepp...@gmail.com> wrote:
> Hallo,
>
> vielleicht kann mir ja jemand helfen, ich mu=DF f=FCr ca. 500 Usern das
> Passwort =E4ndern.
> =DCber Massen=E4nderunggeht das leider nicht. Hat jemand vielleicht eine
> Idee ??
>
> Viele Gr=FC=DFe Hoeppi
Hallo Hoeppi,
mit folgendem BI-Programm kannst du jedem User das Gleiche
Initialpasswort verpassen.

Gru=DF
Georg
---schnipp---
*Report dient zur Massen=E4nderung von Userstamms=E4tzen
*Das Programm selektiert die angegebenen User und erstellt eine BI-
Mappe
*mit der Transaktion SU01 um das Passwort aller User zur=FCckzusetzen.
*Die Ausnahmen werden zum Zeitpunkt INITIALIZATION vorgeschlagen,
k=F6nnen
*aber auf dem Selektionsbild ge=E4ndert werden.
*
*Ohne den Schalter "Mappe erstellen" kann man sich eine Liste der
*selektierten User anschauen.
REPORT zs_user_pass .
TABLES: usr01.
TYPES: BEGIN OF t_usr01,
         bname LIKE usr01-bname,
       END OF t_usr01.
DATA: wa_usr01 TYPE t_usr01,
      it_usr01 TYPE TABLE OF t_usr01.

DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE.

SELECT-OPTIONS: s_bname FOR usr01-bname.

PARAMETERS: p_pass TYPE xuncode LOWER CASE DEFAULT '12345',
            p_mappe AS CHECKBOX,
            p_group TYPE apq_grpn DEFAULT 'SU01'.

INITIALIZATION.
  s_bname-low =3D 'SAP*'. s_bname-option =3D 'EQ'.
  s_bname-sign =3D 'E'.   APPEND s_bname.
  s_bname-low =3D 'DDIC'. s_bname-option =3D 'EQ'.
  s_bname-sign =3D 'E'.   APPEND s_bname.
  SORT s_bname.

START-OF-SELECTION.

  PERFORM usr01_lesen.
  PERFORM main.
*---------------------------------------------------------------------
*
*       FORM main
*
*---------------------------------------------------------------------
*
FORM main.
  DATA: l_lines TYPE i.
  DESCRIBE TABLE it_usr01 LINES l_lines.
  IF l_lines =3D 0.
    WRITE: / 'Es wurden keine User selektiert.'.
    EXIT.
  ENDIF.
  IF p_mappe =3D 'X'.
    PERFORM open_group.
  ENDIF.
  LOOP AT it_usr01 INTO wa_usr01.
    WRITE: / wa_usr01-bname.
    IF p_mappe =3D 'X'.
      PERFORM su01 USING wa_usr01-bname.
    ENDIF.
  ENDLOOP.
  IF p_mappe =3D 'X'.
    PERFORM close_group.
    WRITE: / 'Mappe', p_group, 'erstellt.'.
  ENDIF.
ENDFORM.                    "main

*---------------------------------------------------------------------
*
*       FORM su01
*
*---------------------------------------------------------------------
*
FORM su01 USING i_bname.
  PERFORM bdc_dynpro      USING 'SAPLSUU5' '0050'.
  PERFORM bdc_field       USING 'BDC_CURSOR'
                                'USR02-BNAME'.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                '=3DPASS'.
  PERFORM bdc_field       USING 'USR02-BNAME'
                                 i_bname.
  PERFORM bdc_dynpro      USING 'SAPLSUU5' '0400'.
  PERFORM bdc_field       USING 'BDC_CURSOR'
                                'G_PASSWORD2'.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                '=3DPASS'.
  PERFORM bdc_field       USING 'G_PASSWORD1'
                                 p_pass.
  PERFORM bdc_field       USING 'G_PASSWORD2'
                                 p_pass.
  PERFORM bdc_transaction USING 'SU01'.
ENDFORM.                                                    "su01

*---------------------------------------------------------------------
*
*       FORM usr01_lesen
*
*---------------------------------------------------------------------
*
FORM usr01_lesen.
  SELECT bname INTO CORRESPONDING FIELDS OF TABLE it_usr01
               FROM usr01
               WHERE bname IN s_bname.
ENDFORM.                    "usr01_lesen
*---------------------------------------------------------------------
*
*       FORM OPEN_GROUP
*
*---------------------------------------------------------------------
*
FORM open_group.
*   open batchinput group
  CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
      client =3D sy-mandt
      group  =3D p_group
      user   =3D sy-uname
      keep   =3D 'X'.
*           HOLDDATE =3D HOLDDATE.
ENDFORM.                    "open_group

*---------------------------------------------------------------------
*
*       FORM CLOSE_GROUP
*
*---------------------------------------------------------------------
*
FORM close_group.
  CALL FUNCTION 'BDC_CLOSE_GROUP'.
ENDFORM.                    "close_group

*---------------------------------------------------------------------
*
*       FORM BDC_TRANSACTION
*
*---------------------------------------------------------------------
*
FORM bdc_transaction USING tcode.
  CALL FUNCTION 'BDC_INSERT'
    EXPORTING
      tcode     =3D tcode
    TABLES
      dynprotab =3D bdcdata.
  REFRESH bdcdata.
ENDFORM.                    "bdc_transaction

*---------------------------------------------------------------------
*
*       FORM BDC_DYNPRO
*
*---------------------------------------------------------------------
*
FORM bdc_dynpro USING program dynpro.
  CLEAR bdcdata.
  bdcdata-program  =3D program.
  bdcdata-dynpro   =3D dynpro.
  bdcdata-dynbegin =3D 'X'.
  APPEND bdcdata.
ENDFORM.                    "bdc_dynpro

*---------------------------------------------------------------------
*
*       FORM BDC_FIELD
*
*---------------------------------------------------------------------
*
FORM bdc_field USING fnam fval.
  CLEAR bdcdata.
  bdcdata-fnam =3D fnam.
  bdcdata-fval =3D fval.
  APPEND bdcdata.
ENDFORM.                    "bdc_field
---schnapp---


home help back first fref pref prev next nref lref last post