DATA(lv_text) = NEW char10( 'ABCD@#@#' ).
DATA(lv_output) = NEW char10( ).
 
DO 10 TIMES.
  DATA(lv_offset) = NEW i( sy-index - 1 ).
  DATA(lv_char_part) = NEW char1( lv_text->*+lv_offset->*(1) ).
  DATA(lv_new_part) =
    SWITCH char1( LET x = '*' IN
                  lv_char_part->*
                  WHEN 'A' THEN 'Z'
                  WHEN 'B' THEN 'Y'
                  WHEN 'C' THEN 'X'
                  WHEN 'D' THEN 'W'
                  WHEN space THEN let y = x in y  "<<
                  ELSE 0
    ).
  lv_output->*+lv_offset->*(1) = lv_new_part.
ENDDO.
 
WRITE: lv_output->*.
 
 
Serkan AKKAVAK
Bilgisayar Mühendisi
serkurumsal@yandex.com