Tip: cómo buscar strings de datos en cualquier campo de cualquier tabla
Hola,
una transacción bastante desconocida, al menos para mí hasta hace poco tiempo es la SE16S. Esta transacción nos permite, ni más ni menos, buscar strings de datos en cualquier campo de cualquier tabla (incluidas las tablas z).
Vamos a ver cómo funciona la transacción SE16S con un ejemplo: vamos a buscar el string rest (de restaurante) en todos los campos de las tablas de cliente:
Entramos el string rest (si buscáramos varios strings de datos, los separaríamos por un espacio), seleccionamos el tipo de búsqueda lingüística (en este caso SAP buscaría por *rest*). Si la búsqueda fuera exacta se buscaría tal cual se ha entrado en el campo. Indicamos además si para mostrar los resultados tiene que encontrar al menos un concepto, es decir, el string entrado (OR), o todos (AND). A continuación seleccionamos Crear variable de búsqueda ad hoc, entramos las tablas dónde queremos que se realice la búsqueda (se admiten *).
En el apartado técnico seleccionamos tratamiento en paralelo para búsquedas más rápidas. En número de procesos en paralelo y grupo de servidores los pone SAP por defecto según la configuración de nuestra máquina.
Finalmente, para búsquedas más rápidas sólo seleccionamos en opciones de visualización tablas con aciertos. Ejecutamos:
el resultado:
el sistema nos indica que de entre las tablas KN*, ha encontrado en la tabla KNA1, 231 aciertos. Haciendo doble click en el número de aciertos navegaremos hasta los registros que contienen el string:
Como vemos, el string está en varios campos.
La transacción SE16S_CUST nos permite ahorrarnos el crear cada vez una variante ad hoc. Nos permite crear variantes de búsqueda donde indicaremos las tablas. Éstas variantes luego las podremos utilizar en la transacción SE16S.
Para mantener variantes, se necesita autorización para el objeto S_BRWS_CUS para los ámbitos y valores siguientes:
BRWS_KEY = SP_CUST
BRWS_NAME = *
ACT = *
Vamos a ver cómo funciona: seleccionamos gestión de strings de búsqueda y pulsamos sobre ejecutar y en la siguiente pantalla entraremos una descripción y pulsaremos sobre el icono añadir tablas para entrar una a una las tablas sobre las que buscaremos strings:
Finalmente pulsar sobre string de búsqueda, grabar como indicando un nombre:
Al ejecutar la SE16S ya podremos seleccionar la variante, en vez de crear la variante ad hoc como vimos anteriormente:
Si pulsamos sobre el icono gafas, podemos ver el contenido de la variante (tablas sobre las que se realizará la búsqueda).
Vimos que al crear la variante, teníamos que entrar las tablas una a una y esto puede ser tedioso, pero tenemos una opción para usar *.
Vamos a ver como:
Ejecutamos de nuevo la SE16S_CUST seleccionando en ésta ocasión Crear variante de búsqueda, seleccionamos área de búsqueda sólo de tablas/s, entramos las tablas con * (en el ejemplo KN*) y pulsamos sobre ejecutar. En la siguiente pantalla entraremos una descripción
SAP ya nos muestra todas las tablas seleccionadas. Podemos añadir o quitar tablas pulsando sobre los iconos definidos para este propósito
Finalmente pulsamos sobre string de búsqueda, grabar como y entramos el nombre del string de búsqueda:
Al ejecutar la SE16S ya podemos seleccionar nuestra variante:
Para buscar fechas, tenemos que entrar toda la fecha completa con sus delimitadores incluidos (por ejemplo 01/11/2015).
Espero que os sea de utilidad.
Saludos,
JM
No tenía ni idea de la existencia de esta transacción. Muy util.
Gracias por compartir, Joan!
Saludos
Gracias David por tus comentarios.
Saludos,
Joan
Hola Joan,
Es requisito la aplicacion de la nota 1956132 y tienes info util en la nota 2002588.
Esta funcionalidad no esta disponible en todas las versiones
Saludos
Hola Gustavo,
gracias por tus comentarios. Nosotros no aplicamos ninguna nota, hicimos un upgrade a la versión 617 que, por lo que veo en la nota 1956132 a la que haces referencia, hace que la transacción la tengamos disponible. En cualquier caso, una transacción muy útil cuando está disponible.
Saludos
Joan
Tengo ERP 617 pero no tengo la nota aplicada y cuando la fui a probar .... 😥