borrado masivo de Roles 6.0

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • KF26TK
    Junior Member
    • ene
    • 10

    #1

    borrado masivo de Roles 6.0

    Consulta quien sabrá alguna forma de borrar masivamente roles, ya que debo borrar demasiados roles y esto de hacerlo uno por uno es muy lento.
  • aguerra
    Junior Member
    • jun
    • 20

    #2
    Teniendo la lista en un archivo excel lo puedes hacer con un CATT desde la transacción SCAT.

    Saludos

    Comentario

    • rikardote
      Senior Member
      • ene
      • 212

      #3
      Borrado masivo de roles

      Intenta con este programa


      Saludos.



      REPORT ZDELETEROL .
      *--------------------------------------------------------------*
      * 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.

      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.REPORT ZDELETEROL .
      *--------------------------------------------------------------*
      * 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.

      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.
      Antonio Salvarrey
      SAP Solution Architect
      TIBasis Mexico.

      Comentario

      • rikardote
        Senior Member
        • ene
        • 212

        #4
        Borrado masivo de roles

        Te paso el código, esta adjunto a este mensaje.


        Saludos.
        Archivos Adjuntos
        Antonio Salvarrey
        SAP Solution Architect
        TIBasis Mexico.

        Comentario

        • glugliet
          Junior Member
          • may
          • 1

          #5
          Perfecto el programa para borrado masivo de roles

          Rikardote, un millón de gracias por compartir el código de este programa para borrado masivo de roles, ya lo probé y funciona a la perfección.

          Comentario

          • rikardote
            Senior Member
            • ene
            • 212

            #6
            Gracias, saludos!

            Es excelente saber que 8 años después sigue siendo de utilidad.!
            Antonio Salvarrey
            SAP Solution Architect
            TIBasis Mexico.

            Comentario

            • JaZzDays
              Junior Member
              • ago
              • 1

              #7
              Woow acabo de usar el programa en Hana y funciona perfecto. Muchísimas gracias.

              Comentario

              Trabajando...