Da kann man sich ggf. mit Pointern helfen:

D MyApi DS
D Field1 ....
:
D FieldN ...

D MyPtr s *
D MyDs ds based(MyPtr)

Da die Struktur der einzelnen Elemente ja immer die selbe Länge aufweist, kann man sich die Adresse des Elements ja ausrechnen:

eval MyPtr = %addr(FieldN) + (N - 1) * %size(MyDs);

So kann man sich dann von Eintrag zu Eintrag in einer Schleife durchhangeln.