Disculpas, hoy estuve a full y no me conecte en todo el dia:
1) Imagina una transaccion con 3 campos. CajNro, CajNum, CajNom
Anda a diseño, crea 3 variables globales (advanced-atribute), una por cada campo. Arma un dataview e insertale estas 3 variables imitando la estructura de la transaccion. Ponele un nombre al dataview (EJ: xCaja). En este dataview anda a PLATFORMS y agrega una de tipo ACCESS. En las propiedades de esta plataforma pones los datos del archivo de texto, nombre (caja.txt), ubicacion (el path) y el data format (txt).
Creas un procedimiento que graba en el TXT (por medio del dataview)
for each
defined by CajNom
xnew 'xcaja' //el dataview
xSucCod = SucCod
xCajNum = CajNum
xCajNom = CajNom
xendnew
Endfor
Y listo! con este metodo Fabian, solo tenes que tener en cuenta que el archivo de texto DEBE existir en el disco, aunque mas no sea vacio. Yo lo soluciono teniendo un modelo vacio de texto al que copio con el nombre del archivo que necesito.
call('gxCopyFile',"c:\modelo.txt", caja.txt)
2) Este metodo es muuuuucho mas facil. Pero era bueno que supieras el anterior por si te hace falta.
Hace un reporte, ponele un printblock con una variable (Ej: Xcar) de caracter de 124c (o los que te hagan falta)
y en las reglas del reporte pone la rule
output_file('C:\caja','txt');
y en los eventos, cuando hagas el recorrido de la transaccion, por cada renglon, concatenas en esa variable.
for each
defined by CajNom
&xcar += str(SucCod)
&xcar += str(CajNum)
&xcar += CajNom
print P_txt
Endfor
Espero que los dos ejemplos te hayan sido claros, sino contactame por messenger y te explico mas. Saludos PAblo