메뉴 건너뛰기

SAP 한국 커뮤니티

안녕하세요


 


현재 테이블이


MANDT MANDT CLNT 3
RELID     INDX_RELID CHAR 2
SRTFD    CHAR 45
SRTF2     INDX_SRTF2 INT4 10
LOEKZ    SYCHAR01 CHAR 1
SPERR    SYCHAR01 CHAR 1
AEDAT    SYDATS DATS 8
USERA    USERNAME CHAR 12
PGMID    PROGNAME CHAR 40
BEGDT    SYDATS DATS 8
ENDDT    SYDATS DATS 8
CLUSTR    INDX_CLSTR INT2 5
CLUSTD    INDX_CLUST LRAW 2886


이렇게 구성된 테이블에 들어있는 값이 엑셀 파일을 첨부하면 저장된다고 하는데...


 


얘를 어떻게 읽어와서 다운로드 받아야할지요....


 


현재 되어있는 프로그램에서는 load_doc 라는 매크로를 타고


 


 


_____프로그램 소스....


 

  DATA: outfile LIKE lgrwo-exp_file,
        docname LIKE z5pptd10-srtfd.
  DATA : sourcepath  LIKE  draw-filep,
         sourcefile  LIKE  draw-filep,
         targetpath  LIKE  draw-filep,
         targetfile  LIKE  draw-filep,
         subrc(1).

* SAP(ZMPP22)에서 등록된 MJS 문서는 Sap DB(Z5PPTD10)에서 읽고,
* DM에서 I/F되어 등록된 MJS문서는 FTP로 PC에 다운받아 실행.

  CLEAR: z5pptd09, filename, document, document_ovl,
         outfile, tab_1239d8c1789[].

  CONCATENATE dtab-pn '_' dtab-opn '_' dtab-rev INTO docname.

  SELECT SINGLE * FROM z5pptd10
   WHERE relid EQ '%O' AND srtfd EQ docname.
  IF sy-subrc EQ 0.    "SAP에서 등록됨.
    SELECT SINGLE * FROM z5pptd09
      WHERE pn  = dtab-pn
        AND opn = dtab-opn
        AND rev = dtab-rev.
    IF sy-subrc EQ 0.
      CALL FUNCTION 'WS_ULDL_PATH'
           IMPORTING
                download_path = outfile.

      IF save_ok EQ 'COM'.
        outfile = 'C:'.
      ENDIF.

      TRANSLATE outfile TO UPPER CASE.

      IF outfile IS INITIAL.
        IF sy-ucomm EQ 'PPR'.
          MESSAGE s003 WITH 'MJS 출력 작업이 취소 되었습니다.'.
        ELSEIF sy-ucomm EQ 'COM'.
          MESSAGE s003 WITH '승인 작업이 취소 되었습니다.'.
        ELSE.
          MESSAGE s003 WITH '작업이 취소 되었습니다.'.
        ENDIF.
*{   REPLACE        MI1K900127                                        1
*        STOP.

*stop.
exit.


*}   REPLACE
      ENDIF.

      CONCATENATE z5pptd09-pn '_' z5pptd09-opn '_' z5pptd09-rev
              INTO document.
*    CONCATENATE z5pptd09-ovlpn '_' z5pptd09-opn '_' z5pptd09-rev
*    CONCATENATE z5pptd09-pn '_' z5pptd09-opn '_' z5pptd09-rev
*            INTO document_ovl.

      CONCATENATE outfile z5pptd09-pn '_' z5pptd09-opn '_' z5pptd09-rev
                 '.XLS' INTO filename.

      CONDENSE: document, document_ovl, filename.

      load_doc document to filename.


 


 


 


 

