Todos hemos usado los punteros a maestro y los punteros a histórico para relacionar al menos dos tablas entre sí.
También en algún momento nos puede surgir la necesidad de tener un histórico con registros que pertenecen a la misma tabla.
Veamos estas dos situaciones reales.
- En una aplicación tenemos la tabla ARTICULOS . Hay registros de esta tabla que tienen un histórico también formado por otros artículos. Un ejemplo podría ser el artículo vajilla, formado a su vez por artículos platos llanos, platos hondos…
- En una sociedad, tenemos una tabla de SOCIOS. Los socios menores de edad dependen de sus Tutores a la hora , por ejemplo, de emitir los recibos de cuota social, hay socios que dependen de otros socios.
Para solventar esta problemática desde la parte izquierda del vDeveloper, podemos acudir a la potencia de los punteros a maestro, de los índices bien construidos, de los enlaces a histórico y de las actualizaciones.
Si partimos del planteamiento 1, tendremos una tabla ARTICULOS
En dicha tabla hemos incluido, además del capo nombre, el campo PR-COSTE-CALC, en el que se irán acumulando mediante actualizaciones, el coste del artículo como suma de los costes de sus componentes, el campo PRECIO-COSTES, cuyo contenido inicial es el campo PR-COSTE, CALC por si se quiere modificar el precio de coste y no se quiere usar el calculado, y COMPONENTES que nos servirá para saber el número de componentes que tiene el artículo.
Y el campo puntero a maestro ARTICULOS–MAESTRO que nos servirá para indicar si dicho artículo pertenece a otra ficha de artículo, si es escandallo de dicho artículo pero sin dejar de ser un artículo en sí mismo.
Veamos el campo ARTICULOS-MAESTRO
Está enlazado a la tabla maestra ARTICULOS y no tiene contenido inicial. Este es el campo que nos indicará si un artículo forma parte del escandallo de otro artículo.
Ahora creamos el índice que nos permitirá ordenar dentro de una ficha de artículo, sus componentes.
Creamos un índice que llamamos Componentes de, y que está formado por los campos ARTICULOS-MAESTRO que es el puntero a la misma tabla, y su campo CODIGO, para que nos los ordene, dentro de un mismo ARTICULO-MAESTRO por su orden de inclusión.
Sólo nos queda, crear el enlace histórico desde la misma tabla de ARTICULOS y utilizar el puntero para las actualizaciones.
El primer componente de la actualización aumenta en 1 cada vez que hacemos que un artículo sea componente de otro, el segundo componente nos calcula el PR-COSTE-CALC, para acumular el precio de coste total.
Forma rápida, sencilla y potente, sólo usando elementos de la estructura y sin tener que hacer ni un proceso.
LIFE IS SOFT, SOFT IS VELNEO!
Escrito en General | Etiquetas: actualizaciones, índices, enlaces a histórico, punteros a maestro





