Cómo encontrar tablas de una transacción

lunes, 2 de julio de 2012

Quisiera saber qué campos y tablas utiliza este programa... Tengo que encontrar las tablas de la base de datos donde guarda la información esta transacción... Son preguntas que seguro que nos hemos hecho más de una vez. Quizá, solamente para preparar una query, quizá para utilizar la tabla en un listado o quizá para comparar la información en SAP con la que tenemos en nuestros excels. Sea cual sea la razón, en este artículo voy a enumerar varias formas de detectar los campos y las tablas que utilizan las transacciones de SAP.

prismáticos, buscar
Imagen de benaball en pixabay

Datos técnicos (F1-F9)

Es quizás, la forma más rápida. Supone utilizar la ayuda propia de los campos de las transacción SAP directamente. Lo voy a mostrar en un ejemplo con la transacción VA02.

  • Llamamos a nuestra transacción VA02
  • Nos situamos sobre el campo.
  • Apretamos la tecla F1.
  • Pulsamos el botón Datos técnicos (F9 o icono del martillo).

Nos fijamos en los datos que aparecen a continuación de Tabla y Nombre de campo ya que contienen precisamente la información que buscamos, la tabla que almacena la información del campo sobre el cual nos habíamos posicionado. En este caso la tabla es la VBAK y el campo es el VBELN.



Pero también tenemos que fijarnos en el valor que aparece a continuación de Clase tabla. Si el valor que se indica es tabla transparente podemos estar seguros de que es una tabla que almacena información, pero si se indica que la clase de tabla es una estructura, entonces debemos seguir buscando para encontrar la tabla transparente que contiene la información.



Ayudas de búsqueda o matchcodes

Consiste en buscar las tablas a partir del matchcode asociado al campo de nuestra transacción. Por ejemplo, con la transacción VF03 seguiríamos estos pasos:

  • Nos posicionamos sobre el campo.
  • Seguimos los pasos del apartado anterior (F1-F9).
  • Buscamos el valor que aparece a continuación de Ayuda de búsqueda. En este caso encontramos que el valor es VMCF.
  • Hacemos doble click.
  • Como hay matchcodes incluidos seguimos haciendo doble click para navegar a cualquiera de los matchcodes.
  • Hacemos doble click sobre el valor del apartado Método de selección para llegar finalmente a las tablas incluidas en el matchcode.

Include TOP de programa

Si sabemos leer el código ABAP del programa podemos buscar los nombres de tablas directamente sobre el código.

  • Escribimos la transacción. Por ejemplo, VF03
  • Seguimos los pasos del primer apartado (F1-F9).
  • Hacemos doble click sobre el nombre del programa para navegar hasta él.
  • Buscamos en el programa un include que seguramente acaba con las letras _TOP.
  • Buscamos la sentencia TABLES. Tras esta sentencia encontraremos las tablas que utiliza el programa.

A veces no existe ningún include que contenga las letras _TOP. En ese caso es suficiente con hacer una búsqueda directa de la sentencia TABLES.

Trace SQL

Consiste en hacer una llamada a la transacción ST05.

Herramientas / Workbench ABAP / Test / ST05 – Trace SQL

  • Llamamos a la transacción ST05
  • Marcamos activate trace.
  • En otro modo, llamamos a nuestra transacción problemática, en este caso la MM02.
  • Volvemos a ST05 y marcamos deactivate trace.
  • Pulsamos Display Trace.



El listado que nos muestra la transacción ST05 es el conjunto de tablas y llamadas que hemos realizado cuando hemos ejecutado la transacción MM02. A partir de aquí debemos decidir cuál de todas las tablas que nos muestra es la nuestra. Admito que esta forma de buscar información es complicada ya que supone navegar entre la gran cantidad de tablas que en una sola transacción puede llegar a llamar SAP.



Listados de tablas

Utilizar alguno de los muchos listados que corren por internet con la información de tablas que utiliza SAP. Podéis utilizar un listado de tablas de este blog, uno de mundosap, uno de la sdn, etc.

Referencia de utilización

Consiste en hacer las búsqueda de forma inversa. Hasta ahora empezábamos en una transacción para llegar a las tablas y campos incluidos en la transacción. Aquí se trata de empezar por un campo o tabla para llegar a la transacción que los utiliza.

Herramientas / Workbench ABAP / Desarrollo / SE11 – Diccionario ABAP

  • Escribimos la tabla de base de datos que queramos. Por ejemplo, la VBAK.
  • Pulsamos visualizar.
  • Marcamos el campo VBELN.
  • Vamos al menú Utilidades / Referencia de utilización.
  • Marcamos utilización en programas.

Nos mostrará la lista de programas que utilizan ese campo de tabla. Si sabemos cuál es el nombre del programa podemos seguir profundizando hasta llegar a la transacción.


Si este artículo te ha sido de ayuda no olvides compartirlo :-)

4 comentarios:

  1. Una información muy completa e interesante, me la apunto.

    Muchas gracias

    ResponderEliminar
  2. Hola, soy David,

    Muy bueno el aporte. Soy nuevo en el mundo SAP y estoy haciendo mis primeros pinitos, quería preguntarte una cosa a ver si me puedes ayudar. Tengo una tabla que se usa en diversos cubos, cómo puedo saber de una manera "rápida" qué cubos usan una tabla???

    Muchas gracias de antemano,

    Un saludo y ánimo con el blog.

    ResponderEliminar
  3. Ok me acaba de servir de mucho este consejo/truco Óscar

    ResponderEliminar
    Respuestas
    1. Me alegro de que te haya servido y de tu comentario. Gracias Toñete.

      Eliminar