Sie sind auf Seite 1von 3

BASES DE DATOS LGICAS

9.1. INTRODUCCIN
9.2. CARACTERSTICAS DE LAS BDL
9.3. PROGRAMA DE LA BDL
9.4. COMPORTAMIENTO EN TIEMPO DE EJ ECUCIN

9.1. INTRODUCCIN:
Una base de datos lgica (BDL) es un programa SAP especial abap/4 que lee y
procesa informacin de tablas de una base de datos. Puede incluirse como
atributo de un programa abap/4 de usuario, y se compila conjuntamente con l.
Para ir por men: Herramientas Workbench Abap 4 Desarrollo
Entorno programacin Base de datos lgicas. O bien con la transaccin
SE36. No es muy til crear bases de datos lgicas nuevas, salvo que sean
pequeas modificaciones de las ya existentes en SAP.
El nombre de una base de datos lgica tiene 3 caracteres. Los 2 primeros
identifican la base de datos dentro de una aplicacin o mdulo concreto de SAP,
y el tercero identifica dicho mdulo. Ejemplos: DDF (DD: deudores, F: mdulo
FI), AFI (AF: rdenes mantenimiento, I: mdulo PM de mantenimiento de
plantas).
Para saber si es posible acceder a una tabla mediante una base de datos lgica
existente, ir a Detalles Utilizacin de tablas. Si no es posible, habr que
acceder a la tabla con un SELECT normal al Diccionario de Datos. Para indicar
al programa que se va a usar una base de datos lgica, en la pantalla de
atributos de creacin del programa hay que indicar la BDL a usar (son 2+1
caracteres). Las BDL tienen variables de seleccin propias, con lo que
automticamente aparecern en pantalla de seleccin.
9.2. CARACTERSTICAS DE LAS BDL:
Caractersticas principales: como las BDL estndar estn codificadas
eficientemente, el acceso a la base de datos es eficiente; a travs de ella puede
modularizarse un sistema; son fciles de usar (mediante la sentencia GET) y de
generar; si un conjunto de programas debe leer la misma informacin, los
accesos a la base de datos puede codificarse una sola vez, as como la pantalla
de seleccin (que ser compartida por todos ellos); el chequeo de autorizaciones
es centralizado.
Jerarqua: El acceso a las tablas se hace de forma jerrquica. Se empieza a
leer desde el nivel ms alto de la jerarqua, y se va profundizando. Si hay que
profundizar mucho, es ms eficiente usar un SELECT, que accede
directamente a la informacin de la tabla concreta. Pero las bases de datos
lgicas son muy tiles cuando hay que acceder a varias o muchas de las tablas
de la jerarqua, en lugar de a una sola. As no es necesario codificar en el
programa fuente muchos SELECT anidados, para ir accediendo
consecutivamente a las distintas tablas. De esta forma facilitan las selecciones o
accesos completos a varias tablas.
Eventos: Para usar bases de datos lgicas los eventos son imprescindibles para
que funcione el programa. En el START-OF-SELECTION se lee la base de
datos lgica y se trae la informacin, con los eventos GET sucesivos. Sintaxis
de esta sentencia de evento:

