[SAP ABAP] 입고 문서 CRUD PROGRAM

송의찬·2024년 6월 3일
0

ABAP 탐험

목록 보기
4/6
post-thumbnail

GR CRUD PROGRAM(MM MODULE)

차량 공유 플랫폼 회사 규모 확장에 따른 SAP S/4 HANA 도입프로젝트에 들어가며, MM Moudle 개발에 참여하게 되었다. 모듈에 대해서는 이후 글에서 설명하는 걸로 하고~~ 어떠한 방식으로 설계하고, 개발해야 할지 고민하며 만든 프로그램은 입고문서(GR) 프로그램 이다. 사용자들의 만족도 100%를 향해 나아가보자.

CODE FLOW

  • 다음은 해당 프로그램에서 사용된 액션 코드들이다.
  • Main Screen

  • Detail Screen

  • Insert Screen

  • Update Screen

  • SEARCH 버튼은 ALV에 사용자에게 필요한 정보를 보여주는 것이 주 목적이다. 때문에 SEARCH 버튼을 누르면, DB TABLE에서 SELECT를 통해 필요한 정보들을 가져온다. 입고 문서를 조회할 때는 가장 최신의 값만 보여줘야 한다고 생각했기에, 취소 건수는 조회되지 않도록 만들었다.

  • 조회 조건을 결정할 때는 사용자 편의성 + 적절한 양의 데이터를 보여줄 수 있는지를 고려해야 한다. 때문에 필자는 해당 프로그램에서 코드 및 일자, 거래처 별 데이터를 조건으로 설정함으로써 사용자가 한눈에 볼 수 있는 데이터를 조회할 수 있게 만들었다.

  • 데이터 탐색 시 DB Layer에서 탐색 후 결과를 ABAP Layer로 전달해주는 CDS view를 활용해 효율성을 높였고, ALV 필드 구성 시 사용자가 우선적으로 확인해야 하는 값을 기준으로 순번을 설정했다.

EVENT : DOUBLE CLICK

  • 입고 문서를 조회한 ALV에서 사원 정보, 거래처 정보 등을 조회하고 싶을 때 해당 EVENT를 통해 정보를 보여줄 수 있다.

  • 사용자는 각각 사원 이름, 거래처 이름의 정보를 DOUBLE CLICK 해 추가 정보를 볼 수 있다.

  • 사용자가 해당 EVENT를 실행하면 다음과 같이 POPUP에 정보를 보여준다.

사원 정보 POPUP

거래처 정보 POPUP

EVENT : HOT SPOT

  • HOT SPOT EVENT는 사용자가 필수로 클릭해야할 때 사용하는 EVENT 이다. 해당 프로그램에서 구매오더는 입고 문서와 밀접한 관련성이 존재하기 때문에 HOT SPOT EVENT를 활용했다. 정보를 보고 싶은 구매오더 코드를 클릭하면 다음과 같이 POPUP ALV가 보여진다.

  • 구매 오더 정보를 보여줄 때는 구매오더 헤더 1건에 대한 총합 금액을 보여주었고, 사용자가 한 눈에 확인 할 수 있는 수준을 구성해 간단 명료하게 나타내기 위해 노력했다.

ACTION NO.2 : DETAIL

  • 초기 화면에서 하나의 행을 선택해 상세 정보 버튼을 클릭하면 DETAIL 화면으로 이동한다. 해당 스크린의 주 목적은 입고 문서 헤더 및 아이템 정보들을 모두 보여주는 것이다. 담당자 정보 및 구매 오더 정보 버튼을 누르면 해당 KEY 값에 대한 정보를 모두 볼 수 있다.

  • 아이템에 대한 상세 정보를 보고 싶다면 하나의 행 선택 후 GR ITEM 상세를 눌러 확인할 수 있다.

ACTION NO.3 : INSERT

  • 새로운 입고 문서를 등록 시 초기 화면에서 GR 생성 버튼누르면 INSERT SCREEN으로 이동한다. 입고 문서 헤더를 먼저 입력 한 후 입고 문서 아이템을 생성할 수 있다. 입고 문서 아이템을 생성하면 아래에 있는 ALV에 하나의 행으로 추가된다. 차량 대여 서비스를 진행하는 회사이기에, 차량은 자산으로 분류된다. 때문에 입고 문서 아이템 생성 시 구매 오더 건에 해당하는 차량을 가져와야 하기에 프로그램 내에서 SEARCH HELP를 구현해 입력할 수 있는 차량만 사용자에게 보여준다.

  • 해당 프로그램에서 사용한 SEARCH HELP 구현 코드이다.

  • 해당 화면에서 값을 입력하면 입고 문서 아이템 DB에 저장할 값을 ALV에 한 행씩 저장한다.

  • 모든 값을 입력한 후 GR생성 버튼을 누르면 헤더 정보 와 아이템 정보가 모두 INSERT 된다.

ACTION NO.4 : UPDATE

  • 입고 문서 등록 후 잘못된 정보를 입력해 수정하고 싶다면 하나의 행을 선택하고 GR변경 버튼을 눌러 UPDATE SCREEN으로 이동할 수 있다. 해당 화면에서는 입고 문서 헤더 및 아이템 정보를 모두 보여준다. 헤더 정보 변경과 더불어 입고 문서 아이템 정보를 변경하려면 하나의 행을 선택한 후 입고 문서 아이템 생성 OR 입고 문서 아이템 삭제 OR 입고 문서 아이템 변경 버튼을 누르면 사용자 목적에 맞게 활용할 수 있다.

  • 모든 변경을 진행한 후 GR 변경을 누르면 UPDATE가 이루어지고 GR 삭제 버튼을 누르면 DB에 삭제 플러그가 추가된다.

KEY POINT!!!

  • 오늘은 차량 대여 서비스 회사에서의 입고 문서 생성/변경/삭제/조회 시스템을 만들어보았다. 시스템 구축을 하면서 느낀 점은 입고 문서 프로그램을 사용할 사용자 관점에서 구축하는 것이 중요하다는 점이다. 화면 구성, 기본 값 설정, 사용자에게 보여지는 버튼의 종류 등 사용자 만족도를 높이기 위해서는 많은 노력이 들어가야 한다는 것이다.

  • 데이터 품질을 높이는 방법은 여러가지가 존재하겠지만, 정교하게 프로세스를 구축하는 것이 중요하다고 생각한다. 초기에 정보 입력을 정확하게 하도록 만든다면, 잘못된 데이터가 들어갈 확률이 낮아지기 때문이다. 또한 헤더-아이템의 관계, 다른 테이블과의 관계 등을 생각하며 데이터 무결성이 깨지지 않도록 만들어야 한다.

  • 또한 입고 문서의 경우에는 엄청나게 많은 데이터가 존재하고, 추가될 것이기에 데이터 탐색 시 CDS VIEW 활용이나, 중복 데이터 제거 등 효율성을 높이기 위해 많은 신경을 써야 한다는 것을 깨달았다.

  • 결론적으로!! 프로그램 설계에서부터 구현까지 작은 요소라도 깊은 생각을 가지고 만들어야 한다. 정교한 설계에서부터 다양한 경우의 수를 모두 녹여내는 것이 좋은 프로그램을 만드는 방법이라고 생각한다.

profile
Best efficiency, customer satisfaction

0개의 댓글