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