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 и т.д.