Job para cierre de sesión de usuarios

Buen día, en mi empresa me estan solicitando generar un Job que realice la acción de cerrar al fin de la Operación, todas las sesiones de usuarios conectados en mi ambiente PRO, cabe mencionar que antes de realizar esta actividad generare un mensaje desde la SM02 indicando dicho cierre de sesión para manener avisado al usuario de la actividad que se realizara. Esto se prentende realizar para poder liberar recursos del sistema, sesiones o modos abiertos que no se tienen cerrados por el mismo usuario y que se les olvida cerrar. Por tal motivo me acerco a Uds. expertos para ver si hubiera alguna opción para realizar de manera automatizada esta tarea.

Agradeciendo su atención y apoyo, quedo al pendiente de sus comentarios. Buen día.

¡Buen día!

Para realizar la tarea de cerrar automáticamente todas las sesiones de usuarios conectados en tu ambiente productivo en SAP, puedes utilizar el programa estándar RSUSR006 o un script ABAP para cerrar sesiones. A continuación, te explicaré cómo configurar y ejecutar esta tarea de manera automatizada.

Paso 1: Generar un mensaje de aviso a través de SM02

Antes de cerrar las sesiones, es importante notificar a los usuarios. Esto se hace a través de la transacción SM02. Asegúrate de configurar un mensaje adecuado con suficiente antelación para evitar pérdida de datos importantes.

Paso 2: Utilizar el programa estándar RSUSR006

Este programa permite finalizar sesiones de usuarios de manera masiva. A continuación, te indico cómo proceder:

  1. Acceso al programa:

    • Ingresa a la transacción SA38 o SE38.
    • Ejecuta el programa RSUSR006.
  2. Configuración de parámetros:

    • En la pantalla del programa, selecciona los usuarios y las sesiones que deseas cerrar.
    • Configura los parámetros según tus necesidades (por ejemplo, tiempo de inactividad, tipo de usuario, etc.).
  3. Ejecución del programa:

    • Ejecuta el programa en modo fondo (background) si deseas automatizarlo.

Paso 3: Automatizar el cierre de sesiones mediante un Job

Para programar esta tarea de manera periódica, debes crear un Job en SAP que ejecute el programa RSUSR006 automáticamente.

  1. Crear el Job:

    • Accede a la transacción SM36.
    • Define un nombre para el Job (por ejemplo, CLOSE_USER_SESSIONS).
    • Programa el Job para que se ejecute a la hora deseada (por ejemplo, al final de la operación diaria).
  2. Agregar el paso del Job:

    • En la definición del Job, agrega un paso.
    • Selecciona el programa RSUSR006.
    • Configura los parámetros necesarios para el programa.
  3. Programar el Job:

    • Configura la periodicidad del Job según tus necesidades (diario, semanal, etc.).
    • Guarda y activa el Job.

Ejemplo de Script ABAP para Cerrar Sesiones

Si prefieres un script ABAP personalizado para mayor control, puedes utilizar el siguiente código como referencia:

REPORT ZCLOSE_SESSIONS.

DATA: lt_sessions TYPE TABLE OF uinfo,
      ls_session  TYPE uinfo.

CALL FUNCTION 'TH_USER_LIST'
  TABLES
    list = lt_sessions.

LOOP AT lt_sessions INTO ls_session.
  CALL FUNCTION 'TH_DELETE_USER'
    EXPORTING
      user = ls_session-usrnam
      client = sy-mandt
      termin = ls_session-termid.
ENDLOOP.

Resumen Consultoria-SAP

Automatizar el cierre de sesiones de usuarios en SAP es una medida efectiva para liberar recursos del sistema. Utilizando el programa estándar RSUSR006 junto con la programación de un Job en SM36, puedes implementar esta tarea de manera eficiente. Recuerda siempre notificar a los usuarios mediante SM02 antes de realizar el cierre de sesiones.

Para más detalles o asistencia en la configuración de estos procesos, no dudes en contactarnos. ¡Estamos aquí para ayudarte!

Módulos: BASIS

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.