Está en la página 1de 47

ABAP/Query

Introducción

•¿Qué es?
 Una herramienta de SAP para realizar consultas con rapidez.

•¿Para que se utiliza?


Reduce la necesidad de reportes generados a mano
Permite realizar reportes sin tener que preocuparse por integrar funcionalidad
estandar de ALV.
Tiene cierta capacidad para vincularse con otras transacciones
Permite realizar consultas sencillas
Una sola linea de detalle
Un máximo de 7 tablas ligadas ( performance )
Cálculos sencillos
Util para realizar reportes ad-hoc.
ABAP/Query

Elementos de Entorno
•El ABAP/QUERY consta de varios elementos que se explican a continuación
• Ambito funcional – Agrupa los infosets en dos grandes categorías :
•Area global – Contiene infosets válidos en todos los mandantes
•Infosets – Contiene infosets válidos en un solo mandante
• Infoset – Define un conjunto de tablas de las cuales se extraen datos y se utilizan para
crear queries.
• Grupo de usuarios – Agrupa a varios usuarios. Un infoset se puede asignar a varios
grupos de usuarios
• Query – Realiza una consulta basada en los datos proporcionados por el Infoset.

•La relación entre éstos elementos se muestra en el diagrama de abajo

1 N 1 N
Ambito Funcional InfoSet Query

N
N N
Grupos de Grupos de
Usuarios Usuarios
ABAP/Query

Estrategia de Desarrollo
•Pasos previos
•Generar grupos de usuarios por area funcional
•Asignar usuarios a los grupos de usuarios
•Los pasos para realizar un Query son los siguientes
•Identificar las tablas o base de datos lógica de donde se extraen los datos
•Identificar si la o las consultas se pueden realizar con ABAP/Query
•Generar el infoset
•Asignar el infoset a uno o mas grupos de usuarios
•Generar el query
•Añadir los codings al query
•Asignar el infoset a uno o mas grupos de usuarios
•Transportar
ABAP/Query

Generar Grupos de Usuarios


•Esta tarea la puede llevar a cabo un consultor funcional asistido del usuario
clave
•Se puede omitir este paso , pero no hay control ni seguridad
•Conviene dividir los grupos de acuerdo a módulos o submódulos. Ej
•MM_IM- Manejo de inventarios
•MM_PUR- Compras
•MM_IV – Verificación de facturas

• Se realiza por medio de la transacción SQ03


ABAP/Query

Asignar Usuarios a Grupos de Usuarios


•Es una tarea administrativa.
•Se decide que usuario pertenece a que grupos.
•Un usuario puede pertenecer a mas de un grupo.

• Esta tarea se realiza mediante la transacción SQ03


ABAP/Query

Mantenimiento de Grupos de Usuarios y Usuarios

Nombre del grupo de


usuarios

Asignar usuarios
/ infosets
ABAP/Query

Mantenimiento de Grupos de Usuarios y Usuarios

Cambiar a asignación
de Infosets

Usuarios
ABAP/Query

Identificar Tablas utilizadas


•Se realiza con ayuda del consultor funcional.
•El consultor funcional especifica la transacción asociada a los datos que se necesitan
•El desarrollador se encarga de buscar las tablas y sus relaciones
• F1 + Opciones técnicas
•Trace de SQL
•Analisis de tiempo de ejecución
•Debugging

•Existen restricciones para el uso de queries según el tipo de tablas :


• Solo puede leer datos de una tabla Pool / Cluster
• Solo permite un outter join para extracción de datos detallados.
• Debe de haber un índice para el join ( por performance )
• No es recomendable hacer queries con mas de 5 tablas
• Las limitantes de arriba no aplican cuando se crea un infoset basado en programa
ABAP/Query

Generar el Infoset
•Una vez que se tienen las tablas a utilizar, se genera el infoset, que es el
encargado de la extracción de datos.
•Existen varios métodos de extracción :
• Unión de tabla – Flexibilidad media, permite integrar varias tablas siempre y cuando :
• No haya tablas Pool / Cluster
• Solo se requiere un outter join.
• Lectura directa de tabla – Poca flexibilidad. Usar para consultas MUY sencillas
• Base de datos lógica – Flexibilidad media. Evita la definición de ligas entre tablas.
Algunas bases de datos lógicas son lentas a cierto nivel.
• Obtención mediante programa – Maxima flexibilidad. Requiere realizar código y la
definición de una estructura.
ABAP/Query

Generar el Infoset – Paso 1

1.Se teclea el nombre

2. Se Oprime crear
ABAP/Query

