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:
Post a Comment