* --- CONFIGURACIÓN DE LÍNEA ---
LOCAL lnMaxLongitud, lcTextoFinal, lcLineaActual, lcSeparador, lcPlacaActual
* Define cuántos caracteres máximos entran por línea en tu reporte/impresión
lnMaxLongitud = 40 && Cambia este valor al ancho de tu línea
lcSeparador = ", "
lcTextoFinal = ""
lcLineaActual = ""
* --- PROCESAMIENTO ---
SELECT Placas
GO TOP
SCAN
lcPlacaActual = ALLTRIM(placa)
* Si la línea actual está vacía, agregamos la primera placa
IF EMPTY(lcLineaActual)
lcLineaActual = lcPlacaActual
ELSE
* Evaluamos si la nueva placa + separador cabe en la línea actual
IF LEN(lcLineaActual + lcSeparador + lcPlacaActual) <= lnMaxLongitud
lcLineaActual = lcLineaActual + lcSeparador + lcPlacaActual
ELSE
* No cabe: pasamos la línea actual al texto final con salto de línea
lcTextoFinal = lcTextoFinal + lcLineaActual + CHR(13) + CHR(10)
* La nueva línea comienza con la placa que no cupo
lcLineaActual = lcPlacaActual
ENDIF
ENDIF
ENDSCAN
* Agregar la última línea procesada
IF NOT EMPTY(lcLineaActual)
lcTextoFinal = lcTextoFinal + lcLineaActual
ENDIF
* --- RESULTADO ---
*****? "--- LISTADO DE PLACAS AL FINAL ---"
? lcTextoFinal