{ ======================================================================== SISTEMA : DOCUMENTACION DE SISTEMA PROGRAMA : DSPRRP007 DESCRIPCION: MODIFICACION DESDE UNA FECHA OBJETIVO : Buscar las tablas y programas actualizadas apartir de una fecha AUTOR : Juan F. Soto FECHA : Enero 8, 1996 ========================================================================= } DATABASE rayovac GLOBALS "dsprgb000.4gl" DEFINE opt1 CHAR(1), fecha_actualiza DATE, p_dstb1 RECORD LIKE dstb00001.*, p_dstb5 RECORD LIKE dstb00005.*, criterio1 CHAR(200), p_programa LIKE dstb00002.programa FUNCTION dsprrp007() DEFINE prt RECORD nombre LIKE dstb00001.programa, descripcion LIKE dstb00001.descripcion, fecha LIKE dstb00001.fecha_creacion END RECORD, cod CHAR(2) OPTIONS FORM LINE 8, ERROR LINE 23, PROMPT LINE 23 OPEN FORM dsfmrp007 FROM "dsfmrp007" DISPLAY FORM dsfmrp007 CALL pantalla() DISPLAY "dsprrp007" AT 4,3 ATTRIBUTE(RED) DISPLAY "Modificacion Desde Una Fecha" AT 6,20 ATTRIBUTE(BLACK) LET tipo_papel = 1 CALL msgrp000(tipo_papel) CONSTRUCT BY NAME criterio ON a.programa IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF CONSTRUCT BY NAME criterio1 ON a.tabla IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF INPUT BY NAME fecha_actualiza AFTER FIELD fecha_actualiza IF fecha_actualiza is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_actualiza END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT UNIQUE a.* FROM dstb00001 a ", "WHERE (a.fecha_creacion >= ? OR a.fecha_modificacion >= ?) AND ", " a.status_t IS NULL AND ",criterio CLIPPED DISPLAY "<< Buscando Informacion... Espere Por Favor >>" AT 19,14 PREPARE comando FROM selec DECLARE busca CURSOR FOR comando OPEN busca USING fecha_actualiza,fecha_actualiza LET selec1 = "SELECT unique a.tabla,a.descripcion,a.num_emp1,a.fecha_creacion ", "FROM dstb00005 a ", "WHERE a.fecha_creacion >= ? AND a.status_t IS NULL AND ",criterio1 CLIPPED, " ORDER BY 1" DISPLAY "<< Buscando Informacion... Espere Por Favor >>" AT 19,14 PREPARE comando1 FROM selec1 DECLARE busca1 CURSOR FOR comando1 OPEN busca1 USING fecha_actualiza START REPORT reporte7 TO "c:\dsrp7" DISPLAY "<< Reporte Generandose... Espere Por Favor >>" AT 19,14 WHILE status != notfound FETCH busca INTO p_dstb1.* IF status = notfound THEN EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET idx = 1 LET prt.nombre = p_dstb1.programa LET prt.descripcion = p_dstb1.descripcion IF p_dstb1.fecha_creacion = "311299" THEN LET p_dstb1.fecha_creacion = null END IF IF p_dstb1.fecha_modificacion = "311299" THEN LET p_dstb1.fecha_modificacion = null END IF IF p_dstb1.fecha_creacion is not null THEN LET prt.fecha = p_dstb1.fecha_creacion END IF IF p_dstb1.fecha_modificacion is not null THEN LET prt.fecha = p_dstb1.fecha_modificacion END IF LET cod = prt.nombre[1,2] OUTPUT TO REPORT reporte7(idx,prt.*,cod) END WHILE LET status = 0 WHILE status != notfound FETCH busca1 INTO p_dstb5.* IF status = notfound THEN EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET idx = 2 LET prt.nombre = p_dstb5.tabla LET prt.descripcion = p_dstb5.descripcion LET prt.fecha = p_dstb5.fecha_creacion LET cod = upshift(prt.nombre[1,2]) OUTPUT TO REPORT reporte7(idx,prt.*,cod) END WHILE FINISH REPORT reporte7 RUN "TYPE c:\\dsrp7 > \\rovdom2\contabi" END FUNCTION REPORT reporte7(p_idx,x,x_cod) DEFINE x RECORD nombre LIKE dstb00001.programa, descripcion LIKE dstb00001.descripcion, fecha LIKE dstb00001.fecha_creacion END RECORD, x_cod CHAR(2) DEFINE p_idx INTEGER DEFINE negrillas_on,negrillas_off,comp_on,comp_off,normal CHAR(2) DEFINE tabla1 CHAR(9) DEFINE l INTEGER DEFINE hora char(5), p_describe CHAR(60) OUTPUT LEFT MARGIN 0 ORDER BY p_idx,x_cod FORMAT PAGE HEADER LET negrillas_on = ASCII 27,ASCII 69 LET negrillas_off = ASCII 27,ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET normal = ASCII 27, ASCII 80 LET hora = TIME PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "dsprrp007", COLUMN 17, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 73, "Pag. ", PAGENO USING "###" PRINT COLUMN 17, " GERENCIA DE INFORMATICA", COLUMN 73, TODAY USING "dd/mm/yyyy" PRINT COLUMN 17, " MODIFICACION DESDE UNA FECHA ", COLUMN 76, hora PRINT COLUMN 17, " MAYOR O IGUAL A : ", fecha_actualiza using "dd/mm/yyyy" PRINT COLUMN 1, "==============================================================================","======" PRINT COLUMN 1, " N O M B R E S", COLUMN 65, " F E C H A" PRINT COLUMN 1, "PROGRAMA Y/O TABLAS", COLUMN 59, "CREACION Y/O MODIFICACION" PRINT COLUMN 1, "==============================================================================","======" SKIP 1 LINE BEFORE GROUP OF p_idx IF p_idx = 1 THEN PRINT COLUMN 1,negrillas_on,"Programas..." ELSE PRINT COLUMN 1,negrillas_on, "Tablas..." END IF PRINT negrillas_off BEFORE GROUP OF x_cod SKIP 1 LINE SELECT desc_sistema INTO p_describe FROM dstb00003 WHERE cod_sistema = x_cod IF STATUS = NOTFOUND THEN LET p_describe = "SISTEMA NO EXISTE" END IF PRINT COLUMN 1, negrillas_on,p_describe PRINT negrillas_off ON EVERY ROW PRINT COLUMN 1, x.nombre ," ",x.descripcion, COLUMN 73, x.fecha using "dd/mm/yyyy" AFTER GROUP OF p_idx SKIP 1 LINE PRINT COLUMN 1, "==============================================================================","======" END REPORT