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

InfoSet

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 Grupo
de usuarios
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