MANUAL DE QUERYS
ang...OTesis23 de Noviembre de 2014
4.319 Palabras (18 Páginas)263 Visitas
MANUAL DE QUERYS
Por Elisabet Mendoza
Introducción
Un query es una herramienta del sistema que nos permite la posibilidad de extraer información de SAP mediante un sistema de Drag & Drog, de entre los tipos de Query que SAP nos ofrece podemos optar por:
• Lista básica
• Estadísticas
• Lista ranking
También se puede hacer una combinación de estos tipos de report, es decir, hacer que en un mismo listado podamos obtener los tres al mismo tiempo haciendolo mucho más profesional y completo.
Lista de Componentes
Para poder finaliz con exito un Query primero hemos de completar cuatro pasos, pero al final de la instalación de un proyecto de SAP, el usuario final sólo tendré que realizar los dos últimos pasos, siendo tarea de los programadores de manteniemiento, o del consultor o del propio administrador del sistema la constitución de los dos primeros pasos.
• Grupo de usuarios
• Área funcional
• Query
• Comparación de Idiomas (Herramientas – Entorno – Traducción – ABAP Query)
El área funcional define el conjunto de datos sobre el que se ejecutan los queries y mediante los grupos de usuarios, definimos a qué conjunto de datos pueden acceder los usuarios.A partir de este punto, culaquier usuario del grupo podrá crear un query sobre el área funcional.
Grupo de usuarios
Un grupo de usuarios es un conjunto de usuarios que trabajan sobre los mismos datos a la hora de ejecutar el query. Un usuario que pertenezca al grupo podrá ejecutar cualquier query creado por otro elemento del grupo de usuarios, y los cambios que realice sobre el query serán visibles para todos los usuarios del grupo.
Para definir un grupo de usuarios hay que seguir los siguientes pasos:
1. Entrar en ABAP/4 Workbench (menú Herramientas).
2. Por Utilidades Query ABAP/4 Grupos de usuarios se entra en la pantalla de definición de grupos de usuarios. Se puede acceder directamente con la transacción SQ03.
3. En el campo Grupo usuarios se introduce el nombre del grupo que se quiere definir y se elige la acción crear. El sistema pide únicamente una descripción larga del grupo.
4. Para agregar usuarios al grupo hay dos posibilidades: uno a uno, entrando el usuario en el campo usuario y accionando Asignar usuario, o en la pantalla de asignación de usuarios, que aparece al hacer click sobre Asignar usuarios y grupos funcionales.
Áreas funcionales
Las áreas funcionales nos permiten hacer una preselección de los datos que aparecerán en los queries. En la dnición del área funcional especificamos qué tablas intervendrán en el query y qué campos. Es deber del funcional o del propio cliente crear estas areas funcionales. Se deben crear las area con suficiente visión de futuro para hacerlas lo más ampliadas posibles.
Para acceder a la pantalla de definición de áreas funcionales, hay que seguir los siguientes pasos:
1. Entrar en ABAP/4 Workbench (menú Herramientas).
2. Por Utilidades Query ABAP/4 Áreas funcionales se entra en la pantalla de definición de Áreas funcionales. Se puede acceder directamente con la transacción SQ02.
Para definir un área funcional, se introduce en el campo Área funcional el nombre que se le quiere dar y se acciona el botón crear. Aparece una primera pantalla en la que se asocia al área una denominación , un grupo de autorización y una clase de área funcional.
• Base de datos lógica: El área funcional trabaja sobre una base de datos lógica.
• Unión directa de tablas : Una unión de tablas abarca siempre varias tablas que se leerán con ayuda de una forma especial de la instrucción SELECT. La primera tabla en la unión es la tabla citada arriba en el campo Tabla. Las demás tablas pueden indicarse cuando se llama las funciones Continuar (al crear un área funcional nueva) o Unir. Si bien una unión de tablas abarca siempre varias tablas, el resultado es una secuencia de registros con estructura plana. La estructura de estos registros es una barra de campos, en los que se constan de modo seguido los campos implicados en la conexión de las tablas.
• Lectura directa : Todos los datos están contenidos en la tabla indicada en el campo Tabla.
• Obtención de datos mediante programa: La lectura de los datos se describe a partir de un programa separado.
• Datos secuenciales : Los datos se leen de un pool de datos secuencial.
Al crear un área funcional con unión directa de tablas, aparece una pantalla en la que se deben indicar las tablas implicadas en la unión y las condiciones de la unión. Para definir una condición, marcamos dos tablas de la lista de tablas y hacemos click sobre definir condición. Aparece en el panel de la derecha (condiciones de enlace) una nueva entrada. Si activamos el botón de especificar condiciones , a la derecha de la nueva entrada, veremos una pantalla con todos los campos de las dos tablas implicadas en la unión. En esta pantalla se definen los campos que han de ser iguales para la unión de las tablas.
A continuación, se especifican los campos de las tablas que serán visibles en el área funcional. Aparece un nuevo concepto: el grupo funcional. Un grupo funcional no es más que un conjunto de campos de las tablas implicadas en el área funcional.
Por un lado, están los grupos funcionales y por otro, las tablas del área funcional. El procedimiento a seguir es el siguiente :
1. Definir los grupos funcionales. Para esto, hacemos click sobre el icono de crear y entramos el nombre del área funcional.
2. Un grupo funcional combina diferentes campos en una misma unidad. Se utiliza para presentar al usuario una preselección de los campos. Esto hace que el usuario no tenga que pasar por toda la Base de Datos Lógica o por todos los campos de una tabla para crear un query.
3. Asignar a los campos de las tablas un grupo funcional. Los campos que no tengan un grupo funcional asignado, no serán visibles a la hora de definir el query. Para asignar el grupo funcional, se marca el grupo funcional en la parte superior de la pantalla y después se hace click sobre el icono que hay a la derecha del nombre del campo de la tabla.
Existe una opción que nos permite incluir codigo fuente dentro de los query (Coding...) con ello podremos incluir codigo antes y después de la selección de datos, colocar authority-check o acceder a otras tablas, etc.
Query
Una vez que tenemos el grupo de usuario definido y pertenecemos a él, que el area funcional ya ha sido creada y los campos ya estan disponibles para extraer nuestros listados, justo en este momento ya somos capaces de crear nuestros query. Para entrar en el entorno de definición de queries, se debe seguir el siguiente procedimiento :
1. Entrar en ABAP/4 Workbench (menú Herramientas).
2. Seguir la ruta de menú Utilidades Query ABAP/4 Queries. Se puede acceder directamente con la transacción SQ01.
En la pantalla se listarán las queries asociadas a un grupo de usuarios. Si el usuario pertenece a mas de un grupo, con la opción cambiar grupo de usuario (shift + F7) en la barra de iconos, puede acceder a las queries de otro grupo al que pertenezca. Con los botones de crear y modificar accedemos a las pantallas de actualización de queries. Al crear un query, si el grupo de usuarios tiene más de un área funcional asignada, el sistema pide una preselección del área funcional en la que se quiere definir el query. La primera pantalla que aparece es la de datos generales.
En ella se define el título del query y una explicación del mismo. Por otro lado, se define el formato de salida (número de filas y columnas). También se le puede asignar una variante estándar y bloquear el query para que los demás usuarios del grupo no puedan modificarlo. Por ultimo, se puede determinar si se quiere un traspaso de información a algún otro sistema (word, excel, EIS,...). Para pasar a la siguiente pantalla, hacemos click sobre el icono que aparece en la barra de status.
En la siguiente pantalla se elige qué grupos funcionales intervendrán en el query. Esta pantalla determinará la posibilidad de trabajar con más o menos campos.
En la siguiente se seleccionan los campos de dichas áreas funcionales que aparecerán.
Para finalizar con la definición de parámetros generales, la última pantalla nos permite definir si queremos que en el query se haga selección por campos mediante select options.
Nota: En el caso de Bases de Datos Lógicas, para que realice correctamente la selección de datos de una tabla secundaria, como mínimo tenemos que visualizar un campo de esa tabla en el listado. Si no es así, la query no accede a esa tabla y, por lo tanto, no realiza la selección correspondiente. La tabla primaria está relacionada directamente con la secundaria mediante uno o varios campos en común. Si en lugar de listar el campo de la tabla primaria listamos el de la secundaria, la selección del resto de campos de esa tabla la hará correctamente. Sino, ignorará lo que le hayamos informado en la pantalla de selección. La finalidad de una query es hacer un listado, por lo tanto, el seleccionar una tabla para luego no listar ninguno de sus campos puede ser el factor que haga que esta selección de la tabla secundaria no funcione (es decir, sea ignorada).
A parte de los campos de selección, las queries también nos permiten crear campos
...