Truco 10. Actualización masiva de usuarios.


Los datos maestros de usuario en Sap se mantienen desde la transacción SU01. En muchas ocasiones, no interesara realizar acciones masivas en los datos maestros de usuario, en lo referente a cuestiones tan variadas como:

  • Roles: determinan las opciones del menú de usuario disponibles y/o sus correspondientes autorizaciones de acceso.
  • Autorizaciones: asignación de los perfiles de autorización (se pueden asignar directamente desde los roles). Determina con que elementos del sistema va a poder trabajar el usuario (a que transacciones va a poder acceder y en que unidades organizativas). Cada usuario, según su rol dentro de la organización, tendrá que tener unas autorizaciones adecuadas para acceder solo a aquellos procesos en los que interviene, en las áreas adecuadas, sin poder acceder a otros elementos que queden fuera de su ámbito de actuación.
  • Parámetros de usuario: son los parámetros de memoria que nos permiten predefinir valores de trabajo en los usuarios (por ejemplo, la sociedad, la organizacionón de compras, el centro) o establecer parámetros de control que determinan el comportamiento de las transacciones, informes, etc. Por ejemplo, el parametro SD_VARIANT_MAINTAIN con el valor X nos permite modificar las variantes de visualización en los informes de ventas (pedidos, ofertas, facturas). Otro ejemplo son las opciones al trabajar con la contabilidad general, que se configuran en la transacción FB00. La configuración establecida en esta transacción se traslada a parámetros de usuario que determinan el comportamiento de las diferentes transacciones de finanzas (contabilización, listados de partidas, libro de caja, etc). Hay multitud de parámetros, cada uno con una finalidad y podemos igualmente  crear nuestros parámetros de usuario  en la tabla TPARA con la transacción SM31 (utilizar siempre identificadores que empiecen por Z).

  • Configuración de valores por defecto: aquí se determinan aspectos generales, como el menú inicial de un usuario al entrar en Sap, su idioma de trabajo, la representación de los números (es interesante conocer este parámetro, porque muchos usuarios prefieren trabajar con el ‘.’ como caracter para informar los decimales, en lugar de la coma), el formato de la fecha y hora, la impresora por defecto y los valores de control del spool.

  • Información de los usuarios: nombre, dirección, función, departamento, cuenta de correo electrónico, etc.
  • Datos de logon: contraseña, tipo de usuario, grupo de usuario, validez.
  • Bloqueo/desbloqueo de usuarios: se puede gestionar el bloqueo/desbloqueo de los usuarios (por ejemplo, desbloquear un usuario que se autobloqueo por intento de logon fallidos).

Podemos entrar uno por uno en cada usuario y realizar los ajustes, o bien utilizar una interesante transacción que tiene Sap que es la actualización masiva de usuarios (SU10). Vamos a ver un poco en detalle esta transacción y la forma de utilizarla.

Básicamente, disponemos de una pantalla inicial, donde vamos a realizar la selección de los usuarios a tratar (bien indicándolos individualmente o con las funciones de búsqueda por Datos de dirección o Datos de autorización). Desde las funciones de búsqueda podemos seleccionar uno o más valores y llevarlos a la pantalla de tratamiento.

Una vez enumerados todos los usuarios que vamos a tratar, seleccionaremos el tipo de acción  pulsando el correspondiente botón de opción de tratamiento. Las opciones posibles son:

  • Crear: nos permite realizar la creación masiva de usuarios. Todos los usuarios creados tienen los mismos valores (valores fijos, parámetros, autorizaciones), y luego habrá que entrar uno a uno para ajustar sus datos individuales (como el nombre, departamento, teléfono, dirección de email, etc). Es útil para crear masivamente usuarios con las mismas características de autorizaciones.
  • Modificar: nos permite realizar de forma masiva la modificación de cualquier de los aspectos vistos anteriormente.
  • Borrar: nos permite el borrado masivo de usuarios. Los usuarios dejan de estar disponibles en el sistema y ya podrán ingresar en el Sap con el identificador de usuario borrado. Se recomiendo utilizar el borrado con cuidado, y jugar con los bloqueos o las fechas de validez.
  • Bloquear: con esta opción bloqueamos el acceso al sistema en los usuarios indicados.
  • Desbloquear: con esta acción eliminamos los bloqueos en los usuarios.

