Code:
PROGRAM A.
TYPE-POOLS: SLIS.
DATA: PRN LIKE SY-REPID,
CT TYPE SLIS_T_FIELDCAT_ALV,
CL LIKE LINE OF CT,
BEGIN OF FNAMES OCCURS 0,
FIELDNAME(30),
END OF FNAMES,
T_T001 TYPE TABLE OF T001.
START-OF-SELECTION.
PRN = SY-REPID.
CLEAR: CT, CT[], T_T001, T_T001[],
FNAMES, FNAMES[].
SELECT * FROM T001 INTO TABLE T_T001.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = PRN
I_STRUCTURE_NAME = 'T001'
CHANGING
CT_FIELDCAT = CT.
LOOP AT CT INTO CL.
FNAMES-FIELDNAME = CL-FIELDNAME.
APPEND FNAMES.
ENDLOOP.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\T001.DBF'
FILETYPE = 'DBF'
TABLES
DATA_TAB = T_T001[]
FIELDNAMES = FNAMES
EXCEPTIONS
OTHERS = 1.