{ ------------------------------------------------------------------ PROGRAMA : COPRRP021 OBJETIVO : Reporte de Codigo y Nombre de Paises PROGRAMADOR : JUAN SOTO FECHA REALIZACION : Mayo 1993 DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO ------------------------------------------------------------------ } GLOBALS "coprgb000.4gl" #### Variables que almacena la informacion en la busqueda DEFINE prt_paises RECORD cod_pais LIKE cotb00018.cod_pais, nom_pais LIKE cotb00018.nom_pais END RECORD ##### Funcion de busqueda de informacion FUNCTION coprrp021() OPTIONS FORM LINE 10 CALL pantalla() DISPLAY "coprrp021" AT 4,3 DISPLAY " Maestra de Paises " AT 6,31 LET int_flag = FALSE OPEN FORM cofmrp021 FROM "cofmrp021" DISPLAY FORM cofmrp021 LET tipo_papel = 1 CALL msgrp000(tipo_papel) ##### Creando criterio de busqueda por codigo y/o por nombre CONSTRUCT criterio ON a.cod_pais,a.nom_pais FROM cod_pais,nom_pais IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF #### Selecionando la informacion requerida LET selec = "SELECT a.cod_pais,a.nom_pais ", "FROM cotb00018 a ", "WHERE ",criterio clipped," ORDER BY 1" IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF DISPLAY "Buscando Informacion ... Espere por favor" AT 19,14 ATTRIBUTE(REVERSE,BOLD) PREPARE busqueda FROM selec DECLARE busca CURSOR FOR busqueda DISPLAY " " AT 19,14 DISPLAY "Reporte generandose ... Por favor espere" AT 19,14 ATTRIBUTE(REVERSE) ##### Enviando la informacion al printer START REPORT list_paises TO "C:\\archivo" FOREACH busca INTO prt_paises.* ##### Enviando la informacion a las variables de busqueda OUTPUT TO REPORT list_paises(prt_paises.*) END FOREACH FINISH REPORT list_paises RUN "type C:\\archivo > %USPRINT%" END FUNCTION ####### Funcion para imprimir la informacion REPORT list_paises(x) DEFINE x RECORD cod_pais LIKE cotb00018.cod_pais, nom_pais LIKE cotb00018.nom_pais END RECORD DEFINE comprimido_off,negrillas_on,negrillas_off CHAR(2), hora CHAR(5) OUTPUT LEFT MARGIN 6 TOP MARGIN 1 ##### Creando formato de salida FORMAT PAGE HEADER LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comprimido_off = ASCII 18 LET hora = time LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, Negrillas_on,comprimido_off PRINT COLUMN 1, "coprrp021", COLUMN 18, p_companias.nombre CLIPPED, COLUMN 73, "Pag. ", pageno using "###" PRINT COLUMN 18, " Sistema de Compras", COLUMN 73, today using "dd/mm/yy" PRINT COLUMN 18, " Maestra de Paises", COLUMN 76, hora SKIP 1 LINES PRINT COLUMN 1, "---------------------------------------------", "-----------------------------------" PRINT COLUMN 12, "CODIGO", COLUMN 40, "PAIS" PRINT COLUMN 1, "---------------------------------------------", "-----------------------------------" PRINT negrillas_off ON EVERY ROW PRINT COLUMN 12, x.cod_pais, COLUMN 40, x.nom_pais ON LAST ROW SKIP 1 LINE PRINT COLUMN 12, "Total de Registros ---> ", COUNT(*) USING "###" END REPORT