Event 'Archivo'
&Fecha = &Today
Do 'Formatear_Fecha'
&ArchivoDeTexto = 'C:\Log_'+&ResultadoFecha.Trim()
&ArchivoDeTexto =
&ArchivoDeTexto.Trim()+'_'+&Time.Substring(1,2)+&Time.Substring(4,2)+&Time.Substring(7,2)
&ArchivoDeTexto = &ArchivoDeTexto.Trim()+'.txt'
//Cargo el SDT con los datos necesarios para poder generar el LogFile
&ArchivoLog.NombreArchivo = &ArchivoDeTexto.Trim()
For Each
Defined By telefono
&LineaLog.Telefono = telefono.Trim()
&LineaLog.Gestion = gestion
&LineaLog.PrimerNombre = primernombre
&LineaLog.PrimerApellido = primerapellido
&LineaLog.Monto = monto
&LineaLog.FechaDeIngreso = fechadeingreso
&ArchivoLog.Lineas.Add(&LineaLog)
&LineaLog = New LogFile.Lineas()
EndFor
&Cant = &ArchivoLog.Lineas.Count
If &Cant > 0
Confirm('¿Desea exportar resultados a un Archivo de Texto?')
If Confirmed()
&i = dfwopen( &ArchivoDeTexto, ",", '"')
For &LineaLog In &ArchivoLog.Lineas
&i = dfwptxt( &LineaLog.Telefono.Trim() )
&i = dfwpnum( &LineaLog.Gestion, 0 )
&i = dfwptxt( &LineaLog.PrimerNombre )
&i = dfwptxt( &LineaLog.PrimerApellido )
&i = dfwpnum( &LineaLog.Monto, 0 )
&i = dfwptxt( &LineaLog.FechaDeIngreso.ToString())
&i = dfwpdate( &LineaLog.FechaDeIngreso, "dmy", "-" )
&I = dfwnext()
EndFor
&i = dfwclose( )
If &i = 0
Msg('Archivo de texto generado correctamente!')
Else
Msg('Han ocurrido errores al generar el Archivo de texto!')
EndIf
Else
Msg('Paso a XML')
&xml = &ArchivoLog.ToXml()
//Grabar en archivo XML
&filexml.open('C:\CLIENTES.xml')
&filexml.WriteStartDocument()
&filexml.WriteStartElement('CLIENTES')
For Each
&filexml.WriteStartElement('CLIENTE')
&filexml.WriteElement('NOMBRE', primernombre.Trim() )
&filexml.WriteElement('APELLIDO', primerapellido.Trim() )
&filexml.WriteElement('INGRESO', dtoc(fechadeingreso) )
&filexml.WriteEndElement()
EndFor
&filexml.WriteEndElement()
&filexml.Close()
EndIf
EndIF
EndEvent // 'Archivo'
Sub 'Formatear_Fecha'
&ResultadoFecha = Trim(Str(&Fecha.Year()))+'-'
If &Fecha.Month() > 9
&ResultadoFecha = &ResultadoFecha.Trim()+Trim(Str(&Fecha.Month()))+'-'
Else
&ResultadoFecha = &ResultadoFecha.Trim()+'0'+Trim(Str(&Fecha.Month()))+'-'
EndIf
If &Fecha.Day() > 9
&ResultadoFecha = &ResultadoFecha.Trim()+Trim(Str(&Fecha.Day()))
Else
&ResultadoFecha = &ResultadoFecha.Trim()+'0'+Trim(Str(&Fecha.Day()))
EndIf
EndSub
//Consideraciones sobre los archivos ASCII delimitados
//
//Sólo
puede estar abierto un archivo ASCII delimitado en un momento
específico. La función dfropen retornará un error si se la llama más de
una vez sin haber llamado previamente a dfrclose.
//Es posible ignorar los campos del final de un registro al llamar a
dfrnext cuando queden campos por leer. No es posible ‘saltearse’ campos.
Si se quiere leer el campo número 5 es necesario leer los 4 anteriores.
//Es posible leer registros con diferentes formatos como en el siguiente ejemplo:
//
//&i = dfropen( "invoices.txt", 80, “,”)
//do while dfrnext( ) = 0
// &i = dfrgtxt( &RecType)
// if &RecType = “H”
// &i = dfrgnum( &InvNum )
// &i = dfrgdate( &InvDat, “ymd”, “/“)
// else
// &i = dfrgnum( &PrdNum )
// &i = dfrgnum( &InvQty)
// endif
//enddo
//&i = dfrclose( )
Event 'UnDato'
&Fecha = &Today
Do 'Formatear_Fecha'
&i = dfwopen( "C:\Empleados.txt", ",", '"')
&i = dfwptxt( 'Empleado' )
&i = dfwpnum( 1, 0 )
&i = dfwptxt( 'Luis' )
&i = dfwptxt( 'Rosas' )
&i = dfwpnum( 1200, 0 )
&i = dfwptxt( &ResultadoFecha )
&i = dfwpdate( &Today, "dmy", "-" )
&i = dfwptxt( &Time )
&I = dfwnext()
&i = dfwclose( )
If &i = 0
Msg('Archivo de texto generado correctamente!')
Else
Msg('Han ocurrido errores al generar el Archivo de texto!')
EndIf
EndEvent // 'UnDato'
Gracias a rosastoriani@gmail.com
No hay comentarios:
Publicar un comentario