Académique Documents
Professionnel Documents
Culture Documents
Manual de Formación
REALIZADO Y APROBADO:
REALIZADO APROBADO
CONTROL DE VERSIONES
LISTA DE DISTRIBUCIÓN
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
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.
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
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.
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
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,
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
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.
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
En la transacción SE11 cuando introducimos el nombre de una tabla podemos ver en la cabecera si se
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’ .
Desde aquí podemos seleccionar los datos grabados en una tabla para unas condiciones de selección
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
Una base de datos lógica es una unión de tablas que facilita el contenido y la unión de campos
El estándar de SAP ofrece algunas bases de datos lógicas que utiliza para su operativa y que pueden ser
Podemos comprobar las bases de datos lógicas de que disponemos a través de la transacción SE36, o por
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
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
Visualizamos la base de datos lógica con el icono de observando todas las tablas incluidas y cómo
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
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
o Básica, que muestra los datos seleccionados de forma ordenada y conforme a nuestros
criterios de diseño.
concreto.
Un ámbito funcional contiene un conjunto diferenciado de objetos de ABAP/4 Query, es decir, contiene
Ámbito estándar: el ámbito estándar es dependiente de mandante. Los queries, áreas funcionales
Á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
á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,
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
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:
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
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.
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
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.
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
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
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.
En esta pantalla tenemos que introducir el nombre o los nombres de las otras tablas que queramos
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
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.
• 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
Lo ideal es marcar la opción de “Incluir todos los campos de tablas”, ya que nos permitiría revisar
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
20/05/2010 25 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación
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
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
20/05/2010 28 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación
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
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
El sistema propone los valores por defecto siempre y cuando los campos a relacionar existan con el
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
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
Una vez creado el InfoSet se ha de proceder a asignarlo a un grupo de usuarios, esto se realiza en la
20/05/2010 32 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación
Para asignar un usuario a un grupo de usuarios, es decir, para permitir que un usuario ejecute queries
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
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
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
20/05/2010 35 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación
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.
20/05/2010 36 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
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.
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
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
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
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
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
20/05/2010 45 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación
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:
Transacción SQVI
O si ya hemos accedido antes a esta herramienta nos aparecerá un botón de acceso desde la pantalla
Una vez introducida la transacción o navegar mediante cualquiera de las opciones o menú anteriores, el
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
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
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
En la solapa de campos de selección podemos modificar los campos que hemos marcado antes como
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
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.
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
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.
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.
En este ejercicio se trata de encontrar las tablas y los campos con importe de contabilización y centro de
Si existen varias bases de datos lógicas para los datos que buscas recuerda que cuanto menor número de
En este caso también visualiza los registros que contienen estas tablas.
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
a) Crear un segundo InfoSet con la unión de dos tablas. Al grupo de campos anteriores le
b) Modificar el primer InfoSet para que mediante la opción de Detalles añadirle el campo de
20/05/2010 56 de 57
Formación SAP
Curso SAP Query (ABAP/4)
Manual de Formación
Comprueba que al seleccionar propuestas para unión de campos lo realiza incorrectamente. Explica por
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.
El primero se tratará de un informe que revisará los datos en el sistema para que no exista ningún
El segundo Query puedes utilizarlo para comprobar la cuenta asociada al deudor y comprobar que
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
VIII. Eliminar todas los queries e InfoSets que hemos creado de ejemplo.
20/05/2010 57 de 57