콘텐츠
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 또한 없다.)