Generar el Infoset – Paso 2

1. Se teclea la descripción

2.Se elige el método de


extracción
ABAP/Query

Generar el Infoset – Paso 3.A.1

Se indica la tabla raiz


ABAP/Query

Generar el Infoset – Paso 3.A.2

Back nos lleva al siguiente


paso

1.Definir tablas

4. Establecer campos de
la condición

5. Definir el tipo de liga

2. Marcar tablas a ligar

3.Vincular tablas
ABAP/Query

Generar el Infoset – Paso 3.A.2.4

SAP permite buscar


los campos por nombre
técnico o descripción

La liga entre campos se


establece por medio de
un valor numérico
ABAP/Query

Generar el Infoset – Paso 3.A.3


•Se define como se van a crear los grupos de
campos
• Incluir todos los campos –
•Da una gran flexibilidad al momento de hacer
queries
•Dificulta al usuario la selección de campos
• Incluir Campos clave
•Provee una base para realizar un trabajo de
selección de campos mas detallada.
•Crear grupos de campos vacios
•Todos los campos se tienen que incluri
manualmente
ABAP/Query

Generar el Infoset – Paso 3.A.4


Al finalizar se debe
grabar y generar el
infoset

Los campos de las tablas


se arrastran al panel de
carpetas

Los textos del campo se


pueden modificar en el
panel inferior
ABAP/Query

Generar el Infoset – Paso 3.B.1

Se indica la tabla
directa
ABAP/Query

Generar el Infoset – Paso 3.B.2


•Se define como se van a crear los grupos de
campos
• Incluir todos los campos –
•Da una gran flexibilidad al momento de hacer
queries
•Dificulta al usuario la selección de campos
• Incluir Campos clave
•Provee una base para realizar un trabajo de
selección de campos mas detallada.
•Crear grupos de campos vacios
•Todos los campos se tienen que incluri
manualmente
ABAP/Query

Generar el Infoset – Paso 3.B.3

La pantalla de campos
tiene la misma funcionalidad
que al elegir un join

La restricción es que los datos


se obtienen de una sola tabla

Se pueden borrar campos


de una carpeta

Se pueden crear , modificar y


borrar carpetas

Se puede buscar el campo


por nombre técnico o
descripción
ABAP/Query

Generar el Infoset – Paso 3.C.2

Se indica la base de datos


lógica
ABAP/Query

Generar el Infoset – Paso 3.C.3

Se marcan las tablas a


utilizar

ADVERTENCIA :
Se deben de realizar pruebas de desempeño.
algunas bases de datos lógicas son muy lentas al llegar
a determinado nodo.
ABAP/Query

Generar el Infoset – Paso 3.C.3

Se marcan las tablas a


utilizar

ADVERTENCIA :
Se deben de realizar pruebas de desempeño.
algunas bases de datos lógicas son muy lentas al llegar
a determinado nodo.
ABAP/Query

Generar el Infoset – Paso 3.C.3

Se arrastran los campos de la


base de datos lógica a las
carpetas

Se puede averiguar en que


queries está siendo usado el
campo

Se puede obtener la ayuda del


campo
ABAP/Query

Funcionalidad adicional

Código adicional

Parámetros de selección

Tablas , estructuras y campos


adicionales
ABAP/Query

Detalles : Definición de Tabla adicional 1

Se pueden crear , visualizar o


borrar elementos adicionales.

Para crear una tabla adicional


se selecciona tabla adicional y
se teclea el nombre de la tabla
ABAP/Query

Detalles : Definición de Tabla adicional 2

Se establece el vínculo entre


la tabla seleccionada y las
tablas existentes

Se puede verificar la
Validez de la liga
ABAP/Query

Detalles : Definición de Tabla adicional 3


La tabla aparece como parte
de las tablas de selección.
Se pueden arrastrar los
campos de la tabla hacia las
carpetas
ABAP/Query

Detalles : Definición de Tabla adicional 4


La tabla aparece como parte
de las tablas de selección.
Se pueden arrastrar los
campos de la tabla hacia las
carpetas
ABAP/Query

Detalles : Definición de Campo adicional 1


Para definir un campo
adicional se selecciona
“Campo adicional” y se
escribe el nombre del campo
que deseamos agregar
ABAP/Query

Detalles : Definición de Campo adicional 2


Se deben definir los titulos,
tipo , longitud y longitud de
salida del campo

Se puede hacer referencia a


un campo del diccionario en
lugar de definir los atributos
manualmente
ABAP/Query

Detalles : Definición de Campo adicional 3

