메뉴 건너뛰기

SAP 한국 커뮤니티

>안녕하세여~ 더운데 다들 수고가 많으십니다.



>제가 이번에 프로그램을 짜다가 T-CODE SMW0을 처음 접하게 되었는데


>머 대략 SMW0에 문서를 저장하거나 등록하는 방법은 알겠는데


>정확하게 제가 원하는대 사용하는 방법을 몰라서 질문드립니다.



>실행시켰을때 EXCEL DOWN이라는 버튼을 추가해서 버튼을 눌렀을때 EXCEL파일을 불러오게 하려는건데



>  >

>USER_COMMAND 에서


>WHEN 'EDOWN'



>머 이런식으로 시작하면 될 꺼 같은데 아직 초보라 어떻게 해야할 지 감을 못잡고 있습니다.ㅠㅜ


 


 


==========================================================================================================


 


기존 제가 개발했던 소스를 아래 적으니, 참고하세요. ^^


 


    WHEN 'FC01'.                                     <====WHEN 'EDOWN' 로 대체하시면 될 듯 하구요.
      PERFORM SAP_OI_LOAD_MIME_DATA.


 


 


*----------------------------------------------------------------------*
* SMW0 ROUTING 생성/변경 양식
*----------------------------------------------------------------------*
INCLUDE: OFFICEINTEGRATIONINCLUDE.


DATA: FUNCTXT        TYPE SMP_DYNTXT,
      DOC_TABLE      LIKE W3MIME OCCURS 0,
      DOC_SIZE       TYPE I,
      DOC_TYPE(80)   VALUE SOI_DOCTYPE_EXCEL97_SHEET, "엑셀
      DOC_FORMAT(80) TYPE C,
      LINK_SERVER    TYPE REF TO I_OI_LINK_SERVER,
      FACTORY        TYPE REF TO I_OI_DOCUMENT_FACTORY,
      DOCUMENT       TYPE REF TO I_OI_DOCUMENT_PROXY,
      RETCODE        TYPE T_OI_RET_STRING.


*&---------------------------------------------------------------------*


 



*&      Form  SAP_OI_LOAD_MIME_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
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
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM SHOW_MESSAGE .


  CALL METHOD C_OI_ERRORS=>SHOW_MESSAGE
    EXPORTING
      TYPE = 'E'.



ENDFORM.                    " SHOW_MESSAGE

번호 제목 글쓴이 날짜 조회 수
389 인터널테이블 추출 간단한 로직 하나만 알려주세요 ^^ [1] 파출부 2021.07.20 809
388 SAP GUI CBO Report 실행시 강제종료 관련 문의 [1] 스게 2020.02.27 802
387 또다른 abap 왕초보가 텍스트 일레맨트이용 출력하는법 질문합니다. [1] file 블랙핑크 2021.08.27 800
386 CL_GUI_ALV_GRID Protected Method 접근법.. [1] sapabaper 2019.12.23 800
385 <img src=2.gif border=0>[QM] QARS-VORGLFNR은 어디서 관리하는지요? [1] 닥터제로 2009.09.01 800
384 두 테이블 비교 후 없으면 업데이트 [2] 다크나잇트 2021.01.14 798
383 도메인 자릿수변경 오류 문의 (부분활성 PARTIALLY ACTIVE) [2] 아좀더 2019.04.24 798
382 테이블 생성했는데요 테이블내용 엔트리추가 왜 안될까요? [1] file 리얼오버 2022.03.18 796
381 초보자 구구단 질문 드립니다. 에슬 2020.11.28 795
380 SAP에서 문자 메시지 보낼 수 있을까요? [2] 로우랜즈 2020.02.11 790
379 ALV currency 필드 숫자 입력시 자동으로 100나누어지는 현상 문의드려요 [1] 왕초보아밥 2019.08.06 790
378 혹시 ALV 따라하기 좋은 자료 있으신분 계신가요? [8] 빨코 2020.05.14 788
377 se38에서 실행한 프로그램 로그를 볼수 있는 방법이 있을까요? [1] 홍시89 2022.03.07 781
376 날짜 형식 체크 [1] 닮닮 2020.11.03 780
375 모듈풀과 ALV를 한 화면에 사용하고 있는데.. 동작이 안됩니다. [2] file 궁금합니다 2020.04.09 777
374 안녕하세요~ ABAP책을 먼저 읽고 있습니다. 실습 프로그램 설치관련 질문이 생겨 글 올립니다! [10] 나비 2020.05.26 771
373 Search Help 달력팝업 기능 오류 관련 문의입니다. [2] file wjd 2020.02.03 758
372 screen output 필드 제어관련 문의 [2] file 해피소울 2019.08.02 754
371 if문 질문 [2] 콩차 2021.04.20 746
370 data element 와 domain 개념(easy abap 책) [1] file 이운영 2021.10.29 741