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

149 lines
4.1 KiB
Plaintext

#######################################################################
# SISTEMA : DOCUMENTACION DE SISTEMA
# PROGRAMA : DSPRRP001.4GL
# OBJETIVO : Relacion de Sistema, Menu y Programa
# AUTOR : Tadeo A. Ferreras F.
# FECHA : JUNIO 7, 1995
########################################################################
DATABASE rayovac
GLOBALS
"dsprgb000.4gl"
DEFINE opt1 CHAR(1)
FUNCTION dsprrp001()
OPTIONS
FORM LINE 8,
ERROR LINE 23,
PROMPT LINE 23
OPEN FORM dsfmrp001 FROM "dsfmrp001"
DISPLAY FORM dsfmrp001
CALL pantalla()
DISPLAY "dsprrp001" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Relacion de Sistema, Menu y Programas" AT 6,21 ATTRIBUTE(BLACK)
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CONSTRUCT criterio ON a.cod_sistema,a.menu1,a.programa
FROM cod_sistema,menu1,programa
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET selec =
"SELECT a.cod_sistema,a.menu1,a.programa,b.desc_sistema,a.opcion ",
"FROM dstb00004 a, dstb00003 b ",
"WHERE a.cod_sistema = b.cod_sistema 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 reporte1 TO "c:\dsrp01"
DISPLAY "<< Reporte Generandose... Espere Por Favor >>" AT 19,14
FOREACH busca INTO reg_imp1.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
OUTPUT TO REPORT reporte1(reg_imp1.*)
END FOREACH
FINISH REPORT reporte1
RUN "type c:\dsrp01 > \\ROVDOM2\contabi"
END FUNCTION
REPORT reporte1(x)
DEFINE x RECORD
cod_sistema LIKE dstb00004.cod_sistema,
menu1 LIKE dstb00004.menu1,
programa LIKE dstb00004.programa,
desc_sistema LIKE dstb00003.desc_sistema,
opcion LIKE dstb00004.opcion
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 hora char(5)
OUTPUT
LEFT MARGIN 0
ORDER BY x.cod_sistema,x.menu1,x.opcion
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, "dsprrp001",
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, " RELACION DE SISTEMA, MENU Y PROGRAMAS",
COLUMN 76, hora
PRINT COLUMN 1, negrillas_off
BEFORE GROUP OF x.cod_sistema
SKIP TO TOP OF PAGE
PRINT negrillas_on
PRINT COLUMN 1, x.cod_sistema," ",x.desc_sistema
PRINT negrillas_off
BEFORE GROUP OF x.menu1
LET desc_menu = NULL
SELECT UNIQUE a.descripcion INTO desc_menu FROM dstb00001 a
WHERE a.programa = x.menu1 AND a.numero_act = 1 and
a.status_t is null
PRINT COLUMN 4, x.menu1," ",desc_menu
ON EVERY ROW
SELECT UNIQUE a.descripcion INTO dstb01.descripcion FROM dstb00001 a
WHERE a.programa = x.programa AND a.numero_act = 1 and
a.status_t is null
PRINT COLUMN 7, x.opcion using "##",
COLUMN 10, x.programa ," ",dstb01.descripcion CLIPPED
AFTER GROUP OF x.menu1
PRINT negrillas_on
PRINT COLUMN 1,"TOTAL PROGRAMAS POR MENU ---> ",GROUP COUNT(*) USING "####"
PRINT negrillas_off
AFTER GROUP OF x.cod_sistema
PRINT negrillas_on
PRINT COLUMN 1,"TOTAL PROGRAMAS POR SISTEMA: ",GROUP COUNT(*) USING "####"
PRINT negrillas_off
ON LAST ROW
PRINT negrillas_on
PRINT COLUMN 1,"TOTAL PROGRAMAS GENERAL ---> ",COUNT(*) USING "####"
PRINT negrillas_off
END REPORT