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

Popular posts from this blog

Can Reach program ( 1 d arrray)

Fibonacci - Tabulated 1d array manipulation

Bubble Sort