<NEW ABAP> 1강 COND, SWITCH (OLD ABAP : CASE, IF) 로 바꿔보기
옛날 SAP 유지보수하다 다시 SI를 나와보니 세상이 변해있었다..
그리고 이 글들은 올드 ABAP 개발자의 뉴아밥 적응기라 보면되고 나조차 처음 배우는 것들이니
우리 함께 배운다 생각하면 된다...
자 1강으로 COND와 SWITCH를 선택한 이유는
If와 case를 많이 쓰기 때문이고 신규 어딜가도 이 구문을 볼거 같기에 선택했다.
1. OLD ABAP 코드 CASE로 간단 쿼리를 짜보자
DATA : LV_VAL(1) VALUE 'C',
LV_STR TYPE STRING.
CASE LV_VAL.
WHEN 'A'.
LV_STR = LV_VAL && '값입니다.'.
WHEN 'B'.
LV_STR = LV_VAL && '값입니다.'.
WHEB 'C'.
LV_STR = LV_VAL && '값입니다.'.
WHEN OTHERS.
LV_STR = '없는 값입니다.'.
ENDCASE.
WRITE :/ 'OLD ABAP : ', LV_STR.
---------------끝 : 폰으로 코딩 쳤다.--------------
자... 그냥 구문연습이니 왜 저리 짰지? 생각하지 말자. ㅎㅎㅎㅎㅎ
그럼 COND와 SWITCH 로는 어찌 바꿀까?
개인적으로 SWITCH가 더 마음에 든다.
이유는 CASE와 동일하고 COND는 LV_VAL을 계속 반복해서 써줘야 하는데 SWITCH는 1번 쓰고 CASE처럼 하면 되기 때문이다.
무슨말이냐고???
아래를 한번 보자.
COND의 LV_VALC = 값 반복을 보고
SWITCH의 LV_VALS 한번 선언 후 값만 반복
차이를 보면 이해할 것이다
이 1강에서 뉴아밥으로 설명을 안했지만
&& 도 많이 쓰는 코드이고
Data( ) 바로 선언도 많이 쓰였다. (2017년에도 이건 썼었다...
cond 나 switch 다음에 쓴 string 이 보이는데
저 의미는 왼쪽 바로선언하는 data( lv_strs) 의
속성값이라 보면 된다. 너 string으로 받는거야~
라고 말해주는거지...
만약 저기 동적으로 받지 않고 위에
data : lv_strs type string.
으로 선언이 되어있었다면......
그냥
lv_strs = switch #( when ....)
으로 샾으로 때린다..
왼쪽 속성값에 따라가서 넣으란 뜻이지...
그래서 출력하면??
코딩을 써주지 않은..이유는...
화면보고 직접 생각하면서 따라쳐보란 뜻이다..
100번 치면 외워지더라.
1년차때도 그렇게 외웠는데 이제 또 다시 새 구문을 나도 100번 쳐서 익힐 시간이 온 것 같다..
2강도 빨리 공부해서 여기 올려 같이 익혀보자^^