메뉴 건너뛰기

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

 

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

번호 제목 글쓴이 날짜 조회 수
6504 <b>[완료]</b>external alias의 대해 알려주세요~ [1] abap퍼 2008.02.26 97060
6503 [요청]스크린페인터가 되질 않습니다.. alphanumeric editor가 나와요..ㅜㅜ [15] file 피크민 2007.12.06 70983
6502 [re] inner join 과 sub query 의 퍼포먼스... [2] file Risky 2009.09.11 59370
6501 Multi Selection 버튼 색상 문의..<-제목이 흠.. file 김지성 2007.08.01 50546
6500 [요청]소수점 데이터를 선언시 질문입니다. [2] kkk 2008.04.17 48225
6499 <img src=2.gif border=0>Smartform 출력옵션 &field<옵션>& 중 자릿수 제한 기능에 관하여. [2] JiruMi 2009.04.20 44556
6498 [요청]클래스를 이용한 ALV에서 선택 SEL MODE문의드립니다. [2] 노력&성장 2008.04.17 35429
6497 자재번호 자동 List up..? Search help..? 기능 문의 드립니다 [2] file 아좀더 2019.06.26 30805
6496 <b>[완료]</b>Sorting시 Internal Table 이름이 가변적일때 Field symbol 사용 방법좀 가르쳐 주세요. [4] SkyDream 2007.12.05 27168
6495 ALV 에서는 에디팅 기능을 사용 할 수 없나요? [5] file 댕댕 2007.04.03 27044
6494 <b>[완료]</b>메시지가 잘립니다. [3] 김지성 2007.12.05 24345
6493 <b>[완료]</b>Mark field달기 [6] SAP폐인 2007.12.04 20583
6492 [re] <img src=1.gif>DOI 예제 따라하고 있는데요, 안되네요.. [2] 요요 2010.03.02 20201
6491 FOR ALL ENTRIES IN 질문드립니다! [5] 아좀더 2019.04.19 17327
6490 <img src=3.gif>[BSP]원하는 페이지로 값넘기고 받기(get,post) [2] 끼야호 2010.05.14 17113
6489 [요청]소수이하 0부분을 떨어버리는 것에 대해 문의드립니다. [5] 풍뎅이 2008.04.23 16305
6488 [요청]구매요청(PR) 텍스트화면 크기를 조정하려면 어떻게 해야 하나요? file 노름마치 2007.12.07 14995
6487 <b>[완료]</b>ranges 구문에 대한 정확한 의미와 사용법 [7] BEST!! 2007.11.14 14902
6486 <b>[완료]</b>[질문] sap서버에 있는 shell script를 실행시키기.. [3] 해처리 2007.12.04 14564
6485 [요청]펑션 LVC_TRANSFER_FROM_SLIS, LVC_FIELDCAT_COMPLETE의 용도가 궁금합니다. [2] 아밥맨 2008.06.10 14493