메뉴 건너뛰기

SAP 한국 커뮤니티

아래의 펑션을 사용할때.. 컬럼의 데이타가 32char 로 제한 됩니다.
일반적인 데이타는 사용 가능하나..
롱 텍스트가 존재하는 경우 문제가 걸리겠져?
그럴경우 아래 펑션을 카피해서 Add-On 으로 만들어 사용하시면 됩니다.

tables 의 intern 이란 테이블의 타입중 row, col, value
의 value에 해당하는 Structure를 생성하여 변경하면
어떠한 경우에도 사용 가능 합니다. !!!

>
>  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
>    EXPORTING
>      FILENAME                = P_FILENAME
>      I_BEGIN_COL             = LO_START_COL
>      I_BEGIN_ROW             = LO_START_ROW
>      I_END_COL               = LO_END_COL
>      I_END_ROW               = LO_END_ROW
>    TABLES
>      INTERN                  = LO_ITAB
>    EXCEPTIONS
>      INCONSISTENT_PARAMETERS = 1
>      UPLOAD_OLE              = 2.
>
 

 

 

 


*-- 업로드할 엑셀 파일을 TXT 파일(탭으로 분리된)로 내리지 않고
     컬럼 헤더 텍스트가 있는 ROW를 없애고 순수 데이타만으로된 엑셀 파일을
     그대로 올리는 프로그램
    
     기본적으로 KCDE_CELLS  타입의 INTERNAL TABLE을 생성하고 이테이블에는
     한개의 레코드가  한라인을 생성되는 것이 아니라
     엑셀파일의 ROW/COLUMN 정보와 해당 컬럼(셀)의 데이타를 가진 테이블로
     업로드되며
     이 업로드된 테이블을 LOOPing 하면서 실제 저장될 INTERNAL TABLE에
     컴포넌트로 어사인하여 값을 넣으면 만사 오케이! ^____^;

*----------------------------------------------  Created by SeungLyong Lee

^&^ 필드심볼 잘 사용하면 즐코딩 할 수 있습니당..
    
*&------------------------------------------------------------------*
*&      Form  F_EXCEL_UPLOAD
*&------------------------------------------------------------------*
FORM F_EXCEL_UPLOAD  TABLES   P_TABLE  
                     USING    P_FILENAME  LIKE RLGRAP-FILENAME.

  DATA : LO_ITAB TYPE  KCDE_CELLS OCCURS 0 WITH HEADER LINE.
  DATA : LO_INDEX like sy-tabix.
  DATA : LO_START_COL TYPE I VALUE '1',
         LO_START_ROW TYPE I VALUE '1',
         LO_END_COL   TYPE I VALUE '256',
         LO_END_ROW   TYPE I VALUE '65536'.
  FIELD-SYMBOLS : <LO_FS>.

  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
    EXPORTING
      FILENAME                = P_FILENAME
      I_BEGIN_COL             = LO_START_COL
      I_BEGIN_ROW             = LO_START_ROW
      I_END_COL               = LO_END_COL
      I_END_ROW               = LO_END_ROW
    TABLES
      INTERN                  = LO_ITAB
    EXCEPTIONS
      INCONSISTENT_PARAMETERS = 1
      UPLOAD_OLE              = 2.

  IF SY-SUBRC NE 0.
    MESSAGE E000(ZMPS) WITH 'File Upload Failed !'(E10).
    STOP.
  ENDIF.

  CHECK NOT LO_ITAB[] IS INITIAL.

  SORT LO_ITAB BY ROW COL.

  LOOP AT LO_ITAB.
    MOVE : LO_ITAB-COL TO LO_INDEX.
    ASSIGN COMPONENT LO_INDEX OF STRUCTURE P_TABLE TO <LO_FS>.
    MOVE : LO_ITAB-VALUE TO <LO_FS>.
    AT END OF ROW.
      APPEND P_TABLE.
      CLEAR P_TABLE.
    ENDAT.
  ENDLOOP.

ENDFORM.                    " F_EXCEL_UPLOAD

번호 제목 글쓴이 날짜 조회 수
427 입력 필드 입력 중 이력이 지원되지 않는 문제 해결법. [1] file 장용천 2013.09.03 8588
426 zebra printer 상세 사용메뉴얼입니다. 양키 2013.08.26 3743
425 메세지 팝업창 뛰워주는 Function [2] file 양키 2013.08.19 7885
424 Field Catalog 가져오지 못하는문제(REUSE_ALV_FIELDCATALOG_MERGE) [3] 양키 2013.08.16 9454
423 [덤프해결] CX_SY_READ_SRC_LINE_TOO_LONG file 양키 2013.08.16 7786
422 SCN에서 인기있는 Tutorial강좌들 입니다. [1] 양키 2013.08.12 8419
421 새로운 Session을 생성하는 방법 [7] 양키 2013.07.17 4961
420 Popup Function 을 모은 프로그램임니다. [5] file jokang 2013.06.26 4619
419 ABAP&SAP_MEMORY 에 대해 올려봄니다. [5] file 블루보이 2013.06.26 4196
418 ALV TOOLBAR 메뉴 버튼을 올립니다. [6] file 블루보이 2013.06.26 3320
417 TSE05 테이블 유지보수를 통한 프로그램 HEADER정보 자동입력. file paran 2013.05.21 4763
416 ALV Subtotal 맨위에 표기하기 [8] 양키 2013.03.26 5566
415 Area menu 한방에 다운로드 >,.< [10] 배불뚝이용 2013.02.26 8553
414 엑셀에서 '-' 부호 앞으로 옮기기 [18] file MasFI 2013.02.08 8975
413 Abap Dump Top 10 [5] 양키 2013.01.14 15740
412 SELECT-OPTIONS과 PARAMETERS 동적으로 선언하기 [9] file 버미! 2012.12.13 7218
411 외부 명령어 등록(EXTERNAL COMMAND) [2] sapjoy 2012.11.02 5472
410 SCN에 올라온 ADT Tutorials Link 입니다. [4] Wise 멘토 2012.10.12 4903
409 ADT(abap development tool) 설치 방법입니다. [1] Wise 멘토 2012.10.12 10228
408 SAP Netweaver 설치 시스템사양 Tip [1] 양키 2012.09.21 7541