메뉴 건너뛰기

SAP 한국 커뮤니티

SAP ABAP에 엑셀 파일 업로드시 글자 수가 잘려서 나오네요

렌메이이이 2013.12.31 12:58 조회 수 : 2291

REPORT  ZOYM_01_EXCEL_TO_ITAB.

TYPES:   BEGIN OF T_DATATAB ,
 F1(3)   TYPE  C,
 F2(8)   TYPE  C,
 F3(8)   TYPE  C,
 F4(5)   TYPE  C,
 F5(5)   TYPE  C,
 F6(5)   TYPE  C,
 F7(15)  TYPE  C,
 F8(20)  TYPE  C,
 F9(4)   TYPE  C,
 F10(6)  TYPE  C,
 F11(5)  TYPE  C,
 F12(8)  TYPE  C,

       END OF T_DATATAB.

DATA: IT_DATATAB TYPE STANDARD TABLE OF T_DATATAB INITIAL SIZE 0,
      WA_DATATAB TYPE T_DATATAB.

DATA : GD_SCOL   TYPE I VALUE '1',
       GD_SROW   TYPE I VALUE '1',
       GD_ECOL   TYPE I VALUE '256',
       GD_EROW   TYPE I VALUE '5000'.

DATA: IT_TAB TYPE FILETABLE,
      GD_SUBRC TYPE I.

*Selection screen definition
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:  P_FILE LIKE RLGRAP-FILENAME
               DEFAULT 'c:이마트12월25일매출정보.xls' OBLIGATORY.   " File Name
SELECTION-SCREEN END OF BLOCK B1.


***********************************************************************
* AT SELECTION-SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
  REFRESH: IT_TAB.
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
    EXPORTING
      WINDOW_TITLE     = 'Select File'
      DEFAULT_FILENAME = '*.xls'
      MULTISELECTION   = ' '
    CHANGING
      FILE_TABLE       = IT_TAB
      RC               = GD_SUBRC.

  LOOP AT IT_TAB INTO P_FILE.
*    so_fpath-sign = 'I'.
*    so_fpath-option = 'EQ'.
*    append so_fpath.
  ENDLOOP.


***********************************************************************
* START-OF-SELECTION.
START-OF-SELECTION.
  PERFORM UPLOAD_EXCEL_FILE TABLES   IT_DATATAB
                             USING   P_FILE
                                     GD_SCOL
                                     GD_SROW
                                     GD_ECOL
                                     GD_EROW.


***********************************************************************
* END-OF-SELECTION.
END-OF-SELECTION.
  LOOP AT IT_DATATAB INTO WA_DATATAB.
    WRITE:/ WA_DATATAB-F1,
            WA_DATATAB-F2,
            WA_DATATAB-F3,
            WA_DATATAB-F4,
            WA_DATATAB-F5,
            WA_DATATAB-F6,
            WA_DATATAB-F7,
            WA_DATATAB-F8,
            WA_DATATAB-F9,
            WA_DATATAB-F10,
            WA_DATATAB-F11,
            WA_DATATAB-F12.

  ENDLOOP.


*&--------------------------------------------------------------------*
*&      Form  UPLOAD_EXCEL_FILE
*&--------------------------------------------------------------------*
*       upload excel spreadsheet into internal table
*---------------------------------------------------------------------*
*      -->P_TABLE    Table to return excel data into
*      -->P_FILE     file name and path
*      -->P_SCOL     start column
*      -->P_SROW     start row
*      -->P_ECOL     end column
*      -->P_EROW     end row
*---------------------------------------------------------------------*
FORM UPLOAD_EXCEL_FILE TABLES   P_TABLE
                       USING    P_FILE
                                P_SCOL
                                P_SROW
                                P_ECOL
                                P_EROW.

  DATA : LT_INTERN TYPE  KCDE_CELLS OCCURS 0 WITH HEADER LINE.
* Has the following format:
*             Row number   | Colum Number   |   Value
*             ---------------------------------------
*      i.e.     1                 1             Name1
*               2                 1             Joe

  DATA : LD_INDEX TYPE I.
  FIELD-SYMBOLS : <FS>.

