Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 9236

Uploading data of excel sheet to Z-table

$
0
0

Dear gurus

 

here's my code as

 

*&---------------------------------------------------------------------*
*& Report  Z_KK_EXCEL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Z_KK_EXCEL.
TABLES: ZEXCEL.
TYPE-POOLS: truxs.

typesbegin 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


Viewing all articles
Browse latest Browse all 9236

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>