如何替换ABAP 7.5中的附加行?



我有以下代码片段,我想用函数式风格编写:

data(lt_es) = me->prepare_process_part_ztoa1( ).
APPEND LINES OF me->prepare_process_part_protocol( ) to lt_es.

如何在新的ABAP 7.5中重写上面的代码?

使用LINES OF构造(自 ABAP 7.40 SP 8 起可用)。

例如,它可以是这样的:

lt_es = VALUE #( BASE me->prepare_process_part_ztoa1( )
( LINES OF me->prepare_process_part_protocol( ) ) ).

它是否比原版更好/更简单,这是另一个问题:)

也可以在没有BASE的情况下完成。但是,必须显式指定类型(#的用法以语法错误结尾)。

REPORT ZZZ.
DATA: lt_t1 TYPE string_table,
lt_t2 TYPE string_table.
DATA(lt_t3) = VALUE string_table( ( LINES OF lt_t1 ) ( LINES OF lt_t2 ) ).

例如,如果在循环中使用,知道这是否可能比BASE的使用性能更高会很有趣。

相关内容

  • 没有找到相关文章

最新更新