ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Literatura De Barroco


Enviado por   •  14 de Noviembre de 2013  •  322 Palabras (2 Páginas)  •  224 Visitas

Página 1 de 2

Add y Subtract

Las asignaciones que vimos en la sección anterior eran relativamente fáciles, pero

existen casos mas sofisticados. Por ejemplo en la misma transacción de Artículos

tenemos el atributo ArtCnt en donde se quiere mantener cual es el stock que tenemos

de cada articulo.

Sin duda la transacción de Pedidos debe modificar ese valor, porque cada pedido

nuevo aumenta el stock. También existirá alguna otra transacción que hace disminuir

el stock, que podría ser por ejemplo una transacción de Facturación que se realiza

cuando se vende el articulo. Como esta transacción esta fuera del alcance del proyecto

solo estudiaremos la actualización del stock relacionada con la transacción de

Pedidos.

En dicha transacción se debe actualizar ArtCnt, esto se podría hacer con la

Asignación:GENEXUS- DISEÑO DE APLICACIONES

43

ArtCnt = ArtCnt + PedCnt;

Pero no debemos olvidar que en la misma transacción se permite crear, modificar o

eliminar un pedido, y la asignación anterior solo es correcta si se esta creando uno

nuevo, ya que si por ejemplo se está eliminando, la asignación correcta es:

ArtCnt = ArtCnt - PedCnt;

Entonces, para actualizar ArtCnt correctamente se necesitaría también considerar los

casos de modificación y eliminación, pero para evitar todo esto GENEXUS posee la

regla add() que lo hace automáticamente:

add(PedCnt, ArtCnt);

Con esta regla si se esta insertando una línea del pedido se suma la PedCnt a ArtCnt,

si se esta eliminando se resta y si se esta modificando le resta el valor anterior de

PedCnt (que se define como old(PedCnt) ) y le suma el nuevo valor.

Existe una dualidad entre la fórmula vertical SUM y la regla ADD, mas

concretamente se puede decir que un SUM redundante es equivalente a la regla ADD.

Por ejemplo el PedTot se puede definir como:

PedTot = SUM( PedImp ) y redundante

o

add( PedImp, PedTot );

Dado que es común que las fórmulas verticales tengan que estar redundantes para

tener buena performance se recomienda el uso de la regla ADD y no la fórmula SUM.

La regla SUBTRACT es equivalente pero realiza las operaciones contrarias, es decir

cuando se esta insertando resta, en caso de eliminación suma, etc.

...

Descargar como (para miembros actualizados) txt (2 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com