메뉴 건너뛰기

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

번호 제목 글쓴이 날짜 조회 수
167 너무도 당연해서 가끔 잊곤하는 공기와 같은 존재 'F1' key [5] 백혜정 2007.09.19 4037
166 미니 SAP 설치 메뉴얼 입니다. [5] 신종철™ 2007.09.17 4574
165 제가 모은 팁들입니다. [62] file 풍운사랑 2007.09.07 5545
164 OK Code Values... 흠,,, [1] 김창훈 2007.08.31 4653
163 Image를 화면에 보여주는 방법 [1] 정두영 2007.08.30 6035
162 테이블 update 프로그램 [4] sapjoy 2007.08.29 4748
161 System field 정리한 내용이에요 [4] 김창훈 2007.08.21 5488
160 스페이스를 2자리로 먹을때 1자리로 먹게 바꾸기 [1] 신종철™ 2007.08.20 3952
159 조회조건 동적으로 보이기 [5] 신종철™ 2007.08.20 4776
158 ABAP 문법 2nd [8] file 아일락 2007.08.20 3917
157 ABAP 문법 1st [13] file 아일락 2007.08.20 4557
156 엑셀 65000 라인초과시 사용 유틸 [5] file GG 2007.08.19 5296
155 플랜트로 회사코드와 기준통화 찾기 [8] file 김창훈 2007.08.16 5601
154 AT 구문에 대한 설명입니다. [6] 김창훈 2007.08.16 5737
153 속도개선하기....INDEX를 이렇게도 쓰네용~~ [9] 김창훈 2007.08.14 5377
152 텍스트반영시(자재명,저장위치명 기타등등) 속도개선 방법 [6] 김창훈 2007.08.14 5977
151 ALV 중간 집계 하기 [3] 신종철 2007.08.10 4782
150 4.6에서 ALV 필드 변경 안될때 버퍼 지우는 방법 신종철 2007.08.10 4783
149 ABAP System Fields 홍성현 2007.08.09 3931
148 SAP Icon 출력 [3] 홍성현 2007.08.09 6542