메뉴 건너뛰기

SAP 한국 커뮤니티

cl_abap_zip 한글깨짐현상.

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

 

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.

_________________________________________________________

 

번호 제목 글쓴이 날짜 조회 수
6387 <img src=3.gif>Runtime Error->OBJECTS_OBJREF_NOT_ASSIGNED [2] 써언 2011.02.09 5381
6386 <img src=3.gif>alv 테이블 필드 숨기기에 대해 질문드립니다. [4] 유정a 2010.10.20 5375
6385 [질문] transporting의 역활 좀 알고 싶습니다. [3] 나도아밥퍼 2007.06.13 5353
6384 ALV 프로그램에서 어플리케이션 툴바에 행추가 버튼을 추가하고자 합니다. [2] 초보생 2007.07.24 5344
6383 [요청]BAPI BAPI_GOODSMVT_CREATE 펑션의 기본적인 사용법 [1] 댕댕 2008.05.04 5304
6382 <b>[완료]</b><b>[완료]</b>질문이 있습니다. 로미오 2006.12.29 5303
6381 [ERROR] READ_REPORT_LINE_TOO_LONG 해결 방법좀 알려주세요. [7] file D.Y.Kim 2007.07.24 5279
6380 [요청]BAPI_SALESORDER_CREATEFROMDAT2 에서 가격조건(세금부분, 정가) 부분의 값을 가져오지 못합니다. [2] file 효방 ^-^ 2008.12.19 5252
6379 <img src=3.gif>엑셀 다운로드 질문 엑셀 열리지 않고 자동으로 되도록. [5] 돌맹이 2010.10.28 5245
6378 <b>[완료]</b><b>[완료]</b>[BAPI_TRANSACTION_COMMIT] commit work 와 commit and wait 의 차이점 문의 [5] SUGI 2008.01.28 5226
6377 <img src=3.gif>BDC 프로그램 CALL Transaction 옵션 중에서 RACOMMIT 옵션이 하는 역할이 무엇인가요? [8] 카루이안 2009.10.07 5223
6376 [요청]insert 로 db테이블에 데이터를 저장할때.... [4] bizarre 2008.05.19 5189
6375 <img src=3.gif>GUI_DOWNLOAD 로 다운받은 파일에서 한글이 [3] 하오 2010.01.08 5185
6374 <b>[완료]</b>ALV이벤트 핸들러선언부분에서 별도로 register_edit_event 하는 이유 & ALV스탠다드툴바 명령어 변수 알아내는 법 [13] 하오 2008.07.16 5184
6373 [요청][초급] 테이터 중에 내가 원하는 문자를 찾기 !!!!!! [6] 사상화 2008.08.28 5169
6372 <img src=2.gif>금액필드에서 콤마(,) 를 제거 하고 싶습니다. [3] 하하하하 2010.12.08 5166
6371 <b>[완료]</b>개인pc에 SAP NetWeaver 2004s 설치방법에 질문입니다. [5] file 로미오 2006.12.24 5165
6370 <img src=3.gif>runtime error문제입니다. 무슨 말인지 잘 모르겠어요. 좀 알려주실수있을까요 [2] 쭈니 2010.09.15 5138
6369 [re] BAPI에 대해 [5] sapjoy 2007.03.28 5133
6368 <img src=3.gif border=0>대소문자 구분없이 쿼리 하는 법 [8] woong 2009.08.26 5116