Vous êtes sur la page 1sur 57

Formación SAP

Curso de SAP Query (ABAP/4)

Manual de Formación

Fecha : 20-02-2010 Versión : v1.0


Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

REALIZADO Y APROBADO:

REALIZADO APROBADO

Documento realizado por: Documento revisado y aprobado por:


Stratesys Consulting ADP&M Stratesys Consulting ADP&M

Firma y fecha: Firma y fecha:

CONTROL DE VERSIONES

Fecha Versión Referencia Cambios respecto a la versión anterior


20-04-2010 V1.0 Versión Inicial

LISTA DE DISTRIBUCIÓN

Unidad Nombre Acción


EMT Asistentes Curso de Formación IN

IN – Información
AP – Aprobación

20/05/2010 2 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

ÍNDICE DE CONTENIDOS

1.  OBJETIVO ..............................................................................................................................................4 

2.  DEFINICIÓN DE QUERY .......................................................................................................................4 

3.  POR QUÉ CREAR UN QUERY .............................................................................................................4 

4.  TABLAS ..................................................................................................................................................5 

4.1.  INTRODUCCION ............................................................................................................................5 


4.2.  COMO BUSCAR EN QUE CAMPO ESTA UNA TABLA DE SAP ....................................................5 
4.3.  COMO VISUALIZAR EL CONTENIDO DE UNA TABLA .................................................................9 
4.4.  BASES DE DATOS LÓGICAS ......................................................................................................12 

5.  CREACION DE QUERIES ...................................................................................................................17 

5.1.  AMBITOS FUNCIONALES............................................................................................................17 


5.2.  AREAS FUNCIONALES O INFOSETS..........................................................................................18 
5.2.1.  Crear InfoSet con Base de datos lógicas ...........................................................................20 
5.2.2.  Crear sin bases de datos lógica .........................................................................................22 
5.2.3.  Obtención de datos mediante programa. ...........................................................................22 
5.2.4.  Lectura directa. ...................................................................................................................22 
5.2.5.  Unión de tablas ...................................................................................................................23 
5.3.  GRUPOS DE CAMPOS ................................................................................................................26 
5.4.  TABLAS ADICIONALES ...............................................................................................................29 

6.  GRUPOS DE USUARIOS ....................................................................................................................32 

6.1.  ASIGNACION DE UN ÁREA FUNCIONAL A UN GRUPO DE USUARIOS ..................................32 


6.2.  ASIGNACION DE UN USUARIO A UN GRUPO DE USUARIOS..................................................33 

7.  CREAR QUERYS .................................................................................................................................35 

7.1.  DISEÑO DEL REPORT .................................................................................................................35 


7.2.  ESTADISTICA ...............................................................................................................................42 
7.3.  LISTA RANKING ...........................................................................................................................44 
7.4.  INFOSET QUERY .........................................................................................................................46 
7.5.  QUICKVIEWER.............................................................................................................................47 

8.  EJECUTAR QUERIES .........................................................................................................................53 

9.  EJERCICIOS ........................................................................................................................................56 

20/05/2010 3 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

1. OBJETIVO

El objetivo de este documento a utilizar durante el Curso de SAP Query (ABAP/4) es presentar los

conocimientos básicos que se han de conocer para poder utilizar Querys en el sistema SAP por parte de

usuarios finales.

2. DEFINICIÓN DE QUERY

En síntesis, una query es un informe a medida. Es decir, permite mediante la relación de cada uno de los

campos que nos interesen, obtener la información deseada y presentarla acorde a un formato

determinado.

El sistema genera cada query en forma de un programa ABAP/4. Por tanto, un query consiste en un

report (informe) que muestra la información guardada en las tablas SAP en forma de listado. Para

realizar un query hay que buscar en qué tablas del sistema se encuentran los campos que queremos

mostrar.

3. POR QUÉ CREAR UN QUERY

Como se ha dicho un Query viene a ser un Report a medida, pero antes de crearlo se ha de analizar su

utilidad, es decir, se ha de comprobar que no haya un Query existente que permita sacar la información

buscada o incluso si existe algún Report estándar o hecho a medida que proporcione dicha información.

También se ha de ser consciente de que los Queries tienen límites. No se pueden relacionar infinidad de

tablas y campos, ya sea por una imposibilidad de relacionarlas entre sí, o porque el resultado sea un

Query poco eficiente, entendiendo por eficiente que tarde poco tiempo en sacar la información.

20/05/2010 4 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

4. TABLAS

4.1. INTRODUCCION

Todos los documentos, datos maestros, etc. que grabamos en el sistema SAP se almacenan en tablas, lo

hace en tablas de una base de datos relacional, pero el problema es saber en qué tablas están los datos

que buscamos. En muchos casos, esto no es una tarea sencilla, basta con ver el número de entradas que

tiene la tabla “DD02L”, que es la que contiene todas las tablas que existen en el sistema, para hacernos

una idea de que encontrar la tabla que buscamos entre tantas puede llegar a ser bastante costoso.

Hay varias transacciones que permiten la visualización de las tablas e incluso su ejecución, estas son:

ƒ SE11: Donde se pueden visualizar todas las tablas que existen en el sistema así como buscar

tablas que contengan un string concreto. Así mismo también permite visualizar los campos que

