We can set the field type during the field creation.
DATA: required_type TYPE REF TO cl_abap_elemdescr,
CALL METHOD cl_abap_elemdescr=>get_p
EXPORTING
p_length = Required_length
p_decimals = Required_decimals
RECEIVING
p_result = required_type.
Also refer the following code snippet which uses different data types for the dynamic field creation
http://wiki.scn.sap.com/wiki/display/Snippets/Example+-+create+a+dynamic+internal+table
Hope it helps