본문 바로가기
카테고리 없음

ABAP Index check 로직 비교 LINE_INDEX

by 온레 2023. 11. 28.

안녕하세요.
최근 업데이트된 new abap에서
인덱스 체크로직을 어떻게 구성 가능한지
변경된 부분들 포스팅 해볼께요.

OLD ABAP

이전 구 abap에서는
select single / select count 문이나 read table 문의 결과 값이
0인 경우에만 인덱스 체크를 수행했습니다.

DATA : lt_base TYPE TABLE OF SFLIGHT.

DATA : L_OLD_CNT TYPE I.

SELECT CARRID CONNID
      INTO CORRESPONDING FIELDS OF TABLE LT_BASE FROM SFLIGHT WHERE CARRID = ‘AA’.

DESCRIBE TABLE lt_base LINES l_old_cnt.

IF lt_base[] IS NOT INITIAL.
ENDIF.

DATA : l_old_idx TYPE SY-TABIX.
READ TABLE lt_base WITH KEY CARRID = ‘AA’
                                                        CONNID = ‘0064’
                                  TRANSPORTING NO FIELDS.
IF SY-SUBRC EQ 0.
l_old_idx = SY-TABIX.
ENDIF.


구 버전의 abap에서 인덱스 체크를
new abap 에서는 훨씬 간단하게
체크 가능하게되었는데요.

아래 비교 로직 보시죠.


NEW ABAP


DATA(l_new_cnt) = LINES( lt_base ).

IF LINE_EXISTS( lt_ase[ 1 ] ).
ENDIF.

DATA(l_new_idx) = LINE_INDEX( lt_base[ CARRID = ‘AA’  CONNID = ‘0064’ ] ).