Para nuestro ejemplo, nos vamos a centrar en la opción Modificar. Nos aparecen las mismas pestañas que en el mantenimiento simple de los usuarios, pero con una peculiaridad. Indicamos el valor que queremos modificar y marcamos el flag correspondiente de Modificar. De esta forma, solo modificaremos, de todos los valores existentes en los usuarios, aquellos que se hayan seleccionado expresamente.

En la imagen podéis ver la modificación de la impresora por defecto a los usuarios indicados.

Para el caso de las autorizaciones (Roles o Perfiles), la forma de realizar las modificaciones cambia un poco. En este caso, enumeraremos los perfiles de autorización o los roles, e indicaremos la acción a realizar que podrá ser Añadir o Eliminar. Si queremos realizar ambas acciones, habrá que hacerlo en dos veces. En el ejemplo, estoy añadiendo un rol de administrador y dos roles para la gestión de activos fijos a los usuarios.

Finalmente pulsaremos el icono de Grabar para que los cambios sean efectivos. Como podéis ver, es una herramienta muy útil para procesos masivos sobre los usuarios y para simplificar las tareas de administración del sistema. Si estáis interesados en ampliar conocimientos sobre el tema de usuarios, seguridad y auditoria en los sistemas Sap, os recomiendo el blog Seguridad Sap que acabo de descubrir.

Esta entrada fue publicada en Sap Basis. Guarda el enlace permanente.