contiene una tabla e indica si se trata de una tabla transparente y qué campos están marcados

como campos clave.

ƒ SE16: Permiten buscar el contenido de tablas existentes y ejecutarlas.

ƒ SE16N: Permiten buscar el contenido de tablas existentes y ejecutarlas. A partir de la versión de

SAP ECC 6.0.

4.2. COMO BUSCAR EN QUE CAMPO ESTA UNA TABLA DE SAP

Para poder realizar un query previamente tenemos que conocer en qué tabla o tablas están los campos

que vamos a utilizar para la misma. Para conocer la tabla en la que se encuentra un campo en concreto

nos dirigimos a la transacción donde visualizamos el dato, nos posicionamos en el campo y pulsamos F1.

Nos aparecerá una pantalla como la siguiente:

20/05/2010 5 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Una vez que estamos en esta pantalla pulsamos el botón y aparece la siguiente pantalla en la cual

podemos ver el nombre de la tabla en la que se encuentra el campo que buscamos y el nombre del

campo en concreto.

20/05/2010 6 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Hay que entender que en determinadas ocasiones el sistema no muestra la tabla y aparece una

estructura, éstas no pueden usarse para la generación de una query, y por tanto, habría que seguir

investigando dónde se almacena en SAP el campo en cuestión.

Si nos fijamos en los datos del campo para buscar la tabla, donde están los datos vemos que en vez de ser

una tabla nos indica que se trata de una estructura. Esto no es más que una definición de tabla, pero que

no contiene ningún dato, ya que solamente tiene datos durante el tiempo de ejecución del programa. Es

decir, que en cuanto abandonemos la transacción en la que nos encontremos no contendrá dato alguno,

impidiéndonos de esta forma la utilicemos para obtener información.

En este caso, sería necesario profundizar aun más en el sistema para poder dar con la tabla donde se

almacena la información, que se obtendría a partir del elemento de datos, usando la referencia de

utilización o en el botón .

20/05/2010 7 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

El sistema nos ofrecerá un cuadro de diálogo para que seleccionemos el tipo de objeto que deseamos

buscar. Pulsaremos dos veces sobre la opción “Campos tabla”.

A continuación pulsaremos con el botón izquierdo del ratón en “Ejecutar (intro)” o en el icono y el

sistema nos ofrecerá una lista de las tablas, así como su descripción, que contengan dicho campo.

20/05/2010 8 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

NOTA

Un requisito imprescindible para que una tabla se pueda utilizar para realizar un query, es que ésta sea

una tabla transparente. Las estructuras nunca se pueden usar en los queries.

4.3. COMO VISUALIZAR EL CONTENIDO DE UNA TABLA

Una vez que hemos localizado las tablas que queremos usar para definir nuestro query, podemos buscar

qué campos además del que ya hemos localizado, forman parte de esta tabla.

Para ello vamos a la transacción SE11 e introducimos en el campo objeto el nombre de la tabla.

20/05/2010 9 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Desde esta pantalla pulsamos en el botón .

Y nos aparecerá la siguiente pantalla:

En la transacción SE11 cuando introducimos el nombre de una tabla podemos ver en la cabecera si se

trata de una tabla transparente o no.

En esta pantalla igualmente podemos ver todos los campos que forman parte de la tabla que estamos

visualizando.

20/05/2010 10 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Desde aquí podemos ver también los valores que hay almacenados en el sistema para esta tabla en

concreto. Para ello vamos al menú: Utilidades ÆContenido de la tabla Æ Visualizar o pulsamos en el

botón de ‘Contenido’ .

Y se nos mostrará la siguiente pantalla:

Desde aquí podemos seleccionar los datos grabados en una tabla para unas condiciones de selección

concretas, o todos los valores de esta tabla que hay en el sistema.

Una vez introducidos los campos de selección que queramos, pulsamos el botón de ‘Ejecutar’ .

En esta pantalla aparecen los distintos registros que hay grabados en el sistema para esta tabla.

20/05/2010 11 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Otra forma de ver el contenido de una tabla es desde la transacción SE16. En esta transacción aparecen

los distintos registros que hay grabados en el sistema para esta tabla, pero no permite visualizar los

campos que lo componen como en el caso anterior.

4.4. BASES DE DATOS LÓGICAS

Una base de datos lógica es una unión de tablas que facilita el contenido y la unión de campos

requeridos entre las distintas tablas.

El estándar de SAP ofrece algunas bases de datos lógicas que utiliza para su operativa y que pueden ser

de gran utilidad en la mayoría de queries que realicemos.

Podemos comprobar las bases de datos lógicas de que disponemos a través de la transacción SE36, o por

medio del árbol de menú:

Por ejemplo, al listar la tabla LFB1, tabla que contiene los registros maestros de proveedor (sociedad), si

deseamos sacar el importe en la moneda de la cuenta (campo PSWBT) de un apunte contable que se

haya realizado mediante una operación transaccional, no tenemos información en la tabla sobre la

moneda de la cuenta.

20/05/2010 12 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Pulsando el icono (referencias de utilización), accedemos a la pantalla:

20/05/2010 13 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Activando el indicador de bases de datos lógicas y pulsando el icono de , navegamos a todas las bases

de datos que tienen incluida esta tabla.

Visualizamos la base de datos lógica con el icono de observando todas las tablas incluidas y cómo

