There are 2 possible ways.
First have a look at demo program BALVBT01, I think they do what you want here.
If this doesn't work then try using the hierarchical ALV function module.
function module - REUSE_ALV_HIERSEQ_LIST_DISPLAY.
Here u need to populate all the header and item records separetely into internal tables and pass them accordingly.
I_TABNAME_HEADER will have the HEADER TABLE, and I_TABNAME_ITEM will have the item table.
IS_KEYINFO will have the keys common in header and item internal tables.
Finally T_OUTTAB_HEADER, T_OUTTAB_ITEM will have contents of the header and item contents.