tutor de punteros indirectos

14
  Pol. Ind. A Granxa | Rúa D Esquina paralela 3 Edif. vCenter, 36400 Porriño | Pontevedra | España Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 [email protected] | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creación 17/12/2009 16:51:00 1 Tutor de Punteros indirectos, reales y virtuales Tutor de Punteros indirectos, reales y virtuales.................................................................................1  Punteros indirectos reales y virtuales............................................................................................2  Puntero indi rec to real ................................................................................................................2 Esquema de tabl as del tutor ....................................................................................................2 Qué es y cómo se establece el puntero indirecto real...................................................................4  Punte ro indi rec to virtual.............................................................................................................9 Esqu ema de tabl as del tutor ....................................................................................................9 Qué es y cómo se programa un puntero indirecto virtual............................................................10  En resumen............................................................................................................................ 14 Punte ro indir ecto virt ual........................................................................................................14  Puntero indir ecto real .................................................................................................... .......14  

Upload: luienre

Post on 19-Jul-2015

54 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 1/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Tut or de Punt eros indirect os, reales y vir t uales

Tutor de Punteros indirectos, reales y virtuales.................................................................................1 Punteros indirectos reales y virtuales............................................................................................2 Puntero indirecto real ................................................................................................................2 

Esquema de tablas del tutor ....................................................................................................2 Qué es y cómo se establece el puntero indirecto real...................................................................4 

Puntero indirecto virtual.............................................................................................................9 Esquema de tablas del tutor ....................................................................................................9 Qué es y cómo se programa un puntero indirecto virtual............................................................10 

En resumen............................................................................................................................14 Puntero indirecto virtual........................................................................................................14 Puntero indirecto real ...........................................................................................................14 

Page 2: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 2/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Punteros indirectos reales y vi rt uales

Los punteros indirectos se utilizan para relacionar la tabla de datos en curso con otra tabla que no es

maestra de la actual. Habitualmente se trata de tablas que carecen de campo ID (Código) y que por tantono pueden ser definidas como maestras de otras tablas.

Existen dos tipos de enlaces a tabla datos indirecta: el enlace indirecto real y el enlace indirecto virtual. Ladiferencia entre el enlace real y virtual radica en que el primero ocupa espacio en disco y el segundo no,es decir, el real tiene persistencia en disco y el virtual en memoria.

 Además, si es virtual no permite actualizar la tabla apuntada, ha de ser un enlace indirecto real para ello.

Puntero indir ecto r eal

Esquema de tablas del tutor

El esquema de tablas del tutor incluye dos tablas maestras: Almacenes y Artículos, que son tablas quetienen una relación de maestro a plural (1 a n) con Albaranes (por cada Albarán definimos un Almacén) y

Líneas de albarán, que es el plural de Albaranes (por cada línea de albarán definimos un Artículo).Para determinar las existencias de cada Artículo en cada Almacén, tenemos una tabla histórica:Existencias, que guarda un registro por cada Artículo y cada Almacén, y sólo un registro puede tener unvalor para ese binomio.

Desde una línea de albarán, usaremos un puntero indirecto real para apuntar al registro correspondiente(en función del Almacén determinado en el Albarán y del Artículo seleccionado en la línea de albarán) yactualizar el valor de la existencia.

Como la tabla Existencias es de tipo histórico y no tiene campo ID, no puede ser maestra de la tabla deLíneas de Albarán.

Es necesario establecer un puntero indirecto de tipo real, ya que vamos a usar actualizaciones paraescribir el valor, y éstas necesitan persistencia en disco. No podemos usar un puntero indirecto virtual eneste caso.

Page 3: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 3/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Page 4: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 4/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Qué es y cómo se establece el puntero indirecto real

Indirecto real:

Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actualy que se elige en la propiedad Tabla enlazada . En este caso, desde una línea de albarán queremosactualizar la existencia, por lo que seleccionamos la tabla Existencias.

Page 5: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 5/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Este enlace necesita ser resuelto manualmente por el programador; para ello se ha de usar un índice declave única de la tabla a enlazar.

Índice: En esta propiedad tendremos que seleccionar, de la lista de índices que se muestran de la tablaenlazada, el índice de clave única que queramos usar para resolver el enlace. Usaremos el índice

 Almacenes de la tabla Existencias, al que hemos añadido como componente el campo Artículo,configurando el índice como de clave única. De esta forma garantizamos que únicamente habrá unregistro por cada pareja de valores, de Almacén y Artículo, y desde las líneas de albarán apuntaremos aun único registro.

Resolución: Una vez seleccionado el índice en la propiedad anterior en ésta aparecerá la lista de camposque lo componen:

Page 6: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 6/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar elbotón que aparece a la derecha. Al pulsarlo se desplegará una ventana en la que cada fila secorresponderá con un componente del índice seleccionado:

Page 7: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 7/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Cada componente del índice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema

qué dato resuelve cada campo componente del índice de la tabla indirecta. Dicha resolución será definidamediante una fórmula. Para la introducción de la misma se dispone del asistente para edición de fórmulas,para abrirlo pulsar el botón . Una vez resueltos todos los componentes del índice, pulsar el botón

.

Page 8: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 8/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Debemos usar los valores de las líneas de albarán para resolver cuál es el registro de la tabla Existenciascon el que queremos enlazar. Para ello usamos el valor del Almacén que obtenemos del Albarán y el

 Artículo de la propia línea de albarán.

Este puntero será el que usemos en la actualización para apuntar al registro correspondiente a laexistencia.

