Estamos seguros de que en alguna ocasión has estado trabajando en SAP dentro de alguna transacción y has pensado que sería de gran ayuda conocer las tablas que utiliza internamente ese procesamiento. O quizá has abierto una ayuda de búsqueda y te gustaría saber con qué tabla o tablas se alimentan esos datos. O incluso querías conocer las tablas origen para un punto específico de la parte de Customizing. Si es así, te proponemos una forma sencilla para determinar qué tablas están involucradas en el proceso. Te enseñamos cómo hacer un trace SQL para conseguirlo y obtener más información relacionada que seguro te sirve de ayuda.
Manos a la obra
El trace de sentencias SQL es la herramienta que necesitamos, y está accesible mediante las transacciones ST01 y ST05. A modo ilustrativo, utilizaremos esta última en este post. Una vez entramos en la ST05, activaremos la opción SQL Trace en la parte superior izquierda, y pulsaremos el botón de Activate Trace with Filter:
Definimos los filtros según nuestras necesidades. Por ejemplo, el mandante y el usuario específico. Podríamos discriminar por instancia, transacción, nombre de programa, incluir o excluir tablas, e incluso programar el trace:
Una vez pulsado el botón de aceptar ya tenemos activado el trace:
Bloqueemos un usuario como ejemplo práctico
En otro modo, y con nuestro mismo usuario, aunque podría ser perfectamente cualquier otro, vamos a bloquear un usuario, y para ello lanzaremos la transacción SU01, introduciremos el id del usuario a bloquear, y pulsaremos el botón del candado:
Como se puede ver en la imagen, bloqueamos el usuario DDIC, no hagáis esto en vuestras casas 🙂
Con esto será suficiente, volvemos a la TX ST05 y pulsamos el botón de Deactivate Trace, seguido de Display Trace para poder analizar los resultados:
Se muestra la pantalla de selección de datos para concretar los resultados del trace, como usuario, mandante, fecha y hora, etc.:
Finalmente obtenemos los resultados del análisis:
Tal y como vemos en la sentencia marcada, el bloqueo del usuario se realiza sobre la tabla USR02 cambiando el valor del campo UFLAG a 64. En efecto, si comprobamos en la TX SE11 la tabla USR02 vemos que dicho campos se corresponde con el flag de bloqueo de los usuarios:
Otras aplicaciones
Esto también podría ser aplicable a cualquier transacción en SAP, como por ejemplo una de customizing o de explotación, o incluso de configuración del sistema. Activemos de nuevo el trace en la TX ST05, y vayamos a la TX SCC4 para comprobar la configuración de los mandantes. Tras seguir los pasos que veíamos anteriormente, llegamos al resultado del trace:
Podemos ver las entradas que hace una select sobre la T000, que es la que se corresponde con la definición de los mandantes del sistema:
Esperamos que esta información te haya servido de ayuda.
Tienes mucha información como esta y otros temas de rendimiento SQL en documentación original de SAP.
Puedes dejarnos tus comentarios o dudas aquí.