Maintain an additional field INDEX which maintains the order depending on the field disposal number.
Eg:
LOOP on final_table ASSIGNING <fs_final>.
SPLIT <fs_final>-disposal_num AT '-' into lv_var1 lv_var2 lv_var3.
<fs_final>-INDEX = lv_var1. " new field into ur final table structure
ENDLOOP.
SORT final_table BY INDEX.
Then call the ALV FM.