Files
DECOMARMOL/PROYECTO/dsdir/dsprrp003.4gl
T
2026-09-22 20:38:51 -04:00

229 lines
6.6 KiB
Plaintext

#######################################################################
# SISTEMA : DOCUMENTACION DE SISTEMA
# PROGRAMA : DSPRRP003.4GL
# OBJETIVO : Documentacion de los Programas de cada Sistema
# AUTOR : Tadeo A. Ferreras F.
# FECHA : JUNIO 7, 1995
########################################################################
DATABASE rayovac
GLOBALS
"dsprgb000.4gl"
DEFINE opt1 CHAR(1)
FUNCTION dsprrp003()
OPTIONS
FORM LINE 8,
ERROR LINE 23,
PROMPT LINE 23
OPEN FORM dsfmrp003 FROM "dsfmrp002"
DISPLAY FORM dsfmrp003
CALL pantalla()
DISPLAY "dsprrp003" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Historia de Documentacion de Programas" AT 6,21 ATTRIBUTE(BLACK)
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CONSTRUCT criterio ON a.programa FROM programa
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET selec =
"SELECT a.*,b.linea_no,b.entradas,b.proceso,b.salida ",
"FROM dstb00001 a, dstb00002 b ",
"WHERE a.programa = b.programa AND a.numero_act = b.numero_act 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
START REPORT reporte3 TO "c:\dsrp03"
DISPLAY "<< Reporte Generandose... Espere Por Favor >>" AT 19,14
FOREACH busca INTO reg_imp.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
OUTPUT TO REPORT reporte3(reg_imp.*)
END FOREACH
FINISH REPORT reporte3
RUN "type c:\dsrp03 > \\ROVDOM2\contabi"
END FUNCTION
REPORT reporte3(x)
DEFINE x RECORD
programa LIKE dstb00001.programa,
cod_sistema LIKE dstb00001.cod_sistema,
num_emp LIKE dstb00001.num_emp,
no_solicitud LIKE dstb00001.no_solicitud,
fecha_creacion LIKE dstb00001.fecha_creacion,
fecha_modificacion LIKE dstb00001.fecha_modificacion,
descripcion LIKE dstb00001.descripcion,
objetivo1 LIKE dstb00001.objetivo1,
objetivo2 LIKE dstb00001.objetivo2,
numero_act LIKE dstb00001.numero_act,
status_t LIKE dstb00001.status_t,
us_crea LIKE dstb00001.us_crea,
fech_crea LIKE dstb00001.fech_crea,
us_mod LIKE dstb00001.us_mod,
fech_mod LIKE dstb00001.fech_mod,
linea_no LIKE dstb00002.linea_no,
entradas LIKE dstb00002.entradas,
proceso LIKE dstb00002.proceso,
salida LIKE dstb00002.salida
END RECORD
DEFINE entr1 ARRAY[200] OF CHAR(60)
DEFINE proc1 ARRAY[200] OF CHAR(60)
DEFINE sali1 ARRAY[200] OF CHAR(60)
DEFINE sistema CHAR(35)
DEFINE negrillas_on,negrillas_off,comp_on,comp_off,normal CHAR(2)
DEFINE tabla1 CHAR(9)
DEFINE l INTEGER
DEFINE hora char(5)
OUTPUT
LEFT MARGIN 0
ORDER BY x.programa,x.numero_act,x.linea_no
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, "dsprrp003",
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, " HISTORIAL DE DOCUMENTACION DE PROGRAMAS",
COLUMN 76, hora
SKIP 1 LINE
BEFORE GROUP OF x.numero_act
LET sistema = NULL
SELECT a.desc_sistema INTO sistema FROM dstb00003 a
WHERE a.cod_sistema = x.cod_sistema
SELECT a.nom1_emp,a.apell1_emp INTO nombre1,apellido1 FROM adtb00003 a
WHERE a.num_emp = x.num_emp
LET nombre = nombre1 CLIPPED," ",apellido1 CLIPPED
PRINT COLUMN 1, "NOMBRE DEL PROGRAMA: ", x.programa,
COLUMN 45, "SISTEMA : ", sistema CLIPPED
PRINT COLUMN 1, "PROGRAMADOR: ", "(",x.num_emp USING "####",") ",
nombre CLIPPED,
COLUMN 45, "SECUENCIA NO.:", x.numero_act USING "####"
IF x.numero_act = 1 THEN
PRINT COLUMN 1, "FECHA CREACION: ", x.fecha_creacion USING "dd/mm/yyyy"
ELSE
PRINT COLUMN 1, "FECHA ACTUALIZACION: ",x.fecha_modificacion USING "dd/mm/yyyy"
END IF
PRINT COLUMN 1, "----------------------------------------------------------",
"----------------------"
PRINT negrillas_off
LET j = 0
ON EVERY ROW
IF j IS NULL THEN
LET j = 0
END IF
LET j = j + 1
LET entr1[j] = NULL
LET proc1[j] = NULL
LET sali1[j] = NULL
LET entr1[j] = x.entradas
LET proc1[j] = x.proceso
LET sali1[j] = x.salida
AFTER GROUP OF x.numero_act
PRINT negrillas_on
PRINT COLUMN 1, "1. - DESCRIPCION DEL PROGRAMA: "
PRINT COLUMN 6, x.descripcion
SKIP 1 LINE
PRINT COLUMN 1, "2. - OBJETIVO (S): : "
PRINT COLUMN 6, x.objetivo1
PRINT COLUMN 6, x.objetivo2
SKIP 1 LINE
PRINT COLUMN 1, "3. - DESCRIPCION PROCESAL: "
SKIP 1 LINE
PRINT COLUMN 1, " 3-1. ENTRADA (S): "
FOR m = 1 TO j
IF entr1[m] IS NOT NULL THEN
IF entr1[m] != " " THEN
PRINT COLUMN 11, entr1[m]
END IF
END IF
END FOR
SKIP 1 LINE
PRINT COLUMN 1, " 3-2. PROCESO: "
FOR m = 1 TO j
IF proc1[m] IS NOT NULL THEN
IF proc1[m] != " " THEN
PRINT COLUMN 11, proc1[m]
END IF
END IF
END FOR
SKIP 1 LINE
PRINT COLUMN 1, " 3-3. SALIDA (S): "
FOR m = 1 TO j
IF sali1[m] IS NOT NULL THEN
IF sali1[m] != " " THEN
PRINT COLUMN 11, sali1[m]
END IF
END IF
END FOR
SKIP 1 LINE
DECLARE busca_tb CURSOR FOR
SELECT a.tabla FROM dstb00006 a
WHERE a.programa = x.programa AND a.numero_act = x.numero_act AND
a.status_t IS NULL ORDER BY 1
PRINT COLUMN 1, "4. - TABLA (S) QUE UTILIZA: "
LET l = 6
LET j = 0
LET m = 0
FOREACH busca_tb INTO tabla1
LET j = j + 1
LET m = m + 1
IF m = 1 THEN
PRINT COLUMN l, tabla1;
ELSE
PRINT COLUMN l, ", ",tabla1 CLIPPED;
END IF
LET l = l + 9
IF j = 5 THEN
PRINT COLUMN l," "
LET l = 6
LET j = 0
END IF
END FOREACH
SKIP TO TOP OF PAGE
PAGE TRAILER
PRINT " "
END REPORT