프로젝트 설명
사원별 프로젝트 및 자격증 이력을 관리할 수 있는 다중 ALV 기반 프로그램을 구현한 과제입니다. 조회 조건 설정, 유효성 검사, 더블클릭/핫스팟 이벤트, 팝업 편집 및 저장 기능을 포함합니다.
프로젝트 요구 사항
"사원별로 연도 기준 프로젝트 투입 이력을 월 단위로 집계하고, 자격증 이력을 함께 관리하고자 합니다. 자격증은 팝업으로 조회/편집 가능하며, 프로젝트 투입 이력은 모듈, 기간 등의 유효성 검증이 필요합니다.”
Links
New Skills
- SAP Event
Experience
도전 정신과 성능 최적화 관점에서의 접근
“SELECT는 한 번만 사용해보기”라는 조건이 있었기에 도전해보고 싶었습니다. 단순히 가산점 때문만이 아니라, DB를 직접 조회하는 SELECT 명령어는 서버와 메모리에 부담을 줄 수 있다는 점에서 최적화 차원에서도 의미 있다고 생각했습니다.
도전정신은 좋았지만, 이 접근 방식이 오히려 불합격의 원인이 되지 않았나 싶습니다.
처음 접한 ABAP 개발에 대한 설계 및 구현 방식
익숙하지 않은 ABAP 문법과 구조를 처음 접하다 보니 전체 설계를 머릿속에서 정리하는 것이 쉽지 않았습니다. 그래서 일단 기능부터 하나씩 구현한 뒤, 나중에 전체 구조를 정리하는 방식으로 접근했습니다. 하지만 모든 기능 구현을 마쳤을 무렵에는 마감 기한이 얼마 남지 않아 구조 개선과 코드 최적화에 충분한 시간을 쏟지 못했습니다. 기능은 구현했지만 전체적인 구조는 정돈되지 못했고, 발표 당시 필드 카탈로그의 참조형 변수에 대한 질문을 받았을 때는 머릿속이 하얘져 제대로 답변하지 못했던 기억이 남습니다. 비록 결과는 불합격이었지만, 이번 프로젝트를 통해 제 개발 태도를 되돌아보는 계기가 되었습니다. 어떤 부분이 부족한지, 앞으로 무엇에 집중해야 할지를 명확히 알 수 있었고, 오히려 회복탄력성을 얻으며 개발에 대한 열정이 더 깊어졌다고 느꼈습니다.
예외 상황 처리 및 디버깅 경험
SELECT를 한 번만 사용하다 보니 여러 테이블을 JOIN하게 되었고, 이로 인해 중복 데이터가 다수 포함되었습니다. 내부 테이블에서 UNIQUE KEY를 설정하고 필요한 조건으로 필터링했지만, 중복된 값이 있으면 겉으로는 문제가 없어 보여도 SY-SUBRC = 4 오류가 발생했습니다. 이는 디버깅 과정에서 확인했으며, 예외 처리까지 구현했어야 했지만 시간 부족으로 마무리하지 못했고 실제로 그 부분에 대한 피드백도 받았습니다. 또한 PERFORM 구문에서
USING
으로 전달받은 파라미터를 사용하지 않는 경우가 있었고, 이 역시 시간 부족으로 놓쳤으며 지적을 받았습니다. 정말 열심히 준비한 프로젝트였지만, 실력은 아직 부족했다는 것을 인정하게 되었습니다. 이번 경험을 바탕으로 기본기를 다지기 위해 SQLD와 정보처리기사 자격증을 준비하기로 다짐했습니다. 더 단단한 기초 위에 실력을 쌓아나가며, 부족했던 점을 채워나갈 계획입니다.