Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ABAP QUERY
Página 1 de 45
Manual de Usuario
INDICE
ASAP
1.OBJETIVO.....................................................................................................................................................3
2.DEFINICIÓN DE QUERY..............................................................................................................................3
3.POR QUÉ CREAR UN QUERY......................................................................................................................3
4. TABLAS........................................................................................................................................................4
4.1 INTRODUCCION............................................................................................................................................4
4.2 COMO BUSCAR EN QUE TABLA DE SAP ESTA UN CAMPO ..................................................................4
4.3 COMO VISUALIZAR EL CONTENIDO DE UNA TABLA.............................................................................8
4.4 BASES DE DATOS LÓGICAS......................................................................................................................13
5. CREACION DE QUERIES..........................................................................................................................17
5.1 AMBITOS FUNCIONALES...........................................................................................................................17
5.2 InfoSet............................................................................................................................................................18
5.3 GRUPOS DE CAMPOS................................................................................................................................25
5.4 TABLAS ADICIONALES...............................................................................................................................27
6. GRUPOS DE USUARIOS............................................................................................................................29
6.1 ASIGNACION DE UN INFOSET A UN GRUPO DE USUARIOS..............................................................29
6.2 ASIGNACION DE UN USUARIO A UN GRUPO DE USUARIOS.............................................................30
7. CREAR QUERYS........................................................................................................................................33
7.1 DISEÑO DEL REPORT.............................................................................................................................33
7.2 LISTA RANKING...........................................................................................................................................39
7.3 ESTADISTICA...............................................................................................................................................42
8. EJECUTAR QUERIES.................................................................................................................................44
1.OBJETIVO
Previamente vamos a realizar una pequeña introducción a las tablas. (ver punto 4 de
este manual).
2.DEFINICIÓN DE QUERY
Un query consiste en un report que muestra 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 a medida que proporcione dicha información.
4. TABLAS
4.1 INTRODUCCION
Todos los documentos, datos maestros, etc. que grabamos en el sistema se
almacenan en tablas.
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 cuyo nombre contenga 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 que campos están marcados como campos clave.
SA38: Esta transacción sirve para ejecutar queries mediante el programa de ABAP/4
generado por el sistema.
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:
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 técnico del campo en concreto.
Si se trata de una tabla podemos utilizarla en una query, pero si es una estructura será
imposible utilizarla ya que las estructuras no contienen datos que puedan utilizar las
querys. En este último caso, tendremos que buscar la tabla directamente en la SE11.
En esta pantalla podemos ver todos los campos que forman parte de la tabla que
estamos visualizando.
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 tabla -->
Visualizar
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
En esta pantalla aparecen los distintos registros que hay grabados en el sistema para
esta tabla.
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.
NOTA
Un requisito imprescindible para que una tabla se pueda utilizar para realizar un query,
es que ésta sea una tabla. Las estructuras nunca se pueden usar en los queries.
En la transacción SE11 cuando introducimos el nombre de una tabla y pulsamos
podemos ver en la cabecera si se trata de una tabla transparente o no.
Por ejemplo, al listar la tabla BSIS tabla que contiene los apuntes contables en las
cuentas de mayor, si deseamos sacar el importe en la moneda de la cuenta (campo
PSWBT) no tenemos información en la tabla sobre la moneda de la cuenta.
Visualizamos la base de datos lógica con el icono de observando todas las tablas
incluidas y como están unidas.
5. CREACION DE QUERIES
Transacción: SQ02
Menú: Herramientas --> Workbench ABAP/4 --> Utilidades --> Query SAP -->
InfoSets // Entorno --> Ámbitos funcionales
Menú: Sistema info --> Informes ad hoc --> Query SAP // Entorno --> Ámbitos
funcionales
5.2 InfoSet
Los Queries se crean siempre sobre la base de un InfoSet. El InfoSet es donde se
especifican las tablas y campos con los que vamos a trabajar, es la parte más técnica.
Transacción: SQ02
Menú: Herramientas --> Workbench ABAP/4 --> Utilidades --> Query SAP --> InfoSet
Menú: Sistema info --> Informes ad hoc --> Query SAP // Entorno --> InfoSet
Una vez en esta pantalla se introduce el nombre que se le quiera dar y se aprieta el
botón de
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:
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.
Si pulsamos el botón visulizar podremos ver las tablas que forman parte de una
base de datos lógica determinada.
Esta forma de crear el área funcional 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 campos de varias tablas.
Datos secuenciales
El sistema recupera la información según un archivo que previamente se ha de
determinar. Se ha de crear en código binario.
Este método no se va a explicar en este manual.
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 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.
En esta pantalla tenemos que introducir el nombre o los nombres de las otras tablas
SAP determina automáticamente las relaciones entre las tablas, aunque podemos
modificarlas simplemente pinchando y arrastrando los enlaces entre los campos
deseados.
Nota: Es importante revisar las uniones que propone el sistema ya que en algunos
casos la unión propuesta es errónea y habrá que modificarla.
El siguiente paso consiste en seleccionar los campos de estas tablas que necesitamos
para nuestro listado. Para ello pulsamos el botón
Un grupo de campos 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 este
InfoSet.
Los grupos de campos se definen con dos dígitos y una breve descripción, que son
totalmente libres. Únicamente sirven para asignar cuáles son los campos que se van a
utilizar de entre los existentes.
Si seleccionamos “incluir todos los campos de tablas” automáticamente SAP nos crea
un grupo de campos para cada tabla, en el que tendremos a disposición de nuestras
querys todos los campos de cada una de las tablas.
Una vez creados los grupos funcionales y asignados los campos que se quieran se
procede a ver si hay inconsistencias en el área funcional y a generarla, esto se realiza
pulsando los botones siguientes:
Aparece la pantalla:
Pulsamos el botón y aparece una pantalla en la cual nos pide el nombre y tipo de
la información adicional que queremos introducir.
Cuando se 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 área funcional) 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.
6. GRUPOS DE USUARIOS
Un grupo de usuarios es un conjunto de usuarios SAP que tienen autorización para
ejecutar queries definidos dentro de un InfoSet determinado.
Transacción: SQ03
Menú: Sistema info –>Informes ad hoc --> Query SAP // Entorno --> Grupos de
usuarios.
Menú: Herramientas --> Workbench ABAP // Utilidades --> Query SAP --> Grupos de
usuarios.
En el campo grupo de usuarios se introduce el nombre del grupo al cual hay que
asignar nuevos usuarios y pulsamos el botón
aparece la siguiente pantalla:
7. CREAR QUERYS
Transacción: SQ01
Menú: Herramientas --> Workbench Abap --> Utilidades --> Query SAP --> Query
Menú: Sistema info --> Informes ad hoc --> Query SAP.
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 SQ01 muestra el último grupo de usuarios que
haya sido utilizado. 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).
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.
Columnas: cantidad máxima de columnas por línea. 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.
Formato tabla
Columnas: Limita el tamaño cuando el resultado del query sale por impresora.
Atributos especiales
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 independientemente desde donde se ejecute, mientras que si no 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 le creó.
Impresión de la lista
Con título estándar: si se marca este campo al imprimir el query aparecerá en la
cabecera de todas las páginas el título de la misma, la fecha y el número de página.
Formato de salida
Son opciones de representación del resultado del query.
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 InfoSet, para poder ver los campos que contienen se han de marcar y
apretar el botón
La pantalla siguiente muestra los campos incluidos dentro del grupo de campos
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
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.
En esta pantalla definimos la lista de la query. Marcando las casillas “campo lista”
indicamos que campos de los distintos grupos de campos van a aparecer en la lista.
Posteriormente, pinchando y arrastrando en las distintas herramientas, vamos
configurando los campos por los que se definiran totales y subtotales, los colores, el
orden de los campos en la lista., etc…
Cr: Este campo solo aparece en los campos numéricos y solo se puede pinchar en
uno, es el campo por el que se realizará la clasificación.
Si creamos el query con alguna lista ranking, al ejecutar la misma aparecerá una
información adicional con el ranking que hayamos definido.
7.3 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 . 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. Los botones
significan:
Cd.: Se marca este flag para que la estadística clasifique los registros en orden
descendente según el criterio de clasificación especificado.
Lg: Se pone la longitud del campo, si queremos que sea diferente de la estándar.
8. EJECUTAR QUERIES
Una vez que el query ya está grabada podemos pasar a ejecutarla en el momento en
que sea necesario. Para ello hay que ir a la transacción SQ01.
Menú: Herramientas --> Workbench Abap/4 --> Utilidades --> Query SAP --> Query
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 mas 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.
Una vez que hemos seleccionado el query que queremos ejecutar hay que pulsar el
botón y nos aparece la pantalla de selección.
Los campos para selección que aparecen son aquellos que se señalaron a la hora de
crear el query (en la tercera pantalla de creación del query).
En esta pantalla introducimos los criterios de selección que queramos para el listado y
pulsamos Se ejecutará entonces el programa del query y aparecerá el listado tal y
como lo hemos definido.