Está en la página 1de 47

ABAP/Query Introduccin

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 mximo de 7 tablas ligadas ( performance ) Clculos sencillos Util para realizar reportes ad-hoc.

ABAP/Query Elementos de Entorno


El ABAP/QUERY consta de varios elementos que se explican a continuacin
Ambito funcional Agrupa los infosets en dos grandes categoras : Area global Contiene infosets vlidos en todos los mandantes Infosets Contiene infosets vlidos 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 relacin entre stos elementos se muestra en el diagrama de abajo


1 Ambito Funcional N InfoSet 1 N Query

N N N Grupos de Usuarios N Grupos de 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 lgica 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 Aadir 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 mdulos o submdulos. Ej MM_IM- Manejo de inventarios MM_PUR- Compras MM_IV Verificacin de facturas Se realiza por medio de la transaccin 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 transaccin 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 asignacin de Infosets

Usuarios

ABAP/Query Identificar Tablas utilizadas


Se realiza con ayuda del consultor funcional.
El consultor funcional especifica la transaccin asociada a los datos que se necesitan El desarrollador se encarga de buscar las tablas y sus relaciones F1 + Opciones tcnicas Trace de SQL Analisis de tiempo de ejecucin Debugging Existen restricciones para el uso de queries segn el tipo de tablas : Solo puede leer datos de una tabla Pool / Cluster Solo permite un outter join para extraccin 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 extraccin de datos. Existen varios mtodos de extraccin :
Unin 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 lgica Flexibilidad media. Evita la definicin de ligas entre tablas. Algunas bases de datos lgicas son lentas a cierto nivel. Obtencin mediante programa Maxima flexibilidad. Requiere realizar cdigo y la definicin 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 descripcin

2.Se elige el mtodo de extraccin

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 condicin

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 tcnico o descripcin La liga entre campos se establece por medio de un valor numrico

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 seleccin de campos

Incluir Campos clave


Provee una base para realizar un trabajo de seleccin 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 seleccin de campos

Incluir Campos clave


Provee una base para realizar un trabajo de seleccin 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 restriccin 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 tcnico o descripcin

ABAP/Query Generar el Infoset Paso 3.C.2

Se indica la base de datos lgica

ABAP/Query Generar el Infoset Paso 3.C.3

Se marcan las tablas a utilizar

ADVERTENCIA : Se deben de realizar pruebas de desempeo. algunas bases de datos lgicas 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 desempeo. algunas bases de datos lgicas 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 lgica 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


Cdigo adicional

Parmetros de seleccin Tablas , estructuras y campos adicionales

ABAP/Query Detalles : Definicin 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 : Definicin de Tabla adicional 2

Se establece el vnculo entre la tabla seleccionada y las tablas existentes

Se puede verificar la Validez de la liga

ABAP/Query Detalles : Definicin de Tabla adicional 3


La tabla aparece como parte de las tablas de seleccin. Se pueden arrastrar los campos de la tabla hacia las carpetas

ABAP/Query Detalles : Definicin de Tabla adicional 4


La tabla aparece como parte de las tablas de seleccin. Se pueden arrastrar los campos de la tabla hacia las carpetas

ABAP/Query Detalles : Definicin 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 : Definicin 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 : Definicin de Campo adicional 3

El campo aparece en el panel de campos y tablas

ABAP/Query Detalles : Definicin de Campo adicional 3

Para insertar el cdigo que obtiene los datos del campo se selecciona el campo y se oprime el botn de cdigo

ABAP/Query Detalles : Definicin 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 : Definicin 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 dilogo SAP nos pide el nombre de una estructura de datos a la que har referencia nuestra estructura.

ABAP/Query Detalles : Definicin 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 : Definicin de Estructura Adicional 4

Finalmente , se debe de teclear el cdigo para llenar los datos de la estructura. Esto se realiza seleccionando la estructura y oprimiendo el botn de cdigo

ABAP/Query Detalles : Definicin de Parmetros de Seleccin 1

Podemos crear, ver y borrar criterios de seleccin.

Al oprimir crear aparece la ventana en donde debemos ingresar el nombre del criterio de seleccin

Puede tratarse de parmetros o de select-options

ABAP/Query Detalles : Definicin de Parmetros de Seleccin 2a

Se introduce una descripcin

.. Y un texto de seleccin Para los select-options se especifica el campo de referencia Se pueden agregar opciones adicionales en la ltima linea

ABAP/Query Detalles : Definicin de Parmetros de Seleccin 2b

Se introduce una descripcin

.. Y un texto de seleccin Para los parmetros 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 botn [ Asignar usuario y Infosets ] Aparece la pantalla Grupo de usuarios XXXX : Asignar infosets Se oprime el botn [ 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 relacin 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 de usuarios

Grupo

Una vez que hemos escogido el grupo de usuarios correcto , Tecleamos el nombre del query y oprimimos el botn [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 visualizacin ( se puede cambiar en tiempo de ejecucin )

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 seleccin adicionales a los definidos en el infoset

ABAP/Query Crear Query Paso 5.5


Se pueden agregar lineas de cabecera y pie de pgina

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