메뉴 건너뛰기

SAP 한국 커뮤니티

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

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

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

 

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

번호 제목 글쓴이 날짜 조회 수
6512 [요청]운영자님 좋은 조언 부탁드립니다. [1] secret 한사 2008.10.01 3
6511 [re] 특정 글자 뒤의 내용을 가져 오는 법 문의. secret ecbase 2006.12.02 7
6510 <img src=2.gif>INNER JOIN & OUTTER JOIN 의 차이점을 연구하기 위한 자료들 모음. [2] secret bill 2011.02.18 11
6509 사용자의 화면 입력 값 로깅 함수 삽입 위치 문의(USER_EXIT, enhancement, modification 모두 환영) redberry 2024.06.13 31
6508 혹시.. 인터페이스 파일 형식 중 BAI2 파일 만들어 보신분 계실까요? 초밥 2024.05.31 41
6507 Inline 선언 시 data, final [3] BINY 2024.06.12 47
6506 SKF 기표 취소 관련 문의 asfasf 2024.03.26 57
6505 프린트 한페이지에 시트 맞추기 문의 [1] 쌥쌥잇 2024.05.24 65
6504 BAPI_ROUTING_CREATE 실행 시 에러 파뤼타임 2024.04.15 73
6503 kb11n 변형 설정 문의 [1] 정만 2024.02.06 75
6502 (해결 시, 기프티콘 원하시는 거 사례)KKPAN Background Batch Job 오류 // Panthera 2024.06.04 76
6501 z07_04문제  실행해 보았는데fail뜹니다. 리얼오버 2022.01.07 94
6500 넘버레인지 interval cts에 관해서 문의드립니다. [2] happy_boy 2024.03.22 94
6499 ALV Row 파일 저장 ~ 관련 질문 입니다. 멜론좋아 2022.10.19 114
6498 Screen 화면을 새 창으로 띄워서 원래 창에서도 작업 가능한 방법 Aranha 2024.02.23 119
6497 웹딘프로 환경설정 관련해서 질문있습니다 ㅇㅇㅇㅇㅇ 2022.11.21 121
6496 매개변수 ID 가 SUBSCREEN 과 일반 SCREEN 에서 인식하는게 다른가요? [2] 초밥 2024.05.02 121
6495 Function Group: EINR 관련 문의 드립니다. [4] 쌥맨 2022.01.07 124
6494 sapnwrfc.dll 사용중이신분 계신가요? alarm 2022.02.21 127
6493 SD_SALESDOCUMENT_CHANGE 오류 file 유반장 2022.12.01 127