Sicher, mit zwei Schleifen und einem dynamischen Select in der 2. ist das zu machen.

In erster Hinsicht würde ich mal die Tabelle QSYS2/SYSCOLUMNS durchlesen, und dann jedes dort genannte Feld mit dem 2. Select dynamisch anspechen. Den String des 2. Selects generierst Du also erst, wenn Du ein Feld eingelesen hast.

Nachteil: das Verfahren selektiert jedes Feld einzeln, es ergibt also eine recht große Anzahl von Zugriffen, und die SQL-Engine kann das nicht optimieren.

Wenn Du das verbessern willst, müßtest Du z.B. erstmal den String für das komplette Select zusammenbauen, und ihn dann zum Schluß in einem 3. Schritt ausführen.

Ich habe neulich erst Kriterien und Bedingungen für gewisse Aktionen variabel hinterlegt und implementiert, im Prinzip genau so, im Rahmen von 2 ineinander verschachtelten Schleifen mit 2 verschiedenen Cursorn und das Ganze in mehreren SQL STORED PROCEDURES bereitgestellt ...

"Datenstruckturarray..." ?
Hm, für RPG habe ich da z.Zt. keinen Plan. Dafür ist mein Konzept weniger geeignet.
Du könntest die Felder damit natürlich umbenennen, aber das geht auch viel einfacher. Beschreib doch mal genauer, was Du brauchst.