본문 바로가기
ERP-SAP/일하며 잡담

SAP ABAP 써티 어렵나요? ABAP 어렵나요? ERP 배우기 난이도가 어떤가요?

by 행복한워니의 기록 2023. 11. 29.
728x90
반응형

검색해보면 이런 내용의 글이 별로 없는 것 같다...
 
미지에 가려진 SAP일까? 아니면 내향적인 개발자들의 성향때문일까^^ ㅎㅎㅎ
그래서 글 수 늘려볼 겸 또 잡담을 써본다.
(생각보다 이런 글들 조회수가 높다는게 신기하다 생각이 들고 있다... 왜일까?)
 
우선 ABAP 언어 자체는 쉽다.
대학시절에 전자공학을 배우며 기본적으로 C와 C++ 을 기초만.. 정말 겉핥기만 배웠는데
그것과 비교해 ABAP은 느낌만 좀 다르고 적응되면 코드 짜는 난이도는 그렇게 어렵지 않다. 
JAVA도 살짝 공부만 해봤는데 JAVA 보다 코딩 난이도는 쉽다고 생각한다.
 
 
요즘 New abap이 나오며 매우 많이 java비스무리하게 가는 것으로 보였는데
아마 내가 여기 유지보수를 하며 abap 코딩 세상은 더 많이 변해버렸을 것이라 생각한다..
S플젝에서 new abap 조금 짜보고 나왔으니까 그래도 기억은 한다.
(select 할때 동적선언을 해서 바로 담는거라던지.... 몇개 자주 쓰는게 있었고 
 매번 internal table 에서 loop 돌리며 이것저것 처리하며 확인하던 버릇으로 인해 
 sub query 들은 나와 전혀 안맞아서 안썼다.... select where 절에 select 라니.... 하며..ㅎㅎ)
 
요즘은 sap hana 도입들로 인해 subquery들을 잘써서 가져올때부터 퍼포먼스를 올리는게
더 유리하다고 들었다. 
 
아무튼...
언어자체는 어렵지 않다.
모른다면 그냥 눈 딱 감고 ABAP 100번만 짜보면 된다. 
 
처음 abap을 배우며 어려웠던 점이
 
인터널 테이블 개념이었다.
 
'아니... DB TABLE SELECT 랑 INTERNAL TABLE SELECT 랑 뭐야 이거...'
 
할정도의 이해를 가지고 있었고,
이걸로 한 4개월 넘게 회사내에서 혼자 고민하는걸 보더니
우리 창ㅇ형님이(그땐 과장님이었지..) 
 
"넌 아직 테이블에 대한 개념이 완벽하지 않아.."
 
라고 했었다..
 
그때 난 내가 다 아는줄 알았는데.. 아니었더라고... ㅎㅎㅎㅎㅎ
역시 개발신은 그게 옆에서도 보였었던 것이다.
물론 내가 가르쳐 보니..
이제 "저 사람이 ITAB 과 DB TABLE을 제대로 이해하는지" 알겠더라..
 
그만 이야기 하고..
그럼 어려운 부분은 무엇이냐면 프로세스적인 부분이다.
 
SAP ERP는 "솔루션" 이다...
ERP 패키지라는 뜻이고 그 안에서 필요한 레포트나 화면들을 ABAP으로 만들어 주는 것이다.
 
이 말인 즉, 우리는 담당 업무에 대해 ERP적인 이해도가 필요하다는 소리다.
 
예시를 들어보자.
 
"과장님. 저 이 전표를 치는데 이거 전표유형이 KA일때는 지급 보류를 걸어서 
저희 부서와 회계팀 승인을 받고 보류를 풀어주고 싶어요. "
 
 
이렇게 요청이 왔다고 생각해보자.
 
JAVA는 어떤 개념으로 고민할지 모르겠지만 
SAP 의 경우에서는 우선 FI모듈 회계전표생성이 기본중에 기본이니 
 
