如何将旧的BW3.x代码(带有标题的表)更改为BW7.x(没有标题的表)
旧代码:
LOOP AT p_package.
gv_tabix = sy-tabix.
" changing header ... and more
MODIFY p_package INDEX gv_tabix.
此处标题行已更改,并使用modify
和index
不幸的是,我没有看到如何在没有标题的表格上使用index
关键字。
到目前为止我编码:
LOOP AT p_package into p_package_line.
gv_tabix = sy-tabix.
" changing p_package_line ...
MODIFY table p_package from p_package_line
但我不确定它是否正确。
答案 0 :(得分:3)
使用字段符号。这消除了完全明确MODIFY
表的需要:
LOOP AT p_package ASSIGNING FIELD-SYMBOL(<package_line>).
<package_line>-foo = 'bar'.
ENDLOOP.
(或旧版本)
FIELD-SYMBOLS <package_line> TYPE LINE OF p_package.
LOOP AT p_package ASSIGNING <package_line>.
<package_line>-foo = 'bar'.
ENDLOOP.
如果您想坚持使用MODIFY
:
MODIFY p_package FROM p_package_line INDEX foobarhyperprefixstuffthingy_tabix.
(是的,it's in the documentation: - ))。