Professional Documents
Culture Documents
Áreas funcionales
Las áreas funcionales nos permiten hacer una preselección de los datos que
aparecerán en los queries. En la dnición del área funcional especificamos qué
tablas intervendrán en el query y qué campos. Es deber del funcional o del
propio cliente crear estas areas funcionales. Se deben crear las area con
suficiente visión de futuro para hacerlas lo más ampliadas posibles.
Para acceder a la pantalla de definición de áreas funcionales, hay que seguir los
siguientes pasos:
1. Entrar en ABAP/4 Workbench (menú Herramientas).
• Base de datos lógica: El área funcional trabaja sobre una base de datos lógica.
• Unión directa de tablas : Una unión de tablas abarca siempre varias tablas que
se leerán con ayuda de una forma especial de la instrucción SELECT. La primera
tabla en la unión es la tabla citada arriba en el campo Tabla. Las demás tablas
pueden indicarse cuando se llama las funciones Continuar (al crear un área
funcional nueva) 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 los que se constan de modo seguido los
campos implicados en la conexión de las tablas.
• Lectura directa : Todos los datos están contenidos en la tabla indicada en el
campo Tabla.
• Obtención de datos mediante programa: La lectura de los datos se describe a
partir de un programa separado.
• Datos secuenciales : Los datos se leen de un pool de datos secuencial.
Al crear un área funcional con unión directa de tablas, aparece una pantalla en la
que se deben indicar las tablas implicadas en la unión y las condiciones de la
unión. Para definir una condición, marcamos dos tablas de la lista de tablas y
hacemos click sobre definir condición. Aparece en el panel de la derecha
(condiciones de enlace) una nueva entrada. Si activamos el botón de especificar
condiciones , a la derecha de la nueva entrada, veremos una pantalla con todos
los campos de las dos tablas implicadas en la unión. En esta pantalla se definen
los campos que han de ser iguales para la unión de las tablas.
A continuación, se especifican los campos de las tablas que serán visibles en el
área funcional. Aparece un nuevo concepto: el grupo funcional. Un grupo
funcional no es más que un conjunto de campos de las tablas implicadas en el
área funcional.
Por un lado, están los grupos funcionales y por otro, las tablas del área
funcional. El procedimiento a seguir es el siguiente :
1. Definir los grupos funcionales. Para esto, hacemos click sobre el icono de crear y
entramos el nombre del área funcional.
2. Un grupo funcional combina diferentes campos en una misma unidad. Se utiliza
para presentar al usuario una preselección de los campos. Esto hace que el usuario
no tenga que pasar por toda la Base de Datos Lógica o por todos los campos de
una tabla para crear un query.
3. Asignar a los campos de las tablas un grupo funcional. Los campos que no tengan
un grupo funcional asignado, no serán visibles a la hora de definir el query. Para
asignar el grupo funcional, se marca el grupo funcional en la parte superior de la
pantalla y después se hace click sobre el icono que hay a la derecha del nombre
del campo de la tabla.
Existe una opción que nos permite incluir codigo fuente dentro de los query
(Coding...) con ello podremos incluir codigo antes y después de la selección de
datos, colocar authority-check o acceder a otras tablas, etc.
Query
Una vez que tenemos el grupo de usuario definido y pertenecemos a él, que el
area funcional ya ha sido creada y los campos ya estan disponibles para extraer
nuestros listados, justo en este momento ya somos capaces de crear nuestros
query. Para entrar en el entorno de definición de queries, se debe seguir el
siguiente procedimiento :
1. Entrar en ABAP/4 Workbench (menú Herramientas).
En ella se define el título del query y una explicación del mismo. Por otro lado, se
define el formato de salida (número de filas y columnas). También se le puede
asignar una variante estándar y bloquear el query para que los demás usuarios
del grupo no puedan modificarlo. Por ultimo, se puede determinar si se quiere un
traspaso de información a algún otro sistema (word, excel, EIS,...). Para pasar a
la siguiente pantalla, hacemos click sobre el icono → que aparece en la barra de
status.
En la siguiente pantalla se elige qué grupos funcionales intervendrán en el
query. Esta pantalla determinará la posibilidad de trabajar con más o menos
campos.
En la siguiente se seleccionan los campos de dichas áreas funcionales que
aparecerán.
Para finalizar con la definición de parámetros generales, la última pantalla nos
permite definir si queremos que en el query se haga selección por campos
mediante select options.
Nota: En el caso de Bases de Datos Lógicas, para que realice correctamente la
selección de datos de una tabla secundaria, como mínimo tenemos que
visualizar un campo de esa tabla en el listado. Si no es así, la query no accede a
esa tabla y, por lo tanto, no realiza la selección correspondiente. La tabla
primaria está relacionada directamente con la secundaria mediante uno o varios
campos en común. Si en lugar de listar el campo de la tabla primaria listamos el
de la secundaria, la selección del resto de campos de esa tabla la hará
correctamente. Sino, ignorará lo que le hayamos informado en la pantalla de
selección. La finalidad de una query es hacer un listado, por lo tanto, el
seleccionar una tabla para luego no listar ninguno de sus campos puede ser el
factor que haga que esta selección de la tabla secundaria no funcione (es decir,
sea ignorada).
A parte de los campos de selección, las queries también nos permiten crear
campos locales. Esto nos permite generar nueva información a partir de los
campos del área funcional sin tener que incluir un campo adicional.
Para definir un campo local tenemos que ir por: Tratar → Campo Local → Crear,
en la pantalla de Selección de campos.
Norma de cálculo
Puedes determinar el valor de un campo de las siguientes
maneras:
• Usando una fórmula.
• Para crearla se utilizan las reglas matemáticas usuales que
contienen operandos y operadores. Si apretamos el botón de
Cálculo complejo podremos ver todas las opciones que nos permite
utilizar a la hora de hacer una fórmula.
• Entrando un valor en la pantalla de selección (Entrada en imagen
de selección)
En este caso, el campo local es tratado como un parametro cuyo
valor está determinado por una entrada en la pantalla de selección.
Esto no se puede realizar con símbolos o iconos. Para forzar un
valor en la pantalla de selección tendremos que activar la opción
de Obligatorio.
Lista básica
Una vez que hemos seleccionado los grupos funcionales y los campos que
vamos a tratar en simplemente bastará con pulsar sobre elbotón de lista básica
para obtener un Query. La lista básica no es más que una forma de obtener un
listado de forma lineal de forma rápida y sencilla. Para comenzar a definir un
query deberemos empezar por:
Estadísticas
Las estadísticas permiten operar con los campos numéricos de las grupos
funcionales utilizados en el query. La estadística se añade, normalmente, a
continuación del query básico. Para acceder a las pantallas de definición de
estadísticas, basta con accionar el botón Estadísticas. En la primera pantalla se
seleccionan los campos que se quieren en la estadística. Es necesario que
hayan campos alfanuméricos y numéricos. Sólo se podrá hacer nueve listados
de tipo Estadísticos en un mismo Query. Como puede haber varias estadísticas,
cada una de ellas debe tener su propio título. Podemos especificar la secuencia
en la que queremos que nos aparezcan los datos y si tendrían que estar
ordenados de forma ascendente o descendente.
Los totales son siempre calculados para campos numéricos. Por esto mismo
también puedes determinar valores medios, porcentajes y total de entradas
seleccionadas.
Para cada campo numérico seleccionado, se debe determinar los siguientes
parámetros :
• Nº : Este parámetro marca el orden de los campos que aparecen en la estadística.
• Cla : Orden de clasificación. Ordena los resultados de salida de la estadística en
función del orden de clasificación.
• Di : Si se quiere que el orden de salida sea ascendente o descendente.
• Rf : Al marcar este parámetro se generarán automáticamente sumas parciales para
ese campo. La estadística se puede ir plegando y desplegando con sumas parciales
de los campos numéricos, tantas veces como campos numéricos con este
indicador activo haya.
• Ctd: Se aplica a los campos numéricos. Si el indicador está activado, en la
estadística aparece la cantidad de entradas contempladas en la línea, es decir, si
una línea es una suma parcial, se podrá ver cuantos registros se han considerado
en la suma.
• Pr: Para que se calcule el promedio del campo numérico.
• %: Este campo se utiliza para visualizar el % que representa una línea respecto al
total.
• Lg : Longitud de salida.
• Red : Factor de redondeo.
En el caso de campos numéricos, también se deben señalar:
• Unidad: en la que queremos los resultados (moneda).
• Texto: texto a visualizar en la estadística.
Otra opción que nos permiten las estadísticas es la de ordenarlas según el
criterio que queramos.
Lista ranking
Además de la lista básica y las estadísticas, en el query se pueden introducir
hasta diez listas ranking. Una lista ranking es un listado ordenado por un
campo numérico. Se especifican los campos alfanuméricos por los que se quiere
agregar el campo numérico. Si indicamos, por ejemplo, un campo producto
alfanumérico y un campo uds. vendidas numérico, el resultado será un listado
ordenado de los productos más vendidos, en los que veremos las unidades
vendidas agregadas por producto.
Para cada campo numérico se define :
• Nº : Posición que ocupa en la fila.
• Cr : Si es el criterio por el que se desea ordenar.
• Asc: Si la lista ranking debe ser ordenada en criterio ascendente o descendente.
• Lg : Longitud de visualización.
• Red : Factor de redondeo.
En los campos alfanuméricos, se determina :
• Nº : Posición que ocupa en la fila.
• Lg : Longitud de visualización.
En los campos numéricos se determina:
• Unidad: moneda en la que está expresado el resultado.
Otras opciones
Una vez tenemos ya creada la query, al realizar el listado otras posibilidades se
nos ofrecen.
Llamar informe
Una query la podemos enlazar con otros reports, otras querys,... Si
estando en la pantalla inicial de modificación de query nos
colocamos en: Pasar a → Asignar informe, Si lo que queremos es
conectar esta query con otra query, debemos informar el grupo de
usuarios y la query a la que queremos llamar.
Si lo que queremos hacer no es asignar una query sino otro tipo de
informe, apretamos la opción de Otro tipo informe y nos saldrán las
distintas opciones que tenemos.
Una query se puede comunicar con otros informes. Si nos
colocamos en una línea del query final y apretamos la opción de
Llamar informe, el query nos pasará la informacion de la línea al
siguiente informe que llamemos, de manera que si el informe
llamado tiene una pantalla de selección con campos que se
visualizan en la query, los valores señalados se traspasarán de un
informe a otro (drill-down).
Los diferentes informes a los que podemos llamar son:
Portafolio de informes
A continuación deberemos informar el informe al que
queremos acceder a través de la query.
Investigaciones
Debemos informar la clase de aplicación a la que va
destinado el query. Aquí tenemos la opción de
comunicar la query con un informe del report writer
entre otros (también con informes de bienes
inmuebles,...). Esta opción la podemos hacer desde
aquí o directamente desde el punto 3.
Informes report writer
Comunicamos la query con un report writer. Para ello
debemos informar el grupo de informes que
queremos ejecutar. En el caso de que sólo hubiera un
report writer o report painter en ese grupo de
informes, en el caso de que ejecutaramos esta
opción, de la pantalla resultado de la query
pasaríamos a la del report painter/writer,
ejecutándose directamente el report señalado.
Transacciones
Informamos el código de la transacción y pasará a
ésta los datos recogidos por la línea de la query
señalada, y ejecutará la transacción directamente. Si
ésta da como resultado un informe, visualizaremos el
informe, si da de alta datos, pues los grabará, etc.
Informe ABAP/4
Informamos el nombre de un report y éste, al igual
que la transacción, se ejecutará con los datos que le
enviamos desde el query. Tanto en el caso de
transacciones como en el de Informes de ABAP/4 hay
que vigilar que se pasen todos los parámetros
necesarios, sino se nos ejecutarán de forma errónea.
ABAP/4-Query
De una query podemos pasar a otra query de
diferente grupo de usuarios, simplemente indicando
el nombre el grupo de usuarios y el nombre del query.
Codigo
Una de las ventajas de hacer un Query es que de forma automática tienes el código fuente del
programa, con lo cual, con unas pequeñas modificaciones podemos disponer de él. No obstante,
su complijidad es tan endiablada que meterse en su código resulta una batalla perdida.