제가 기존 프로그램을 수정을 하고 있는데요.
프로그램 설명)
Abap프로그램에서, 출력(CBO버튼)을 누르면, 내부로직에 의한 ITAB에 있는 값이 박힌 채로.
[엑셀 문서]가 뿌려지는 상태인데요~
이 [엑셀 문서]에 포맷(예: 전표포맷)이 정해져 있는데요~
이 포맷을 코딩으로도 할 수 있지만..
T-Code: OAC0(컨텐츠 저장소)에 엑셀 포맷을 올릴 수 있다는거 같은데~
질문)
1. 컨텐츠 저장소에 어떻게 올리는 건가요?
2. 올려진 엑셀을 어떻게 Call하는 건가요?
3. 올려진 엑셀 포맷을 수정 하는 방법은 뭔가요?
부족한 저에게 과분한 이슈라서..답변부탁드립니다.
*&---------------------------------------------------------------------*
*& AT SELECTION-SCREEN
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.
PERFORM SCR_USER_COMMAND.
.
.
.
*&---------------------------------------------------------------------*
*& Form SCR_USER_COMMAND
*&---------------------------------------------------------------------*
FORM SCR_USER_COMMAND .
CASE SSCRFIELDS-UCOMM.
WHEN 'FC01'.
PERFORM SAP_OI_LOAD_MIME_DATA.
WHEN OTHERS.
ENDCASE.
ENDFORM. " SCR_USER_COMMAND
.
.
.
*&---------------------------------------------------------------------*
*& Form SAP_OI_LOAD_MIME_DATA
*&---------------------------------------------------------------------*
FORM SAP_OI_LOAD_MIME_DATA .
IF FACTORY IS INITIAL.
*
CALL METHOD C_OI_FACTORY_CREATOR=>GET_DOCUMENT_FACTORY
IMPORTING
FACTORY = FACTORY
RETCODE = RETCODE.
IF RETCODE NE C_OI_ERRORS=>RET_OK.
EXIT.
ENDIF.
*
CALL METHOD FACTORY->START_FACTORY
EXPORTING
R3_APPLICATION_NAME = 'document_name'
IMPORTING
RETCODE = RETCODE.
PERFORM SHOW_MESSAGE.
*
CALL METHOD FACTORY->GET_LINK_SERVER
IMPORTING
LINK_SERVER = LINK_SERVER
RETCODE = RETCODE.
PERFORM SHOW_MESSAGE.
*
CALL METHOD LINK_SERVER->START_LINK_SERVER
EXPORTING LINK_SERVER_MODE = 3
* DEFAULT 1(STANDARD NAME), 0 (INACTIVE), 2(CUSTOMER NAME),
* 3(UNIQUE NAME) -> 0, 2(동일사용자 X), 3 일때 다중실행 ##
* SERVER_NAME_SUFFIX = 'HR'
IMPORTING RETCODE = RETCODE.
PERFORM SHOW_MESSAGE.
ENDIF. "factory IS INITIAL..
*
CLEAR: DOC_TABLE[].
CALL FUNCTION 'SAP_OI_LOAD_MIME_DATA'
EXPORTING
OBJECT_ID = 'ZFI_DOC_9010' " SMW0 정의된 문서 <================여기다 엑셀파일이름 넣는거에요
IMPORTING
DATA_SIZE = DOC_SIZE
DOCUMENT_FORMAT = DOC_FORMAT
DOCUMENT_TYPE = DOC_TYPE
TABLES
DATA_TABLE = DOC_TABLE
EXCEPTIONS
OBJECT_NOT_FOUND = 1
INTERNAL_ERROR = 2
OTHERS = 3.
IF SY-SUBRC NE 0.
RAISE FAIL_DOCUMENT_LOAD.
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF DOC_SIZE NE 0.
* FACTORY 와 DOCUMENT 연결
CALL METHOD FACTORY->GET_DOCUMENT_PROXY
EXPORTING
DOCUMENT_TYPE = DOC_TYPE
IMPORTING
DOCUMENT_PROXY = DOCUMENT
RETCODE = RETCODE.
PERFORM SHOW_MESSAGE.
* Document를 Protected Mode로 Open하고 매크로를 실행함.
CALL METHOD DOCUMENT->OPEN_DOCUMENT_FROM_TABLE
EXPORTING
DOCUMENT_TABLE = DOC_TABLE[]
DOCUMENT_SIZE = DOC_SIZE
IMPORTING
RETCODE = RETCODE.
PERFORM SHOW_MESSAGE.
ELSE.
* MESSAGE E005 RAISING FAIL_DOCUMENT_OPEN.
* RAISE FAIL_DOCUMENT_OPEN.
* MESSAGE S000 WITH '선택한 문서가 없습니다'.
ENDIF.
ENDFORM. " SAP_OI_LOAD_MIME_DATA
*&---------------------------------------------------------------------*
*& Form SHOW_MESSAGE
*&---------------------------------------------------------------------*
FORM SHOW_MESSAGE .
CALL METHOD C_OI_ERRORS=>SHOW_MESSAGE
EXPORTING
TYPE = 'E'.
ENDFORM. " SHOW_MESSAGE