funcion que repita un proceso n veces para genera vtos de pago


([N3] Servinfor) #1

Hola en un programa para calcular prestamos y sus vencimientos se debe pagar el préstamo de 1 a 48 meses a partir de una fecha y en el mismo día del mes según el número de vencimientos elegido. Con months y addmonths y condicionales lo puedo crear pero me sale un proceso muy largo.

No domino el crear una función, la función debería hacer:

En base al número de vencimientos en la tabla préstamos debería generar el mismo número de registros en la tabla vencimientos, los importes mensuales de cada vto los cogería de un campo "Importe mensual en la tabla préstamos" y la fecha de vto debería incrementarse mensualmente manteniendo el día. ¿Cómo se haría la función? Gracias


([N2] jpamiesb_1712) #2

Hola
No necesitas mas que añadir lo que te indico en el proceso que tengas
1. Divides el importe total por el Nº Vtos = ImporteVencimiento
2. Multiplicas ImporteVencimiento por el Nº Vtos = ImporteCalculado
3. Le restas al importe total el ImporteCalculado = ImporteUltimoVencimiento
4. Mediante la funcion for
4.1. Le poner como variable MES
4.2. Que empize por 1
4.3. MES < Nº Vtos
4.4. Incrementar 1
5. Le sumas (Meses) a la fecha el contenido de la variable MES = FechaVencimiento
6. Creas un registro con los datos
6.1. Los que correspondan
6.2. En la fecha vencimiento = FechaVencimiento
6.3. IEn el importe = ImporteVencimiento
7. Al final del for, pones
8. Creas un registros con los datos
8.1. Los que correspondan
8.2..En la fecha vencimiento = FechaVencimiento, mas 1 mes
8.3. En el importe = ImporteUltimoVencimiento
Espero te sirva y me haya explicado bien
Saludos
Catarso (Juan)

Un dia mas, un dia menos
Para cuando dice que lo quiere..........................................................jajajajajajajajajaja


([N3] Servinfor) #3

Muchas gracias voy a intentarlo


([N1] Sanz) #4

Servinfor crees que puedes publicar el resultado para que nos sirva de ejemplo a algunos.

Gracias de Antemano.

Roberto Sanz


([N3] Servinfor) #5

Nada más lo logre lo publico a ver si mañana tengo tiempo y me pongo con la explicación de Juan


([N1] Velasco) #6

Buenas.

A ver si te vale esta sencilla función como ejemplo:

En la función recibo varios parámetros como el número de vtos, la fecha del primer vto, el total documento.

El choose para modificar el campo tambien podría ser: choose( (X = NUM_VTOS) ,TOT_DOC - ACU_IMP , TOT_DIV)

Depués con un for genero los distintos vencimientos.

Un saludo.

[attachment=22969,1773]


([N4] apinna.winmotor) #7

Hola,

en la función que te envía Jorge sólo te faltaría controlar que según dices quieres que se mantenga el día de pago, lo tendrás que resolver utilizando la función addMonth en el cálculo de FECH_VTO. Por lo demás creo que más limpio no se puede hacer.

Saludos


([N1] Velasco) #8

Buenas

Es verdad apinna.winmotor, eso no lo había leído.

Lo que habría que poner es: Set (FCH_VTO, addMonths(FCH_VTO, 1) )

Un saludo.