miércoles, 23 de septiembre de 2009

Hacer un reporte simple

Para comenzar, veremos como hacer un simple reporte a un archivo txt que publique la información existente en una o más tablas de nuestra base de datos Smallworld.
Para este ejemplo básico utilizaremos la clase external_text_output_stream la cual permite manipular archivos externos, veamos:

_global reporta_municipios << _proc()


        ## baja a un archivo txt la totalidad de registros
       ## de la tabla municipio, o de la que querais
        # Generamos variables de trabajo


         gpm << gis_program_manager
         v << gpm.cached_dataset(:gis)
         t_municipio << v.collections[:municipio]
        # nuestro archivo de reporte
         s << external_text_output_stream.new("c:\reprte_municipios.txt")


         s.write("Reporte de Municipios", newline_char)
        _for a_mun _over t_municipio.fast_elements()
       _loop
               nombre << a_mun.name
               poblacion << a_mun.habs
               superficie << a_mun.superficie
               s.write("NOMBRE: ",nombre, newline_char)
               s.write(" Población: ",poblacion, newline_char)
               s.write(" Superficie: ",superficie, " Kms. Cuadrados.", newline_char)
               s.newline()
      _endloop


      s.close()


_endproc
 
 
Bueno el código anterior corresponde a un procedimiento y para ejecutarlo solo debemos compilar el código digitar en el prompt de magik:
 
MagikSF> reporta_municipios( )
 
Espero les sea de utilidad.
 
Q.

No hay comentarios:

Publicar un comentario

Todo aporte es útil, adelante.