1

我有以下代码片段,我想以功能样式编写:

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

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

4

2 回答 2

4

使用LINES OF构造(从ABAP 7.40 SP 8开始可用)。

例如,它可能是这样的:

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

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

于 2019-05-09T13:24:50.883 回答
2

它也可以在没有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 ) ).

知道这是否可能比BASEif 在循环中使用的使用性能更高会很有趣。

于 2019-05-09T18:15:05.530 回答