Если Вы хотите передавать в форму таблицу, тип которой неизвестен во время выполнения, воспользуйтесь одним из общих типов - STANDARD TABLE, например.
Code:
DATA:
gs_mara TYPE mara,
gt_mara TYPE TABLE OF mara
.
SELECT * UP TO 1 ROWS INTO TABLE gt_mara FROM mara.
PERFORM change_any_table
USING 1
'MATNR'
'1'
CHANGING gt_mara.
READ TABLE gt_mara INTO gs_mara INDEX 1.
WRITE gs_mara-matnr.
*&---------------------------------------------------------------------*
*& Form change_any_table
*&---------------------------------------------------------------------*
FORM change_any_table USING p_index TYPE i
p_component TYPE fieldname
p_value TYPE any
CHANGING pt_table TYPE STANDARD TABLE.
FIELD-SYMBOLS:
<ls_header> TYPE ANY,
<l_component> TYPE ANY
.
READ TABLE pt_table ASSIGNING <ls_header> INDEX p_index.
CHECK sy-subrc = 0.
ASSIGN COMPONENT p_component OF STRUCTURE <ls_header>
TO <l_component>.
CHECK sy-subrc = 0.
<l_component> = p_value.
ENDFORM. " change_any_table