ASSUME und PUTOVR sind unnötig.

Wichtig ist, dass sich die Formate garantiert nicht überlappen, auch nicht mit Zeilenüberlauf (Feld bis letzte Spalte, dadurch Ende-Attribut in Folgezeile).
ROLLUP ist unnötig, wenn du die SFL's immer komplett füllst.

CSRLOC würde ich auch nicht verwenden (zu statisch), für die Subfile-Sätze kannst du eine Variable mit SFLRCDNBR(CURSOR) definieren, die genau auf die Zeile positioniert.

PROTECT darf nicht verwendet werden, da alle Eingabefelder, die nicht zum ausgegebenen Format gehören, automatisch gesperrt werden.
PROTECT (Protect) keyword for display files