40 respuestas a Truco 10. Actualización masiva de usuarios.

  1. Rayden31 dijo:

    Buenas tardes,
    Para cambiar contraseñas a usuarios en masa…
    por la su10 no se puede alguien sabe como se realiza esta actividad.

    Saludos.

    • Hola:

      Desde la Su10 no lo puedes hacer. El tema de las contraseñas es delicado y hacerlo como un proceso en masa tiene sus riesgos.

      Lo podrías realizar con un desarrollo a medida utilizando las correspondientes BAPIS para trabajar con los datos de usuario:

      BAPI_USER_GETLIST para obtener la lista de usuarios.
      BAPI_USER_GET_DETAIL para obtener los datos detallados de un usuario
      BAPI_USER_CHANGE para modificar la contraseña de usuario (u otros valores del perfil).

      Puedes obtener mas información con la transaccion BAPI, o desde la SE37 para ver la implementación y documentación de la BAPI.
      Espero que te sea de utilidad.

      Un saludo.

    • Gabriel dijo:

      Puedes Utilizar el Lagacy para llamar a la transacción de cambio de contraseña «n » veces, la ventaja es que te deja cargar usuarios desde fichero, se hace desde la transacción LSMW, te adjunto un manual:

      http://es.scribd.com/doc/50870038/LSMW-MANUAL

  2. edo dijo:

    Estimado,

    Estoy tratando de realizar una eliminación masiva de roles (roles antiguos no utilizados ni asignados a usuarios), pero no encuentro una transacción para ello. Conoces alguna u otro método para realizarlo?.

    De antemano gracias.

    • Hola Edo:

      El borrado masivo no es algo estandar, aunque, como siempre, en Sap hay otras alternativas. Echale un vistazo a esta entrada en Sap Fan Club, igual te vale alguna de las propuestas que hacen para borrar masivamente roles:

      http://www.sapfans.com/forums/viewtopic.php?t=6470

      Es interesante la nota OSS Note 313587 – Mass deletion of activity groups, donde se incluye un ejemplo de programa para borrar roles masivamente:

      REPORT Z_DEL_AGR .
      *————————————————————–*
      * Version valid from 4.5b – 7.xx *
      *————————————————————–*
      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.

  3. Pablo dijo:

    Hola por favor me pueden ayudar con una transacción para modificar masiva mente las sociedades en la característica PALM/WEB, que esta en Datos Básicos.

  4. Emiliano dijo:

    Alguien sabe como ajustar masivamente roles? algo similar a la supc que genera masivamente perfiles, pero para ajustar?
    Gracias.
    Sds.

  5. Emiliano dijo:

    Lo que me refiero con ajustar es, cuando por ejemplo dentro de un rol, en la pfcg modifico algo antes de salir hay que generar el rol para que ajuste los cambios y masivamente si quiero que genere los roles hijos.
    Bueno, si esto no está realizado el rol queda desajustado, quiero saber si hay una trx que haga un ajuste masivo, como por ejemplo la supc para los perfiles.
    Gracias .

  6. Pablo dijo:

    Buenos días por favor alguien sabe como cambiar de forma masiva las características de materiales.
    Por ejemplo Marca para mostrar en PALM/WEB en la Transacción MM42 en Datos Básicos.

    • Hola:   Prueba con la transacción para actualizacion masiva del maestro de materiales. Es la MM17. Puedes actualizar las diferentes tablas del maestro de materiales (MARA datos generales, MARC datos de centro, MARD, datos de ventas MVKE, etc).   Has de localizar el valor que quieres actualizar en que campo esta, establecer criterios de seleccion, valores a cambiar y lanzar la ejecucion masiva Es una transacción muy delicada.  

      • Teresa dijo:

        Hola Roberto,
        Estoy intentando localizar una transacción para la actualización masiva de lotes, algo parecido a la MM17. Necesito borrar del sistema aquellos lotes a cero y para ello necesitaría marcar la petición de borrado de forma masiva en los lotes indicados. Muchas gracias por adelantado.

    • Hola Teresa:

      Las unicas transacciones que conozco para hacer cambios «masivos» son la:

      MSC5N
      MSC6N

      pero no son las transacciones de actualización masivas al uso (como en los materiales).

      La gente suele preparar un batch input o un lsmw (legacy) para hacer estas actualizaciones masivas.

      Utilizando LSMW (Legacy) para cargar el maestro de proveedores

      Manuales de LSMW.

      Un saludo.

  7. Pablo dijo:

    Gracias por tu ayuda verifico tu Transacción y luego te comento

    Saludos:

  8. eli dijo:

    hola,
    ¿tienes una BAPI para hacer cambio masivo de datos a nivel cabecera de facturas ya verificadas
    Haremos un cambio masivo a nivel bloqueo de documento y despues la propuesta de pagos automatica.

    • Hola Eli:

      Ya existe una transaccion estandar para liberar facturas de compras ya verificadas. Es la MRBR (report RM08RELEASE). Esta te deja de forma masiva ver todas las facturas bloqueadas para el pago y realizar la liberacion masiva de las que estimes oportunas, dejandolas asi libres para hacer la propuesta de pago (transaccion F110).

      Un saludo.

  9. Carlos dijo:

    Hola gente linda, una consulta que tal vez sea sencilla pero no he podido encontrarle la vuelta. Existen varias impresoras distribuidas en toda la empresa pero una de ellas solo debe de ser asignada a un grupo (por ejemplo compras o auditoria)…¿como hago para desasignar o sacarle el permiso al resto de usuarios que no pertenecen al grupo seleccionado y que hoy la tienen asignadas?…espero haber sido un poco claro.

    Mil gracias!
    Carlos

    • Hola Carlos:

      Con el objeto de autorizacion S_SPO_DEV puedes controlar que usuarios tienen acceso o no a un determinado dispositivo de impresion. Se crearan diferentes Roles incluyendo las impresoras a las que el usuario tiene acceso y luego a traves de la SU01 asigna el rol de autorización a los usuarios de cada grupo.

      Con esto te tiene que funcionar.

      Un saludo.

  10. Milagros dijo:

    hola, quiero liberar un archivo y me aparece : no se pudo liberar, verifique las versiones, a que se puede deber esto?

  11. Carl dijo:

    Hola buenas tardes alguien sabe como puedo extraer lalista de usuarios de SAP con fecha de creacion y de finalizacion si es el caso?

    Gracias y Saludos

  12. Lucy Araujo dijo:

    Hola !
    Tenemos un problema con una impresora Hp laserjet p3015 y las impresiones masivas de documentos de SD.
    El problema consiste en que la impresora saca un lote de facturas de forma consecutiva y luego hace una pausa. Saca otro lote y luego otra pausa y así sucesivamente.
    Se ha probado cambiarle el driver al sugerido por HP ZHPLJCM1 y no nos funciona porque se distorsiona un código de barras
    Alguien tendrá una idea?
    Gracias anticipadas.

    • Creo que el problema debe de estar en la cola de impresion de la impresora (servidor) o si es una impresora de red.

      revisa esto y como esta creada la impresora en Sap (transaccion SPAD), tipo de acoplamiento de spool. Es importante indicar el valor correcto segun el tipo de impresion que esteis realizando.

  13. Lucy dijo:

    Gracias por tu pronta respuesta!

    Te comento es una impresora de red porque de esta manera podemos controlar que las impresiones masivas salgan consecutivas, en la pestaña de Atributos de salida le activamos el tick de «Tratamiento de ordenes secuenciales» y esto facilita que la impresión respeta el número de las facturas.
    De todas maneras revisaré de nuevo. Saludos

  14. Pingback: Los números de 2012 « Notas y trucos SAP (Bitacora)

  15. Baloo20 dijo:

    Roberto, gracias por todo lo que enseñas. 🙂
    Tengo una consulta: En mi empresa necesitamos cambiar los usuarios genéricos (FPEREZ) al rut (15473199). Existe alguna transacción para realizar esto de manera masiva sin afectar los roles, objetos y todo lo que tenga el usuario FPEREZ antes de que lo llamemos 15473199??
    PD: El rut en mi país es un numero univoco (como el Num Pers de HR).
    Quedo atento a tu respuesta, de antemano gracias…

    • Hola:

      Como has de ir usuario por usuario, con la SU1 lo puedes hacer. Para hacerlo masivo, podrias hacer un batch input que lea una excel con usuario antiguo y usuario nuevo, y te haga la llamada a la SU01 con el boton de copia, y generar un batch input que te lo haga masivamente.

      No hay una transaccion estandar que yo conozca para eso. Necesitaras un programador.

      Saludos.

      • Baloo20 dijo:

        Perfecto!! Muchas gracias, ya estoy en conversación con nuestro programador para ver como nos resulta…
        Gracias por la respuesta. te cuento como me fue después 🙂

  16. Nestor dijo:

    Hola,
    Tengo un usuario especial WEBSERVICE al cual se le expira el password inicial y queda bloqueado. Aparece el comentario «Password logon not possible (initial password has expired).
    Debo colocarlo como un tipo de usuario en especial para que no expire el password?
    Gracias

  17. Nacho Lee dijo:

    Requiero MODIFICAR MASIVAMENTE a través de un JOB el dispositivo de impresión por default a los usuarios.
    Por la transacción SU10 se realiza pero interactivamente.

    Como se puede realizar MASIVAMENTE y a través de un JOB….?
    Se pueden utilizar estas tres (3) BAPIS…?
    BAPI_USER_GETLIST para obtener la lista de usuarios.
    BAPI_USER_GET_DETAIL para obtener los datos detallados de un usuario
    BAPI_USER_CHANGE
    La idea es tener un JOB que se ejecute periódicamente y realice esta actividad sin intervención humana.

    Gracias por la colaboración..

  18. Romina dijo:

    Hola quisiera saber si existe alguna transacción que permita traspasar masivamente materiales de pep de stock a pep de ejecución.
    (Actualmente se utilizan los movimientos 415 Q y 221 Q)

    Muchas gracias!!!

  19. Edgar dijo:

    Hola estimado, gracias por responder tantas dudas, por mi parte te consuto si es posible generar un rol para solo desbloquear usuarios y cambiar el password? revisando los objetos de autorización veo que en el s_usr_grp la ACTVT es 05 para bloquear y desbloquear, pero hay manera de crear un rol solo para desbloquear?. Saludos!

  20. lisset dijo:

    Hola Necesito, saber como puedo guardar el e-mail de los cliente por un batch input en la tabla adr6, tengo una grabación de la xd02, pero cuando la ejecuto me dice que el campo, sza1_D0100-smtp_addr no se permiten entradas. Agradezco si alguien conoce una función o bapi para poder guardar de forma masiva los correos de los cliente.

  21. Mar dijo:

    Hola !! Necesito cambiar la validez de los roles de mis 160 usuarios, ya que todos se vencen la proxima semana, hay alguna manera de hacerlo masivamente ??
    Cabe señalar que cada usuario tiene al menos 10 Roles =OS

  22. Victor Castellanos dijo:

    He leido todos los comentariosy no encontre lo que busco por lo que dejo mi comentario a ver si alguien me puede orientar, busco crear de forma masvia usuarios en SAP y asignar diferentes roles a cada usuario, imagino que se puede a travez de la lsmw pero no se como y no logro encontrar tutoriales o manuales al respecto, quedo atento a sus comentarios

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.