Amigos, nunca he usado este control y no entiendo cual es su funcionamiento. ¿No se rellena campo por campo sino se indica todo el churro de string separando los campos por ";"?

Si es así, pues vaya castaña...
Entonces
Roger, dices que el problema viene cuando un campo alfa no está inicializado?
Ciro, intenta poner como delimitadores el nulo, porque en Windows es el que indica fin de campo:
Código COBOL:
02 FILLER PIC X(01) VALUE X"00".
A ver qué tal...
Si por el contrario ese control no se rellena con un sólo churro de datos sino campo por campo, cuando lago esté vacío, aún así haz MOVE SPACES al campo de CtList. En plan:
Código COBOL:
IF MI-DATO NOT = SPACES
MOVE MI-DATO TO "Text"(Col Row) OF CtList1
ELSE
MOVE SPACES TO "Text"(Col Row) OF CtList1
END-IF
También si no funciona podrías probar con nulos:
Código COBOL:
IF MI-DATO NOT = SPACES
MOVE MI-DATO TO "Text"(Col Row) OF CtList1
ELSE
MOVE X"00" TO "Text"(Col Row) OF CtList1
END-IF
La sintaxis de CtList no la conozco, es más bien pseudo-código.
