Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Include Z_HEL_CSV_EXO_TOP Report Z_HEL_CSV_EXO
- *&
- *&---------------------------------------------------------------------*
- REPORT z_hel_csv_exo.
- PARAMETERS : p_file TYPE localfile.
- *&---------------------------------------------------------------------*
- * indicateurs
- *----------------------------------------------------------------------*
- DATA : flat_store(1) TYPE n. "indicateur de stockage dans la base de données
- DATA : flat_upload(1) TYPE n. "indicateur de chargement du fichier locale
- TYPES : BEGIN OF record,
- zmant TYPE MANDT,
- znumcmd TYPE ebeln,
- zpostcmd TYPE ebelp,
- znumart TYPE matnr,
- zdesart TYPE maktx,
- zquantite TYPE BB_MENGE,
- znumclint TYPE kunnr,
- znomclient TYPE name1,
- zrue TYPE stras,
- zcodpostale TYPE pstl2,
- zville TYPE ort01_gp,
- END OF record.
- DATA : itab TYPE record OCCURS 0 WITH HEADER LINE. "internal table to copy data from csv
- TYPES: BEGIN OF ttab,
- rec(1000) TYPE c,
- END OF ttab.
- DATA: itab2 TYPE TABLE OF ttab WITH HEADER LINE.
- DATA: file_str TYPE string.
- *&---------------------------------------------------------------------*
- * ALV Declarations
- *----------------------------------------------------------------------*
- "Internal Table
- DATA :
- Z_INT_TB_ZHEL1 TYPE STANDARD TABLE OF zhelcommande.
- * Types Pools
- TYPE-POOLS:
- slis.
- * Types
- TYPES:
- t_fieldcat TYPE slis_fieldcat_alv,
- t_events TYPE slis_alv_event,
- t_layout TYPE slis_layout_alv.
- * Workareas
- DATA:
- w_fieldcat TYPE t_fieldcat,
- w_events TYPE t_events,
- w_layout TYPE t_layout.
- * Internal Tables
- DATA:
- i_fieldcat TYPE STANDARD TABLE OF t_fieldcat,
- i_events TYPE STANDARD TABLE OF t_events.
- FORM traitement.
- IF p_file CP '*.csv'.
- flat_upload = 1.
- MESSAGE text-001 TYPE 'I' DISPLAY LIKE 'I'.
- * message e
- ELSEIF p_file CP ''.
- MESSAGE text-002 TYPE 'I' DISPLAY LIKE 'E'.
- ELSE.
- MESSAGE text-003 TYPE 'I' DISPLAY LIKE 'W'.
- ENDIF.
- ENDFORM.
- FORM uploadcsvfile.
- CALL FUNCTION 'GUI_UPLOAD'
- EXPORTING
- filename = file_str
- TABLES
- data_tab = itab2
- EXCEPTIONS
- file_open_error = 1
- file_read_error = 2
- no_batch = 3
- gui_refuse_filetransfer = 4
- invalid_type = 5
- no_authority = 6
- unknown_error = 7
- bad_data_format = 8
- header_not_allowed = 9
- separator_not_allowed = 10
- header_too_long = 11
- unknown_dp_error = 12
- access_denied = 13
- dp_out_of_memory = 14
- disk_full = 15
- dp_timeout = 16
- OTHERS = 17.
- ENDFORM.
- FORM readcsvfile.
- LOOP AT itab2.
- SPLIT itab2-rec AT ';'
- INTO itab-znumcmd
- itab-zpostcmd
- itab-znumart
- itab-zdesart
- itab-zquantite
- itab-znumclint
- itab-znomclient
- itab-zrue
- itab-zcodpostale
- itab-zville.
- APPEND itab.
- PERFORM storerow.
- CLEAR itab.
- ENDLOOP.
- ENDFORM.
- FORM storerow.
- INSERT INTO zhelcommande VALUES itab .
- IF sy-subrc <> 0 .
- flat_store = 0.
- ELSE.
- flat_store = 1.
- ENDIF.
- ENDFORM.
- FORM showinalv.
- IF flat_store = 0 .
- WRITE : / 'Erreur : les données n’ont pu être sauvegardées'.
- ELSE.
- SELECT * FROM zhelcommande INTO TABLE z_int_tb_zhel1.
- PERFORM build_fieldcatlog.
- PERFORM build_events.
- PERFORM build_layout.
- PERFORM list_display.
- ENDIF.
- ENDFORM.
- FORM build_fieldcatlog .
- CLEAR:w_fieldcat,i_fieldcat[].
- PERFORM build_fcatalog USING:
- 'MANDT' 'I_T001' 'MANDT',
- 'ZNUMCMD' 'I_T001' 'ZNUMCMD',
- 'ZPOSTCMD' 'I_T001' 'ZPOSTCMD',
- 'ZPOSTCMD' 'I_T001' 'ZPOSTCMD',
- 'ZQUANTITE' 'I_T001' 'ZQUANTITE',
- 'ZNUMCLINT' 'I_T001' 'ZNUMCLINT',
- 'ZNOMCLIENT' 'I_T001' 'ZNOMCLIENT',
- 'ZRUE' 'I_T001' 'ZRUE',
- 'ZCODPOSTALE' 'I_T001' 'ZCODPOSTALE',
- 'ZVILLE' 'I_T001' 'ZVILLE'.
- ENDFORM.
- FORM build_fcatalog USING l_field l_tab l_text.
- w_fieldcat-fieldname = l_field.
- w_fieldcat-tabname = l_tab.
- w_fieldcat-seltext_m = l_text.
- APPEND w_fieldcat TO i_fieldcat.
- CLEAR w_fieldcat.
- ENDFORM.
- FORM build_events.
- CLEAR : w_events, i_events[].
- w_events-name = 'TOP_OF_PAGE'."Event Name
- w_events-form = 'TOP_OF_PAGE'."Callback event subroutine
- APPEND w_events TO i_events.
- CLEAR w_events.
- ENDFORM.
- FORM build_layout .
- w_layout-colwidth_optimize = 'X'.
- w_layout-zebra = 'X'.
- ENDFORM.
- FORM list_display .
- DATA: l_program TYPE sy-repid.
- l_program = sy-repid.
- CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
- EXPORTING
- i_callback_program = l_program
- is_layout = w_layout
- it_fieldcat = i_fieldcat
- it_events = i_events
- TABLES
- t_outtab = z_int_tb_zhel1
- EXCEPTIONS
- program_error = 1
- OTHERS = 2.
- IF sy-subrc <> 0.
- MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
- ENDIF.
- ENDFORM.
- FORM top_of_page.
- DATA :
- li_header TYPE slis_t_listheader,
- w_header LIKE LINE OF li_header.
- DATA:
- l_date TYPE char10.
- WRITE sy-datum TO l_date.
- w_header-typ = 'H'.
- CONCATENATE sy-repid ':' 'From Date' l_date INTO w_header-info SEPARATED BY space.
- APPEND w_header TO li_header.
- CLEAR w_header.
- w_header-typ = 'S'.
- w_header-info = sy-title.
- APPEND w_header TO li_header.
- CLEAR w_header.
- w_header-typ = 'A'.
- w_header-info = sy-uname.
- APPEND w_header TO li_header.
- CLEAR w_header.
- CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
- EXPORTING
- it_list_commentary = li_header.
- ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement