공부 삘 받았을 때 계속 해야 한다.
또 내가 중요하다 생각하는건 read table...
엄청 많이 쓰는 인터널테이블 기술이다.
우선 테스트 데이터 만들기....
<OLD ABAP>
귀찮아서 바로 data 선언해서 긁어오는 뉴아밥을 사용했지만 아무튼 테스트 데이터를 ITAB 에 담았다.(LT_SFLIGHT)
그리고 늘 하듯이.
SORT LT_SFLIGHT BY CARRID CONNID FLDATE 로 소팅후에
READ TABLE LT_SFLIGHT INTO 스트럭쳐 WITH KEY CARRID = 'AA'
CONNID = '0064'
FLDATE = '20240713'
BINARY SEARCH.
해서 값을 찾아
WRITE 로 필드값을 출력했다.
그러면....
뉴아밥은 어떻게 이걸 할까?
<NEW ABAP>
위와 같이 쓴다...
구아밥과 뭐가 더 편한가? 생각해보면
사실 READ TABLE + INTO 안쓰고
WITH KEY 를 안쓴것...
즉, 구문이 조금 줄어들었다.
대신 대괄호를 써야한다.. ㅎㅎ
약간 더 심플해진 느낌이 있고
index 1 이나 값이있는지 체크할때(transpoting no field) 할때는 더 빠르고 편해진 것 같다.
바이너리 서치는 어짜피 선언부터 sorted table 로
따로 만들어서 써야 하니.......
올드아밥과 뉴아밥을 적절히 사용하면 좋을 것 같다.
대신 선언시에 NON UNIQUE KEY 를 안쓰면
키중복값들은 들어가있지 않으니 이 부분은 주의해야 한다.
위에껄 다 따라쳐서 F8로 실행했다면....
우리 1강에서 배웠던 SWITCH 를 활용해서
저 IF SY-SUBRC = 0 부터를
SWITCH 로 바꿀 수 있지 않을까??
1강 복습 시작!!!!!!
먼저 본인이 생각해서 코딩을 한번 짜보자.
나도 그랬으니....
그럼 내 코딩은..
아래처럼 짰다..
왜 2줄이냐고??
2개의 차이가 출력에서 난다.
분명 똑같아 보일텐데 다르다..
직접 짜봐야 안다...
위에는 그냥 필드의 길이에 상관없이 다닥다닥 붙여버린다.
아래는 필드길이 속성을 유지하며 합쳐준다.
뭔말이냐고???
아래 결과를 보자.
출력 리스트중 맨 아래 2개 라인이다.
어떤가.......
요런 차이를 잘 기억해두면 좋을 것 같다.
'ERP-SAP > ABAP' 카테고리의 다른 글
<NEW ABAP> LOOP AT INTO GROUP BY 사용하고 OLD ABAP 과 비교 (0) | 2024.11.28 |
---|---|
<NEW ABAP> 3강 APPEND ITAB 을 쉽게 해보자. (1) | 2024.11.18 |
<NEW ABAP> 1강 COND, SWITCH (OLD ABAP : CASE, IF) 로 바꿔보기 (0) | 2024.11.15 |
<ABAP> XML DOWNLOAD 개발하기 (2) | 2024.11.07 |
<ABAP> BAL_LOG_MSG_ADD / BAL_DB_SAVE 는 어디서 셋팅하나? (0) | 2024.11.04 |