When I had to put an editable grid on a screen I popped in a MIGO dialog exit, I used an OO editable ALV with the class defined in a "C" include.
I'm looking at a similar situation now in ME5Xn where someone has used a Table Control to do the same thing on a custom subscreen of a custom tab. In this case, there's even a double table control, because the user can drill down from the first one to a second one.
From a maintainability point of view, it goes without saying that these two table controls should be rewritten as )) editable ALVs (with all the necessary OO apparatus tucked in a "C" include in Function Group XM02.)
But what about performance? Will an OO ALV perform faster than a table control? Or slower ?