메뉴 건너뛰기

SAP 한국 커뮤니티

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

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

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

 

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

번호 제목 글쓴이 날짜 조회 수
6358 se11의 Width of Output List 에 대해 [2] file amelia 2022.05.17 276
6357 데이터 추출 [3] 블랙 2022.04.27 541
6356 pdf file 업로드 및 출력 [2] sapecc6 2022.04.22 478
6355 Desktop Office Integration in the webgui 문의.. [2] file Zekokim 2022.04.20 443
6354 abap -> asws s3 접근 코딩... [1] sapecc6 2022.04.19 235
6353 디버깅 시 데이터 나오는데 실행시키면 안나오는 이유 [1] cpfl 2022.04.15 366
6352 ALV 변경된 LAYOUT에 저장되어 있는 필드 찾는법 [1] jini 2022.04.08 521
6351 ALV GRID 에서 값 수정 후 DUMP 에러로 GETWA_NOT_ASSIGNED 가 뜹니다. [1] file 메론쥬스 2022.04.07 525
6350 webgui에서 영역 메뉴 바로 호출하는 방법 Zekokim 2022.04.06 290
6349 ALV check_changed_data 후 데이터 미 변경 [3] 파뤼타임 2022.03.25 640
6348 GUI_DOWNLOAD - 환율필드 값(DEC9,5) 다운시 소수점 문제 [2] Zekokim 2022.03.24 276
6347 ROLE과 OBJECT를 INNER JOIN 할 수 있을까요? [2] yoon123 2022.03.22 238
6346 왜 데이터가 하나씩 밖에 안들어 갈까요? [2] file 리얼오버 2022.03.19 323
6345 테이블 생성했는데요 테이블내용 엔트리추가 왜 안될까요? [1] file 리얼오버 2022.03.18 786
6344 f-04 반제 bapi함수 아시는분 ㅜㅜ file Juenkdo1 2022.03.16 321
6343 Function Module 기초 질문드립니다 [1] paulus 2022.03.14 284
6342 submit with~ 사용시 백그라운드 잡이 끝나고 나서 다음 코드가 도나요? 로우랜즈 2022.03.14 174
6341 안녕하세요 서브루틴 생성 에러 질문 [2] file ektkdwk1234 2022.03.12 331
6340 PDF 첨부 파일 암호 설정 문의드립니다. [2] reah_in 2022.03.11 490
6339 se38에서 실행한 프로그램 로그를 볼수 있는 방법이 있을까요? [1] 홍시89 2022.03.07 709