메뉴 건너뛰기

SAP 한국 커뮤니티

cl_abap_zip 한글깨짐현상.

홍당무 2019.04.08 17:29 조회 수 : 1242

 

ZIP화일 안의 파일은 잘 열리지만

파일명이 : EC%97%91%EC%85%80%EC%97%85%EB%A1%9C%EB%93%9C.XLS

와같이 깨짐니다. ("원본 : 엑셀다운로드.XLS)

 

 

아래 소스 부분( EV_FILENAME)에서

강제로 (엑셀다운로드.XLS)로 바꾼후

---------------------------------------------

  CALL METHOD ZIP_TOOL->ADD
  EXPORTING
  NAME    =  EV_FILENAME
  CONTENT = BUFFER_X.

----------------------------------------------

메쏘드 안의

CONV = CL_ABAP_CONVE_OUT_CE=>CREATE( ENCODEING  =  UTF8

                                       IGNORE_CERR   =  'X'

                                      REPLACEMENT    =  '#').

부분을 타고 나오면 정상적으로 한글이 보입니다.

 

아래 소스 한번 봐주시면 감사합니다.

_________________________________________________________

REPORT ZTEST

DATA: ZIP_TOOL TYPE REF TO CL_ABAP_ZIP,
                     L_ADDR TYPE REF TO CL_ABAP_CONV_IN_CE      ,

 FILENAME_ZIP TYPE STRING VALUE 'C:\test.zip'.

DATA: T_DATA_TAB TYPE TABLE OF SDOKCNTBIN.
DATA: LT_INFO LIKE SCMS_ACINF OCCURS 0 WITH HEADER LINE.

DATA : BUFFER_X TYPE XSTRING.

DATA: LT_DOCU     LIKE BAPI_DOC_FILES2 OCCURS 0 WITH HEADER LINE.
DATA: LS_DOC  TYPE BAPI_DOC_DRAW2.

DATA: LV_XSTRING  TYPE XSTRING,
         BIN_SIZE TYPE I,
         EV_FILESIZE TYPE I.
DATA : EV_FILENAME TYPE STRING.
DATA : EV_MIMETYPE TYPE  W3CONTTYPE.

DATA:   BUFFER_ZIP TYPE XSTRING.

************************************************************************
START-OF-SELECTION.
************************************************************************

  CLEAR: LT_DOCU.
  CALL FUNCTION 'BAPI_DOCUMENT_GETDETAIL2'
    EXPORTING
      DOCUMENTTYPE    = 'ABC'
      DOCUMENTNUMBER  = '0000000010000000007549324'
      DOCUMENTPART    = '000'
      DOCUMENTVERSION = '00'
    IMPORTING
      DOCUMENTDATA    = LS_DOC
    TABLES
      DOCUMENTFILES   = LT_DOCU.

  REFRESH: T_DATA_TAB, LT_INFO.
  CALL FUNCTION 'SCMS_DOC_READ'
    EXPORTING
      STOR_CAT              = LT_DOCU-STORAGECATEGORY
      DOC_ID                = LT_DOCU-FILE_ID
    TABLES
      ACCESS_INFO           = LT_INFO
*     content_txt           = lt_sdokcntasc
      CONTENT_BIN           = T_DATA_TAB
    EXCEPTIONS
      BAD_STORAGE_TYPE      = 1
      BAD_REQUEST           = 2
      UNAUTHORIZED          = 3
      COMP_NOT_FOUND        = 4
      NOT_FOUND             = 5
      FORBIDDEN             = 6
      CONFLICT              = 7
      INTERNAL_SERVER_ERROR = 8
      ERROR_HTTP            = 9
      ERROR_SIGNATURE       = 10
      ERROR_CONFIG          = 11
      ERROR_FORMAT          = 12
      ERROR_PARAMETER       = 13
      ERROR                 = 14
      OTHERS                = 15.

 


  READ TABLE LT_INFO INDEX 1.
  CHECK SY-SUBRC = 0.
  BIN_SIZE = LT_INFO-COMP_SIZE.
  EV_FILESIZE = LT_INFO-COMP_SIZE.

 


  EV_FILENAME = LT_INFO-COMP_ID.
  EV_MIMETYPE = LT_INFO-MIMETYPE.

 

***%EC%97%91%EC%85%80%EC%97%85%EB%A1%9C%EB%93%9C.XLS

 

  CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
    EXPORTING
      INPUT_LENGTH = BIN_SIZE
*     FIRST_LINE   = 0
*     LAST_LINE    = 0
    IMPORTING
      BUFFER       = BUFFER_X
    TABLES
      BINARY_TAB   = T_DATA_TAB
    EXCEPTIONS
      FAILED       = 1
      OTHERS       = 2.
*

 

**create zip tool
  CREATE OBJECT ZIP_TOOL.

 

 

***add binary file
  CALL METHOD ZIP_TOOL->ADD
  EXPORTING
  NAME    =  EV_FILENAME
  CONTENT = BUFFER_X.

 

 

**get binary ZIP file
  CALL METHOD ZIP_TOOL->SAVE
  RECEIVING
  ZIP = BUFFER_ZIP.

 

 

  CLEAR: T_DATA_TAB[],BIN_SIZE.
  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
  EXPORTING
  BUFFER        = BUFFER_ZIP
  IMPORTING
  OUTPUT_LENGTH = BIN_SIZE
  TABLES
  BINARY_TAB    = T_DATA_TAB.

 

 

**download ZIP file
  CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
  BIN_FILESIZE = BIN_SIZE
  FILENAME     = FILENAME_ZIP
  FILETYPE     = 'BIN'
  TABLES
  DATA_TAB     = T_DATA_TAB.

_________________________________________________________

 

번호 제목 글쓴이 날짜 조회 수
5067 <img src=3.gif border=0>Function ALV 편집-내부테이블에 반영 문제.. [3] JiruMi 2009.09.14 1237
5066 <img src=3.gif>Hierarchy 구조에서 체크박스 이벤트 문의 [1] file 버미! 2009.12.09 1237
5065 <b>[완료]</b>매칭시키는 부분에 대해 문의드립니다. [5] 풍뎅이 2008.03.27 1238
5064 <b>[완료]</b>엑셀처럼 입력할 수 있게 하는 방법 있나요? [5] file 행복을 파는 외계인 2008.11.18 1238
5063 <img src=3.gif>레별 5가 되려면 어케 해야 하나요...(죄송합니다 ABAP에 이런 질문) [4] im 해성 2009.12.10 1238
5062 <img src=3.gif>webdynpro abap 에서 dropdown property 변경 [5] 모포 2010.07.23 1238
5061 <b>[완료]</b>[스크린제어] 스크린 띠우려고하는대요.. [2] 할일없는무급개발자 2008.03.20 1239
5060 [요청]비지니스 오브젝트 메뉴에서 수정모드로 들어갔을때 첨부화일생성만 비활성 시킬 방법이 있을까요?? 할일없는무급개발자 2008.05.16 1239
5059 [요청]요청 form painter 메뉴얼좀 부탁합니다. 도련님 2008.10.06 1239
5058 [요청]inclue type문과 types 문에 관한 질문입니다. [3] 앙리 2008.10.13 1239
5057 [요청]G_GRID->SET_TABLE_FOR_FIRST_DISPLAY 사용시 초기 뷰가 그리드가 아닌 리스트로 나오는 방법은 없을까요? [1] 짐승 2009.01.21 1239
5056 10,000,000 이상의 record SELECT에 대해서 질문 남깁니다.. [4] 유니짜장귀신 2019.01.30 1240
5055 <b>[완료]</b>요청 ...필드에 컬러추가하는방법.. [3] 냐옹이 2008.06.12 1240
5054 <img src=3.gif border=0>[요청]EQ , = 을 누가 속 시원하게 알려 주실수 있는 분 계신가요 ? [7] 꼬맹이 2008.08.26 1240
5053 <b>[완료]</b>[re] [펑션] 질문좀 하겠습니다. 보시고 답변좀. [3] 쭈니 2009.01.13 1240
5052 [요청]인터넬 테이블 선언 관련한 지룬입니다. [1] 예슬짱 2009.01.24 1240
5051 <b>[완료]</b>itab에서 값이 같은 row수 구하기... [5] 초보찍고 고수 2009.02.05 1240
5050 [re] <img src=3.gif>local 통화 코드 관련 처리 질문 입니다 無念군 2010.07.08 1240
5049 <img src=3.gif>라인이 아니라 그 라인의 필드를 클릭시 이벤트가 일어나게 하고 싶습니다. [4] 오늘도 역시 2010.11.24 1240
5048 <b>[완료]</b>PERFORM 문 관련되서 질문 드림니다. [2] bd 2008.03.03 1241