MUNDOSAP

MUNDOSAP (foro/index.php)
-   CONSULTORIA GENERAL (foro/forumdisplay.php?f=9)
-   -   borrado masivo de Roles 6.0 (foro/showthread.php?t=6271)

KF26TK 28/06/07 20:44:44

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 28/06/07 23:01:23

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

Saludos

rikardote 06/08/08 20:17:51

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.

rikardote 06/08/08 20:19:44

Borrado masivo de roles
 
1 Adjunto(s)
Te paso el código, esta adjunto a este mensaje.


Saludos.

glugliet 05/05/16 22:40:13

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. :D :D :D

rikardote 05/05/16 22:43:22

Gracias, saludos!
 
Es excelente saber que 8 años después sigue siendo de utilidad.!

JaZzDays 11/06/20 19:49:14

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


Husos Horarios son GMT. La hora en este momento es 18:40:42.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web