{ ------------------------------------------------------------------------------- PROGRAMA : COPRRP014 OBJETIVO : Reporte Poliza de Seguros PROGRAMADOR : Ing. Betania Guerrero Perez FECHA REALIZACION : Marzo 11, 1993 ------------------------------------------------------------------------------- } GLOBALS "coprgb000.4gl" FUNCTION coprrp014() DEFINE poliza RECORD cod_n LIKE cotb00017.cod_n, cod_grupo LIKE cotb00017.cod_grupo, cod_tipo LIKE cotb00017.cod_tipo, cod_sec LIKE cotb00017.cod_sec, descrip_esp LIKE intb00001.descrip_esp, procedencia LIKE cotb00017.procedencia, nom_pt LIKE cotb00019.nom_pt, seguro LIKE cotb00017.seguro, via_t LIKE cotb00017.via_t, cod_pt LIKE cotb00017.cod_pt, codigo CHAR(7) END RECORD #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 9, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM cofmrp014 FROM "cofmrp014" DISPLAY FORM cofmrp014 CALL pantalla() DISPLAY "coprrp014" AT 4,3 DISPLAY "Poliza de Seguros" AT 6,31 ## Chequea que el papel para la impresion sea el indicado LET tipo_papel = 1 CALL msgrp000(tipo_papel) IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ## Aqui se prepara el criterio de seleccion CONSTRUCT criterio ON c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec FROM cod_n,cod_grupo,cod_tipo,cod_sec LET SELEC = "SELECT c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,c.descrip_esp, ", " a.procedencia,b.nom_pt,a.seguro,a.via_t,a.cod_pt ", "FROM intb00001 c, OUTER (cotb00019 b,cotb00017 a) ", "WHERE a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ", " a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec AND ", " a.cod_pt = b.cod_pt AND a.status_t is NULL AND ", criterio clipped DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ## Verifica si el usuario presiono la tecla PREPARE busca FROM selec CALL integridad() IF bandera = 1 THEN LET bandera = 0 RETURN END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF DECLARE accion CURSOR FOR busca DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) START REPORT seguro TO "C:\\archivo" FOREACH accion INTO poliza.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET numero_msg = FALSE RETURN END IF LET poliza.codigo=poliza.cod_n USING "&",poliza.cod_grupo USING "&", poliza.cod_tipo USING "&&",poliza.cod_sec USING "&&&" OUTPUT TO REPORT seguro(poliza.*) END FOREACH FINISH REPORT seguro CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT seguro(x) DEFINE x RECORD cod_n LIKE cotb00017.cod_n, cod_grupo LIKE cotb00017.cod_grupo, cod_tipo LIKE cotb00017.cod_tipo, cod_sec LIKE cotb00017.cod_sec, descrip_esp LIKE intb00001.descrip_esp, procedencia LIKE cotb00017.procedencia, nom_pt LIKE cotb00019.nom_pt, seguro LIKE cotb00017.seguro, via_t LIKE cotb00017.via_t, cod_pt LIKE cotb00017.cod_pt, codigo CHAR(7) END RECORD DEFINE nombre_via CHAR(30) DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE normal CHAR(2) DEFINE doce CHAR(2) DEFINE hora CHAR(5) OUTPUT LEFT MARGIN 1 ORDER BY x.codigo ## Prepara el formato de impresion para el encabezado y el detalle FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 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 doce = ASCII 27, ASCII 77 LET hora = time LET l = (137 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, comp_on,negrillas_on PRINT COLUMN 1, "coprrp014", COLUMN l, p_companias.nombre CLIPPED, COLUMN 130, "Pag. ", pageno using "###" PRINT COLUMN 46, " Sistema de Compras", COLUMN 130, today using "dd/mm/yy" PRINT COLUMN 46, " Poliza de Seguros", COLUMN 133, hora PRINT COLUMN 1, "---------------------------------------------------", "---------------------------------------------", "------------------------------------------" PRINT COLUMN 2, "Material", COLUMN 15, "Descripcion", COLUMN 48, "Procedencia", COLUMN 81, "Puerto", COLUMN 114, "Via", COLUMN 132, "Seguro" PRINT COLUMN 1, "---------------------------------------------------", "---------------------------------------------", "------------------------------------------" PRINT COLUMN 1, negrillas_off BEFORE GROUP OF x.codigo PRINT COLUMN 2, x.cod_n USING "&","-", COLUMN 4, x.cod_grupo USING "&","-", COLUMN 6, x.cod_tipo USING "&&","-", COLUMN 9, x.cod_sec USING "&&&", COLUMN 15, x.descrip_esp clipped; ON EVERY ROW IF x.via_t IS NULL THEN LET nombre_via = NULL END IF IF x.via_t IS NOT NULL THEN IF x.via_t = "01" THEN LET nombre_via = "MARITIMA" END IF IF x.via_t = "O2" THEN LET nombre_via = "AEREA" END IF IF x.via_t = "03" THEN LET nombre_via = "TERRESTRE" END IF END IF PRINT COLUMN 48, x.procedencia clipped, COLUMN 81, x.nom_pt clipped, COLUMN 114, nombre_via clipped; IF x.seguro IS NOT NULL THEN PRINT COLUMN 131, x.seguro USING "###.##","%" ELSE PRINT COLUMN 131, " " END IF AFTER GROUP OF x.codigo SKIP 1 LINE ON LAST ROW PRINT COLUMN 1, comp_off END REPORT