Dear gurus
here's my code as
*&---------------------------------------------------------------------*
*& Report Z_KK_EXCEL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_KK_EXCEL.
TABLES: ZEXCEL.
TYPE-POOLS: truxs.
types: begin of itab,
EMPName(30) type c,
Designation(30) type c,
Salary(10) type i,
end of itab.
data: it_tab type standard TABLE OF itab,
wa_tab type itab.
data: it_ZEXCEL type TABLE OF ZEXCEL,
wa_ZEXCEL type ZEXCEL.
data: it_TEMP type TABLE OF ZEXCEL,
wa_TEMP type ZEXCEL.
DATA : it_raw TYPE truxs_t_text_data.
Data: it_error type table of itab,
wa_error type itab.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file TYPE RLGRAP-Filename.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_FILE'
STATIC = 'X'
MASK = 'excel, *xls'
FILEOPERATION = 'R'
* PATH =
CHANGING
FILE_NAME = p_file
* LOCATION_FLAG = 'P'
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
start-of-selection.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = it_raw
I_FILENAME = p_file
TABLES
I_TAB_CONVERTED_DATA = it_tab
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
end-of-selection.
loop at it_tab into wa_tab.
write :/ wa_tab-EMPName,
wa_tab-Designation,
wa_tab-Salary.
endloop.
SELECT * FROM ZEXCEL INTO table IT_TEMP.
LOOP AT it_tab INTO wa_tab.
READ TABLE IT_TEMP into wa_TEMP WITH KEY EMPNAME = wa_tab-empname.
IF SY-SUBRC <> 0.
MOVE-CORRESPONDING WA_TAB TO WA_ERROR.
APPEND WA_ERROR TO IT_ERROR.
CONTINUE.
ENDIF.
"Checks the existing record in table
READ TABLE it_ZEXCEL into wa_ZEXCEL WITH KEY EMPNAME = wa_tab-empname.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING WA_TAB TO WA_ERROR.
APPEND WA_ERROR TO IT_ERROR.
ELSE.
ZEXCEL-EMPNAme = wa_tab-EMPName.
ZEXCEL-Designation = wa_tab-Designation.
ZEXCEL-Salary = wa_tab-Salary.
INSERT ZEXCEL.
ENDIF.
clear wa_tab.
ENDLOOP.
if it_error is initial.
message 'all data updated Sucessfully' type 'S'.
else.
loop at it_error into wa_error.
write:/ 'Already Exist',wa_error-EMPName.
endloop.
endif.
In this , can any one help me to understand the BOLD statements.In this these ZEXCEL and it_TEMP have no values. Can anyone explain.
little confused.
Thanks
Regards
karan