[Function] GOS_ATTACHMENT_LIST_POPUP

2024. 4. 15.
 

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): 저장된 내용을 조회만 할 수 있는 읽기 전용 모드입니다.

    C 모드: 추가 버튼이 활성화됩니다.

    D 모드: 조회 기능만 제공됩니다.


    3. 운영 보안을 위한 권한 설정 (S_GOS_ATT)

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

    해당 오브젝트의 ACTVT 필드에서 02 (Change) 또는 06 (Delete) 항목을 체크하여 사용자별로 권한을 부여해 주시면 안전하게 운영할 수 있습니다.


    오늘 알아본 GOS 기능은 별도의 첨부파일 엔진을 구축하지 않고도 SAP 표준 내에서 완벽한 솔루션을 제공합니다. 실무에서 ALV와 연동하여 사용해 보시길 적극 추천드립니다! 궁금하신 점은 언제든 댓글 남겨주세요.