You use generic table types to define the type of generic table parameters in function modules and forms, and thus provide a degree of freedom for the arguments passed in the corresponding calls.
If a generic table type with the index table access type is used as the parameter of a function module, you can pass either a sorted table or a standard table in the call.
A generic table type does not define all the attributes of an internal table in the ABAP Dictionary; it leaves some of these attributes undefined.
A table type is generic in the following cases:
Since generic table types do not define all the necessary attributes of an internal table, you cannot use them to define data objects (with DATA) or types (with TYPE).
Rules for the generic attributes: