mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 13:46:17 +08:00
Handle exceptions in demo programs (#962)
* Handle exceptions in demo programs Fix #955 Co-authored-by: sandraros <sandra.rossi@gmail.com> Co-authored-by: Lars Hvam <larshp@hotmail.com> Co-authored-by: Abo <andrea@borgia.bo.it>
This commit is contained in:
parent
4662dc85f4
commit
165a580b34
|
@ -215,7 +215,7 @@ CLASS lcl_app IMPLEMENTATION.
|
|||
lo_excel->set_active_sheet_index_by_name( 'Sheet1' ).
|
||||
|
||||
*** Create output
|
||||
lcl_output=>output( lo_excel ).
|
||||
lcl_output=>output( cl_excel = lo_excel iv_info_message = abap_false ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ FORM generate_file.
|
|||
|
||||
|
||||
*** Create output
|
||||
lcl_output=>output( lo_excel ).
|
||||
lcl_output=>output( cl_excel = lo_excel iv_info_message = abap_false ).
|
||||
|
||||
CATCH cx_root INTO lo_root.
|
||||
MESSAGE lo_root TYPE 'I' DISPLAY LIKE 'E'.
|
||||
|
|
|
@ -6,13 +6,16 @@ CLASS lcl_output DEFINITION CREATE PRIVATE.
|
|||
CLASS-METHODS:
|
||||
output IMPORTING cl_excel TYPE REF TO zcl_excel
|
||||
iv_writerclass_name TYPE clike OPTIONAL
|
||||
iv_info_message TYPE abap_bool DEFAULT abap_true
|
||||
RAISING zcx_excel,
|
||||
f4_path RETURNING VALUE(selected_folder) TYPE string,
|
||||
parametertexts.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS:
|
||||
download_frontend,
|
||||
download_frontend
|
||||
RAISING
|
||||
zcx_excel,
|
||||
download_backend,
|
||||
display_online,
|
||||
send_email.
|
||||
|
@ -75,7 +78,10 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
METHOD output.
|
||||
|
||||
DATA: cl_output TYPE REF TO lcl_output,
|
||||
cl_writer TYPE REF TO zif_excel_writer.
|
||||
cl_writer TYPE REF TO zif_excel_writer,
|
||||
cl_error TYPE REF TO zcx_excel.
|
||||
|
||||
TRY.
|
||||
|
||||
IF iv_writerclass_name IS INITIAL.
|
||||
CREATE OBJECT cl_output.
|
||||
|
@ -111,6 +117,15 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
cl_output->send_email( ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
CATCH zcx_excel INTO cl_error.
|
||||
IF iv_info_message = abap_true.
|
||||
MESSAGE cl_error TYPE 'I' DISPLAY LIKE 'E'.
|
||||
ELSE.
|
||||
RAISE EXCEPTION cl_error.
|
||||
ENDIF.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD. "output
|
||||
|
||||
METHOD f4_path.
|
||||
|
@ -208,7 +223,8 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
ENDMETHOD. "parametertexts
|
||||
|
||||
METHOD: download_frontend.
|
||||
DATA: filename TYPE string.
|
||||
DATA: filename TYPE string,
|
||||
message TYPE string.
|
||||
* I don't like p_path here - but for this include it's ok
|
||||
filename = p_path.
|
||||
* Add trailing "\" or "/"
|
||||
|
@ -223,7 +239,13 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = bytecount
|
||||
filename = filename
|
||||
filetype = 'BIN'
|
||||
CHANGING data_tab = t_rawdata ).
|
||||
CHANGING data_tab = t_rawdata
|
||||
EXCEPTIONS OTHERS = 1 ).
|
||||
IF sy-subrc <> 0.
|
||||
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
|
||||
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO message.
|
||||
RAISE EXCEPTION TYPE zcx_excel EXPORTING error = message.
|
||||
ENDIF.
|
||||
ENDMETHOD. "download_frontend
|
||||
|
||||
METHOD download_backend.
|
||||
|
|
Loading…
Reference in New Issue
Block a user