ABAP 첨부파일(DMS) 다운로드: BAPI_DOCUMENT_CHECKOUTVIEW2

BAPI_DOCUMENT_CHECKOUTVIEW2

BAPI_DOCUMENT_CHECKOUTVIEW2 는 DMS 문서 파일을 다운로드 해주는 ABAP BAPI Function 이다.

이 Function 은 T-CODE CV01n~CV03n 과 크게 연관이 있다.

DMS (Document Management System)

SAP 는 여러 첨부파일을 저장하고 관리, 다운로드 할 수 있는 DMS 솔루션이 존재 한다. CV01n 에서 파일을 첨부하여 문서를 생성하고 CV03n 을 통해 이를 확인할 수 있다.

RFC 와 여러 솔루션을 조합하면, Legacy 시스템 에서 첨부한 파일을 SAP 내 DMS 솔루션에 첨부하고 외부 시스템에서 첨부파일을 다운로드 할 수 있도록 구현이 가능하다.

BAPI (Business Application Programming Interface)

BAPI 는 SAP 시스템, 외부 애플리케이션 사이의 표준 인터페이스라 하는데, 예를 들면 ABAP 프로그래밍을 통해서 FI 모듈, DMS 솔루션 등의 정보를 갱신/호출 할 때 표준화 된 Function 들을 제공해서 이용하게 만드는 것이다.

우리가 직접 Table 을 건드리지 않고 BAPI 를 사용하면, Exit 과 여러 예외처리, 그리고 여러 테이블에 흩어진 정보도 취합해 BAPI Function 이 정리해 리턴해 줘 효율적인 ABAP 프로그래밍을 할 수 있다.

BAPI_DOCUMENT_CHECKOUTVIEW2 샘플 코드:

* 로 주석 되어 있는 코드는 옵션 매개변수로 값을 지정하지 않아도 된다.

DATA: LS_FILE TYPE BAPI_DOC_FILES2,
      LT_FILE TYPE TABLE OF BAPI_DOC_FILES2,
      
      LS_RETURN TYPE BAPIRET2.
      
CALL FUNCTION 'BAPI_DOCUMENT_CHECKOUTVIEW2'
  EXPORTING
    DOCUMENTTYPE        = '문서 유형'
    DOCUMENTNUMBER      = '문서 번호'
    DOCUMENTPART        = '부분 문서'
    DOCUMENTVERSION     = '문서 버전'
    DOCUMENTFILE        = LS_FILE "값이 없어도 상관 없음.
*   GETSTRUCTURE        = '1' "default 값: 1 
*   GETCOMPUNENTS       = 'X' "default 값: 'X'
    ORIGINALPATH        = 'C:\경로\' "파일이 다운로드 될 경로
*   HOSTNAME            = ' '
*   GETHEADER           = 'X' "default 값: 'X'
*   DOCBOMCHANGENUMBER  =
*   DOCBOMVALIDFORM     =
*   DOCBOMREVISIONLEVEL =
*   PF_HTTP_DEST        = ' '
*   PF_FTP_DEST         = ' '
  IMPORTING
    RETURN              = LS_RETURN
  TABLES
*   DOCUMENTSTRUCTURE   =
    DOCUMENTFILES       = LT_FILES
*   COMPONENTS          =
. "온점을 빠트리지 않도록 주의  
    
ABAP
  • LS_FILE 은 값이 없어도 상관 없다.
  • LS_RETURN 은 실패 시 코드와 메세지를 리턴 한다.
  • LT_FILES 은 Function 실행 성공 시 파일 정보가 리턴 된다.

Function 관련 사항

이 Function 은 RFC 와 같이 외부에서 호출할 경우 작동하지 않는다. 생각을 해보면 작동 하는 순간, 사용자는 인지도 못한 상태로 파일을 다운로드 할 수 있게 되는 보안 상 문제가 발생할 수 있다.

RFC Function 에서 호출할 경우 “RFC_START_PROGRAM” not found. Dump Error 메시지가 출력 되어 T-CODE ST22 에서 발견할 수 있었다.

또 한, 무료 SAP 설치 ABAP 개발 시작하기 총 정리 를 통해 설치한 ABAP Developer Edition 에서는 DMS 기능이 활성화가 안되어 있어서 그런지 이 Function 을 찾을 수 없었다. (따라서 자연스럽게 CV03n 과 같은 T-CODE 또한 없다.)

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
목차
위로 스크롤