Du erstellst die ja eine DDS mit den entsprechenden Feldern horizontal und compilierst die zur Runtime, richtig?

Dein Problem ist nun, dass Du wohl die Felder hast, aber nicht weisst welcher Wert (Merkmal) darin stehen sollte...

Mein Vorschlag:
1. Headerfile erstellen mit nur einem Datensatz (Array)
Pro Merkmal 1 Feld (Name egal, aber Benamsen COLHDG nach dem Merkmal)
und Merkmaltext als DFT-Value
DDS entsprechend aufbereiten und einen Record schreiben

2. Artikelfile erstellen mit Artikelnummer und Raster aus Header.

Verarbeitung:
Arrays erstellen im Programm und mit einem Scan des Merkmals (Headerfile) die Position ermitteln. Felder entsprechend moven - Write und fertig.

Ist ein bisschen hölzern und muss halt jeweils aufbereitet werden aber ich würde diesen Ansatz verfolgen. Ist das dynamisch genug?

Ach ja, die Queries bzw. nachfolgende RPG-PGM's ändern sich halt dann nicht dynamisch. Stichwort: Levelcheck, aber für Export to Excel alleweil gut.

Just my 5ct