76 lines
2.0 KiB
Plaintext
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 |