메뉴 건너뛰기

SAP 한국 커뮤니티

<b>[완료]</b>[re] gui_upload로 엑셀 upload 질문입니다.

띵호아빠 2008.08.24 12:51 조회 수 : 4409 추천:1

GUI Upload 실 사용 로직입니다.


도움이 됐으면 합니다.


- 구성은 선언부


- Upload form문


- 실 GUI Upload Function 실행해서 읽어 들이기 입니다.


 


1. data 선언







* UPLOAD FORMAT INTERNAL TABLE
DATA: BEGIN OF GT_UP OCCURS 0,
        .
        .
        .
        .
        .
        .
      END   OF GT_UP.
DATA: GV_ERROR .

PARAMETERS: P_FILE  LIKE RLGRAP-FILENAME    OBLIGATORY
                                            DEFAULT 'C:*.XLS'.

 

 


 


 


2. Upload Form문







FORM FILE_UPLOAD .

  DATA : LV_PATH(255),
         LV_PATH2(255),
         LV_FILE(255),
         LV_FILE2(255).

  CLEAR: LV_PATH, LV_PATH2, LV_FILE, LV_FILE2, GV_ERROR,
         GT_UP,  GT_UP[].

*. 엑셀파일인지 확인작업
  MOVE  P_FILE           TO  LV_FILE  .
  DO.
    SPLIT  LV_FILE AT '.' INTO LV_PATH LV_FILE .
    TRANSLATE  LV_FILE  TO UPPER CASE.

    IF   LV_FILE = 'XLS' OR LV_FILE = SPACE.
      EXIT .
    ENDIF.
  ENDDO.

  CASE LV_FILE .
    WHEN 'XLS'  .
    WHEN OTHERS .
      MESSAGE S000 WITH 'Upload 할 수 없는 파일형태입니다' .
      GV_ERROR = 'X' .
      STOP .
  ENDCASE .


  PERFORM EXCEL_FILE_UPLOAD  TABLES  GT_UP
                             USING   P_FILE.


 


3. GUI-UPLOAD 실행







FORM EXCEL_FILE_UPLOAD    TABLES PT_UP
                          USING  PV_FNAME .
*
  DATA: LV_FILENAME       TYPE STRING,
        LV_FILENAME2      LIKE RLGRAP-FILENAME,
        LT_RAW_DATA       TYPE TRUXS_T_TEXT_DATA.
  DATA: LV_TOTAL          TYPE I.
*
  CLEAR: LV_TOTAL.
*
  LV_FILENAME = PV_FNAME.
*
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME                = LV_FILENAME
      FILETYPE                = 'ASC'
      HAS_FIELD_SEPARATOR     = '#'
    TABLES
      DATA_TAB                = LT_RAW_DATA
    EXCEPTIONS
      FILE_OPEN_ERROR         = 1
      FILE_READ_ERROR         = 2
      NO_BATCH                = 3
      GUI_REFUSE_FILETRANSFER = 4
      INVALID_TYPE            = 5
      NO_AUTHORITY            = 6
      UNKNOWN_ERROR           = 7
      BAD_DATA_FORMAT         = 8
      HEADER_NOT_ALLOWED      = 9
      SEPARATOR_NOT_ALLOWED   = 10
      HEADER_TOO_LONG         = 11
      UNKNOWN_DP_ERROR        = 12
      ACCESS_DENIED           = 13
      DP_OUT_OF_MEMORY        = 14
      DISK_FULL               = 15
      DP_TIMEOUT              = 16
      OTHERS                  = 17.
*
  IF SY-SUBRC = 0.
    LV_FILENAME2 = LV_FILENAME.
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
      EXPORTING
        I_FIELD_SEPERATOR    = '#'
        I_TAB_RAW_DATA       = LT_RAW_DATA
        I_FILENAME           = LV_FILENAME2
      TABLES
        I_TAB_CONVERTED_DATA = PT_UP.
  ENDIF.
*
  DELETE PT_UP FROM 1     TO 1.
*
  DESCRIBE TABLE PT_UP LINES LV_TOTAL.
*
  IF LV_TOTAL = 0.
    GV_ERROR = 'X' .
    MESSAGE I000 WITH 'Upload Data가 없습니다!!'.
    STOP.
  ENDIF.
*
ENDFORM.                               "WS_UPLOAD

 

번호 제목 글쓴이 날짜 조회 수
4350 <b>[완료]</b>3개 이상 테이블 조인 관련해서 추가 질문입니다^^ [2] 아밥초보입니다 2008.08.21 2242
4349 [요청]printer 출력 시 한글 깨짐 현상,,, [4] darkangel 2008.08.21 3677
4348 <b>[완료]</b>ALV 더블클릭값을 이용하여 data 처리후 화면에 결과를 찍을려는데.. [3] 보경아빠 2008.08.21 1956
4347 <b>[완료]</b>숫자 컨버전하려구하는데요...123,456 -> 123,000 [6] CoolGuy 2008.08.21 1336
4346 [요청]SELECT-OPTIONS의 날짜입력화면에서 Auto check !? [4] file seph 2008.08.22 2096
4345 [요청]function만들때 import값을 select-options로 할려고하는데.. 문의요.. [3] 금은돌 2008.08.22 1914
4344 <b>[완료]</b>현재 PC 의 해상도를 읽어올수 있는 펑션이나 메소드가 있을까요? [2] 으..2MB~떠나야하나 2008.08.22 1231
4343 [요청]alv 체크박스 관련 질문입니다.. [2] 무한반복 2008.08.22 1263
4342 [re] 엑셀 MUTIPLE SHEET UPLOAD SAMPLE 슝슝이 2008.08.22 3471
4341 [요청]간단한 FIELD-SYMBOLS 사용하려는데요.... [7] CoolGuy 2008.08.22 1319
4340 [요청]ALV 선택라인에 대한 상세조회 팝업창 띄우려고 합니다.. [2] 다급 2008.08.22 1832
4339 <b>[완료]</b>함수 이용한 ALV 에서 행추가해서 데이터를 입력 저장하는 로직을 알려주세요 [2] Norton 2008.08.22 2193
» <b>[완료]</b>[re] gui_upload로 엑셀 upload 질문입니다. [3] 띵호아빠 2008.08.24 4409
4337 <b>[완료]</b>HR 에서 PP02를 이용해 Cost변경을 BDC로 할려고 하는데, 직접함 되는데 BDC로는안될때(BDC에서 팝업을 띄울수 있는 방법은?) [3] sagar 2008.08.25 1010
4336 <b>[완료]</b>ps 관련 테이블에 관한 질문입니다 [6] 아밥어렵네요 2008.08.25 1567
4335 [요청]at first, at last, at new, at end 정확한 개념좀 갈켜주세여.. 휴... [5] 아밥입문자 2008.08.25 9035
4334 <b>[완료]</b>method 에서 -> => 의미 좀 알려주세요 [3] 삶은달걀과사이다 2008.08.25 1999
4333 [요청]ALV 에서... 처음과 다른 인터널테이블를 이용한 화면 출력... [3] seph 2008.08.25 1078
4332 <b>[완료]</b>엑셀양식으로 다운 받을 때, 문서형식을 설정하는 법이 궁금합니다. [3] 아밥초보입니다 2008.08.26 1933
4331 [요청]Table control 에서의 질문입니다 [2] 아밥어렵네요 2008.08.26 1228