Está en la página 1de 44

Prctica dirigida diccionario de datos

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:

Vamos a comenzar con la practica dirigida, comenzaremos creando Dominios para luego pasar a crear los dems objetos.
1.1 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)

Creacin / Modificacin / Visualizacin.

En el men diccionario, introducimos el nombre del Dominio de datos que vamos a crear, en nuestro caso ZMESESXX,

Seleccionamos la opcin Dominios. Pulsamos el botn de Crear (El procedimiento es similar para visualizar Dict y modificar

), tambin podemos acceder a estas opciones a travs del men Objeto

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:

Longitud: Se corresponder al tamao deseado. En nuestro caso pondremos 10. Los elementos del marco Atributos de salida, varan dependiendo del tipo datos seleccionado as por ejemplo para el tipo CHAR tendremos la opcin de minsculas y para un tipo CURR tendremos la opcin del signo Longitud de salida: Representa la longitud en la que se va a representar el valor a la hora de imprimirse en un informe, visualizarse en una pantalla, etc. (Dejamos en valores propuestos 10). Rutina de conversin: Es una referencia a los procedimientos de conversin entre el formato interno del dato y su representacin externa. (En blanco) Flag de Minsculas: Se permite la utilizacin de letras minsculas (No marcado).

En la pestaa de mbito Val:

Representa el rango de datos vlidos que puede tomar dicho atributo (El sistema realiza comprobaciones automticas verificando que el valor introducido por pantalla est dentro de los valores vlidos). Para definir estos valores (no siempre es necesario) hay dos posibilidades: - Que estos valores estn almacenados en una tabla, en cuyo caso introduciremos aqu el nombre de la tabla. - O bien fijar los valores directamente, bien valores individuales, bien rangos o intervalos de valores.

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 (Ctrl. + F3).

utilizado pulsaremos el botn de activar

(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 (F11), verificamos (CRL + F2) y activamos (Ctrol + F3).

(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

1.2 Elementos

de datos.

Si el dominio representa la parte tcnica de un atributo, el elemento de datos representa la parte funcional del atributo, es decir, su descripcin semntica.

Creacin . En el men diccionario:

/ Modificacin

/ Visualizacin

Seleccionamos la opcin Tipo de Datos, introducimos el nombre del Elemento de datos que vamos a crear, (en nuestro caso ZMESFAXX).

Pulsamos la opcin de Crear

Seleccionamos la opcin Elem. Datos, llegaremos a la siguiente pantalla:

Descripcin breve: Introduciremos una descripcin representativa del objeto. (Mes de la factura). En la pestaa Tipo de Datos: Opcin Tipo elemental: Dominio: Dominio al que hace referencia el elemento de datos. (ZMESESXX el que creamos antes). 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 caso lo dejamos en blanco.)

En la pestaa Denom. Campo: Estos campos corresponden a la descripcin del objeto, estos, son los textos que se mostrarn en los diferentes lugares donde se hagan referencia al campo que utilicen el elemento de datos , por ejemplo en cabeceras de informes al visualizar contenidos de tablas, en pantallas El campo longitud representa el espacio en el que se va a escribir el texto.

(En nuestro caso:

Mes Fac., Mes de factura, Mes de la factura.

En el campo longitud pondremos los valores propuestos: 10, 15, 20). Una vez completado, grabamos (Ctrl. + F3). (F11), verificamos (Ctrl. + F2) y activamos

(Crearemos los siguientes elementos de datos :)

Elem. Datos ZNCLIEXX ZNOMBXX ZAPEL1XX ZAPEL2XX ZNFACTXX ZFECHAXX ZIMPNTXX

Dominio ZNCLIEXX ZNOMBXX ZAPELLXX ZAPELLXX ZNFACTXX ZFECHAXX ZIMPNTXX

Descripcin Nmero de cliente Nombre cliente Primer Apellido Segundo Apellido Nmero de factura Fecha factura Importe neto

1.3 Creacin de una tabla. Una tabla representa un conjunto de atributos de una entidad. Esta formada por campos que se corresponden con cada uno de los atributos. Cada uno de ellos har referencia a un elemento de datos. Creacin . / Modificacin / Visualizacin

En el men diccionario introducimos el nombre de la tabla que vamos a crear , en nuestro caso ZCLIENXX, seleccionamos la opcin Tablas y pulsamos la opcin de Crear.

Descripcin breve: Descripcin significativa de la tabla. (Maestro de clientes)

Pestaa Entrega y Actualizacin: 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). (Marcamos con una X)