* Note: Alternative function module - 'ALSM_EXCEL_TO_INTERNAL_TABLE'
 CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
    EXPORTING
      FILENAME                = P_FILE
      I_BEGIN_COL             = P_SCOL
      I_BEGIN_ROW             = P_SROW
      I_END_COL               = P_ECOL
      I_END_ROW               = P_EROW
    TABLES
      INTERN                  = LT_INTERN
    EXCEPTIONS
      INCONSISTENT_PARAMETERS = 1
      UPLOAD_OLE              = 2
      OTHERS                  = 3.
  IF SY-SUBRC <> 0.
    FORMAT COLOR COL_BACKGROUND INTENSIFIED.
    WRITE:/ 'Error Uploading file'.
    EXIT.
  ENDIF.

  IF LT_INTERN[] IS INITIAL.
    FORMAT COLOR COL_BACKGROUND INTENSIFIED.
    WRITE:/ 'No Data Uploaded'.
    EXIT.
  ELSE.
    SORT LT_INTERN BY ROW COL.
    LOOP AT LT_INTERN.
      MOVE LT_INTERN-COL TO LD_INDEX.
      ASSIGN COMPONENT LD_INDEX OF STRUCTURE P_TABLE TO <FS>.
      MOVE LT_INTERN-VALUE TO <FS>.
      AT END OF ROW.
        APPEND P_TABLE.
        CLEAR P_TABLE.
      ENDAT.
    ENDLOOP.
  ENDIF.
ENDFORM.                    "upload_excel_file

 

소스코드에 어떤 문제점이 있는지 좀 알려주세요

번호 제목 글쓴이 날짜 조회 수
6407 <b>[완료]</b><b>[완료]</b>BDC 수행 중 에러가 발생합니다. [1] 2006.12.01 5809
6406 <img src=2.gif>alv내 금액에서 소수점 안나오게 하는 방법? [6] 맨날초보 2010.10.29 5802
6405 <b>[완료]</b>이미 운영으로 CTS 했는데 Rollback이 가능한가요? [13] 김지성 2009.02.03 5790
6404 <img src=2.gif>GROUP BY 와 SUM 에 대해 문의 드립니다. [3] 라다메스 2010.12.09 5772
6403 <b>[완료]</b><b>[완료]</b><b>[완료]</b><b>[완료]</b>특정 글자 뒤의 내용을 가져 오는 법 문의. 2006.12.02 5762
6402 <img src=3.gif>엑셀 다운로드시 숫자가 2.00911E+12나오는데 방법이 없을까요? [6] 귤탱 2009.11.12 5741
6401 [요청]SET_READY_FOR_INPUT 이메소드에관해... [3] CoolGuy 2008.06.17 5711
6400 [요청]CALL SCREEN 100 STARTING AT .. ENDING AT .. [5] genius 2008.04.15 5690
6399 <b>[완료]</b>[re] 탐색도움말 [23] sapjoy 2006.12.11 5672
6398 <img src=3.gif>팝업으로 만든 스크린에서 데이터를 조회 & GUI STATUS 만드는 과정에 대해서 질문합니다. [3] file Fjohnny 2011.01.20 5655
6397 <b>[완료]</b>[re] BDC 수행 중 에러가 발생합니다. [17] ECBASE 2006.12.01 5622
6396 <img src=3.gif border=0> MOD 와 DIV에 대해 설명 좀 부탁드립니다.. [2] 용군 2009.06.03 5606
6395 <img src=2.gif>st04 sql command editor 문의좀 드립니다. [1] 청공 2011.01.27 5591
6394 Background (Batch Job) 에 설정한 Selection Screen의 Variant 는 어디서 볼수 있을까요? [1] file 김윤승 2007.07.20 5542
6393 현재 시간을 가져올려면 어떻게 해야하나요? [1] 노력&성장 2007.07.18 5530
6392 <b>[완료]</b>ALV Grid data Refresh 하는 방법 좀 가르쳐 주세요. [6] SkyDream 2008.01.08 5522
6391 <img src=3.gif>엑셀 매크로를 이용하여 양식을 출력하는 방법 좀 알려주세요..ㅜㅜ [3] 싼타 2010.08.18 5466
6390 <img src=3.gif>sap에서 제공하는 스텐더드 툴바 덤프... [6] SAP 사랑 2011.03.23 5462
6389 singleton concept에 대해.. [1] kyeinho 2007.07.03 5456
6388 <img src=2.gif border=0>collect 구문에 관한 고수님들의 의견을 듣고 싶습니다. [7] james80 2009.09.16 5412