1. "어? 저 부분은 T-CODE : GGB1 을 이용해 EXIT을 통해서 KA 전표일때 지급보류를 기본적으로 잡고 시작해야겠구나"
2. 그러면 GGB1 에 전표유형을 읽을 쿼리를 짜고 전표에 지급나갈 계정에 보류를 잡아버리면 되겠네. 
3. 승인 프로세스는 CBO로 만들어줘야겠구나. 
4. 그렇다면 현업유저가 전표를 생성하고 이 전표를 읽어서 이걸로 승인요청 부서 팀장에게 보내게 만들어야겠네.
5. 팀장은 이메일로 이 정보를 받아보거나 이메일로 승인하면 편하긴 하겠네..(BSP? 웹딘? JAVA JCO INTERFACE?)
등등등등..
 
으로 머릿속에 떠오른다.
 
즉, 전부다 ABAP으로 짜는게 아니라
SAP ERP 내부에 뚫어둔 EXIT, BTE(비지니스 트렌젝션 이벤트) 같은 SAP내 특별 기능들을 이용해 
전표 저장되는 시점에 쿼리를 넣을 수도 있고, 또 풀 CBO로 프로그램을 짜서 뭔가를 만들어 줄 수도 있는 것이다.
이미 기본적인 UI들은 SAP에 있으니 그걸로 그냥 그려주면 되는것이다.
(옛날 SAP보면 이건 90년대 느낌이 물씬 풍기는 화면들이라 생각할 것이다..)
 
이런 부분을 얼마나 이용하느냐에 따라 
개발자, 그리고 컨설턴트의 능력이 갈린다.. 
 
쉽게 SAP IMG 라는 셋팅기능으로 인해 코딩없이 처리될 부분들을
모른다면 ABAP으로 다 짜게 만드는 것이기에 그만큼 SAP에 대한 기능과 프로세스 이해도가
중요한 것이라 생각한다.
 
그럼 이런건 어디서 배워요? 라고 묻는다면...
관련 대학 학과에서는 위와 같은 실전 부분을 많이 가르쳐 주지 않을까 싶고
사실 이런건 직접 SI개발을 뛰며 컨과 붙어 배워가야만 한다.
 
이런 플젝에서 못배우고 커피마시러 돌아다니고 내 설계서대로 코딩 끝났으니
놀러나가고 하며 자기개발을 하지 못한다면 저런 기능을 어떻게 쓰는지 조차 모를 수 있다.
 
최소한 두세번은 저런 기능들을 직접 경험해봐야
내것이 된다 생각한다..
 
그럼 이 글 작성자는 이런 기능을 다 아느냐... 물으신다면
전혀 아니다......
매번 업무를 하면서도 구글에서 새롭게 찾고 배우고 또 까먹고 하면서
머릿속에 "아.. 이런 기능이 있었지..." 라는것만 기억하고 있다.
그리고 IMG 셋팅은 난 아직도 잘 모른다. 컨설턴트 출신이 아니기에 풀 프로세스는 잘 모르고 있다.
그러나 회계에 대한 이해도는 높이기 위해 전산회계 & 회계관련 서적들은 
여러번 보긴 했었다.(안해서 까먹...)
 
ABAP 또한 어떤식으로 어떤 값을 처리하는지
방법을 본적만 있다면 요즘은 다 찾아서 코딩할 수 있으니
그 "방법을 알고. 또 한번 보는" 경험이 중요하다..
그 경험이 쌓이면 이제 프리랜서를 뛸 자신감이 생긴다고 생각한다...
(물론 좋은 정규직 자리가 있으면 정규직도 매우 좋으니 경력 좀 쌓아 대기업으로 가도 좋다)
 
 
이상... 
오늘도 도움이 될지 안될지 모르는 글을 써보았으며..
궁금한 점이 있다면 언제든 댓글로 남겨도 좋다..
혹은 이런 내용의 글을 써달라 하면 써줄수도 있다..
소재 고갈로 아무거나 지어내서 쓰고 있기 때문이다... ㅎㅎㅎ

728x90
반응형