Pestaa Campos: Nombre campo: Nombre del campo. Clave: Indica si el campo forma parte de la clave primaria de la tabla. Un campo o conjunto de campos son clave en una tabla si determinan de forma unvoca un nico registro de dicha tabla. Toda tabla tiene que tener clave primaria.

Tipo de datos: Nombre del elemento de datos que describe al campo. (*) Tipo y longitud: Tipo de dato y longitud. (*) Tabla de Verificacin.: 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 (lo veremos 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 la 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.

Aadimos a la tabla los campos:

Campo MANDT BUKRS NCLIE NOMBR APEL1 APEL2 FNACI

Cl. X X X

Elem. Datos MANDT BUKRS ZNCLIEXX ZNOMBXX ZAPEL1XX ZAPEL2XX

Tipo

Long

Descripcin Mandante Sociedad N de identificacin cliente Nombre cliente Primer apellido Segundo apellido

DATS

Fecha de nacimiento

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 nuestro ejemplo seleccionaremos APPL0) Categora tamao: Determina el nmero aproximado de registros que va a albergar la tabla. (Seleccionamos tamao 3)

Una vez completados, pulsamos el botn verificar (F11). Volveremos a la pantalla inicial con el botn activamos la tabla 1.3 Creacin (CRL + F3).

(Ctrl. + F2) y grabamos botn (F3) verificamos (Ctrl. + F2) y

de 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: Pulsamos la opcin de men Pasar a ndices o el botn

Al pulsar la opcin Si aparecer la ventana donde nos pide un identificador para el ndice. (Pondremos ZXX).

A continuacin aparece la pantalla donde se introducen los campos que forman en ndice.

Descripcin breve: Descripcin del ndice. (ndice por 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. (Marcamos el ndice como no nico). Campos: Campos que forman el ndice. Pondremos el nombre de los campos o bien podemos seleccionarlos mediante el botn seleccionaremos los campos MANDT y FNACI). . (En nuestro caso

Cuando se han completado los datos grabamos activamos (Ctrl. + F3).

(F11), verificamos

(Ctrl. + F2) y

Para modificar el ndice pulsaremos el botn los ndices existentes :

nos mostrar una ventana con

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).

1.4 Visualizar / Modificar Contenido de tabla. Una vez que la tabla est definida, podemos almacenar informacin para ello dentro de la pantalla de definicin de la tabla seleccionamos la opcin de men Utilidades Contenido tablaRegistrar entradas

aparecer una pantalla en la que introducir cada uno de los registros su caso se mostrara los campos de su tabla ZCLIENXX:

Introducimos los datos y pulsamos

(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

visualizaremos el contenido de la tabla en forma de listado.

Desde esta pantalla podremos, crear nuevas entradas y borrar (Entrada en Tabla Borrar ) las existentes.

y visualizar

, modificar

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).

1.5 Vistas

/ Dilogo de actualizacin.

Un dilogo de actualizacin de una tabla es un conjunto de programas cuya utilidad es el mantenimiento del contenido 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 caso pondremos ZGXX). Tipo de actualizacin: Marcar uno o dos niveles har que se generen una o dos pantallas de mantenimiento. Si marcamos un nivel solamente se generar una pantalla (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 llevar a la siguiente ventana nos

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).

(F11) y retornamos a la pantalla anterior

