нет код не полный, вся программа около 8000 строк
ставил в начало формы точку прерывания, но при каждом вызове табличка уже заполнена

ставил точку прерывания при изменении значений, опять таки срабатывает при входе в get_attributes_for_class
код:
Code:
FORM get_attributes_for_class
TABLES t_attributes TYPE attrcls_tab
USING value(u_class) LIKE sdokobject-class.
STATICS: isdokclprop LIKE sdokclprop OCCURS 0 WITH HEADER LINE.
DATA: attribute_definition LIKE sdokprop.
DATA: tfill LIKE sy-tfill,
tabix_aux LIKE sy-tabix,
tabix_buf LIKE sy-tabix,
subrc_aux LIKE sy-subrc,
internal_mode type sdok_intrn,
typ like sdokiocl-io_type.
STATICS: BEGIN OF buffertab OCCURS 0,
class LIKE u_class,
mode type sdok_intrn,
attributes TYPE attrcls_tab,
END OF buffertab.
* ... Initialize returned tables ...
REFRESH: t_attributes.
* ... Get current value of internal operation mode ...
PERFORM internal_mode_access
USING internal_mode_command_get
CHANGING internal_mode.
* ... Try to get answer from header line of buffer table ...
IF NOT buffertab-class IS INITIAL AND buffertab-class EQ u_class
AND buffertab-mode EQ internal_mode.
APPEND LINES OF buffertab-attributes TO t_attributes.
EXIT.
ENDIF.
* ... Try to get answer from buffer table ...
READ TABLE buffertab
WITH KEY class = u_class
mode = internal_mode
BINARY SEARCH.
IF sy-subrc EQ 0.
APPEND LINES OF buffertab-attributes TO t_attributes.
EXIT.
ELSE.
tabix_buf = sy-tabix.
ENDIF.
* ... Fill internal table ...
READ TABLE isdokclprop
WITH KEY io_class = u_class
BINARY SEARCH
TRANSPORTING NO FIELDS.
if sy-subrc NE 0.
SELECT * FROM sdokclprop
APPENDING TABLE isdokclprop
WHERE io_class = u_class.
SORT isdokclprop BY io_class prop_name.
endif.
* ... Fill returned table ...
READ TABLE isdokclprop
WITH KEY io_class = u_class
BINARY SEARCH
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
tabix_aux = sy-tabix.
LOOP AT isdokclprop FROM tabix_aux.
IF isdokclprop-io_class NE u_class.
EXIT. "<--- Exit from loop
ENDIF.
PERFORM get_attribute_definition
USING isdokclprop-prop_name
CHANGING attribute_definition subrc_aux.
IF subrc_aux EQ 0.
CLEAR t_attributes.
MOVE-CORRESPONDING isdokclprop TO t_attributes.
APPEND t_attributes.
ENDIF.
ENDLOOP.
ENDIF.
if internal_mode = sdoka_internal_mode_active.
read table t_attributes with key prop_name = 'CREATED_BY'.
if sy-subrc <> 0.
clear t_attributes.
t_attributes-PROP_NAME = 'CREATED_BY'.
t_attributes-x_unique = 'X'.
append t_attributes.
endif.
read table t_attributes with key prop_name = 'CREATED_AT'.
if sy-subrc <> 0.
clear t_attributes.
t_attributes-PROP_NAME = 'CREATED_AT'.
t_attributes-x_unique = 'X'.
append t_attributes.
endif.
read table t_attributes with key prop_name = 'LAST_CHANGED_BY'.
if sy-subrc <> 0.
clear t_attributes.
t_attributes-PROP_NAME = 'LAST_CHANGED_BY'.
t_attributes-x_unique = 'X'.
append t_attributes.
endif.
read table t_attributes with key prop_name = 'LAST_CHANGED_AT'.
if sy-subrc <> 0.
clear t_attributes.
t_attributes-PROP_NAME = 'LAST_CHANGED_AT'.
t_attributes-x_unique = 'X'.
append t_attributes.
endif.
PERFORM get_class_type
USING u_class
CHANGING typ.
* SELECT SINGLE io_type FROM sdokiocl INTO typ WHERE io_class = u_class.
if typ = 'IRPHIO'.
read table t_attributes with key prop_name = 'STATE'.
if sy-subrc <> 0.
clear t_attributes.
t_attributes-PROP_NAME = 'STATE'.
t_attributes-x_unique = 'X'.
append t_attributes.
endif.
endif.
sort t_attributes BY prop_name.
endif.
* ... Store returned table into buffer table ...
buffertab-class = u_class.
buffertab-mode = internal_mode.
buffertab-attributes = t_attributes[].
INSERT buffertab INDEX tabix_buf.
ENDFORM. "get_attributes_for_class