Hi Alonso,
to create a table with an unknown type, you need a field-symbol instead of a "normal" internal table. You define it as
FIELD-SYMBOLS <table> TYPE table.
Then you need your parameter for the type of the table. Define it as
DATA type_table TYPE ddobjname.
Then you need an Object for your data. You define it as
DATA dref_t TYPE REF TO data.
Now you can use
TRY.
CREATE DATA dref_t TYPE TABLE OF (type_table).
ASSIGN dref_t->* TO <table>.
CATCH cx_sy_create_data_error.
* Do some error handling
ENDTRY.
Now you can use <table> as internal table of the type given in the parameter type_table.
If you want some information about the structure of the table, you can use the function module DDIF_FIELDINFO_GET.
Regards
Claudia