105 lines
2.6 KiB
Plaintext
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
|