Max substring
data str_abap_rocks(100) value 'ABAP Editor rocks!!!'.
WRITE: str_abap_rocks.
*declaring data inline makes it constant and cant be overwritten. so need to use explicit data declarations as done in lv_str1 below.
data:lv_str1 type string.
data(lv_str) = 'abcab'.
write:lv_str.
data(lv_ind) = 0.
data(lv_left) = 0.
lv_str1 = ''.
data(lv_len) = strlen( lv_str ).
data(lv_pos) = 0.
data(lv_len1) = 0.
data(lv_maxl) = 0.
data(lv_curl) = 0.
while lv_ind < lv_len - 1.
*write:/ lv_ind,lv_str+lv_ind(1).
search lv_str1 for lv_str+lv_ind(1).
if sy-subrc <> 0.
data(lv_s) = lv_str+lv_ind(1).
* write:/ lv_s.
data(lv_str2) = lv_str1 && lv_s.
lv_str1 = lv_str2.
* write:lv_str1.
else.
lv_pos = sy-fdpos + 1.
lv_len1 = strlen( lv_str1 ) - lv_pos.
lv_str1 = lv_str1+lv_pos(1).
endif.
lv_curl = strlen( lv_str1 ).
if lv_maxl < lv_curl.
lv_maxl = lv_curl.
endif.
lv_ind = lv_ind + 1.
endwhile.
write: lv_maxl.
Comments
Post a Comment