Esta actualización nos permitirá acumular la cantidad del artículo que definamos en tiempo de ejecuciónpara la línea de albarán en curso, y que permitirá calcular la existencia del artículo tras la operación.

Page 9: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 9/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

Puntero i ndirecto virtual

Esquema de tablas del tutor

El esquema de tablas del tutor incluye dos tablas maestras: Proveedores y Artículos, que son tablas quetienen una relación de maestro a plural (1 a n) con Albaranes (por cada Albarán definimos un Proveedor)y Líneas de albarán, que es el plural de Albaranes (por cada línea de albarán definimos un Artículo).

Para determinar el precio de cada Artículo y cada Proveedor tenemos una tabla histórica: Precios, queguarda un registro por cada Artículo y cada Proveedor, y sólo un registro puede tener un valor para esebinomio.

Desde una línea de albarán, usaremos un puntero indirecto virtual para apuntar al registrocorrespondiente (en función del Proveedor determinado en el Albarán y del Artículo seleccionado en lalínea de albarán) y leeremos el valor del precio.

Como la tabla Precios es de tipo histórico y no tiene campo ID, no puede ser maestra de la tabla de Líneasde Albarán.

Para ello usaremos un puntero indirecto de tipo virtual, ya que únicamente vamos a leer un dato y norequiere escritura alguna.

Page 10: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 10/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

10 

Qué es y cómo se programa un puntero indirecto virtual

Indirecto virtual:

Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actualy que se elige en la propiedad Tabla enlazada . En este caso queremos enlazar con la tabla Precios.

Page 11: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 11/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

11 

Este enlace necesita ser resuelto manualmente por el diseñador; para ello se ha de usar un índice de claveúnica de la tabla a enlazar. Este enlace no tiene persistencia en memoria. El resto de las propiedades acumplimentar son:

Índice: En esta propiedad tendremos que seleccionar, de la lista de índices que se muestran de la tablaenlazada, el índice de clave única que queramos usar para resolver el enlace. En este caso hemos creadoel índice Artículos, compuesto por el campo Artículos y el campo Proveedores, de clave única, por lo quepor cada Artículo tendremos un Precio por Proveedor.,

Page 12: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 12/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

12 

Resolución: Una vez seleccionado el índice en la propiedad anterior en ésta aparecerá la lista de camposque lo componen:

En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar elbotón que aparece a la derecha. Al pulsarlo se desplegará una ventana en la que cada fila se

corresponderá con un componente del índice seleccionado:

Page 13: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 13/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

13 

Cada componente del índice ha de ser resuelto de manera individual, es decir, debemos indicar al sistemaqué dato resuelve cada campo componente del índice de la tabla indirecta. Dicha resolución será definidamediante una fórmula. Para la introducción de la misma se dispone del asistente para edición de fórmulas,para abrirlo pulsar el botón . Una vez resueltos todos los componentes del índice, pulsar el botón

.

En este caso, resolveremos el Artículo con aquél seleccionado en la Línea de Albarán y el Proveedor quehemos definido en la cabecera de Albarán.

NOTA: Para que en en ejecución se genere en enlace, es necesario que se resuelvan todos loscomponentes del mismo, es decir, que no esté vacío ninguno de los campos usados en su resolución.

La diferencia entre un enlace indirecto real y uno indirecto virtual radica en que el primero ocupa espacioen disco y el segundo no, es decir, el real tiene persistencia en disco y el virtual en memoria. Además,tampoco podrán dispararse actualizaciones desde una tabla cuando el enlace indirecto es virtual.

Page 14: Tutor de Punteros Indirectos

5/16/2018 Tutor de Punteros Indirectos - slidepdf.com

http://slidepdf.com/reader/full/tutor-de-punteros-indirectos 14/14

 

Pol. Ind. A Granxa | Rúa D Esquina paralela 3

Edif. vCenter, 36400 Porriño | Pontevedra | España

Telf. (+34) 902 366 382 | Fax (+34) 902 932 324

[email protected] | www.velneo.com 

Tutor de punteros indirectos, reales y virtuales

Fecha de creación 17/12/2009 16:51:00

14 

En r esumen

Puntero indirecto virtual

Un precio se define para un proveedor y un artículo.

Por medio de un índice de clave única nos aseguramos de que sólo existe un registro para cada proveedorde cada artículo.

El índice debe contener los campos enlazados correspondientes al proveedor y el artículo, y ser de tipoclave única.

En una línea de pedido se obtiene el proveedor del pedido y el usuario selecciona un artículo.

Por medio del puntero indirecto virtual leemos el precio correspondiente al proveedor y el artículoseleccionados, guardando el valor del precio en el contenido inicial del campo precio.

Para ello debemos enlazar con la tabla de precios resolviendo el índice de la tabla de precios con losvalores de la línea de pedido correspondientes al proveedor y el artículo.

Puntero indirecto real

Una existencia se define para almacén y un artículo.

Por medio de un índice de clave única nos aseguramos de que sólo existe un registro para cada artículo encada almacén.

El índice debe contener los campos enlazados correspondientes al artículo y al almacén, y ser de tipo claveúnica.

En una línea de pedido se obtiene el almacén del pedido y el usuario selecciona un artículo.

Por medio del puntero indirecto real, lanzamos una actualización contra el registro correspondiente alalmacén y el artículo seleccionados.

Para ello debemos enlazar con la tabla de existencias resolviendo el índice de la tabla de existencias conlos valores de la línea de pedido correspondientes al almacen y el artículo.