Это самая короткая однострочная строка, которую я могу себе представить
TYPES: tt TYPE TABLE OF c WITH EMPTY KEY,
tt_res TYPE TABLE OF char2 WITH EMPTY KEY.
DATA(t1) = VALUE tt( ( '1' ) ( '2' ) ( '3' ) ).
DATA(t2) = VALUE tt( ( 'A' ) ( 'B' ) ( 'C' ) ).
DATA(l2) = lines( t2 ).
DATA(result) = VALUE tt_res( ).
DO lines( t1 ) * l2 TIMES.
result = VALUE #( BASE result ( t1[ ( sy-index + l2 - 1 ) DIV l2 ] && VALUE #( t2[ sy-index MOD l2 ] DEFAULT t2[ l2 ] ) ) ).
ENDDO.
Хотя она использует цикл, но не вложенный цикл.Это обозначение не очень читабельно, но, тем не менее, короткое.Я уверен, что есть также способ сделать это с VALUE..FOR
, но я считаю, что это будет более многословно.
Конечно, вы должны настроить типы для ваших реальных таблиц и проверить набор данных большего размера.