####################################################################### # 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