GET [ LATE ] nametable.
Este evento se activa cuando la base de datos lgica hace un PUT (sentencia interna) en
la tabla correspondiente. La opcin LATE indica que debe profundizarse hasta el final
de la jerarqua para que se active el evento GET. Es til por ej. para hacer totales,
sumando todas las entradas ledas.
Elementos (al menos) de una base de datos lgica:
o Estructura: Componente bsico. Refleja las dependencias jerrquicas
entre tablas de la base de datos. La tabla ms general de la BDL es el
nodo raz. Cada nodo (es una estructura del Diccionario de Datos) puede
tener una o ms tablas hijas. Se ven todas las tablas de la BDL.
o Selecciones: Determina la interface con el usuario para cada report (es
decir, la pantalla de seleccin). Los campos que componen dicha pantalla
vienen determinados por las estructuras utilizadas (sentencias TABLES).
Nombre de este programa: DBXXXSEL, siendo XXX la base datos
lgica. Slo son PARAMETERS, SELECT-OPTIONS, ...
o Cdigo fuente: El programa (SAP) de la base de datos lgica consta de
un conjunto de subrutinas (llamadas por GET) que seleccionan los datos
y los pasa al report que usa la BDL. Nombre del programa:
SAPDBXXX, siendo XXX la base de datos lgica.
o Otros componentes: Documentacin, textos especficos del lenguaje,
pantallas de seleccin especficas,
9.3. PROGRAMA DE LA BDL:
El nombre de los programas de las bases de datos lgicas tienen la forma SAPDBxxx,
siendo xxx el nombre de dicha BDL. Por ejemplo, para la DDF, el programa se llamar
SAPDBDDF. Las subrutinas de estos programas interactan con los eventos del
programa abap/4 (como la sentencia PUT (llamada) interacta con la sentencia GET
(llamante) del programa abap/4). Subrutinas:
FORM INIT: Es llamado una sola vez, antes de mostrarse la pantalla de
seleccin.
FORM PBO: Es llamada cada vez que se va a mostrar dicha pantalla.
FORM PAI: Es llamada cada vez que se pulsa ENTER en la pantalla de
seleccin. Se pasan a la subrutina los parmetros FNAME y MARK (definicin
automtica).
FORM PUT_tabla: Es llamada cuando en el report abap/4 se ejecuta la
sentencia GET tabla. Los datos se leen internamente con la sentencia SELECT.
La cesin del control al report principal se hace con la sentencia PUT tabla. Tras
ejecutar PUT_nodoraz, el orden de ejecucin es: AUTHORITY_CHECK (si
existe), el bloque de proceso del GET, las subrutinas PUT_tabla de mismo
nivel o inferior (si existe el GET correspondiente). Al final, si existe, se ejecuta
GETLATE.
FORM AUTHORITY_CHECK_tabla: Es llamada automticamente por
PUT_tabla. Se usa para validar autorizaciones de acceso a esa tabla.
FORM PUT_xxx_MATCHCODE: Es llamada cuando se activa la bsqueda
por matchcode. xxx es el nombre de la base de datos lgica.
FORM BEFORE_EVENT: Se ejecuta antes del evento marcado en la variable
predef. EVENT.
FORM AFTER_EVENT: Se ejecuta despus del evento especificado en
EVENT.
p_VAL, s_VAL, s_LOW_VAL, s_HIGH_VAL: Se ejecutan al pulsar F4 en el
campo concreto p o s de la pantalla de seleccin, siendo p (un
PARAMETERS) y s (un SELECT-OPTIONS) variables.
p_HLP, s_HLP, s_LOW_HLP, s_HIGH_HLP: Se ejecutan al pulsar F1 en el
campo concreto p o s de la pantalla de seleccin, siendo p y s variables.
9.4. COMPORTAMIENTO EN TIEMPO DE EJECUCIN:
El sistema llama a los bloques de proceso (subrutinas del report y del programa de la
base de datos lgica) en un orden determinado. Estas son las fases que se siguen:
Fase PBO:Inicializaciones antes de que aparezca la pantalla de seleccin, 1 sola
vez. SubrutinasINIT y PBO (de la BDL), y eventosINITIALIZATION y AT
SELECTION-SCREENOUTPUT del programa principal. Los procesos PBO
son Process Before Output (se procesan antes de mostrarse la pantalla de
seleccin).
Fase pantalla de seleccin:El usuario introduce valores en las variables de
seleccin.
Fase de ayudas:Si el usuario pulsa F1, ayuda o F4 en la pantalla de seleccin:
o Subrutinas del programa de la base de datos lgica: p_VAL, p_HLP,
s_VAL, s_HLP, s_LOW_VAL, s_LOW_HLP, s_HIGH_VAL,
s_HIGH_HLP.
o Eventos del programa principal: AT SELECTION-SCREEN ON
VALUE-REQUEST FOR { parmetro | criterio_LOW |
criterio_HIGH }.
Fase PAI:Validaciones de los campos de entrada de la pantalla de seleccin.
SubrutinaFORM PAI USING FNAME MARK (de la BDL), y eventosAT
SELECTION-SCREEN campo, AT SELECTION-SCREEN ON END OF
campo, AT SELECTION-SCREEN del programa principal. Los procesos PAI
son Process After Input (se procesan despus de que el usuario rellene los
campos de entrada de la pantalla de seleccin).
Fase de seleccin de datos:SubrutinaFORM PUT_tabla del programa de la
BDL, y eventosSTART-OF-SELECTION, GET [ LATE ] tabla, END-OF-
SELECTION del report Abap/4.

Das könnte Ihnen auch gefallen