Files
MBS/PROYECTO/otrodir/prd.4gl
T

76 lines
2.0 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. 829-642-9627
MODIFICADA POR : ING. JUAN SOTO
FECHA MOD. : 2/11/2012
OBJETIVO : SE COPIO DE LA FUNCION PRD PARA NO MODIFICAR ESTA FUNCION,
YA QUE PARA EL CLIENTE MARMOTECH PODIA TERNER PROBLEMAS,
EL PROGRAMA QUE ESTA UTILIZANDO ESTA FUNCION ES EL CCPRMT001
---------------------------------------------------------------------------
}
FUNCTION prd(p_fechas,puser)
DEFINE c_ano,a_ano INT,
mes_control,mes_calc,numero_msg,bandera,dia SMALLINT,
p_fechas,fecha_c,comp_fech,comp_fech1 DATE,
puser CHAR(50)
LET a_ano = year(p_fechas)
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 = 58
CALL msg(numero_msg)
LET bandera = 1
END IF
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
DISPLAY " fecha",fecha_c," usuario ",puser," dias ",dia
SELECT a.nom_puesto FROM seg0003 a
WHERE a.usuario = puser AND
a.nom_puesto IN ('ADMINISTRATOR','FINANZAS')
IF STATUS <> NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
DISPLAY "fecha ",fecha_c
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