로딩
요청 처리 중입니다...

SAP ABAP - GOS 사용하기

 SAP ABAP - GOS 사용하기

SAP GOS는 SAP 시스템에서 특정 비즈니스 객체에 부가 정보를 연결할 수 있도록 제공되는 공통 서비스다. 예를 들면 회계전표 조회(FB03)에서 첨부파일 관리 버튼을 누르면 GOS를 통해 첨부파일이 연결되며, 첨부파일 리스트가 나타난다. 회계 문서 기준으로는 BKPF의 회사코드+전표번호+회계연도의 키 값으로 조합되지만, 실제로는 BOR(Business Object Repository)라는 비즈니스 객체의 키를 기준으로 첨부파일이나 메모가 연결되는 구조다. 전표 조회 시 내부적으로 한 개의 비즈니스 객체로 인식되고, GOS는 이 객체의 Key를 바탕으로 정보를 관리한다. 전표 번호가 아니라 객체에 첨부가 붙는 구조로 이해하면 된다.

BOR는 SAP에서 사용하는 비즈니스 객체 정의 저장소로, 업무 데이터가 단순 테이블이 아니라 객체 단위로 정의되어 관리된다. 예를 들어 전표 조회 과정에서 사용자가 조회하면 해당 전표가 하나의 비즈니스 객체로 인식되고, GOS는 이 객체의 키를 기준으로 첨부파일과 메모를 연결한다. 이 과정에서 내부 기준값은 단지 참조 용도로 인식하면 무방하다. 스탠다드 대신 새로운 OBJECT를 생성하여 파일 관리를 구현하는 방법이 제시된다.

GOS 오브젝트 등록은 SWO1에서 수행하고, 인터페이스를 통해 어떤 방식으로 연결할지 설정한다. 일반 오브젝트 서비스(IFGOSXSERV)로 구현하고, 키필드를 지정해 실제 파일 관리를 호출할 때 사용할 값을 설정한다. 오브젝트 유형은 호출 시 사용되는 값이므로 충돌 없이 지정해야 하며, 프로그램명도 서로 겹치지 않도록 구성한다. 초기화면에서 기본 유형들이 생성되며, 인터페이스를 선택한 뒤 생성 버튼으로 유형의 인터페이스를 부여한다. 테이블에서 키 값은 유일키로 관리되기에 표출되는 값만 확인하면 된다.

임시로 프로그램을 생성해 실제 호출 테스트를 진행할 수 있는데, 임시로 생성된 객체를 통해 버튼으로 동일한 지정이 가능하다. 다만 권한 문제로 오류가 발생하는 경우가 있는데, 두 개의 테스트 모드를 실행하면 Sync를 맞추는 과정이 필요하다. 실제 현업에서는 ALV에 버튼을 달아 라인별로 파일을 관리하는 방식이 선호되며, 최소한의 로직이 필요하다. 예를 들어 BOR 키 생성, GOS 첨부 팝업 호출, 저장 요청 시 커밋 처리 등을 포함하는 흐름이 제시되고, 이때 보고서나 함수 호출을 통해 객체의 관리가 이루어진다.

프로그램 실행 부분에서는 GOS 호출용 객체를 생성하고, objtype, objkey를 지정한 뒤 오브젝트를 생성한다. 호출 결과로 첨부파일 리스트 팝업이 나타나고, 저장 시 커밋이 진행된다. 취합된 데이터는 SRGBTREL, SOOD, SOFM, SIBFLPOR 등의 내부 테이블에 저장되며, 실제 파일 콘텐츠와 연결된 주요 키값들이 기록된다. 개발에 도움되길 바라는 마음으로 설명이 마무리된다.

# ABAP # ERP # File # GOS # SAP # SI # SM # 파일관리