二分法查找前必须排序,且必须为正序。
TYPES : BEGIN OF ty_data,
id(2),
id_ms(6),
END OF ty_data.
DATA :l_id(2),
lt_data TYPE TABLE OF ty_data WITH HEADER LINE.
DO 10 TIMES.
ADD 1 TO l_id.
lt_data-id = l_id.
lt_data-id_ms = l_id && 'MS'.
APPEND lt_data.
CLEAR lt_data.
ENDDO.
*正序
SORT lt_data BY id.
READ TABLE lt_data WITH KEY id = '3' BINARY SEARCH.
IF sy-subrc EQ 0.
WRITE :/ 'SORT:' , lt_data-id_ms.
ENDIF.
*倒序
SORT lt_data DESCENDING BY id .
READ TABLE lt_data WITH KEY id = '3' BINARY SEARCH.
IF sy-subrc EQ 0.
WRITE :/ 'DESCENDING BY:' , lt_data-id_ms.
ENDIF.