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