Reporte con muchas columnas
Como lo menciona Juan, la unica forma es con PUT.
Lo engorroso de eso es que debes calcular las posiciones de cada columna, ademas de poner los titulos y los -------- guiones.
Sin embargo, usualmente los usuarios que solicitan esos reportes los solicitan para abrirlos en excel.
Si ese es el caso, te recomendaría que generaras un archivo con extension .csv, y la información la separes con "coma" (o punto y coma, depende como esté configurado el excel de tu compañia).
De esta forma, no te preocupas en calcular las posiciones de los datos, lo unico que debes hacer es desplegar los datos siempre en un mismo orden.
TIP: Puede haber datos que tengan como contenido el separador, por ejemplo una descripcion; entonces debes usar siempre la funcion QUOTER, para que progress en automatico formatee correctamente la informacion, poniendole comillas donde haga falta.
Ejemplo:
PUT UNFORMATTED QUOTER(codigo) "," QUOTER(descripcion) "," QUOTER(estado) "," SKIP.
Si puedes usar la funcion EXPORT, que mejor; solo recuerda que EXPORT da skip en automatico.
Ejemplo:
EXPORT DELIMITER "," codigo descripcion estado.