El campo aparece en el panel


de campos y tablas
ABAP/Query
Detalles : Definición de Campo adicional 3

Para insertar el código que


obtiene los datos del campo
se selecciona el campo y se
oprime el botón de código
ABAP/Query

Detalles : Definición de Estructura Adicional 1


Para definir una estructura
adicional, se introduce el
nombre que va a tener la
estructura dentro del query y
se selecciona “Estructura
adicional”
ABAP/Query

Detalles : Definición de Estructura Adicional 2

Para definir una estructura adicional,


se introduce el nombre que va a
tener la estructura dentro del query y
se selecciona “Estructura adicional”

NOTA :
El nombre no debe de existir en el
diccionario de datos

En la siguiente ventana de diálogo


SAP nos pide el nombre de una
estructura de datos a la que hará
referencia nuestra estructura.
ABAP/Query
Detalles : Definición de Estructura Adicional 3

La estructura aparece como


un campo adicional en el
panel de campos y tablas.
Los campos de la estructura
se pueden arrastrar a las
carpetas
ABAP/Query
Detalles : Definición de Estructura Adicional 4

Finalmente , se debe de
teclear el código para llenar
los datos de la estructura.
Esto se realiza seleccionando
la estructura y oprimiendo el
botón de código
ABAP/Query
Detalles : Definición de Parámetros de Selección 1

Podemos crear, ver y borrar


criterios de selección.

Al oprimir crear aparece la


ventana en donde debemos
ingresar el nombre del criterio de
selección

Puede tratarse de parámetros o


de select-options
ABAP/Query
Detalles : Definición de Parámetros de Selección 2a

Se introduce una descripción

.. Y un texto de selección

Para los select-options se


especifica el campo de
referencia

Se pueden agregar opciones


adicionales en la última linea
ABAP/Query
Detalles : Definición de Parámetros de Selección 2b

Se introduce una descripción

.. Y un texto de selección

Para los parámetros se


puede especificar el campo
de referencia o el tipo y la
longitud.

Se pueden agregar opciones


adicionales en la última linea
ABAP/Query
Asignar infoset a Grupo de usuario – Paso 4.1
•Esta tarea se realiza por medio de la transaccion SQ03 .
• Se teclea el grupo de usuario
• Se oprime el botón [ Asignar usuario y Infosets ]
• Aparece la pantalla “Grupo de usuarios XXXX : Asignar infosets”
• Se oprime el botón [ Asignar infosets ]
• Aparece la pantalla “Grupo de usuarios XXXX: Asignar infosets”
• Se marcan los infosets que se desea asignar al grupo de usuarios.
ABAP/Query
Crear Query – Paso 5
•Esta tarea se realiza por medio de la transaccion SQ01 .
• Podemos crear varios queries con el mismo infoset.
• En el 70% de los casos la relación infoset – query es de 1 a 1.

• Podemos seleccionar el ámbito funcional : Entorno  Ambito funcional


• Debemos escoger el grupo de usuarios para poder utilizar el infoset : Entorno  Grupo
de usuarios

• Una vez que hemos escogido el grupo de usuarios correcto , Tecleamos el nombre del
query y oprimimos el botón [crear].

• SAP nos muestra una lista con los infosets del grupo de usuarios.
• Se selecciona un infoset y pasamos a la pantalla de “Titulo y formato”
ABAP/Query
Crear Query – Paso 5.1

Se introduce el titulo del


query

Se introducen comentario
adicionales ( opcionales )

Se especifican lineas y
columnas para modo lista

Se especifican las columnas


para modo tabla

Se define el modo default de


visualización ( se puede
cambiar en tiempo de
ejecución )
ABAP/Query
Crear Query – Paso 5.2

Se eligen los grupos de


campos a utilizar
ABAP/Query
Crear Query – Paso 5.3

Se eligen los campos a


utilizar
ABAP/Query
Crear Query – Paso 5.4

2. Se escoge el tipo de lista a


generar

1. Se definen criterios de
selección adicionales a los
definidos en el infoset
ABAP/Query
Crear Query – Paso 5.5

Se pueden agregar lineas de


cabecera y pie de página

Se da click en la caja para


agregar el campo a la lista

Se da click en la caja para


agregar el campo a la lista
ABAP/Query
Crear Query – Paso 5.6
Las barras de herramientas
nos permiten realizar otras
funciones :

Borrar campos, totales u


ordenamientos.

Crear separadores

Crear lineas adicionales

Establecer orden y cortes

Totalizar campos

También podría gustarte