使用索引更改内部 table 而不 header
Changing internal table without header using index
如何将旧的 BW3.x 代码(tables with header)更改为 BW7.x(tables without header)
旧代码:
LOOP AT p_package.
gv_tabix = sy-tabix.
" changing header ... and more
MODIFY p_package INDEX gv_tabix.
此处 header 行已更改,table 使用 modify
和 index
更新
不幸的是,我不知道如何在没有 header 的 table 上使用 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
但我不确定是否正确。
使用字段符号。这消除了显式 MODIFY
完全 table 的需要:
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 :-))。
如何将旧的 BW3.x 代码(tables with header)更改为 BW7.x(tables without header)
旧代码:
LOOP AT p_package.
gv_tabix = sy-tabix.
" changing header ... and more
MODIFY p_package INDEX gv_tabix.
此处 header 行已更改,table 使用 modify
和 index
不幸的是,我不知道如何在没有 header 的 table 上使用 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
但我不确定是否正确。
使用字段符号。这消除了显式 MODIFY
完全 table 的需要:
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 :-))。