están unidas entre sí.

20/05/2010 14 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Esta es la parte más importante de las bases de datos lógicas para la creación de Queries, ya que nos

simplifica sobremanera la obtención del resto de las tablas que contengan los datos que buscamos,

además de asegurarnos a posteriori un gran rendimiento en nuestra Query, ya que al ser una

20/05/2010 15 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

herramienta proporcionada por el estándar, nos asegurarnos que la forma de enlazar las tablas sea

eficiente.

20/05/2010 16 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

5. CREACION DE QUERIES

Podemos dividir las Queries en varios componentes, que serían:

ƒ Ámbitos funcionales: es la agrupación de los objetos QUERY.

ƒ InfoSet: Es la tabla o tablas del sistema de donde se obtienen los datos.

ƒ Grupo de usuarios: La delimitación de los usuarios para su acceso al área funcional o al manejo

de la query.

ƒ La Query: La consulta a las tablas delimitadas en el área funcional para obtener la información

deseada. Hay tres tipos de Queries:

o Básica, que muestra los datos seleccionados de forma ordenada y conforme a nuestros

criterios de diseño.

o Estadística: que además nos da la posibilidad de obtener porcentajes, medias y más

información estadística de los datos disponibles.

o Lista ranking: destinada a listados con información numérica, nos proporciona

información organizada conforme al número de ocurrencias de algún campo en

concreto.

5.1. AMBITOS FUNCIONALES

Un ámbito funcional contiene un conjunto diferenciado de objetos de ABAP/4 Query, es decir, contiene

un conjunto de Queries, áreas funcionales y grupos de usuarios.

En SAP existen dos ámbitos funcionales.

ƒ Ámbito estándar: el ámbito estándar es dependiente de mandante. Los queries, áreas funcionales

y grupos de usuarios definidos en el ámbito estándar de un mandante no pueden ser

transportados a otro mandante.

ƒ Ámbito global: es independiente del mandante en el que estemos trabajando. Un query realizada

en el ámbito global del mandante de desarrollo, puede ser transportado al ámbito global del

mandante productivo.

20/05/2010 17 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Si queremos crear un query directamente en el mandante productivo siempre deberemos crearla en el

ámbito estándar.

Cuando accedemos al menú de creación y ejecución de queries, el sistema por defecto accede siempre al

ámbito global. Si queremos ejecutar un query que está definida o vamos a crearlo en el ámbito estándar,

tendremos que cambiar de ámbito desde el menú.

ƒ Acceso a la transacción:

ƒ Herramientas > Workbench ABAP/4 > Utilidades > Query SAP >
Entorno > Ámbitos funcionales
SAP R/3 Menú
ƒ Sistemas info > Informes ad hoc > Query SAP > Entorno >
Ámbitos funcionales
Transacción SQ01

En esta pantalla tenemos que seleccionar “Ámbito estándar”, puesto que queremos crear queries en el

mandante productivo, salvo que exista la necesidad de implementarlo en todos los mandantes del

servidor de producción. En este último caso, se seleccionará la opción de “Ámbito global”.

5.2. AREAS FUNCIONALES o INFOSETS

Los Queries se crean siempre sobre la base de un InfoSet. El área funcional es donde se especifican las

tablas y campos con los que vamos a trabajar, es la parte más técnica.

ƒ Acceso a la transacción:

ƒ Herramientas > Workbench ABAP/4 > Utilidades > InfoSets


SAP R/3 Menú ƒ Sistemas info > Informes ad hoc > Query SAP > Entorno >
InfoSets
Transacción SQ02

Una vez en esta pantalla se introduce el nombre que se le quiera dar y se pulsa el botón de

20/05/2010 18 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

En la siguiente pantalla se ha de introducir una descripción breve del InfoSet y después rellenar los

campos necesarios según se detalla a continuación.

Acciones Requerid
Nombre del
requeridas por el o/ Acción
campo
usuario y valores Opcional
Es conveniente que la descripción del área funcional sea
significativa para de esta forma evitar que otros usuarios creen
áreas funcionales con las mismas tablas o con la misma base de
datos lógica.
En este campo hay que El área funcional se puede crear de diferentes formas, como se
introducir una ha dicho, en el área funcional se especifican las tablas y campos
Denominación R que vamos a utilizar, por lo que la visualización de las tablas es
descripción del InfoSet
que estamos creando. lo que nos determinará la manera de crear ésta.
Existen fundamentalmente dos formas de crear un área
funcional:
ƒ Con base de datos lógica.
ƒ Sin base de datos lógica.
Si se desea que la lectura de los datos se realice con la ayuda de
Unión de Marcar o Seleccionar
O una unión de tablas.
tablas vía tabla si procede.

20/05/2010 19 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Acciones Requerid
Nombre del
requeridas por el o/ Acción
campo
usuario y valores Opcional
Una unión de tablas abarca siempre varias tablas, que se leerán
mediante formas especiales de la instrucción SELECT. La primera
tabla en la unión es la tabla citada arriba en el campo tabla de
Base. Las demás tablas pueden indicarse, al llamar la función
Continuar (al crear un set info nuevo) 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 la que
los campos correspondientes e implicados en la unión de tablas
aparecen ordenadamente.
Lectura directa Marcar o Seleccionar Si la lectura de los datos debe realizarse directamente desde la
O
de tabla si procede. tabla SAP
Obtención de datos mediante base de datos lógica.

