🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

Unidad 2: Programación ABAP HANA Avanzada.

Lección 4: Búsqueda de textos y Análisis de datos no estructurados.

Audio tip 1: Podemos obtener documentación completa acerca de las sentencias de creación de los full text index en el HELP.SAP.COM/HANA. Debemos tener en cuenta que el nombre del índice del texto completo full text index debe ser único dentro de un esquema por lo que tiene sentido prefijar el nombre del índice con el nombre de la tabla base de datos para evitar posibles conflictos de nombres.

Audio tip 2: Tal como mencionamos podemos utilizar SQL para búsquedas de texto en SAP HANA, sin embargo actualmente hay un par de limitaciones con respecto a las combinaciones que son compatibles, una de ellas es que solo podemos utilizar la cláusula contains para la búsqueda de texto con tablas que sean columnares y otra es que no podemos utilizar la función de búsqueda de textos para los atributos calculados de una vista.

Audio tip 3: Existen funciones escalares especiales que nos permiten recuperar información adicional para registros de datos individuales en el conjunto de resultados. La función SCORE proporciona información sobre el grado de similitud entre el resultado de búsqueda y la solicitud de búsqueda este valor oscila entre cero y uno con valores más altos que indican un mayor grado de similitud. Normalmente la función se usa para ordenar los resultados de la búsqueda de modo que los resultados con un mayor grado de similitud se muestren en la parte superior de la lista. En búsquedas a través de textos mas largos es particularmente útil para los usuarios si la ubicación exacta encontrada de una solicitud de búsqueda se resalta en el texto. Para este propósito SAP HANA SQL ofrece la función de highlighted (resaltado) y snippets (fragmentos). Si se usa highlighted el sistema devuelve el texto completo con la ubicación encontrada resaltada si se utiliza snippets solo se devuelve un extracto del texto al rededor de la ubicación encontrada.

Video: "Uso de la búsqueda de textos en ABAP for HANA"

En este video vamos a ver algunos ejemplos muy simples de como SAP ha implementado las nuevas funcionalidades de búsqueda de textos en sus transacciones y también veremos como podemos implementar nosotros también de manera muy sencilla la nueva funcionalidad de búsqueda de textos en las pantallas de selección de nuestros programas ABAP.

Si por ejemplo ingresamos a la transacción estándar SE38 y escribimos Z entonces el sistema automáticamente nos mostrará una lista desplegable en donde veremos los programas existentes donde exista la letra Z en su nombre. Para mostrar esta lista desplegable se utiliza una ayuda de búsqueda de textos la cuál aplica el concepto de búsqueda tolerante a errores o fuzzy search, dentro del listado veremos la opción Not all search results shown... ( No se han mostrado todos los resultados de la búsqueda). si la seleccionamos entonces visualizaremos en pantalla el listado completo de los resultados podemos elegir visualizar tal como en este caso los 100 primeros resultados o la cantidad que deseamos.

A continuación vamos a mostrar el paso a paso que debemos llevar acabo para implementar esta potente funcionalidad para el usuario en nuestros programas ABAP. Lo primero que vamos a utilizar es una tabla base de datos para este ejemplo utilizaremos la tabla ZTABLA_USUARIOS. Esta tabla estará compuesta por los siguientes campos. El campo mandante MANDT existente en todas las tablas base de datos. El campo DNI que hace referencia al Documento Nacional de Identidad de 10 posiciones, el campo NOMBRE_APELLIDO de 50 posiciones y el campo DIRECCION de 50 posiciones. Vamos a utilizar una ayuda de búsquedas elemental. El método de selección (Selection Method) de la ayuda de búsqueda es la tabla BD ZTABLA_USUARIOS. Dentro de las opciones avanzadas vamos atildar la opción Proposal Search for Input Fields (Propuestas de búsqueda para campos de entrada) ya que efectivamente deseamos utilizar la ayuda de búsqueda para los parámetros de entrada de la pantalla de selección de un programa. También vamos a tildar la opción Multi-Column Full Text Search ( Database-Specific) (múltiples columnas) a pesar que para el ejemplo que vamos a realizar no es necesario vemos que por defecto el valor de Accuracy Value for Error-Tolerant Full Text Search ( Valor de la exactitud para la búsqueda tolerante a errores es 0.8) viene en 0,8 De ser necesario podemos modificarlo si abrimos el matchcode podemos ver que el rango de este valor de exactitud va desde 0 a 1. Siendo cero el menor valor de exactitud y 1 el mayor valor de exactitud. nuestra ayuda de búsqueda de test mostrara en pantalla los campos NOMBRE_APELLIDO y DIRECCION por último vamos a activar la ayuda de búsqueda.

Ahora accedemos a la transacción SE38 en este punto imagino que te preguntas ¿Por qué accede a la transacción SE38 desde el SAP GUI? ¿Por qué no utilizamos eclipse +ADT? Bueno simplemente lo hago para recordarte que la transacción SE38 no ha dejado de existir y que si lo deseamos podemos utilizarla. Tal y como mencionamos a inicio del Master existen ciertas funcionalidades nuevas de ABAP tal como es el caso de las vistas ABAP CDS que solo se encuentran disponibles en eclipse pero no es el caso de las nuevas funcionalidades de búsqueda en las ayudas de búsqueda clásica que ya conocemos.

Vamos a abrir un programa de test muy simple que he creado para ejecutar la ayuda de búsqueda que mostramos anteriormente ZAYUDA_BUSQUEDA_TEST, modificamos, el programa solo tiene declarado un parámetro p_dni en su pantalla de selección el cual utiliza la ayuda de búsqueda que configuramos anteriormente, ejecutamos. Probaremos de introducir en el parámetro DNI diferentes valores. Si introducimos 2 el sistema nos muestra todos los registros de ZTABLA_USUARIOS en donde exista un 2 en lo campos nombre_apellido y dirección. Si introducimos F nos muestra todos los registros que contengan F en los campos nombre_apellido y dirección. Y si introducimos un valor para el cual no existen resultados entonces visualizaremos el texto "No results found"


 

 

 

Agradecimiento:

Ha agradecido este aporte: Juan Hernández


Sobre el autor

Publicación académica de Brenda Castillo Domínguez, en su ámbito de estudios para el Máster ABAP for HANA.

SAP Expert


Brenda Castillo Domínguez

Profesión: Ingenieria en Sistemas Computacionales - Mexico - Legajo: HJ67S

✒️Autor de: 187 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Brenda Castillo