cancel
Showing results for 
Search instead for 
Did you mean: 

Mass deletion of Roles using LSMW

Former Member
0 Kudos

Hi,

Can we mass delete unwanted roles in Production environment using LSMW?

regards,

Lokesh Nandula

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Lokesh,

I am NOT sure about LSMW, U can check with Abaper..

The best Practice of deleting unwanted roles is

Create a TR in dev and delete the unwanted roles and transport it to DEV>QTY>PRD.

Regards

Gangadhar

Former Member
0 Kudos

Thanks Ganga. I want to delete around 2000 derived roles. How to automate it using LSMW. I tried with LSMW, but its not working. Is there any bug within LSMW in deleting Roles? Please let me know.

Former Member
0 Kudos

Hi Lokesh,

I am NOT sure about LSMW, Can you please check with any ABAP consultant, so that he will be having the clear idea,

In our client place even i tried LSMW, it failed, so we did it manually.

Regards

Gangadhar

Former Member
0 Kudos

there is a note from SAP (which I cannot find at the moment), providing a report Z_DEL_AGR which goes like this:


REPORT  Z_DEL_AGR.


*--------------------------------------------------------------*
* Version valid from 4.5b - 7.00                               *
*--------------------------------------------------------------*
TABLES :  AGR_DEFINE.
DATA: BEGIN OF ACTTAB OCCURS 0,
        AGR_NAME LIKE AGR_DEFINE-AGR_NAME,
      END OF ACTTAB.

SELECT-OPTIONS ACTGRP FOR AGR_DEFINE-AGR_NAME.
PARAMETERS: TEST(1) DEFAULT 'X'.

* F4 Hilfe für die Aktivitäsgruppe
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ACTGRP-LOW.
  DATA: SELECTED_VALUE LIKE AGR_DEFINE-AGR_NAME.
  CALL FUNCTION 'PRGN_ACTIVITY_GROUPS_F4_HELP'
       IMPORTING
            SELECTED_VALUE             = SELECTED_VALUE
       EXCEPTIONS
            NO_ACTIVITY_GROUP_SELECTED = 1
            OTHERS                     = 2.
  IF SY-SUBRC = 0.
    ACTGRP-LOW = SELECTED_VALUE.
  ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR ACTGRP-HIGH.
  DATA: SELECTED_VALUE LIKE AGR_DEFINE-AGR_NAME.
  CALL FUNCTION 'PRGN_ACTIVITY_GROUPS_F4_HELP'
       IMPORTING
            SELECTED_VALUE             = SELECTED_VALUE
       EXCEPTIONS
            NO_ACTIVITY_GROUP_SELECTED = 1
            OTHERS                     = 2.
  IF SY-SUBRC = 0.
    ACTGRP-HIGH = SELECTED_VALUE.
  ENDIF.


Former Member
0 Kudos
 --- part II
START-OF-SELECTION.

  SELECT AGR_NAME FROM AGR_DEFINE
         INTO  CORRESPONDING FIELDS OF TABLE ACTTAB
         WHERE AGR_NAME IN ACTGRP.

  LOOP AT ACTTAB.
    CALL FUNCTION 'PRGN_AUTH_ACTIVITY_GROUP'
         EXPORTING
              ACTIVITY_GROUP   = ACTTAB-AGR_NAME
              ACTION_DELETE    = 'X'
*             MESSAGE_OUTPUT   = 'X'
         EXCEPTIONS
              NOT_AUTHORIZED   = 1
              OTHERS           = 2.

    IF SY-SUBRC EQ 0.
      IF TEST EQ SPACE.
        WRITE : / 'Delete : ', ACTTAB.
        CALL FUNCTION 'PRGN_ACTIVITY_GROUP_DELETE'
             EXPORTING
                  ACTIVITY_GROUP                = ACTTAB-AGR_NAME
                  show_dialog                   = ' '
                  ENQUEUE_AND_TRANSPORT         = 'X'
             EXCEPTIONS
                  NOT_AUTHORIZED                = 1
                  TRANSPORT_CHECK_PROBLEM       = 2
                  TRANSPORT_CANCELED_OR_PROBLEM = 3
                  ONE_OR_MORE_USERS_ENQUEUED    = 4
                  FOREIGN_LOCK                  = 5
                  USER_CANCELS_ACTION           = 6
                  OTHERS                        = 7.
        IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ELSE.
        WRITE : / 'Test Delete : ', ACTTAB.
      ENDIF.
    ELSE.
      WRITE : / 'Missing authorization for :', ACTTAB-AGR_NAME.
    ENDIF.
  ENDLOOP.
Former Member
0 Kudos

I shall continue searching for the note, if I find it, I shall provide it ...

Former Member
0 Kudos

there is something severely wrong with that search-engine on SMP. I found it via google now - [note 313587|https://websmp230.sap-ag.de/sap%28bD1lbiZjPTAwMQ==%29/bc/bsp/spn/sapnotes/index2.htm?numm=313587]

Former Member
0 Kudos

Thanks to all for sharing those vital information.

We discussed the below options and finally completed the activity using SCAT.

1) Sapnote 313587

2) LSMW (we couldnt figure out the cause of the error. It works fine for other data uploads expect for Role deletion)

3) Program 'AGR_DELETE_ALL_ACTIVITY_GROUPS' in Debug mode

4) SCAT (simple, quicker and works fine)

regards,

Lokesh Nandula

Answers (1)

Answers (1)

rupali_karbhari3
Active Contributor
0 Kudos

Hello Lokesh,

It is possible to delete roles via LSMW scripts. You need to record script correctly and should run in forgoround only.

Regards,

Rupali Bajpai