Base de Marcar o Seleccionar Introduzca el nombre de la base de datos lógica en el campo


O
datos lógica si procede. previsto a tal efecto. Asimismo, se puede indicar una versión
especial para la imagen de selección en relación con la base de
datos lógica.
Obtención de
datos Marcar o Seleccionar Si se desea la lectura de los datos a través de un programa
O
mediante si procede. separado.
programa

Denominación: En este campo hay que introducir una descripción del área funcional que estamos

creando.

Es conveniente que la descripción del área funcional sea significativa para de esta forma evitar que otros

usuarios creen áreas funcionales con las mismas tablas o con la misma base de datos lógica.

El área funcional se puede crear de diferentes formas, como se ha dicho, en el área funcional se

especifican las tablas y campos que vamos a utilizar, por lo que la visualización de las tablas es lo que

nos determinará la manera de crear ésta.

Existen fundamentalmente dos formas de crear un área funcional:

• Con base de datos lógica.

• Sin base de datos lógica.

5.2.1. Crear InfoSet con Base de datos lógicas

Podemos utilizar una base de datos encontrada siempre que contenga los datos que requerimos, de todas

formas, el match code o F4 nos mostrará las diferentes bases de datos lógicas existentes.

20/05/2010 20 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Si pulsamos el botón visualizar podremos ver las tablas que forman parte de una base de datos

lógica determinada.

20/05/2010 21 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Esta forma de crear el InfoSet es muy cómoda ya que el sistema ya propone las relaciones entre tablas y

simplemente se tienen que seleccionar los campos deseados de cada una de las tablas.

5.2.2. Crear sin bases de datos lógica

Un área funcional sin base de datos lógica se puede crear de diferentes formas. En principio los métodos

más habituales son el de lectura directa cuando todos los campos que queremos mostrar en nuestro

query pertenecen a una misma tabla, y el de unión de tablas cuando queremos hacer un query con

campos de varias tablas.

5.2.3. Obtención de datos mediante programa.


Se tiene que crear un programa en ABAP/4 definiendo la manera de recuperar la información de la

tabla que se especifique.

Este método no se va a explicar en este manual.

5.2.4. Lectura directa.


Implica la determinación de una tabla principal cuyo nombre se ha de introducir en el recuadro tabla.

En principio el área funcional contiene solo esa tabla con sus campos aunque es posible añadir campos

20/05/2010 22 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

adicionales de otras tablas. En el caso de que preveamos que vamos a necesitar campos adicionales de

otra tabla, es recomendable utilizar el método de unión de tablas.

5.2.5. Unión de tablas

Tiene como resultado una nueva tabla. Para poder unir dos tablas en SAP es necesario que entre ambas

exista al menos un campo en común. Por ejemplo podemos unir la tabla del maestro de acreedores

general y el maestro de acreedores por sociedad porque ambas tienen en común el número de cuenta

del proveedor.

Se ha de introducir el nombre de la primera tabla que se quiere relacionar en el campo tabla,

seguidamente se pulsa el botón de , y aparece la pantalla siguiente:

En esta pantalla tenemos que introducir el nombre o los nombres de las otras tablas que queramos

utilizar en el Infonet, mediante el botón de ‘Insertar tabla’ .

20/05/2010 23 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Automáticamente, el sistema genera la unión de la tabla anterior con la última introducida de forma

estándar, mediante el / los campo/s comunes. Adicionalmente, si queremos enlazar las otras tablas

entre sí (si hay 3 o más tablas) con la primera, se pulsa el botón .

Una vez definidas las condiciones de la pantalla anterior, quedará de la siguiente forma:

Esta pantalla nos muestra que hemos definido condiciones de enlace entre las tablas LFA1 y LFB1.

Los enlaces entre dos tablas pueden ser de tres tipos:

• Inner Join: Salen los registros que cumplen las condiciones de ambas tablas.

• Left outer Join: Salen los registros que cumplen con las condiciones de la primera tabla.

• Right outer join: Salen los registros que cumplen las condiciones de la segunda tabla.

20/05/2010 24 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Una vez que se han definido todas las uniones hay que volver a la pantalla anterior pulsando .

El siguiente paso consiste en seleccionar los campos de estas tablas que necesitamos para nuestro listado.

Cuando se pulsa en el botón anterior, el sistema nos muestra una ventana donde deberemos seleccionar

entre las opciones:

Lo ideal es marcar la opción de “Incluir todos los campos de tablas”, ya que nos permitiría revisar

posteriormente los campos que se deberán usar en nuestro Query.

Una vez que se han definido todas las uniones de tablas y campos, para volver a la pantalla anterior, es

necesario pulsar en el icono de . Hay que aceptar los mensajes posteriores que aparecen para grabar

y generar el Infonet, si queremos utilizarlo posteriormente en una Query.

20/05/2010 25 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

5.3. GRUPOS DE CAMPOS


Dentro del Infonet, En caso de ser necesarios nuevos campos adicionales y/o no contemplados en las
tablas seleccionadas, el siguiente paso consiste en seleccionar los campos que necesitamos para nuestro
listado. Cuando se pulsa en el botón de “Crear grupo de campos”.

