Files
MBS/PROYECTO/codir/coprmt013.4gl
T

117 lines
3.4 KiB
Plaintext

{
============================================================================
PROGRAMA : COPRMT013
OBJETIVO : BORRAR LAS ORDENES DE COMPRAS DE UN ANO ESPECIFICO
PROGRAMADOR: JUAN F. SOTO
FECHA : DICIEMBRE 19, 1994.
============================================================================
}
GLOBALS
"coprgb000.4gl"
DEFINE tabla14 RECORD LIKE cotb00014.*
DEFINE tabla15 RECORD LIKE cotb00015.*
DEFINE tabla25 RECORD LIKE cotb00025.*
DEFINE fecha1,fecha2 DATE
DEFINE p_ano SMALLINT
DEFINE reg INTEGER
FUNCTION coprmt013()
OPTIONS
ERROR LINE 24,
PROMPT LINE 12
CLEAR SCREEN
CALL pantalla()
DISPLAY "coprmt013" AT 4,3
DISPLAY "Borra Ordenes Cerradas" AT 6,29
LET p_ano = year(today) - 1
PROMPT "Entre Ano a Limpiar? " FOR p_ano
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
PROMPT "Esta Seguro de Proseguir (S/N)? " FOR decide
LET decide = upshift(decide)
IF decide = "N" THEN
RETURN
END IF
SELECT fecha_inicio INTO fecha1
FROM prdtable
WHERE mes = 1 and ano = p_ano
SELECT fecha_corte INTO fecha2
FROM prdtable
WHERE mes = 12 and ano = p_ano
{
# Copia de seguridad
DISPLAY "ESTOY SACANDO DATOS DE LA TABLA COTB00014" AT 23,1
UNLOAD TO "cotb00014.ld" SELECT *FROM cotb00014
WHERE fech_oc <= fecha2
DISPLAY "ESTOY SACANDO DATOS DE LA TABLA COTB00015" AT 23,1
UNLOAD TO "cotb00015.ld" SELECT a.* FROM cotb00015 a,cotb00014 b
WHERE b.fech_oc <= fecha2 and
a.tipo = b.tipo and
a.num_oc = b.num_oc and
b.cierre = "S"
DISPLAY "ESTOY SACANDO DATOS DE LA TABLA COTB00025" AT 23,1
UNLOAD TO "cotb00025.ld" SELECT a.* FROM cotb00025 a,cotb00014 b
WHERE b.fech_oc <= fecha2 and
a.tipo = b.tipo and
a.num_oc = b.num_oc and
b.cierre = "S"
}
SELECT unique a.cierre FROM cotb00014 a
WHERE a.fech_oc <= fecha2 and
a.cierre = "S"
IF status = notfound THEN
ERROR "NO HAY INFORMACIONES EN ESTE ANO O SE REALIZO PROC. FIN DE ANO"
RETURN
END IF
DECLARE busca CURSOR FOR
SELECT * FROM cotb00014
WHERE fech_oc <= fecha2 and
cierre = "S"
DISPLAY "Estoy Actualizando Historico Datos Generales " at 23 ,1
FOREACH busca INTO tabla14.*
INSERT INTO cotb00033 VALUES (tabla14.*)
END FOREACH
DECLARE busca1 CURSOR FOR
SELECT a.rowid,a.* FROM cotb00015 a,cotb00014 b
WHERE b.fech_oc <= fecha2 and
a.tipo = b.tipo and
a.num_oc = b.num_oc and
b.cierre = "S"
DISPLAY "Estoy Actualizando Historico Datos Detallados" at 23 ,1
FOREACH busca1 INTO reg,tabla15.*
INSERT INTO cotb00034 VALUES (tabla15.*)
DELETE FROM cotb00015 WHERE rowid = reg
END FOREACH
DECLARE busca2 CURSOR FOR
SELECT a.rowid,a.* FROM cotb00025 a,cotb00014 b
WHERE a.tipo = b.tipo and
a.num_oc = b.num_oc and
b.fech_oc <= fecha2 and
b.cierre = "S"
DISPLAY "Estoy Actualizando Historico Entregas Parciales" at 23 ,1
FOREACH busca2 INTO reg,tabla25.*
INSERT INTO cotb00035 VALUES (tabla25.*)
DELETE FROM cotb00025 WHERE rowid = reg
END FOREACH
DELETE FROM cotb00014 WHERE fech_oc <= fecha2 and
cierre = "S"
END FUNCTION