엑셀 입력 받아 인터널 테이블에 넣는 방법


CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
  EXPORTING
      filename                = p_fname
      i_begin_col           = l_ibcol
      i_begin_row          = l_ibrow
      i_end_col              = l_iecol
      i_end_row            = l_ierow
  tables
    intern                      = gt_xls
EXCEPTIONS
   INCONSISTENT_PARAMETERS       = 1
   UPLOAD_OLE                                      = 2
   OTHERS                                                = 3
          .


  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
    EXPORTING
      filename                = p_fname
      i_begin_col           = l_ibcol
      i_begin_row          = l_ibrow
      i_end_col              = l_iecol
      i_end_row             = l_ierow
    TABLES
      intern                                  = gt_xls
    EXCEPTIONS
      inconsistent_parameters      = 1
      upload_ole                         = 2
      OTHERS                           = 3.

 

  SORT gt_xls BY row col.

 


  LOOP AT gt_xls.
    MOVE gt_xls-col TO l_index.

    ASSIGN COMPONENT l_index OF STRUCTURE gt_upload TO .

    MOVE gt_xls-value TO .

    AT END OF row.
      APPEND gt_upload. CLEAR : gt_upload.
    ENDAT.
  ENDLOOP.

 


아래 함수는 위 작업을 한번에 해준다.
  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
      i_field_seperator    = 'X'
      i_line_header        = 'X'
      i_tab_raw_data       = lt_raw_data
      i_filename           = p_fname
    TABLES
      i_tab_converted_data = gt_upload
    EXCEPTIONS
      conversion_failed    = 1
      OTHERS               = 2.

 

단 이 함수를 사용할 경우 한글이 깨지거나 제대로 동작하지 않는다면,  SAP GUI 패치를 해야 한다.

댓글

이 블로그의 인기 게시물

알아두면 유용한 SAP TABLE

PP 오더 마감(오더상태)

User-Exit와 BAdi를 찾아주는 프로그램