Un grupo funcional es un índice que se utiliza para seleccionar qué campos de las tablas que forman el

InfoSet, pueden ser incluidos en los queries que utilicen esta área funcional.

20/05/2010 26 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Los grupos funcionales se definen con dos dígitos y una breve descripción, que son totalmente libres.

Unicamente sirven para asignar cuáles son los campos que se van a utilizar de entre los existentes.

Para crear un grupo de campos pulsamos . En la siguiente pantalla tenemos que introducir un código

de dos dígitos para el grupo funcional y una descripción breve.

Al pulsar el botón de grupos funcionales aparece la pantalla:

Pulsamos Intro y el siguiente paso es seleccionar los campos de las tablas que necesitamos.

20/05/2010 27 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Para ello desplegamos los distintos campos de cada tabla pulsando el botón que aparece a la

izquierda de cada una de ellas y vamos seleccionando aquellos campos que nos interesen.

Una vez seleccionados los campos, se pulsa en el botón de ‘Insertar campo(s) en grupo de’, en el icono

Si visualizamos el grupo de campos, podemos ver todos los campos que hemos seleccionado de ambas

tablas:

Una vez creados los grupos de campos y asignados los campos que se quieran, se procede a ver si hay

inconsistencias en el InfoSet y a generarlo, esto se realiza pulsando los botones siguientes: .

20/05/2010 28 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

1. Verificar o icono . Sirve para determinar si hay inconsistencias.

2. Generar o icono . Sirve para generar el InfoSet.

Después se puede proceder a grabar el Infonet si no se ha grabado previamente.

5.4. TABLAS ADICIONALES

Cuando creamos un área funcional o Infonet, tan sólo tenemos los campos que contienen las tablas

definidas en el área funcional, por lo que puede ser necesario relacionar dichas tablas con otra tabla

adicional, por eso existe la función de añadir una tabla adicional. Se ha de apretar el botón ‘Detalles’.

Aparece la pantalla:

20/05/2010 29 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Pulsamos el botón y aparece una pantalla en la cual nos pide el nombre de la tabla o campo

adicional que queremos introducir.

Una vez introducido el nombre de la tabla se pulsa .

Cuando se le ha pulsado , aparece la pantalla siguiente donde salen los campos que se han de

relacionar entre la tabla principal (especificada en la pantalla inicial de creación del InfoSet) y la tabla

que se quiere añadir.

El sistema propone los valores por defecto siempre y cuando los campos a relacionar existan con el

mismo nombre en ambas tablas, si no es así deberemos rellenarlos nosotros mismos.

20/05/2010 30 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Ahora los campos de la tabla LFBK estarán disponibles para la selección en el InfoSet detrás de los

campos de la tabla LFA1.

20/05/2010 31 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

6. GRUPOS DE USUARIOS

ƒ Acceso a la transacción:

ƒ Herramientas > Workbench ABAP/4 > Utilidades > Query SAP >
InfoSets
SAP R/3 Menú
ƒ Sistemas info > Informes ad hoc > Query SAP > Entorno >
InfoSets
Transacción SQ02

Un grupo de usuarios es un conjunto de usuarios SAP que tienen autorización para ejecutar queries

definidos dentro de un área funcional determinada.

6.1. ASIGNACION DE UN ÁREA FUNCIONAL A UN GRUPO DE USUARIOS

Una vez creado el InfoSet se ha de proceder a asignarlo a un grupo de usuarios, esto se realiza en la

pantalla que surge cuando el área funcional se ha grabado (transacción SQ02).

Se pulsa en el botón y se marcan en la pantalla siguiente los

grupos de usuarios que deseemos que utilicen el área funcional.

Una vez hecho esto, se graba.

20/05/2010 32 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

6.2. ASIGNACION DE UN USUARIO A UN GRUPO DE USUARIOS

Para asignar un usuario a un grupo de usuarios, es decir, para permitir que un usuario ejecute queries

pertenecientes a un grupo de usuarios, el procedimiento a seguir es el siguiente:

ƒ Acceso a la transacción:

ƒ Herramientas > Workbench ABAP/4 > Utilidades > Query SAP >
Grupos de usuarios
SAP R/3 Menú
ƒ Sistemas info > Informes ad hoc > Query SAP > Entorno >
Grupos de usuarios
Transacción SQ03

Una vez introducida la transacción o navegar mediante el menú anterior, el sistema nos muestra la

pantalla:

En el campo grupo de usuarios se introduce el nombre del grupo al cual hay que asignar nuevos

usuarios y pulsamos el botón . Al pulsar , el sistema

muestra la siguiente pantalla:

20/05/2010 33 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

En esta pantalla se introducen los nombres de usuario SAP con acceso al InfoSet, y se graba.

20/05/2010 34 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

7. CREAR QUERYS

7.1. DISEÑO DEL REPORT

ƒ Acceso a la transacción:

ƒ Herramientas > Workbench ABAP/4 > Utilidades > Query SAP >
SAP R/3 Menú Query
ƒ Sistemas info > Informes ad hoc > Query SAP > Entorno > Query
Transacción SQ00

Una vez introducida la transacción o navegar mediante el menú anterior, el sistema nos muestra la

pantalla:

El query siempre se crea en el sistema para un grupo de usuarios. Por tanto, el primer paso al crear un

