Multiple Row Data From Excel
Multiple Row Data From Excel
data:
ld_charactdetail TYPE bapicharactdetail,
lt_charactdetail type standard table of bapicharactdetail,
* wa_charactdetail like line of lt_charactdetail,
* ld_keydate TYPE bapicharactkey-keydate,
it_charactdescr TYPE STANDARD TABLE OF bapicharactdescr,
wa_charactdescr LIKE LINE OF it_charactdescr,
* it_charactvaluesnum TYPE STANDARD TABLE OF bapicharactvaluesnum,
* wa_charactvaluesnum LIKE LINE OF it_charactvaluesnum,
it_charactvalueschar TYPE STANDARD TABLE OF bapicharactvalueschar,
wa_charactvalueschar LIKE LINE OF it_charactvalueschar,
* it_charactvaluescurr TYPE STANDARD TABLE OF bapicharactvaluescurr,
* wa_charactvaluescurr LIKE LINE OF it_charactvaluescurr,
* it_charactreferences TYPE STANDARD TABLE OF bapicharactreferences,
* wa_charactreferences LIKE LINE OF it_charactreferences,
it_charactvaluesdescr TYPE STANDARD TABLE OF bapicharactvaluesdescr,
wa_charactvaluesdescr LIKE LINE OF it_charactvaluesdescr,
it_return TYPE STANDARD TABLE OF bapiret2,
wa_return LIKE LINE OF it_return.
"at selection-screen
"Enhancing the selection screen
" F4_FILENAME
CALL FUNCTION 'F4_FILENAME'
EXPORTING
* PROGRAM_NAME = SYST-CPROG
* DYNPRO_NUMBER = SYST-DYNNR
field_name = 'P-FILE'
IMPORTING
file_name = p_file.
START-OF-SELECTION.
"TEXT_CONVERT_XLS_TO_SAP
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw_data
i_filename = p_file
TABLES
i_tab_converted_data = it_upload
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
END-OF-SELECTION.
wa_fld_clg-fieldname = 'CHARACT_NAME'.
wa_fld_clg-seltext_m = 'charact_name'.
wa_fld_clg-col_pos = '1'.
append wa_fld_clg to it_fld_clg.
wa_fld_clg-fieldname = 'DATA_TYPE'.
wa_fld_clg-seltext_m = 'data_type'.
wa_fld_clg-col_pos = '2'.
append wa_fld_clg to it_fld_clg.
* wa_fld_clg-fieldname = 'LENGTH'.
* wa_fld_clg-seltext_m = 'length'.
* wa_fld_clg-col_pos = '3'.
* append wa_fld_clg to it_fld_clg.
*
* wa_fld_clg-fieldname = 'DECIMALS'.
* wa_fld_clg-seltext_m = 'decimals'.
* wa_fld_clg-col_pos = '4'.
* append wa_fld_clg to it_fld_clg.
*
* wa_fld_clg-fieldname = 'STATUS'.
* wa_fld_clg-seltext_m = 'status'.
* wa_fld_clg-col_pos = '5'.
* append wa_fld_clg to it_fld_clg.
*
* wa_fld_clg-fieldname = 'VALUE_ASSIGNMENT'.
* wa_fld_clg-seltext_m = 'value_assignment'.
* wa_fld_clg-col_pos = '6'.
* append wa_fld_clg to it_fld_clg.
*
*
*
*
*
* wa_fld_clg-fieldname = 'LANGUAGE_INT'.
* wa_fld_clg-seltext_m = 'language_int'.
* wa_fld_clg-col_pos = '7'.
* append wa_fld_clg to it_fld_clg.
*
* wa_fld_clg-fieldname = 'LANGUAGE_ISO'.
* wa_fld_clg-seltext_m = 'language_iso'.
* wa_fld_clg-col_pos = '8'.
* append wa_fld_clg to it_fld_clg.
* wa_fld_clg-fieldname = 'UNIT_OF_MEASUREMENT'.
* wa_fld_clg-seltext_m = 'unit_of_measurement'.
* wa_fld_clg-col_pos = '3'.
* append wa_fld_clg to it_fld_clg.
*
* wa_fld_clg-fieldname = 'CURRENCY'.
* wa_fld_clg-seltext_m = 'currency'.
* wa_fld_clg-col_pos = '4'.
* append wa_fld_clg to it_fld_clg.
wa_fld_clg-fieldname = 'DESCRIPTION'.
wa_fld_clg-seltext_m = 'description'.
wa_fld_clg-col_pos = '3'.
append wa_fld_clg to it_fld_clg.
*read table lt_charactdetail into ld_charactdetail index 1.
pv_key = 1.
loop at it_upload into wa_upload.
CLEAR : ld_charactdetail.
ld_charactdetail-CHARACT_NAME = wa_upload-charact_name.
ld_charactdetail-DATA_TYPE = wa_upload-data_type.
ld_charactdetail-LENGTH = wa_upload-length.
ld_charactdetail-DECIMALS = wa_upload-decimals.
ld_charactdetail-STATUS = wa_upload-status.
ld_charactdetail-UNIT_OF_MEASUREMENT = wa_upload-unit.
ld_charactdetail-CURRENCY = wa_upload-currency.
ld_charactdetail-TEMPLATE = wa_upload-template.
ld_charactdetail-VALUE_ASSIGNMENT = wa_upload-value_assignment.
ld_charactdetail-CHECK_TABLE = wa_upload-check_table.
ld_charactdetail-CHECK_FUNCTION = wa_upload-check_function.
append ld_charactdetail to lt_charactdetail.
"bapicharactvalueschar
clear : wa_charactvalueschar.
wa_charactvalueschar-VALUE_CHAR = wa_upload-value_char.
*wa_charactvalueschar-VALUE_CHAR = wa_upload-val_char.
append wa_charactvalueschar to it_charactvalueschar.
"bapicharactvaluesdescr
clear : wa_charactvaluesdescr.
wa_charactvaluesdescr-LANGUAGE_INT = wa_upload-language_int.
wa_charactvaluesdescr-LANGUAGE_ISO = wa_upload-language_iso.
wa_charactvaluesdescr-VALUE_CHAR = wa_upload-value_char.
wa_charactvaluesdescr-DESCRIPTION = wa_upload-value_description.
*wa_charactvaluesdescr-VALUE_CHAR = wa_upload-val_char.
*wa_charactvaluesdescr-DESCRIPTION = wa_upload-val_description.
append wa_charactvaluesdescr to it_charactvaluesdescr.
pv_key = ld_charactdetail-charact_name+1 .
endloop.
wa_header-typ = 'S'.
wa_header-info = ' 1. NO EMPTY FIELD PRESENT - CHARACTERISTICS CREATED
SUCCESSFULLY' .
append wa_header to t_header.
clear wa_header.
wa_header-typ = 'S'.
wa_header-info = ' 2. EMPTY FIELD PRESENT- THERE IS AN ERROR ' .
append wa_header to t_header.
clear wa_header.
wa_header-typ = 'H'.
wa_header-info = 'Charecteristics data ALV Report '.
append wa_header to t_header.
clear wa_header.
*else.
* wa_header-typ = 'S'.
* wa_header-info = 'some error occured try again '.
* append wa_header to t_header.
* clear wa_header.
*wa_header-typ = 'H'.
* wa_header-info = 'Charecteristics data ALV Report '.
* append wa_header to t_header.
* clear wa_header.
*endif.
TABLES
t_outtab = it_upload.
ELSE.
* wa_header-typ = 'S'.
* wa_header-info = 'some error occured try again '.
* append wa_header to t_header.
* clear wa_header.
*
* wa_header-typ = 'H'.
* wa_header-info = 'Charecteristics data ALV Report '.
* append wa_header to t_header.
* clear wa_header.
ENDIF.
FORM TOP.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header
* I_LOGO =
* I_END_OF_LIST_GRID =
* I_ALV_FORM =
.
ENDFORM.