Para introducir entradas y visualizar el contenido de la tabla seguiremos los mismos pasos que en el apartado anterior. (Veremos cmo las pantallas han cambiado ya que ahora se vern las pantallas de dilogo generadas)

1.6

Claves Externas.

Un campo de una tabla tiene asociada una clave externa cuando los valores posibles que puede tomar el campo en dicha tabla, han de estar en otra tabla/s que llamaremos tabla maestra.

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 MANDT BUKRS NFACT NCLIE FECHA MESFA IMPNT MONED

Cl. X X X

Elem. Datos MANDT BUKRS ZNFACT XX ZNCLIE XX ZFECHAXX ZMESFAXX ZIMPNTXX WAERS

Tipo

Long

Descripcin 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:

Descripcin Breve: Descripcin de la clave externa. (Pondremos Maestro de clientes ). Tabla de verificacin: Tabla maestra que contiene el campo con los valores vlidos (Pondremos ZCLIENXX).

Una vez indicada la tabla, 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. Nos devolver el mensaje

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.z 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.

(En nuestro caso: ZCLIENXX-MANDT = ZFACTUXX-MNADT ZCLIENXXBUKRS = ZFACTUXX-BUKRS) ZCLIENXXCLIEN = ZFACTUXX-CLIEN).

Campos Vista: Se seleccionan los campos deseados. Podemos renombrar el campo en la vista ser el que pongamos en Campos Vista. (Por defecto ser el nombre original del

campo seleccionado). (En nuestro caso 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 (F11), verificamos (Ctrl. + F2) y activamos (Ctrl. + F3).

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.

1.7 Matchcode. (Ayudas para bsqueda) Un matchcode es un instrumento de bsqueda de registros almacenados en el sistema. Permite en pantallas de seleccin filtrar la informacin existente por determinados criterios para facilitar la bsqueda. Por ejemplo no sabemos el DNI de una persona pero si su nombre, mediante este, podremos obtener el DNI.

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 F3). 1.8 Objetos

(F11), verificamos

(Ctrl. + F2) y activamos

(Ctrl. +

de bloqueo.

Sirven para controlar la concurrencia de procesos sobre un mismo objeto, siempre estn asociados a tablas del diccionario. Un objeto de bloqueo es un semforo sobre una tabla. Cuando se define un objeto de bloqueo se generan automticamente dos funciones que controlan dicho semforo: - ENQUEUE_Nombre: Controla la peticin de bloqueo sobre el objeto. - DEQUEUE_Nombre: Controla la liberacin del bloqueo sobre el objeto. Los argumentos con los que se defina el objeto de bloqueo permitirn que se controle la totalidad de registros de la tabla, un conjunto de ellos un nico registro.

Bsicamente el funcionamiento es el siguiente: Necesitamos que dos procesos no compartan un objeto de forma concurrente, por ejemplo que dos usuarios no accedan a la misma transaccin simultneamente, lo que haremos ser programar un objeto de bloqueo, y al inicio de la transaccin podremos la llamada a la funcin ENQUEUE_XXXX si el recurso esta ya siendo utilizado (encontramos semforo rojo), no podremos bloquearlo y podremos obrar en consecuencia, mostrando un mensaje y terminar , mostrar una opcin de reintento Si se puede bloquear el objeto ser seal que no hay otro proceso utilizndolo (semforo verde) por tanto el proceso puede continuar (pondr el semforo en rojo para otros procesos), antes de terminar el proceso se deber llamar a la funcin DEQUEUE_XXXX para liberar el objeto que se ha bloqueado (debe poner el semforo en verde para que otros procesos puedan utilizarlo.

Para crear objetos de bloqueo, en la pantalla principal del diccionario de datos, seleccionamos la opcin Objeto de bloqueo (En nuestro caso, 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.

(Dejamos los valores por defecto)

Una vez completados todos los campos, grabamos F2) y activamos (Ctrol + F3).

(F11)., verificamos

(Ctrl. +