query, es elegir el grupo de usuarios adecuado. El sistema por defecto al acceder a la transacción SQ00

muestra el primer grupo de usuarios alfabéticamente. Para cambiar de grupo de usuarios pulsamos el

botón y seleccionamos entre los existentes, el adecuado (aquel al cual hayamos asignado el área

funcional con la que vamos a crear el query).

20/05/2010 35 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Una vez seleccionado el grupo de usuarios podemos empezar a definir el query.

En esta pantalla tenemos que introducir el nombre que le vamos a dar al query y pulsar el botón

. Aparece una ventana para seleccionar el área funcional sobre la que vamos a

crear el query.

Al seleccionar el InfoSet, entramos en la primera pantalla de creación de un query.

20/05/2010 36 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Los campos que aparecen en esta pantalla son los siguientes:

Acciones Requerid
Nombre del
requeridas por el o/ Acción
campo
usuario y valores Opcional
En este campo hay que
Es conveniente que la descripción sea significativa para de esta
introducir una
Título R forma evitar que otros usuarios creen nuevas queries con la
descripción del Query
misma lógica.
que estamos creando.
Se puede introducir un texto adicional que sirva para describir
la funcionalidad del Query.
Comentarios Informar si procede. O Los comentarios aparecerán al ser visualizado el Query y en los
catálogos de Query. Junto con el título dan una información
rápida sobre la funcionalidad de cada uno de los queries.
Líneas
Cantidad de líneas que se visualizarán en cada página del
(Formato de Informar si procede. O
listado.
Lista)
Cantidad de columnas por línea.
Columnas En este campo se determina la cantidad máxima de signos que
(Formato de Informar si procede. O podrá tener una línea de salida en una lista generada con query.
Lista) En el caso de que una línea ocupe mas de lo que se introduce en
este campo, el listado mostrara la línea dividida en dos.
Columnas
Marcar o Seleccionar Limita el tamaño cuando el resultado del Query sale por
(Formato O
si procede. impresora.
Tabla)
Cuando el Query se deba ejecutar siempre con la misma
variante se debe marcar el campo “Ejecutar sólo con variante”,
implica que el Query se ejecutará con la variante especificada
Atributos independientemente desde donde se ejecute, mientras que si no
Informar si procede. O
especiales se marca, el Query sólo se ejecuta con variante si se ejecuta
desde la transacción SQ00. Si se marca el campo “Bloqueo
modificación” hará que el Query no pueda ser modificado por
otro usuario diferente al que lo creó.
Con título
Si se marca este campo al imprimir el Query aparecerá en la
estándar
Informar si procede. O cabecera de todas las páginas el título de la misma, la fecha y el
(Impresión de
número de página.
Lista)

20/05/2010 37 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Acciones Requerid
Nombre del
requeridas por el o/ Acción
campo
usuario y valores Opcional
Formato de Marcar o Seleccionar
R Son opciones de representación del resultado del query.
Salida una de las opciones.
Columnas
Marcar o Seleccionar
(Formato R Son opciones de representación del resultado del query.
una de las opciones.
Tabla)

Una vez completada esta pantalla pulsar el botón para continuar con la creación del query.

En la pantalla siguiente nos encontramos con los grupos de campos que hemos creado en el área

funcional:

Para poder ver los campos que contienen se han de marcar y pulsar en el botón .

20/05/2010 38 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

La pantalla siguiente muestra los campos incluidos dentro del grupo funcional seleccionado. En esta

pantalla se han de marcar los campos de los que se quiere obtener información en el query.

Una vez marcados se aprieta el botón .

20/05/2010 39 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

La siguiente pantalla aparecen los campos marcados en la pantalla anterior para que se pueda decidir

qué campos de éstos queremos que aparezcan en la pantalla de selección del query.

Es posible modificar en esta pantalla el texto que por defecto el sistema nos va a proponer para cada

campo de selección de la query.

Seguidamente tenemos que determinar la lista básica apretando el botón .

El sistema muestra la pantalla siguiente donde se especifica en que orden queremos que salgan cada uno

de los campos, así como si queremos dividir los campos en dos líneas y el orden de salida de los campos

en cada línea.

20/05/2010 40 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

20/05/2010 41 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

7.2. ESTADISTICA

Los Queries permiten crear estadísticas sobre la información contenida en el propio query. Para realizar

esto se ha de pulsar el botón que ésta presente en todas las pantallas. Una vez pulsado

aparecerá la siguiente pantalla donde se detallan las características de la Estadística.

Aparecen los campos que se han seleccionado para crear el query.

20/05/2010 42 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Acciones Requerid
Nombre del
requeridas por el o/ Acción
campo
usuario y valores Opcional
Informar si procede.
Nº O El orden en que queremos que se muestren los campos.
Valor numérico
El criterio que empleará la estadística para clasificar los
Cla Informar si procede O
registros.
Se marca este flag para que la estadística clasifique los registros
Marcar o Seleccionar
De O en orden descendente según el criterio de clasificación
si procede
especificado.
St Informar si procede O Se generan sumas parciales para ese campo.
Se crearán cambios de página dentro de las estadísticas para
Pn Informar si procede O cada clave de clasificación. Es decir, cada vez que cambie la
clave de clasificación se producirá un salto de página.
Indica el número de registros utilizados para generar la
Ct Informar si procede O
estadística.
% Informar si procede O Se muestra el porcentaje de la suma total.
Se indica la longitud del campo, si queremos que sea diferente
Lg Informar si procede O
de la estándar.
Red Informar si procede O Criterio de redondeo antes de la coma.

