Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SAP R/3
MANUAL de QUERYs
Parte I
Elaborado por:
David Nez Martn
236415468.doc
30/06/aa
MANUAL QUERYS
Indice
1 INTRODUCCION...............................................................................................4
2 GRUPO DE USUARIOS....................................................................................5
2.1 CREACION............................................................................................................................................5
2.2 ASIGNACION USUARIOS AL GRUPO ..........................................................................................7
3 AREAS FUNCIONALES....................................................................................9
3.1.1 CREACION DE UN REA FUNCIONAL.....................................................................................9
3.1.1.1 BASE DATOS LOGICA.........................................................................................................10
3.1.1.2 JOIN DE TABLAS..................................................................................................................11
3.1.2 GRUPOS FUNCIONALES............................................................................................................13
3.2 DETALLE DE AREAS FUNCIONALES.........................................................................................15
3.2.1 Campo adicional.............................................................................................................................16
3.2.2 Coding............................................................................................................................................18
3.2.3 Tabla adicional Tablas alias.......................................................................................................19
3.2.4 Creacin de criterios de seleccin y parmetros............................................................................19
3.2.4.1 Criterio de Seleccin...............................................................................................................20
3.2.4.2 Parmetro.................................................................................................................................22
3.3 Grabacin del Area funcional............................................................................................................23
236415468.doc
30/06/aa
MANUAL QUERYS
NOTA INFORMATIVA
Aunque los pantallazos que aparecen en este manual estn en versin 4.0 no creo que
varen mucho de la versin 4.6 B en la que nos encontramos.
A R E A F U N C IO N A L
A R E A F U N C IO N A L
G R U P O F U N C IO N A L G R U P O F U N C IO N A L G R U P O F U N C IO N A L G R U P O F U N C IO N A L
236415468.doc
30/06/aa
MANUAL QUERYS
1 INTRODUCCION
Una query es, bsicamente, generar una consulta a los datos que estn presentes en el
sistema, con el fin de hacer un informe adaptado y personalizado a nuestras necesidades
de informacin.
La ventaja de un QUERY frente a un Report es que el diseo final es ms sencillo de
modificar que en un Report, y que no es necesario tener grandes conocimientos de
programacin.
El inconveniente que presenta es que si el Area Funcional no est bien diseada puede
consumir muchos recursos del sistema, por lo que se recomienda que se determine muy
bien los accesos a las tablas. Las queries son tiles para crear un informe con datos del
sistema, pero tienen el inconveniente que nos tenemos que adaptar a un formato de salida
predefinido, por lo que s necesitamos cambiarlo, tendremos que utilizar otras
herramientas que nos proporciona SAP (Programas a medida).
No hay que olvidar que cuando se crea un Query, por detrs se est generando un
cdigo en ABAP.
Como paso previo a la creacin de la query necesitamos crear en nuestro sistema SAP un
grupo de usuarios y un rea funcional, que nos servir para definir distintos
conceptos generales que utilizaremos a la hora de la ejecucin y la creacin de la
consulta.
De modo general, accederemos a las queries a travs del siguiente camino:
Men General / Herramientas / WorkBench Abap4 / Utilidades / Query ABAP (SQ00)
Query. Introduccin
236415468.doc
30/06/aa
MANUAL QUERYS
2 GRUPO DE USUARIOS
Antes de crear una query debemos disear un grupo de usuarios, con ello, delimitamos
quin est autorizado para trabajar con un rea funcional. Esta opcin permitir asignar
cada Query a los usuarios definitivos de las mismas, restringiendo el acceso al resto.
2.1 CREACION
Se accede a travs de Men General / Herramientas / WorkBench Abap4 / Utilidades /
Query ABAP / Grupos de usuarios (SQ03).
Se nos presentar la siguiente pantalla:
Grupos de usuarios
En primer lugar, deberemos escribir el nombre del nuevo grupo de usuarios que
deseamos crear en el cuadro de texto que aparece tras la etiqueta Grupo usuarios. Lo
ideal sera codificar los grupos de usuarios por mdulos.
A continuacin pulsaremos sobre el botn Crear, con lo que aparecer un cuadro de
dilogo en el que deberemos de introducir texto descriptivo del nuevo grupo de usuarios,
como se muestra en la pantalla siguiente:
236415468.doc
30/06/aa
MANUAL QUERYS
Grupo de Usuarios
Una vez introducido la denominacin, pulsaremos sobre el botn Grabar, para pasar a
la siguiente pantalla, en donde se deber escoger la clase de desarrollo que queremos
asignar a nuestro grupo de usuarios, si no se conoce la Clase de Desarrollo se debera de
preguntar al responsable de Programcin en ABAP.
La clase de desarrollo, servir para ver en que mbito estamos definiendo a nuestro
grupo de usuarios (prueba, produccin, FI, etc..) y pulsaremos sobre el icono Grabar.
Este paso se realiza para que posteriormente podamos transportar el grupo de usuarios
a los diferentes entornos.
Grupo de usuarios
236415468.doc
30/06/aa
MANUAL QUERYS
A continuacin deberemos dar una orden para crear ese nuevo grupo de usuarios en
nuestro sistema
Grupo de usuarios
Una vez ejecutada la orden, se nos presentar el mensaje indicndonos que nuestro
grupo de usuarios ha sido creado.
236415468.doc
30/06/aa
MANUAL QUERYS
Pulsaremos sobre grabar y volveremos a la pantalla anterior.
Grupos de usuarios. Asignar usuarios y reas funcionales
236415468.doc
30/06/aa
MANUAL QUERYS
3 AREAS FUNCIONALES
3.1.1 CREACION DE UN REA FUNCIONAL
Una vez creado el grupo de usuarios, pasaremos a crear el rea funcional, para ello,
accederemos a travs de:
Men General / Herramientas / WorkBench Abap4 / Utilidades / Query ABAP / Areas
Funcionales. (SQ02)
Se nos mostrar una pantalla como la siguiente, con un cuadro en el que aparecern las
reas funcionales ya creadas.
Areas funcionales
Para disear una nueva, escribiremos el nombre que deseamos dar a la nueva rea
funcional y pulsaremos sobre el botn crear. El nombre que asignemos a nuestra nueva
rea no puede coincidir con alguno de los ya existentes, adems sera bueno codificar las
reas por mdulos, dando una idea de las tablas que puede llevar esa query, p.ej:
MM_PEDIDOS, MM_DATOS MAESTROS.
Una vez pulsado el botn crear, nos aparecer una pantalla como la presentada en la
pgina siguiente, en la que primeramente deberemos dar una descripcin del rea
funcional que deseamos crear.
A continuacin deberemos escoger el tratamiento de las tablas que se va a realizar., este
es el paso ms importante.
Las opciones disponibles son:
a) Utilizacin de una base de datos lgica: Es aquella que esta definida por SAP de
manera estndar y permite acceder a informacin disponible en tablas pool y cluster,
las cuales no podran ser analizadas de otra manera.
236415468.doc
30/06/aa
MANUAL QUERYS
b) Lectura secuencial de una tabla: slo se selecciona una tabla que es leda de manera
continuada, registro a registro. Las operaciones se realizan a nivel de cada registro.
c) Join de tablas: es la unin de varias tablas. Para ello se definir una tabla base y
luego se especificarn las combinaciones con las dems tablas.
d) Programa: se utiliza la definicin de tablas elaborada en un programa ABAP/4
Como ya dijimos en la introduccin, la decisin de las tablas que necesitamos y la forma
de lectura de esas tablas es lo ms importante y delicado, sino se tiene algn
conocimiento de programacin sera bueno que esta parte la hiciera otra persona.
3.1.1.1 BASE DATOS LOGICA
Una base de datos lgica, es un compendio de tablas de SAP, que ya vienen designadas
desde el propio sistema, por ejemplo hay una base de datos lgica para tesorera, en la
que aparecen las tablas relevantes para este mdulo.
Con una base de datos lgica, no tendremos que hacer la unin de tablas, sino
nicamente asignar campos a nuestra rea, puesto que la unin viene determinada por
SAP.
Areas funcionales
Una vez escrito el nombre de la base de datos lgica que queremos utilizar, pulsaremos
sobre el botn ejecutar, presentndonos el sistema una pantalla en la que nos aparecern
las tablas que componen esa base de datos lgica, los grupos funcionales y el rea
funcional.
236415468.doc
10
30/06/aa
MANUAL QUERYS
Areas funcionales
236415468.doc
11
30/06/aa
MANUAL QUERYS
En el cuadro Tablas enlazadas introduciremos los nombres de las dems tablas para
hacer el join.
Las opciones que aparecen a la derecha del nombre de las tablas sirven para indicar el
tipo de join.
EN, significa que para un registro de la primera tabla (izquierda) slo se tomar en la
cantidad resultante si en la segunda tabla (derecha) existe un registro conforme a las
condiciones de conexin.
LEFT significa que para cada registro de datos de la tabla (izquierda) se toma en la
cantidad resultante, incluso si no existe ningn registro en la segunda tabla (derecha)
conforme a las condiciones de conexin. En este caso los valores de la tabla derecha
tienen el valor inicial.
Tendremos que seleccionar las tablas de dos en dos (marcando el cuadrado que hay a la
izquierda del nombre de la tabla) y pulsar sobre el botn Definir condicin.
Aparecer una ventana desplegable, en la que nos pide si queremos alternativas para el
join de tablas. Pulsando sobre aceptar aparecern los campos que SAP propone para
realizar el join.
En la pantalla de la pgina siguiente nos aparece un ejemplo de join entre la tabla
VTBFHA y VTBFHAZU.
Areas Funcionales.
Como vemos, nos aparecen marcadas por defecto varias condiciones de unin, que nos
da el sistema SAP, si queremos realizar una nueva nos posicionaremos sobre el campo
que deseemos y pondremos una secuencia, que ser la misma que asignemos al mismo
236415468.doc
12
30/06/aa
MANUAL QUERYS
campo de la tabla izquierda. En nuestro ejemplo hemos asignado el 05 al campo
DUPDAT de las dos tablas.
Si hay alguna de las condiciones propuestas por SAP que no nos interese, pulsaremos
sobre el icono
para borrarla.
Volviendo a la pantalla anterior, podremos hacer lo mismo con el resto de tablas dos a
dos.
Una vez hayamos definido las conexiones para nuestro join volveremos a la pgina de
cabecera de nuestra rea funcional, para crear el /los grupos funcionales.
3.1.2 GRUPOS FUNCIONALES
Un grupo funcional es una agrupacin de campos del rea funcional creada, para
posteriormente incluirlos o no en la/s Querys que se creen basadas en el rea funcional.
Al menos debe de crearse un grupo funcional para el rea funcional, pero pueden
definirse varios grupos funcionales, el criterio para definir ms grupos es puramente
organizativo. Si hay varias tablas es recomendable definirse un grupo funcional por cada
tabla, para que a la hora de crear la query sea ms fcil identificar los campos.
Pasos para crear un grupo funcional:
1) Pulsaremos sobre el icono crear
que aparece a la izquierda de la rama grupos
funcionales en el rbol que se nos presenta en nuestra pantalla.
Aparecer una nueva ventana de dilogo en la que introduciremos el cdigo del grupo
funcional que vamos a crear y una descripcin del mismo.
Areas funcionales-Creacin de grupos funcionales
236415468.doc
13
30/06/aa
MANUAL QUERYS
Asignaremos los campos de la/s tabla al grupo funcional creado de la siguiente forma:
2) Haremos click en el grupo funcional sobre el que queremos trabajar.
3) Mostraremos los campos que hay en las tablas, para ello pulsaremos sobre el icono
de la tabla deseada.
A la izquierda de cada campo de la tabla, hay un signo menos, que indica que no est
seleccionado el campo, si pulsamos sobre este signo menos, se nos transforma en un
signo ms que indicar que hemos seleccionado el campo para nuestro grupo funcional.
Deberemos seleccionar todos los campos que necesitemos para nuestra query.
Nota: Haciendo doble-click sobre el texto de cualquier campo se podr modificar los
textos que se utilizarn en los campos de seleccin y de trabajo de la Query.
En la pgina siguiente se muestra todo lo anterior.
236415468.doc
14
30/06/aa
MANUAL QUERYS
Grupos funcionales. Asignacin de campos
Campos adicionales
Tablas adicionales
Codings
Criterios de seleccin
Parmetros
236415468.doc
15
30/06/aa
MANUAL QUERYS
3.2.1 Campo adicional
Un campo adicional, consiste en incluir campos que no existan en alguna tabla, o campos
con frmulas de definicin propia.
Pasos:
1) Seleccionaremos la tabla, del rea funcional, a la que deseemos incluir un nuevo
campo y pulsaremos sobre el botn Detalle que nos aparece en el men superior.
2) Daremos un nombre al campo que deseamos crear y seleccionaremos la opcin
Cpo. Adicional.
Nota: desde esta ventana dilogo se puede crear en vez de un campo adicional una tabla
adicional o un coding (lneas de cdigo ABAP).
El campo creado aparecer al final de todos los campos de la tabla a la que se haya
asignado.
Grupos funcionales-Creacin de un campo adicional
236415468.doc
16
30/06/aa
MANUAL QUERYS
Formato:
236415468.doc
17
30/06/aa
MANUAL QUERYS
Grupos funcionales. Creacin de campo adicional
3.2.2 Coding
Adicionalmente, se podr incluir cdigos de programa a lo largo de la Query. Con este
fin se activa la opcin de usar coding a nivel de:
DATA
START-OF-SELECTION
236415468.doc
18
30/06/aa
MANUAL QUERYS
GET
GET LATE
END-OF-SELECTION, etc.
Creo que sera bueno indicar algn ejemplo de la utilizacin del cdigo ABAP en estas
partes del report y ver cmo afecta.
Ejemplo: Chequear que los materiales no tengan peticin de borrado, para lo cual el
campo MARD-LVORM debe ser igual a blanco.
236415468.doc
19
30/06/aa
MANUAL QUERYS
La diferencia entre crear un campo como criterio de seleccin, o cmo parmetro es si se
desea que se introduzca un rango de valores en la seleccin (criterio de seleccin) o que
slo se pueda introducir un valor (parmetro) en la pantalla inicial de la Query.
Creacin de un campo como:
3.2.4.1 Criterio de Seleccin
Un criterio de seleccin es un campo que aparecer en la pantalla inicial de la query y
servir para seleccionar un rango de valores del campo en la consulta.
1) Para crear un criterio de seleccin pulsaremos sobre el botn Delimitaciones situado
en el men superior de nuestra pantalla de rea funcional.
2) Una vez pulsado el botn, aparecer una tabla que puede tener los criterios de
seleccin y parmetros preexistentes en el caso de que el rea funcional se haya
creado basndose en una base de datos lgica o por el contrario puede estar esta
tabla vaca, si se ha hecho un join de tablas.
Areas Funcionales. Delimitaciones
debiendo
236415468.doc
20
30/06/aa
MANUAL QUERYS
En la ayuda ABAP se detallan cada una de estas opciones, recomiendo que se utilice la
opcin/es ms adecuadas, porque utilizar estas opciones da calidad a los informes.
236415468.doc
21
30/06/aa
MANUAL QUERYS
Como vemos, es un criterio de seleccin personalizado, por lo que el flag del campo
Std. de la columna de criterios de seleccin estndar no estar activado.
3.2.4.2 Parmetro
El parmetro, a diferencia de el criterio de seleccin no tendr que estar basado en un
campo de las tablas definidas, por lo que su contenido podr ser utilizado para realizar
operaciones en la Query.
Para crear un parmetro en vez de un criterio de seleccin, accederemos de la misma
forma a travs del botn del men Delimitaciones, y seleccionaremos la opcin
parmetro.
Aparecer la pantalla mostrada en la pgina siguiente, donde introduciremos:
236415468.doc
22
30/06/aa
MANUAL QUERYS
Detalles: en esta lnea podremos aadir las siguientes opciones para el parmetro:
DEFAULT f
TYPE typ
DECIMALS dec
LIKE g
MEMORY ID pid
MATCHCODE OBJECT mobj
MODIF ID key
NO-DISPLAY
LOWER CASE
OBLIGATORY
AS CHECKBOX
RADIOBUTTON GROUP radi
FOR TABLE dbtab
AS MATCHCODE STRUCTURE
VALUE-REQUEST
HELP-REQUEST
236415468.doc
23
30/06/aa
MANUAL QUERYS
236415468.doc
24
30/06/aa