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

250 lines
6.9 KiB
Plaintext

#######################################################################
# SISTEMA : DOCUMENTACION DE SISTEMA
# PROGRAMA : DSPRRP002.4GL
# OBJETIVO : Imprimir la documentacion de los programas que so nuevos para
# los sistemas.
# AUTOR : Tadeo A. Ferreras F.
# FECHA : JUNIO 7, 1995
# MODIFICADO POR: JUAN F. SOTO
# DESCRIPCION : AGREGAR LAS ETIQUETAS DE REVISADO POR, ENTREGADO POR,
# EN FECHA.
# FECHA : OCTUBRE 18, 1995.
########################################################################
DATABASE rayovac
GLOBALS
"dsprgb000.4gl"
DEFINE opt1 CHAR(1)
FUNCTION dsprrp002()
OPTIONS
FORM LINE 8,
ERROR LINE 23,
PROMPT LINE 23
OPEN FORM dsfmrp002 FROM "dsfmrp002"
DISPLAY FORM dsfmrp002
CALL pantalla()
DISPLAY "dsprrp002" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Creacion de Programas" AT 6,29 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, outer dstb00002 b ",
"WHERE a.programa = b.programa AND a.numero_act = b.numero_act AND ",
" a.numero_act = 1 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 reporte2 TO "c:\\dsrp02"
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 reporte2(reg_imp.*)
END FOREACH
FINISH REPORT reporte2
RUN "type c:\dsrp02 > \\ROVDOM2\contabi"
END FUNCTION
REPORT reporte2(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, "dsprrp002",
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, " CREACION DE PROGRAMAS",
COLUMN 76, hora
SKIP 1 LINE
BEFORE GROUP OF x.programa
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, "----------------------------------------------------------",
"--------------------------"
PRINT COLUMN 1, "NOMBRE DEL PROGRAMA: ", x.programa,
COLUMN 40, "SISTEMA : ", sistema CLIPPED
PRINT COLUMN 1, "PROGRAMADOR: ", "(",x.num_emp USING "####",") ",
nombre CLIPPED,
COLUMN 40, "NO.SOLICITUD: ",x.no_solicitud using "###"
PRINT COLUMN 1, "FECHA CREACION: ", x.fecha_creacion USING "dd/mm/yyyy"
PRINT COLUMN 1, "----------------------------------------------------------",
"--------------------------"
PRINT negrillas_off
BEFORE GROUP OF x.numero_act
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