Unid. Informar si procede O Se especifica la unidad de referencia del campo al que se refiere.
Marcar o Seleccionar Si se desea que aparezca el texto para los Gráficos de
Txt. O
si procede presentación SAP.

En el caso de que definamos alguna estadística en el query el sistema al ejecutar la misma, nos mostrará

además del listado del query un listado adicional con la estadística que hemos definido.

20/05/2010 43 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

7.3. LISTA RANKING

En los Queries también se pueden crear lo que se denominan Listas ranking, que permiten sacar las

10,3,20,100 primeras posiciones de algún campo numérico. Por ejemplo, si estamos listando

documentos de acreedores, podríamos sacar los 10 importes más grandes.

Para esto se tiene que pulsar el botón de .

Acciones Requerid
Nombre del
requeridas por el o/ Acción
campo
usuario y valores Opcional
Informar si procede.
Nº O El orden en que queremos que se muestren los campos.
Valor numérico
Este campo solo aparece en los campos numéricos y solo se
Cr Informar si procede O puede pinchar en uno, es el campo por el que se realizará la
clasificación.
Si la lista ranking deberá ser clasificada en orden ascendente
Marcar o Seleccionar
Asc. O según el criterio de lista ranking. De lo contrario, la clasificación
si procede
será de orden descendente.
Se indica la longitud del campo, si queremos que sea diferente
Lg Informar si procede O
de la estándar.
Red. Informar si procede O Indicar para este campo la cantidad de posiciones de redondeo.

Unid. Informar si procede O Se especifica la unidad de referencia del campo al que se refiere.
Marcar o Seleccionar Si se desea que aparezca el texto para los Gráficos de
Txt. O
si procede presentación SAP.

20/05/2010 44 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Acciones Requerid
Nombre del
requeridas por el o/ Acción
campo
usuario y valores Opcional
Especifica el número de total de la lista ranking, en este caso los
Ctd. Lugares. Informar si procede O
10 registros más altos en el importe en moneda local.

Si creamos el Query con alguna lista ranking, al ejecutar la misma aparecerá una información adicional

con el ranking que hayamos definido.

20/05/2010 45 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

7.4. INFOSET QUERY

También se pueden crear Queries mediante la función , que permite revisar y

crearlas de manera más rápida si tan sólo se pretende realizar una Query sencilla.

20/05/2010 46 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

7.5. QUICKVIEWER

El Quickviewer es una herramienta que incluye SAP a partir de la versión 4.6, que es una forma más

cómoda y rápida de obtener informes aunque no es tan potente como las Queries.

ƒ Acceso a la transacción:

ƒ Herramientas > Workbench ABAP/4 > Utilidades > QuickViewer


SAP R/3 Menú
ƒ Sistema > Servicios > QuickViewer

Transacción SQVI

O si ya hemos accedido antes a esta herramienta nos aparecerá un botón de acceso desde la pantalla

donde creábamos las Querys (SQ01):

Una vez introducida la transacción o navegar mediante cualquiera de las opciones o menú anteriores, el

sistema nos muestra la pantalla:

20/05/2010 47 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

En esta pantalla no tenemos más que darle un nombre a la consulta que queremos realizar, presionar

sobre el botón de crear y un asistente nos irá guiando de forma sencilla por las pantallas de creación.

Lo primero que se nos pedirá al crearlo será una pantalla con los datos básicos de la consulta, que nos

indicará además de un título para el encabezado del listado, una descripción, y lo que es más

importante, la fuente de los datos que tendrá nuestra consulta. Igual que antes podremos elegir una

tabla, una base de datos lógica, una unión de tablas o un InfoSet que tengamos previamente creada.

20/05/2010 48 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

La creación del origen de datos de estos informes es muy similar al de las Queries, por lo que no

entraremos en mayor detalle, utilizaremos dos tablas para ilustrar el funcionamiento de esta

herramienta.

Y por último tomamos la disposición de los datos, podemos optar por darle un formato básico, o alternar

una salida más grafica a nuestro listado:

Marquemos la opción que marquemos, el sistema nos creará en el cuadro de arriba a la izquierda los

grupos de datos, o conjunto de campos que deseemos que aparezcan en nuestra consulta, tanto para

poder visualizarlos como para disponer de ellos en la pantalla de selección o en el programa que esta

herramienta genera internamente.

20/05/2010 49 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

En la pantalla de la derecha nos aparecen cuatro solapas que son las que vamos a utilizar para dar el

formato de salida a los datos de que disponemos, en la primera vemos los campos que nos aparecerán en

la consulta, así como su disposición por línea y su ordenación. Además de ver todos los campos

disponibles:

En la segunda solapa vemos toda la ordenación que tendrán los datos que figuren en el listado. Podemos

hacer ordenaciones en ascendente y descendente por los campos que queramos:

En la solapa de campos de selección podemos modificar los campos que hemos marcado antes como

delimitadores de los resultados del informe:

20/05/2010 50 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

