Code:
types:
   begin of rec1,
      f1 like tab-f1,
      f2 like tab-f2,
   end of rec1,
   begin of rec2,
      f3 like tab-f3,
      f4 like tab-f4,
   end of rec1.
data:
   begin of rec_tot,
     z1 like tab-z1,
     z2 like tab-z2,
     z3 type rec1,
     z4 like tab-z3,
     z5 type rec2,
   end of rec_tot.
select z1 z2 f1 f2 z3 f3 [f4] into rec_tot from tab1.
т.е. описание и запослнение глубокой структуры будет работать правильно только в случае если все поля, входящие в нее, будут в select'е. единственный случай, можно f4 (в коде []) пропустить, т.е. если струтура находится в конце родительской структуры и опускать элементы тоже можно только с конца.
более вариантов я лично не знаю. проще, имхо, пользоваться concatenate и т.д.