메뉴 건너뛰기

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

번호 제목 글쓴이 날짜 조회 수
387 System field 정리한 내용이에요 [4] 김창훈 2007.08.21 5487
386 테이블 update 프로그램 [4] sapjoy 2007.08.29 4746
385 Image를 화면에 보여주는 방법 [1] 정두영 2007.08.30 6011
384 OK Code Values... 흠,,, [1] 김창훈 2007.08.31 4652
383 제가 모은 팁들입니다. [62] file 풍운사랑 2007.09.07 5541
382 미니 SAP 설치 메뉴얼 입니다. [5] 신종철™ 2007.09.17 4574
381 너무도 당연해서 가끔 잊곤하는 공기와 같은 존재 'F1' key [5] 백혜정 2007.09.19 4034
380 ABAP TIP [4] file 둘리67 2007.10.03 5952
379 ICON ascii code [3] file sapjoy 2007.10.05 5005
378 SAP 어플리케이션의 구성 [3] file 노름마치 2007.10.10 3897
377 간단팁1 : 텍스트 금액에서 천단위 구분자 ',' 삭제(개수 상관없음) [12] 윤훈태 2007.10.15 5432
376 간단팁2 : 특정 값으로 구분된 텍스트, 한방에 분리 및 각각의 변수에 저장 [2] 윤훈태 2007.10.15 4138
375 새로운 Print format 추가하기 [5] file 이명환 2007.10.18 3679
374 그룹을 이용하여 SAP PRD 시스템 접속하기 [2] file 이명환 2007.10.18 4532
373 Tip : 전표 라인 아이템 Direct 조회 [5] 2007.10.23 10168
372 주민번호 체크 [3] 임선미 2007.10.23 4795
371 widget을 이용한 Job monitor 데모 [1] 해처리 2007.10.24 3603
370 BAPI_DELIVERYPROCESSING_EXEC 납품문서 만들때 사용하세요 노름마치 2007.10.29 7494
369 NATIVE SQL의 INSERT 문 [4] sapjoy 2007.11.13 6258
368 Internal table 사용시 속도개선을 위한 구문 [16] 노름마치 2007.11.14 10019