DEFINE load_doc.
* LOAD_DOC key TO f.
* load a binary document from Database to PC
  if '&2' ne 'TO'endif.
  move &1 to key_1239d8c1789.
  import %tab to tab_1239d8c1789 %l to l_1239d8c1789
              from database z5pptd10(%oid key_1239d8c1789.
  download   tab_1239d8c1789 to &3 length l_1239d8c1789.
END-OF-DEFINITION.


 


 


 

DEFINE download.
* DOWNLOAD tab TO file LENGTH length
* download a binary document
  if '&2' ne 'TO'endif.
  if '&4' ne 'LENGTH'endif.
  move &3 to filename_1239d8c1789.
  call function 'WS_DOWNLOAD'
       exporting
            filename         = filename_1239d8c1789
            filetype         = 'BIN'
            bin_filesize     = &5
       importing
            filelength       = file_length_1239d8c1789
       tables
            data_tab         = &1
       exceptions
            file_open_error  = 1
            file_write_error = 2
            invalid_filesize = 3
            invalid_type     = 5
            no_batch         = 6
            unknown_error    = 7.
END-OF-DEFINITION.


 


 


요런구문을 실행하고 나면 자동으로 경로에 파일이 들어와있습니다...


원래 4.6c 버전에서 이번에 ecc6.0 까지 올려놓고 실행해보니


4.6c 에서 문제없이 내용이 정확하게 나오는데


ecc6.0 시스템에서 동일한 구문을 타고 나와서 엑셀파일을 실행시켜보면


파일의 내용이 글자가 모두 깨져 있는 상태로 받아집니다....


혹시 위와 비슷한 내용을 아시는분... 파일 글자 안깨지게...


도움부탁드립니다... (non-unicode 에서 unicode 적용시킨 상황입니다....)


 


* 행복한 하루 되세요~~~ *


 

번호 제목 글쓴이 날짜 조회 수
5887 <img src=2.gif>SAP MARKETING DOCUMENT 에 나와있는 용어관련 질문입니다. [1] Ali 2011.02.03 2243
5886 <img src=2.gif>call screen 해서 write문을 뿌려주려고 하는데요.. [3] RythmNBlues 2011.02.03 3165
5885 <img src=3.gif>뷰어로 보여지는 테이블의 필드 원천지 확인하기. [1] file marco 2011.02.03 1411
5884 <img src=1.gif>[BAPI] RV_INVOICE_CREATE 질문드립니다. 초밥 2011.02.02 2011
5883 <img src=2.gif>ALV 의 variant 저장에서 Exception "Nothing_found" 메세지 도와주세요? [2] 덜익은~밥 2011.02.01 1217
5882 <img src=2.gif>푸쉬버튼에 대해 문의드립니다. 초보입니다~! [1] redj 2011.02.01 1823
5881 <img src=2.gif>select문에서 가져올 데이터 문제입니다... [1] the one이즈 2011.02.01 1698
5880 <img src=1.gif>같은 조건의 NATIVE 쿼리문이 개발서버에서는 잘 돌아가지만 운영서버에서는 터집니다. file Fjohnny 2011.01.31 1586
5879 <img src=3.gif>alv로 조회한 화면의 라인을 더블클릭시 상세정보를 작은 화면으로 또 보여주고 싶습니다. [2] 행보관 2011.01.29 2483
5878 <img src=1.gif>mara 에 필드를 추가하고 바피 돌릴때 ... 다르게 2011.01.29 1898
5877 <img src=3.gif>BAPI_ACC_DOCUMENT_POST coding block 은 어찌들 하셨나요? [4] 오휘..... 2011.01.29 2136
5876 <img src=2.gif>commit @ rollback 관련해서 테이블 업데이트 로직 문의 [3] 열공합시다 2011.01.29 2036
5875 <img src=2.gif>사용자 로그인 현황 테이블은 무엇인가요?? [2] 여리 2011.01.28 1846
5874 <img src=2.gif>스탠다드 뷰가 실행이 안될때는 IMG 셋팅에 문제가 있는건가요? [1] 기쁨 2011.01.28 1636
5873 <img src=3.gif>select options 출력과 관련된 질문입니다. [2] 딥퍼 2011.01.28 1781
5872 <img src=3.gif>select한 데이터를 가로로 가져오는 방법 [2] 오렌지겅주님 2011.01.28 1823
5871 <img src=2.gif>maintenance view관련 문의드립니다. [1] redj 2011.01.28 1966
5870 <img src=2.gif>[SD] 출고전기 ... 문의드립니다. [3] 맹꽁이 2011.01.28 3237
5869 <img src=3.gif>덤프 왜 뜨는지 잘 모르겠습니다 ㅠ [2] file 딥군 2011.01.28 1868
5868 <img src=2.gif>SAP COMMAND FIELD창 이력삭제 방법 [2] 필통 2011.01.28 2323