SAP Tutorials Blog


 


 DATA : lt_data    TYPE STANDARD TABLE OF alsmex_tabline,

         lt_flights TYPE STANDARD TABLE OF sflight,

         ls_flight  TYPE sflight,

         lv_file    TYPE string VALUE 'C:\Demo\Test.xlsx'.


  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

    EXPORTING

      filename                = CONV localfile( lv_file )

      i_begin_col             = 1

      i_begin_row             = 2

      i_end_col               = 9999

      i_end_row               = 9999

    TABLES

      intern                  = lt_data

    EXCEPTIONS

      inconsistent_parameters = 1

      upload_ole              = 2

      OTHERS                  = 3.

  IF sy-subrc <> 0.

    "Error

  ELSE.


    LOOP AT lt_data INTO DATA(ls_data).

      ASSIGN COMPONENT ls_data-col OF STRUCTURE ls_flight TO FIELD-SYMBOL(<lfs_fld>).


      CASE ls_data-col.

        when 4. "Convert Date

          if strlen( ls_data-value ) = 10.

            ls_data-value = |{ ls_data-value+6(4) }{ ls_data-value+3(2) }{ ls_data-value(2) }|.

          else.

            ls_data-value = sy-datum.

          endif.

        when 5 or 10. "Handle Decimal place

          REPLACE all OCCURRENCES OF '.' IN ls_data-value WITH ''.

          REPLACE all OCCURRENCES OF ',' IN ls_data-value WITH '.'.

      ENDCASE.


      <lfs_fld> = ls_data-value.

      AT END OF row.

        APPEND ls_flight TO lt_flights.

      ENDAT.

    ENDLOOP.


    cl_demo_output=>display( lt_flights ).


  ENDIF.


Serkan AKKAVAK

Computer Engineer BSc

Head of SAP & Software Department

Contact : serkurumsal@yandex.com