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

105 lines
2.6 KiB
Plaintext

{
===========================================================================
PROGRAMA: ALPRPC001
OBJETIVO: CIERRE DE TODOS LOS INVENTARIOS EXISTENTES EN LA EMPRESA.
PROGRAMADOR: JUAN F. SOTO
FECHA : NOVIEMBRE 28, 1994
==========================================================================
}
DATABASE rayovac
GLOBALS
DEFINE nombre_tabla,tabla_histo CHAR(9)
DEFINE columnas RECORD LIKE syscolumns.*
DEFINE tablas RECORD LIKE systables.*
DEFINE i,idx,p_ano SMALLINT
DEFINE inserta,selec CHAR(100)
DEFINE opt1 CHAR(1)
DEFINE fecha_inicial,fecha_final DATE
END GLOBALS
MAIN
CALL busca_datos()
END MAIN
FUNCTION busca_datos()
CLEAR SCREEN
OPTIONS
PROMPT LINE 8
DISPLAY "R A Y .O. V A C D O M I N I C A N A, S. A." AT 1,19 ATTRIBUTE(BOLD)
DISPLAY "CIERRE INVENTARIOS" AT 2,25 ATTRIBUTE(BOLD)
PROMPT "Entre Nombre De la Tabla A Cerrar? " FOR nombre_tabla
PROMPT "Entre Nombre De la Tabla Historica? " FOR tabla_histo
PROMPT "Entre Ano A Cerrar? " FOR p_ano
DISPLAY "El Programa Listara las columnas que pertenezcan a la tabla"
AT 14,1
DISPLAY "que se va a cerrar las columnas que pertenezcan al la tabla"
AT 14,1
LET selec = "SELECT * FROM systables ",
"WHERE tabname = ? "
PREPARE comando1 FROM selec
DECLARE busca1 CURSOR FOR comando1
OPEN busca1 USING nombre_tabla
FETCH busca1 INTO tablas.*
DECLARE busca2 CURSOR FOR
SELECT * FROM syscolumns
WHERE @tabid = tablas.tabid
LET idx = 12
DISPLAY nombre_tabla at 10,1
DISPLAY "=====================" AT 11,1
FOREACH busca2 INTO columnas.*
IF idx < 24 THEN
DISPLAY columnas.colname AT idx,1
ELSE
PROMPT "Presione <Enter> Para Continuar" for opt1
LET idx = 12
FOR i =1 TO 24
if idx < 24 then
DISPLAY " " AT idx,1
LET idx = idx + 1
end if
END FOR
LET idx = 12
END IF
LET idx = idx + 1
END FOREACH
PROMPT "Entre Nombre Columna control periodo? " for columnas.colname
PROMPT "Deseas Proseguir Con este Proceso? " FOR opt1
LET opt1 = upshift(opt1)
IF opt1 != "S" THEN
RETURN
END IF
SELECT fecha_inicio INTO fecha_inicial
FROM prdtable
WHERE ano = p_ano and mes = 1
SELECT fecha_corte INTO fecha_final
FROM prdtable
WHERE ano = p_ano and mes = 12
LET borra = "DELETE FROM ",tabla_histo clipped,
"WHERE ",columnas.colname clipped,
" between ? and ? "
LET inserta = "INSERT INTO ",tabla_histo,
" SELECT *FROM ",nombre_tabla,
" WHERE ",columnas.colname clipped,
" between ? and ? "
display "En Proceso... Espere" at 20,1
PREPARE comando3 FROM borra
PREPARE comando2 FROM inserta
EXECUTE comando2 USING fecha_inicial,fecha_final
EXECUTE comando3 USING fecha_inicial,fecha_final
END FUNCTION