you can check with this.
i) internal table for VBRK records say t_vbrk. select all vbrk data basedd on suitable condition. i hope you have something in selection screen to filter VBRK records.
ii) internal table for VBRP data say t_vbrp. select vbrp data based on entries in t_vbrk selected above PLUS add other condition(s) if any.
iii) internal table for TVKBT say t_tvkbt. select TVKBT data based on entries in t_vbrp selected above PLUS add other condition(s) if any.
iv) internal table for KNA1 say t_KNA1. select KNA1 data based on entries in t_vbrk (kna1-kunnr = t_vbrk-kunrg) selected above PLUS add other condition(s) if any.
v) to consolidated data in your final internal table....loop through T_VBRP and read records from other internal tables.
vi) before reading records you have to do proper sorting of internal tables..hope you aware of that.