Files
2026-09-22 20:38:51 -04:00

238 lines
6.5 KiB
Plaintext

{
========================================================================
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