Ich löse sowas in der Regel über programminterne Datenstrukturen. Ist performanter und du kannst bei richtiger Definition sogar das SFL dann nach jedem Feld sortieren, löschen ....

So z.B.

Code:
 D                 DS                                                     
 D ZDSFL                        190    DIM(9999)                          
 D ZDFLD1                         2    OVERLAY(ZDSFL:*NEXT) INZ(*HIVAL)  
 D ZDFLD2                         6    OVERLAY(ZDSFL:*NEXT) INZ(*HIVAL)  
 D ZDFLD3                         6    OVERLAY(ZDSFL:*NEXT) INZ(*HIVAL)  
 D ZDFLD4                         9  0 OVERLAY(ZDSFL:*NEXT) INZ(*HIVAL)
Dann kannst du SORTA ZDFLD2 machen und Zack wäre das SFL sortiert nach der 2 Spalte...

Also lesen per SQL/READ und füllen der DS und die DS Seitenweise /Komplett ins SFL stellen..