{ =========================================================================== PROGRAMA: ALPRPC001 OBJETIVO: CIERRE DE TODOS LOS INVENTARIOS EXISTENTES EN LA EMPRESA. PROGRAMADOR: JUAN F. SOTO FECHA : NOVIEMBRE 28, 1994 ========================================================================== } DATABASE rayovac GLOBALS | | Database not found or no system permission. | See error number -329. | | The database "rayovac" cannot be found or opened. If the database | exists, check the database permissions on the database. In | addition, check the system permissions on the database directory | and its ascendant directories. | See error number -4305. 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 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