Y por último, en la solapa de “Fuente de Datos” tenemos la información del origen de los datos que

estamos tratando:

Sólo nos quedaría grabar la consulta que estamos realizando y probarla presionando la tecla ‘F8’ o en el

botón de . El sistema automáticamente nos llevará a la pantalla de selección que hemos

creado:

Nos aparecerá una pantalla con los datos del informe y todos los botones y pulsadores que nos

facilitaban las Queries, para poder ordenar los datos, filtrarlos, etc.

20/05/2010 51 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

20/05/2010 52 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

8. EJECUTAR QUERIES

Una vez que el Query ya está grabado, podemos pasar a ejecutarlo en el momento en que sea necesario.

Para ello hay que ir a la transacción SQ01.

ƒ Acceso a la transacción:

ƒ Herramientas > Workbench ABAP/4 > Utilidades > Query SAP >
SAP R/3 Menú Query
ƒ Sistemas info > Informes ad hoc > Query SAP
Transacción SQ01

Desde esta transacción nos aparecen todas los Queries del grupo de usuarios al que esta asignado

nuestro usuario SAP. En caso de que un usuario pertenezca a más de un grupo de usuarios, el sistema

mostrará los Queries del grupo de usuarios que alfabéticamente sea el primero.

Si el Query que nos interesa ejecutar pertenece a otro grupo de usuarios, habrá que cambiar el mismo.

Para cambiar de grupo de usuarios pulsamos el botón y seleccionamos entre los posibles grupos el

adecuado.

Una vez que hemos seleccionado el Query que queremos ejecutar, hay que pulsar el botón y nos

aparece la pantalla de selección.

20/05/2010 53 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

En esta pantalla introducimos los criterios de selección que queramos para el listado y pulsamos en .

Se ejecutará entonces el programa del Query y aparecerá el listado tal y como lo hemos definido.

20/05/2010 54 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

En esta pantalla nos aparecen una serie de botones en la barra de menú, que permiten la ordenación de

los campos, filtros, sumas totales y parciales, exportar a fichero externo, etc.

20/05/2010 55 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

9. EJERCICIOS

El desarrollo de estos ejercicios se basa en la idea de que puedas realizar cualquier query,

independientemente de los datos que extraigamos. En estos ejemplos es importante que, si en algún caso,

no estás familiarizado con el módulo del ejercicio, traslades los ejercicios a un ejemplo donde los datos

sean más familiares. Así por ejemplo, si visualizamos los datos maestros de un deudor, pantalla de la que

no estás familiarizado, puedes modificarlo por datos maestros de materiales o centros de coste, haciendo

un ejercicio paralelo.

I. Visualizar los datos de una tabla.

En este ejercicio se trata de comprobar las tablas donde se encuentran los datos maestros de un deudor.

Apunta los datos de los campos de DNI, de punto operacional, de grupo de deudor y de cuenta de mayor

asociada.

II. Visualiza los datos que contienen estas tablas.

En este ejercicio se trata de encontrar las tablas y los campos con importe de contabilización y centro de

coste en un documento contable.

¿Qué bases de datos lógicas contienen ambas tablas? ¿Existe alguna?

Si existen varias bases de datos lógicas para los datos que buscas recuerda que cuanto menor número de

tablas posea más rápido y eficiente será el query.

¿Cuál de todas las bases de datos lógicas utilizarías?

En este caso también visualiza los registros que contienen estas tablas.

III. Crear un InfoSet.

Para comenzar crearemos un área funcional con una única tabla (datos de maestro de clientes (parte

general). Dentro del grupo funcional tomaremos los campos de NIF, NIF comunitario, códigos de punto

operacional y grupo de deudor.

a) Crear un segundo InfoSet con la unión de dos tablas. Al grupo de campos anteriores le

añadimos el campo de cuenta contable.

b) Modificar el primer InfoSet para que mediante la opción de Detalles añadirle el campo de

cuenta de deudor para una sociedad.

20/05/2010 56 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación

IV. Crear un nuev InfoSet con las tablas VBAP y VBRP.

Comprueba que al seleccionar propuestas para unión de campos lo realiza incorrectamente. Explica por

qué y realiza la unión como debe realizarse.

V. Crear un tercer InfoSet.

Esta vez con una base de datos que contengan datos de contabilizaciones sobre el tercero. Esta vez tienes

mayor libertad para realizar un informe donde contenga una estructura que pueda servirte en un

futuro.

VI. Asignar los InfoSets que has creado a un grupo de usuarios

VII. Ahora realiza un query con cada InfoSet.

El primero se tratará de un informe que revisará los datos en el sistema para que no exista ningún

deudor repetido en el sistema, y que no esté incluido dos veces.

El segundo Query puedes utilizarlo para comprobar la cuenta asociada al deudor y comprobar que

coincide con la definición del grupo de deudor.

Este Query debes de ser tú el que busques una utilidad real en la operativa. Antes de comenzar el query

escribe cuales son los datos que quieres evaluar y de donde sacar los datos. Explica por qué ha utilizado

ciertos campos y qué quieres mostrar con ellos. Cuando observes los resultados debes comprobar que es

realmente lo que buscabas desde un principio.

VIII. Eliminar todas los queries e InfoSets que hemos creado de ejemplo.

20/05/2010 57 de 57

Vous aimerez peut-être aussi