ABAP의 BINARY SEARCH의 특이한 점은 키가 동일한 레코드중 첫번째를 찾아준다는 점입니다.

일반적으로 바이너리 서치라고 하면 반반 나눠서 중간에 있는걸 검사하고 키가 동일하면 거기서 끝나지만 ABAP 에서는 동일한 키를 가진 레코드중에 첫번째를 찾아서 계속 바이너리 서치를 합니다.

 

확인용 테스트 프로그램

DATA: BEGIN OF lt_test OCCURS 0,
  col1 TYPE char1,
  col2 TYPE i,
END OF lt_test.

* lt_test = [ { A, 1 } , { A, 2} , ... { A, 10} ]
DO 10 TIMES.
  lt_test-col1 = 'A'.
  lt_test-col2 = sy-index.
  APPEND lt_test.
ENDDO.

READ TABLE lt_test WITH KEY col1 = 'A'.
WRITE:/ lt_test-col2.
READ TABLE lt_test WITH KEY col1 = 'A' BINARY SEARCH.
WRITE:/ lt_test-col2.

 

 

 

'ABAP' 카테고리의 다른 글

abap2xlsx  (0) 2021.05.07
KR_POSTCODE : 한국주소입력  (0) 2021.03.31
스마트폼 이미지 다운로드  (0) 2017.07.05
ABAP Objects 책 PDF  (0) 2016.12.07
Next Generation ABAP Development 책 PDF  (0) 2016.12.07

+ Recent posts