1.1 Introduccin.
El Diccionario de datos lo componen todas las definiciones de datos, tipos de datos as como las tablas de la base de datos en la que se almacenan los datos. El diccionario, lo componen todos los objetos tanto los Estndares como los desarrollados a medida. Para llegar al men de gestin del diccionario: Ruta de acceso: (En el men principal de SAP) Herramientas Workbench ABAP4 DesarrolloDictionary (SE11). Llegaremos a la pantalla principal del diccionario:
1.2 Dominios.
Un dominio es el objeto que define las caractersticas tcnicas de un atributo. Mediante el dominio se definen el tipo de datos, longitud, valores posibles, propiedades de salida (Por pantalla, impresin)
modificar ), tambin podemos acceder a estas opciones a travs del men Objeto Dict Llegaremos a la siguiente pantalla:
En la pestaa Definicin: Descripcin breve: Descripcin del dominio a crear, ha de ser un texto explicativo del dominio. En nuestro caso escribiremos
Meses de Ao.
Tipo de datos: Seleccionaremos uno de los tipos existentes eligiendo el que mejor se adapte a las caractersticas del objeto que estamos definiendo. En nuestro caso seleccionaremos
CHAR
Los tipos de datos existentes se pueden visualizar (F4) nos mostrar la siguiente ventana:
Como vemos, podemos introducir valores fijos junto con su descripcin as como introducir intervalos de valores introduciendo el lmite inferior y superior. Una vez completados todos los campos deseados grabamos el dominio mediante la opcin grabar (F11)
Cuando grabemos por primera vez (no as en las modificaciones) nos preguntar por la clase de desarrollo a la que pertenece el objeto. La clase de desarrollo sirve para agrupar objetos pertenecientes a una misma aplicacin y de esta manera poder transportar los objetos. Utilizaremos la clase de desarrollo $TMP que es la correspondiente a los objetos locales y pulsamos el botn de grabar o bien pulsamos directamente el botn que asignar directamete la clase de sarrollo temporal (Esto es extensible a todos los objetos posibles , dominios , elementos de datos , tablas , programas ) . Una vez grabado el dominio, verificamos que no contiene errores para ello pulsamos el botn de verificar (Ctrl. + F2), posteriormente ser necesario activarlo para poder ser utilizado pulsaremos el botn de activar (Ctrl. + F3). (Es necesario activar los objetos que se crean ya que hasta que no son activados no podrn ser utilizados en otros objetos).
La modificacin de un dominio, se hace de manera similar, pondremos el nombre del dominio a modificar y pulsaremos la opcin de modificar, una vez realizadas las modificaciones oportunas a las caractersticas del dominio grabamos (Ctrol + F3). (F11), verificamos (Ctrl. + F2) y activamos
(Crearemos los siguientes dominios:). Dominio ZNCLIEXX ZNOMBXX ZAPELLXX ZNFACTXX ZFECHAXX ZIMPNTXX Tipo CHAR CHAR CHAR CHAR DATS CURR Long. 10 20 25 10 8 13 Descripcin Nmero de cliente Nombre cliente Apellidos Nmero de factura Fecha Importe
Descripcin breve: Introduciremos una descripcin representativa del objeto. (Mes de la factura). En la pestaa Definicin: Opcin Tipo elemental: Dominio: Dominio al que hace referencia el elemento de datos.
(ZMESESXX).
Tipo Instalado: Tipo de datos y longitud con el mismo significado que el que se define en los dominios. ID parmetro: Permite referenciar a un parmetro de memoria SAP. Ser til para mostrar valores por defecto en pantallas, ya que este campo se completar con el valor que tenga el parmetro de memoria SAP al mostrar la pantalla. (En nuestro
(En nuestro caso: Mes Fac., Mes de factura, Mes de la factura. En el campo longitud pondremos los valores propuestos: 10, 15, 20).
(F11), verificamos
(Ctrl. +
(Maestro de clientes)
Pestaa Atributos: Clase de entrega: Indica quin es el responsable del mantenimiento de la tabla, si es una tabla de parametrizacin, (Pondremos de tipo A (Aplicacin)). Permitida Actualizacin tabla: Habilita/ Deshabilita la posibilidad de que el contenido de la tabla pueda ser modificado en la transaccin de visualizacin del contenido de la tabla. (Si no se marca no se podrn modificar los registros de la tabla por esta transaccin).
Tabla de Verificac.: En est tabla aparecer un * cuando el elemento de datos introducido, haga referencia a un dominio que tenga una tabla de valores permitidos, o bien cuando se asocie una clave externa (Visto ms adelante). Descripcin breve: Descripcin del campo. (*) (*) Podemos crear campos en la tabla que no necesariamente han de estar vinculados a un elemento de datos, si no que directamente le podemos asignar un tipo, longitud y descripcin. Mediante el botn de esta manera se habilitan para entrada estos campos. Para volver a introducir tipos de datos pulsaremos nuevamente esta opcin. (Aunque existe esta posibilidad, no es muy recomendable). Pestaa Campos moneda/cantidad: TabRef y Cpo Ref.: Solamente los tipos de datos de importe (CURR) y cantidad (QUAN), necesitan ser referenciados a otros campos del diccionario. Para ellos es obligatorio completar estos valores (tabla + campo). Estos campos de referencia debern de ser del tipo Moneda (CUKY) para importes y Unidad (UNIT) para cantidades De esta forma, cuando se visualicen datos (en pantallas, pantallas de seleccin) sern formateados con el valor que contenga el campo al que han sido referenciados.
DATS
Nota: El campo MANDT, mandante, se aade como un atributo en las tablas de esta forma, se pueden tener varias colecciones de datos distintas segn el mandante. En las selecciones, actualizaciones de la tabla este campo es trasparente ya que tendr siempre el valor indicado al iniciar la sesin en el sistema. (No es obligatorio definir el mandante en todas las tablas aunque si es lo ms habitual). Una vez completados todos los campos, grabamos la tabla (F11). Posterioremente ser necesario completar las definiciones tcnicas de la tabla para ello seleccionaremos la opcin de men Pasar a Opciones tcnicas o el botn . Aparecer la siguiente pantalla , donde hay que completar los campos:
Clase Datos: Con la clase de datos se define de forma lgica el mbito fsico en la base de datos en el que se grabar la tabla. Este lugar fsico donde se ubicar la tabla se determinar en funcin del tipo de utilizacin de la tabla, es decir, predominio de actualizaciones consultas. Por ejemplo una tabla con datos maestros sufrir pocas actualizaciones y muchas consultas (Para
tamao 3)
Una vez completados, pulsamos el botn verificar (Ctrl. + F2) y grabamos botn pantalla inicial con el botn + F2) y activamos la tabla (F11). Volveremos a la (F3) verificamos (Ctrl. + F3). (Ctrl.
1.4.2 ndices.
Un ndice es la ordenacin de los registros de una tabla, por uno o varios de los campos que la componen Por tanto la definicin de un ndice consisten en la enumeracin de los campos que lo componen. Para crear un ndice a una tabla, en la pantalla:
Al pulsar la opcin Si aparecer la ventana donde nos pide un identificador para el ndice. (Pondremos Z01).
A continuacin aparece la pantalla donde se introducen los campos que forman en ndice.
fecha de nacimiento.)
Indice nico / no nico: Si marcamos la opcin ndice nico haremos que el ndice sea nico, es decir que no se podrn repetir entradas iguales en la tabla para los campos que formen el ndice. En nuestro ejemplo si marcamos el ndice como nico no se podrn insertar en la tabla dos clientes que nacieran el mismo da.
Para modificar el ndice pulsaremos el botn mostrar una ventana con los ndices existentes :
Podremos seleccionar uno de los existentes para modificarlo o crear uno nuevo En general los ndices permiten acelerar las operaciones de consulta, pero en contraposicin ralentizan las actualizaciones ya que cada actualizacin de alguno de los registros de la tabla ha de actualizar el/los ndices de la misma. Por tanto a la hora de crear ndices hay que valorar bien su utilidad y repercusiones. Toda tabla est ordenada por los campos clave, luego hay un ndice implcito por estos campos, y no tendr sentido definir un ndice con los todos los campos clave. (En el ejemplo sera absurdo definir un ndice con los campo MANDT, BUKRS y NCLIE).
(F11).
Para visualizar los registros de la tabla seleccionaremos la opcin de men UtilidadesContenido tabla Visualizar. Aparecera una pantalla de seleccin de la tabla donde se podrn indicar los criterios de bsqueda.
Pulsando listado.
Desde esta pantalla podremos, crear nuevas entradas visualizar , modificar ) las existentes.
Existen otras formas de llegar a la visualizacin del contenido de una tabla sin pasar por la transaccin del diccionario de datos. Con la transaccin SE16, indicaremos el nombre de la tabla y llegaremos directamente a la pantalla de seleccin de datos de la tabla. Con la transaccin SM30 (slo si hemos generado las vistas de dilogo de actualizacin de la tabla).
Para generar el dilogo, la tabla ha de estar activada. Una vez activada seleccionamos la opcin de men Utilidades Generador Actualiz.Tab. llegaremos a la siguiente pantalla:
Grupo de autorizaciones: Mediante este campo, se puede controlar la seguridad sobre el mantenimiento de la tabla, es decir, limitar los usuarios que puedan modificar el contenido de la tabla. Solamente podrn realizar modificaciones aquellos usuarios que tengan autorizacin sobre el grupo de autorizaciones indicado. Si deseamos no controlar la autorizacin pondremos en este campo el valor por defecto &NC&. (En nuestro caso pondremos
este valor).
Grupo de funciones: Es necesario indicar un grupo de funciones en el que se incluirn las funciones, dynpros y dems objetos del dilogo de actualizacin. Aunque podemos indicar aqu cualquier grupo de funciones ya existente, es conveniente indicar uno nuevo o bien un grupo que contenga una funcionalidad similar, el dilogo de actualizacin de otra tabla, por ejemplo. (En nuestro
(imagen resumen) que muestra el contenido de todos los registros de la pantalla, si dos niveles adems de la pantalla anterior (imagen resumen) se genera una segunda (imagen sencilla) con el detalle de cada uno de los registros. (Seleccionamos dos niveles). Imgenes actualizacin: Representan el nmero de dynpro que se asignar a cada una de las dos pantallas que se generan. Podemos indicar dos nmeros de dynpro que no existan en grupo de funciones elegido aunque existe una utilidad para que el sistema elija de manera automtica estos valores para ello pulsamos el botn nos llevar a la siguiente ventana
Con la primera opcin nos propondr unos nmeros no existentes. Las otras opciones permiten visualizar los n todava libres y los ya asignados. Al seleccionar la primera opcin volveremos a la pantalla anterior, donde se habrn informado los campos de la imagen resumen y sencilla. Pulsamos el botn crear (Si el grupo de funciones indicado no esta creado, nos pedir una clase de desarrollo pondremos seleccionaremos objeto
local). Grabamos
(F3).
Para introducir entradas y visualizar el contenido de la tabla seguiremos los mismos pasos que en el apartado anterior. (Veremos como las pantallas han cambiado ya que ahora se vern las pantallas de dilogo generadas)
Vamos a crear la siguiente tabla teniendo en cuenta las indicaciones que se detallan a continuacin para los campos NCLIE e IMPNT Nombre tabla: ZFACTUXX:
Campo Cl. Elem. Datos Tipo Long Descripcin
X X X
Mandante Sociedad N de factura Nmero de cliente Fecha de la factura Mes de la factura Importe neto de la factura Clave de moneda
En esta tabla el campo NCLIE tendr unos valores limitados a los existentes en la tabla maestro de clientes. (No deberamos tener facturas de clientes que no existen) Para
asociar esta clave externa, situados sobre este campo seleccionamos la opcin de men Pasar a Claves Externas o botn nos aparecer la ventana:
Seleccionamos la opcin Si y no la pantalla se completar con los campos claves de la tabla intoducida :
Cardinalidad: La cardinalidad entre dos tablas, representa el grado de la relacin entre las mismas, es decir, cuantas ocurrencias de una tabla estn relacionadas con una entrada de la otra. Por ejemplo en la relacin entre madres e hijos la cardinalidad ser 1 a N ya que una madre puede tener cero ms hijos pero un hijo tendr una y solamente una madre. Por tanto introduciremos aqu los valores oportunos en funcin de la relacin entre las tablas. (En
nuestro caso seleccionaremos 1: CN ya que una un cliente puede tener varias facturas, pero una factura nicamente puede pertenecer a un cliente).
Una vez introducidos lo valores oportunos verificamos (Ctrl. +
F2) validamos . Podemos ver como se indica el valor de la tabla en la columna de tabla de verificacin.
En esta tabla tenemos un campo IMPNT que es de tipo importe (CURR) por tanto es necesario referenciarlo. Para ello podemos seleccionar la pestaa Campos moneda / Cantidad) e informar directamente los campo TabRef y CpoRef. o bien situados sobre el campo hacemos Doble-Click (F2) aparecer la ventana donde tambin podemos indicar estos datos Tab. Referencia: Nombre de la tabla. (Pondremos
ZFACTUXX).
Cpo. Referencia: Campo de la tabla indicada.
(Pondremos Moned).
De esta manera hemos referenciado el importe IMPNT a la moneda MONED.
1.5 Estructuras.
Una estructura es similar a una tabla en cuanto a su definicin pero con la diferencia que una estructura no puede albergar registros. Una estructura es simplemente la definicin de una entidad. Para crear una estructura, desde la pantalla de diccionario, seleccionamos la opcin Tipo de datos ponemos el nombre de la estructura a crear (En nuestro caso ZDATPERXX) y pulsamos crear, seleccionamos la opcin Estructura. Llegaremos a la pantalla:
Donde introduciremos los campos y su definicin, bien a travs del campo elemento de datos o bien introduciendo el tipo, longitud y descripcin (Del mismo modo que en la creacin de tablas).
(Introduciremos, los campos Nombr, Apel1, Apel2, con sus respectivos elementos de datos ZNOMBRXX, ZAPELLXX. En el texto pondremos Datos personales). 1.6 Vistas.
Una vista es una particularizacin de una o varias tablas en la que se pueden seleccionar uno o varios de los campos de las tabla/s. Por ejemplo podemos realizar una vista para seleccionar nicamente algunos campos de una tabla pero principalmente utilizaremos vistas para obtener datos de tablas relacionadas. Bajo una vista podemos unir dos o ms tablas y poder ver la interseccin entre dichas tablas como si se tratar de una nica tabla. Cuando se trata de una vista de ms de una tabla, es necesario definir las condiciones por las que se unen las tablas, es decir, los campos de interseccin de las tablas. Las vistas no contienen datos sino que los datos se obtienen en tiempo de ejecucin al realizar consultas sobre ellas.
Por ejemplo: Si quisiramos ver todas las facturas de un cliente (Nombre y primer apellido), deberemos realizar una interseccin entre la tabla de clientes y la tabla de facturas para obtener una vista con los campos: Facturas/ Cliente.
Campo NFACT NCLIE NOMBR APEL1 IMPNT MONEDA Descripcin N de factura N de cliente Nombre cliente Primer apellido Importe Neto Moneda
Crear/Modificar/Visualizar.
En la pantalla principal del diccionario de datos ponemos el nombre de la vista a Crear (ZFACLIXX) seleccionamos Vistas y pulsamos el botn crear. Seleccionaremos el tipo Vista de base de datos. Llegaremos a la pantalla:
Tablas: Seleccionaremos las tablas de las que se desee obtener informacin. (En nuestro caso la tablas
ZCLIENXX y ZFACTUXX).
Condiciones Join: Definen los campos por los que se realiza la interseccin entre las tablas seleccionadas. Para indicar las relaciones podemos utilizar el botn o escribir directamente las relaciones.
NFACT, NCLIE, IMPNT y MONEDA de la tabla ZFACTUXX y NOMBR y APEL1 de la tabla ZCLIENXX).
Para facilitar la seleccin de campos de una tabla, situados sobre la tabla pulsamos el botn donde marcaremos los campos deseados , una vez seleccionados aparecern automticamente en la pantalla. Una vez completada la vista grabamos (Ctrl. + F3). (F11), verificamos (Ctrl. + F2) y activamos
Para ver el contenido de la vista seleccionamos el menu Utilidades Contenido. Aparecera la pantalla de seleccin de la vista de la misma forma que en la visualizacin de los datos de una tabla.
Crear/modificar/Visualizar:
En la pantalla principal del diccionario seleccionamos la opcin Matchcode (Ayudas de bsqueda) introducimos el nombre del matchcode a crear, (ZCXX), y pulsamos el botn de crear, seleccionamos el tipo para ayuda elemental, llegaremos a la pantalla:
Descripcin breve: Descripcin del matchcode (Podremos Bsqueda de clientes). Mtodo de seleccin: Nombre de tabla o vista del diccionario de datos de donde se obtendrn los datos a mostrar en la ayuda. (Pondremos ZCLIENXX). Parm.Ayuda busq: Formado por cada uno de los campos que se utilizarn para la bsqueda. IMP: Flag de parmetro EXPORT, este campo se utilizar como campo en el que informar valores de condicin para la bsqueda de registros. EXP: Flag de parmetro IMPORT, este campo se utilizar como parmetro de salida, es decir, se volcar el valor del registro seleccionado sobre el campo. P.I: Posicin del campo para lista de aciertos, indica la posicin que ocupar el campo en la ventana de ayuda donde se mostrarn los registros seleccionados. (Si se indica 0 o Blanco, significar que el campo no se muestra en la lista de aciertos). PoS: Posicin del campo para la pantalla de condiciones de la seleccin. V.s: Valor no modificable en la seleccin. Valor Propuesta: Valor de propuesta para la seleccin.
(Seleccionaremos el campo NCLIE, NOMBR y APEL1 como campos de la bsqueda , seleccionaremos el NOMBR y APEL1 como campos para condicin y NCLIE como parmetro EXPORT) .
A continuacin grabamos activamos (Ctrl. + F3). (F11), verificamos (Ctrl. + F2) y
vamos a crear un objeto de bloqueo para la tabla ZCLIENXX, escribiremos EZCLIENXX). Tras pulsar la opcin de crear, nos
aparecer la pantalla:
Descripcin breve: Descripcin del objeto de bloqueo. (Bloqueo maestro clientes) En la pestaa Tablas. Nombre: Nombre de la tabla (ZCLIENXX en nuestro
caso).
Modo de Bloqueo: Modo en el que se realiza el bloqueo, lectura, escritura, (E) En la pestaa Parm.bloqueo. Parm.bloqueo: Corresponden a los parmetros del argumento de bloqueo.
(Ctrol + F3).