CONTENTS: SAP GOS 첨부파일 리스트 구현 가이드
1. ABAP GOS 첨부파일 팝업 함수 요약
SAP 개발 중 특정 데이터나 전표에 파일(PDF, 이미지 등) 또는 메모를 첨부해야 할 때, 가장 빠르고 표준적인 방법은 GOS(Generic Object Services) 기능을 활용하는 것입니다.
별도의 테이블을 설계하지 않아도 SAP 표준 저장소를 이용하므로 매우 효율적입니다. 아래는 첨부파일 리스트 팝업을 호출하는 핵심 코드입니다.
" GOS 오브젝트 정보 정의
DATA: LS_OBJECT TYPE SIBFLPORB.
LS_OBJECT-CATID = 'BO'. " Category ID
LS_OBJECT-TYPEID = 'ZOTYPE'. " Object Type
LS_OBJECT-INSTID = '100001'. " Instance ID (Key값)
CALL FUNCTION 'GOS_ATTACHMENT_LIST_POPUP'
EXPORTING
IS_OBJECT = LS_OBJECT
IP_MODE = 'C'. " C: 편집모드, D: 조회모드

2. 파라미터 상세 분석 및 테이블 구조
1) LS_OBJECT: 데이터 저장 주소 지정
이 구조체는 첨부파일이 DB 테이블(SRGBTBREL)의 어느 위치에 저장될지를 결정합니다. 일종의 '메모리 주소'라고 이해하시면 좋습니다.
| 필드명 | 설명 |
|---|---|
| CATID | 일반적으로 'BO' (Business Object)를 사용합니다. |
| TYPEID | 데이터 대분류입니다. (예: 구매오더 BUS2012 등) |
| INSTID | 각 행을 구분하는 Key값입니다. ALV 연동 시 이 값을 통해 개별 행마다 다른 파일을 매핑할 수 있습니다. |

2) SRGBTBREL 테이블 확인
메모나 파일을 저장한 뒤 실제 데이터가 어떻게 쌓이는지 확인해 보겠습니다. (Table: SRGBTBREL)

위와 같이 3가지 분류로 데이터가 저장되므로, 이를 잘 활용하면 ALV의 각 로우(Row)별로 독립된 파일 업로드 기능을 완벽하게 구현할 수 있습니다.
3) IP_MODE 설정
사용자의 역할에 따라 팝업의 권한을 제어할 수 있습니다.
- C (Create): 생성, 변경, 삭제가 가능한 풀 권한 모드입니다.
- D (Display): 저장된 내용을 조회만 할 수 있는 읽기 전용 모드입니다.


3. 운영 보안을 위한 권한 설정 (S_GOS_ATT)
기능 구현도 중요하지만, 운영 환경에서는 무분별한 파일 삭제를 막아야 합니다. SAP 권한 오브젝트인 S_GOS_ATT를 통해 제어가 가능합니다.

해당 오브젝트의 ACTVT 필드에서 02 (Change) 또는 06 (Delete) 항목을 체크하여 사용자별로 권한을 부여해 주시면 안전하게 운영할 수 있습니다.
오늘 알아본 GOS 기능은 별도의 첨부파일 엔진을 구축하지 않고도 SAP 표준 내에서 완벽한 솔루션을 제공합니다. 실무에서 ALV와 연동하여 사용해 보시길 적극 추천드립니다! 궁금하신 점은 언제든 댓글 남겨주세요.