클립보드 방식의 엑셀 업로드 함수(ALSM_EXCEL_TO_INTERNAL_TABLE) 오류

클립보드 방식의 엑셀 업로드 함수(ALSM_EXCEL_TO_INTERNAL_TABLE) 오류

Published
2014년 09월 24일
생성자
카테고리
SAP
태그
abap
SAP
Excel
ALSM_EXCEL_TO_INTERNAL_TABLE
excel upload
excel upload function
KCD_EXCEL_OLE_TO_INT_CONVERT
TEXT_CONVERT_XLS_TO_SAP
하위 카테고리
ABAP

1. 문제점

– 특정 사용자 PC에서 엑셀파일 업로드 오류가 발생함.

2. 사용된 함수 : ALSM_EXCEL_TO_INTERNAL_TABLE

3. 오류발생 부분

– 클립보드에 복사한 데이터를 excel_tab으로 가져오지 못함.

4. 해결방안

– 다른 함수로 대체 (TEXT_CONVERT_XLS_TO_SAP)
* Excel Upload 구조. DATA: BEGIN OF GS_EXCEL,         ZYEAR     TYPE ZCOT5445-ZYEAR,  " 연도.         ZMONTH    TYPE ZCOT5445-ZMONTH, " 월.         KUNNR     TYPE ZCOT5465-KUNNR,  " 고객.         MATNR     TYPE ZCOT5465-MATNR,  " 상품.         ECAMT(15),                      " 금액.       END OF GS_EXCEL,       GT_EXCEL LIKE TABLE OF GS_EXCEL.   DATA:LV_FILE   LIKE  RLGRAP-FILENAME.   DATA: LV_SUBRC TYPE SY-SUBRC.   CALL FUNCTION 'WS_FILENAME_GET'     EXPORTING *      DEF_FILENAME     = L_FILE *      DEF_PATH         = 'C:/'       MASK             = ',*.*,*.*.'       MODE             = 'O'             "-. O = Open.       TITLE            = 'Select uploading excel file...'     IMPORTING       FILENAME         = LV_FILE     EXCEPTIONS       INV_WINSYS       = 01       NO_BATCH         = 02       SELECTION_CANCEL = 03       SELECTION_ERROR  = 04.   PERFORM FILE_READ TABLES GT_EXCEL                      USING LV_FILE                            'GT_EXCEL'                   CHANGING LV_SUBRC. *&---------------------------------------------------------------------* *&      Form  FILE_READ *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* FORM FILE_READ  TABLES PT_DATA LIKE GT_EXCEL                  USING PV_FNAME                        PV_TNAME               CHANGING PV_SUBRC.   TYPES TRUXS_T_TEXT_DATA(4096) TYPE C OCCURS 0.   DATA: LS_TABLE_NAME(30),         LWA_TEXT_DATA TYPE TRUXS_T_TEXT_DATA.   FIELD-SYMBOLS <IT_FS> TYPE  STANDARD TABLE. * Internal Table Assign   CONCATENATE  PV_TNAME '[]' INTO LS_TABLE_NAME.   ASSIGN (LS_TABLE_NAME) TO <IT_FS>.   TRANSLATE PV_FNAME TO UPPER CASE.   CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'     EXPORTING       I_LINE_HEADER        = 'X'       I_TAB_RAW_DATA       = LWA_TEXT_DATA       I_FILENAME           = PV_FNAME     TABLES       I_TAB_CONVERTED_DATA = <IT_FS>     EXCEPTIONS       CONVERSION_FAILED    = 1       OTHERS               = 2.   IF SY-SUBRC <> 0.     IF SY-SUBRC = 1 OR SY-TABIX EQ 2.       MESSAGE I000 WITH '파일을 열 수 없습니다( 파일을 닫고 실행해 주세요 )' DISPLAY LIKE 'E'.       PV_SUBRC = 4.       EXIT.     ELSE.       PV_SUBRC = 4.       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.     ENDIF.   ELSE.     CLEAR: PV_SUBRC.   ENDIF.   PT_DATA[] = <IT_FS>[]. ENDFORM.

댓글

guest