Files
MBS/PROYECTOS/otrodir/prd_2.4gl
T

79 lines
1.7 KiB
Plaintext

{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = SUSER_SNAME()
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
RETURN bandera
END FUNCTION