Убери из статуса АЛВ лишние кнопки, а заполнить филдкат можно просто:
Code:
DATA : GT_INFO LIKE RSTRUCINFO OCCURS 0 WITH HEADER LINE,
G_REPID LIKE SY-REPID.
G_REPID = SY-REPID.
CALL FUNCTION 'GET_COMPONENT_LIST'
EXPORTING
PROGRAM = G_REPID
FIELDNAME = 'GT_TEST' "имя твоей внутр. таблицы
TABLES
COMPONENTS = GT_INFO
EXCEPTIONS
OTHERS = 1.
* макрос заполнения таблицы заголовков
DEFINE ADD_FN.
CLEAR FieldNames.
FieldNames-title = &1.
APPEND FieldNames.
END-OF-DEFINITION.
* инициализация полей заголовка таблицы
REFRESH FIELDNAMES.
ADD_FN 'Поле 1'.
ADD_FN 'Поле 2'.
* ..................
LOOP AT GT_INFO.
CLEAR it_fieldcat.
it_fieldcat-fieldname = GT_INFO-compname.
it_fieldcat-inttype = GT_INFO-type.
it_fieldcat-intlen = GT_INFO-leng.
it_fieldcat-outputlen = GT_INFO-olen.
READ TABLE FieldNames INTO it_fieldcat-seltext_l INDEX sy-tabix.
APPEND it_fieldcat.
ENDLOOP.
Корявенько, но принцип, думаю, ясен.