FORM f_main_calc_updatex USING px_data TYPE any
px_start TYPE i
CHANGING py_datax TYPE any.
DATA: lr_tabdescr TYPE REF TO cl_abap_structdescr,
lr_data TYPE REF TO data,
lt_dfies TYPE ddfields.
FIELD-SYMBOLS: <fs_dfies> TYPE dfies,
<fs_source> TYPE any,
<fs_target> TYPE any.
CREATE DATA lr_data LIKE px_data.
lr_tabdescr ?= cl_abap_structdescr=>describe_by_data_ref( lr_data ).
" lt_dfies = cl_salv_data_descr=>read_structdescr( lr_tabdescr ).
lt_dfies = lr_tabdescr->get_ddic_field_list( ).
LOOP AT lt_dfies ASSIGNING <fs_dfies>." FROM px_start.
ASSIGN COMPONENT <fs_dfies>-fieldname OF STRUCTURE px_data TO <fs_source>.
CHECK sy-subrc = 0.
CHECK <fs_source> IS NOT INITIAL.
ASSIGN COMPONENT <fs_dfies>-fieldname OF STRUCTURE py_datax TO <fs_target>.
CHECK sy-subrc = 0.
IF sy-tabix < px_start.
<fs_target> = <fs_source>.
ELSE.
<fs_target> = abap_true.
ENDIF.
ENDLOOP.
ENDFORM.
SAP 反射技术
最新推荐文章于 2024-06-09 21:42:15 发布
这是一个ABAP代码段,用于使用FORM f_main_calc_updatex更新数据。它接收输入参数px_data和px_start,然后创建并填充新数据结构lr_data。通过遍历px_data的字段并检查px_start索引,将源数据复制到py_datax中,如果索引小于px_start,则直接复制值,否则设置为true。
摘要由CSDN通过智能技术生成