본문 바로가기

SAP & 개발 이야기

ABAP이라는 언어 접근 방법

안녕하세요.
ABAP 공부 방법에 대해서 이야기를 나누어볼까 합니다.
ABAP은 SAP를 위한 개발언어로서, 개발 언어 중 사용 비율이 굉장히 낮은 개발 언어입니다.

아래 링크에서 나타나듯이, 실제 검색되는 언어 비중(실제 사용비중도 비슷할 것이지만) 에서 1%안되는 비중을 차지하고 있습니다.

물론, 제 티스토리를 찾아주시는 분들은 현재 ABAP 개발자라던가, 컨설턴트 분들일 것이고, 혹은 앞선 직업들을 희망하는분들일 것이라는 생각을 합니다.

ABAP이라는 언어는, 다른 언어와는 큰 차이가 있습니다. 물론 제가 타 개발 언어를 정말 많이 아는 것은 아니지만, ERP라는 것이 결국 회사의 일을 하는 시스템이고 ABAP은 그러한 일을 할 수 있게끔 해주는 언어입니다.

그렇기 때문에, ABAP 개발에 있어서는 개발적인 Skill 뿐만 아니라, 업무 지식에 대한 이해가 필요하다고 생각합니다.

개발 업무를 하며 사람들을 접하다 보면, 대다수의 사람들은 교육을 수료한 사람들 혹은 이제 갓 취업한 사람들에게 "ALV만 잘 그려도 된다"라는 말을 더러 합니다. 여느 회사에서는 개발 방법에 대해 교육을 해주지만, 올드한 ALV 개발 방식을 템플릿으로 주기도 합니다.

이러한 이유 중 하나로는 실제 회사 업무를 직접적으로 다루기 때문에, 결과 도출 과정에 대한 고려보다는 결과물 우선의 분위기 라고 생각합니다. 성능이 느릴지라도, 실제 결과가 맞고 문제가 없으면 괜찮다라는 경우가 많습니다. 이렇기 때문에, 더 나은 성능의 구문은 무엇인지, 더 효과정인 방법은 무엇일지 에 대한 고민은 대부분 같이 일하는 선배 개발자 혹은 컨설턴트분이 알려주지 않는다면 스스로의 숙제로 남겨지게 됩니다.

저는 비전공자 출신으로, ABAP 개발자가 제 업이 되면서부터 어떻게 하면 더 좋은 방법일까, 내가 맞게 개발하고 있나에 대해서 고민을 해왔던 것 같습니다.

고민을 하면 느끼는 것은, ABAP이라는 언어의 특수성에 대해서 이해를 하는 것이 중요하다는 것입니다. ABAP은 물론 최근에는 Eclipse를 통해 HANA 개발을 가능하게 되었지만, SAP GUI의 ABAP Development Workbench에서 개발을 하게 됩니다. 

많은 테이블, 기존 프로그램, ABAP Object 등이 실제 SAP에서 스탠다드로 구현해 놓은 것이 많고, 실제 대부분의 데이터들이 실제 업무의 흐름에 따라 발생되는 것이 많기 떄문입니다. 이런 환경에서, 개발자들은 기존 SAP에서 만들어 놓은 것들에 대해서 재사용성(Reusability)에 대해 장점을 가지고, 실제 시스템이 어떻게 구현되어 어떻게 데이터가 생기는지 이해가 되면 개발 방향을 가지는데 큰 도움을 얻을 수 있습니다.

그래서 저는 개인적으로 초보자 분들에게 Skillful한 어떠한 기술적인 능력을 요구하지는 않습니다. 어떠한 Program 하나, Function Module 하나를 구현하는데 있어서, 그냥 코딩을 하는 것이 아닌 다양하게 생각하는 생각의 확장, 이해를 하고 코딩 하는 것부터 하도록 조언합니다. 실제 운영업무 혹은 프로젝트에서 고연차의 직급 분들은 꽤 자주 '당장 바쁜데, 결과를 내야지 언제 생각하고 있냐. 일단 만들어라' 라고 하실 수도 있습니다. 물론 제한적인 업무 시간 속에서 만들어야 되는 산출물이 있기 떄문에, 업무 시간에 일보다 고민을 하라는 의미는 아닙니다. 사실 초보자분들에게는 개인적인 시간을 다소 할애했으면 좋겠다는 생각을 합니다. 특히 비전공자분들은 IT 전공자들에 비해 최소 4년의 시간이 뒤쳐져 있습니다. 그렇기 떄문에 내가 더 많은 시간을 투자하지 않는다면, 그 시간의 간극을 따라잡기는 힘들 것입니다. 

앞으로 글을 통해 교육자료 추천과 개발 설명, 예시를 다양하게 전달드려 도움을 드리도록 하겠습니다.

관련하여, 기초 이론이나 궁금한 점이 있으면 언제든 댓글, 쪽지 주시면 정확한 답변을 해드리도록 노력하겠습니다.
감사합니다.

반응형

'SAP & 개발 이야기' 카테고리의 다른 글

2022.12.18 블로그 재개  (0) 2022.12.18