Saturday, November 21, 2009

upload excell data to database table@@@@@

REPORT zmrs_cool_upload.
************************************************************************DATA : lv_filename TYPE rlgrap-filename.
DATA: it_intern_q TYPE TABLE OF alsmex_tabline ,

wa_intern_q TYPE alsmex_tabline.
DATA : it_incool TYPE TABLE OF zmrs_coolprd_mas,

wa_incool TYPE zmrs_coolprd_mas.
***********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.

SELECTION-SCREEN SKIP 2.
PARAMETERS : p_fname TYPE localfile MODIF ID g1.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN END OF BLOCK a1.
***********************************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
CALL FUNCTION 'F4_FILENAME'

EXPORTING
program_name = sy-repid
dynpro_number = sy-dynnr
IMPORTING
file_name = p_fname.
************************************************************************
START-OF-SELECTION.

IF p_fname IS NOT INITIAL.
lv_filename = p_fname.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING
filename = lv_filename
i_begin_col = 1
i_begin_row = 2
i_end_col = 100
i_end_row = 65000
TABLES
intern = it_intern_q
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE 'Error in uploading the file' TYPE 'I'.
ENDIF.
IF it_intern_q[] IS NOT INITIAL.
CLEAR wa_incool.
LOOP AT it_intern_q INTO wa_intern_q.
IF wa_intern_q-col = 1.
wa_incool-source_gc = wa_intern_q-value.
ENDIF.
IF wa_intern_q-col = 2.
wa_incool-destination_gc = wa_intern_q-value.
ENDIF.
IF wa_intern_q-col = 3.

wa_incool-cooling_period = wa_intern_q-value.
ENDIF.
IF wa_intern_q-col = 4.
wa_incool-remarks = wa_intern_q-value.
ENDIF.
AT END OF row.
APPEND wa_incool TO it_incool.
CLEAR wa_incool.
ENDAT.
ENDLOOP.
ENDIF.
LOOP AT it_incool INTO wa_incool.
INSERT zmrs_coolprd_mas FROM wa_incool.
ENDLOOP.
MESSAGE 'Data has uploaded' TYPE 'S'.
ELSE.

CALL TRANSACTION 'ZMRSTINV'.
ENDIF.
END-OF-SELECTION.

No comments: