mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
Fix: Preserve spaces in error messages (#3128)
* Fix: Preserve spaces in error messages * cleanup + fix linter
This commit is contained in:
parent
5bee54fff3
commit
56e2ef3983
|
@ -34,6 +34,21 @@ CLASS zcl_abapgit_message_helper DEFINITION
|
|||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_msg,
|
||||
msgv1 TYPE symsgv,
|
||||
msgv2 TYPE symsgv,
|
||||
msgv3 TYPE symsgv,
|
||||
msgv4 TYPE symsgv,
|
||||
END OF ty_msg.
|
||||
|
||||
CLASS-METHODS:
|
||||
split_text
|
||||
IMPORTING
|
||||
iv_text TYPE string
|
||||
RETURNING
|
||||
VALUE(rs_msg) TYPE ty_msg.
|
||||
|
||||
DATA:
|
||||
mi_t100_message TYPE REF TO if_t100_message.
|
||||
|
||||
|
@ -266,20 +281,11 @@ CLASS ZCL_ABAPGIT_MESSAGE_HELPER IMPLEMENTATION.
|
|||
|
||||
METHOD set_msg_vars_for_clike.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_msg,
|
||||
msgv1 TYPE symsgv,
|
||||
msgv2 TYPE symsgv,
|
||||
msgv3 TYPE symsgv,
|
||||
msgv4 TYPE symsgv,
|
||||
END OF ty_msg.
|
||||
|
||||
DATA: ls_msg TYPE ty_msg,
|
||||
lv_dummy TYPE string.
|
||||
|
||||
ls_msg = iv_text.
|
||||
ls_msg = split_text( iv_text ).
|
||||
|
||||
" &1&2&3&4&5&6&7&8
|
||||
MESSAGE e001(00) WITH ls_msg-msgv1 ls_msg-msgv2 ls_msg-msgv3 ls_msg-msgv4
|
||||
INTO lv_dummy.
|
||||
|
||||
|
@ -359,4 +365,57 @@ CLASS ZCL_ABAPGIT_MESSAGE_HELPER IMPLEMENTATION.
|
|||
" a kind of MOVE where all conversion errors are signalled by exceptions
|
||||
WRITE iv_arg LEFT-JUSTIFIED TO ev_target.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD split_text.
|
||||
|
||||
CONSTANTS:
|
||||
lc_length_of_msgv TYPE i VALUE 50,
|
||||
lc_offset_of_last_character TYPE i VALUE 49.
|
||||
|
||||
TYPES:
|
||||
ty_char200 TYPE c LENGTH 200.
|
||||
|
||||
DATA:
|
||||
lv_text TYPE ty_char200,
|
||||
lv_msg_var TYPE c LENGTH lc_length_of_msgv,
|
||||
lv_rest TYPE ty_char200,
|
||||
lv_index TYPE syst-index.
|
||||
|
||||
lv_text = iv_text.
|
||||
|
||||
DO 4 TIMES.
|
||||
|
||||
lv_index = sy-index.
|
||||
|
||||
CALL FUNCTION 'TEXT_SPLIT'
|
||||
EXPORTING
|
||||
length = lc_length_of_msgv
|
||||
text = lv_text
|
||||
IMPORTING
|
||||
line = lv_msg_var
|
||||
rest = lv_rest.
|
||||
|
||||
IF lv_msg_var+lc_offset_of_last_character = space.
|
||||
" keep the space at the beginning of the rest
|
||||
" because otherwise it's lost
|
||||
lv_rest = | { lv_rest }|.
|
||||
ENDIF.
|
||||
|
||||
lv_text = lv_rest.
|
||||
|
||||
CASE lv_index.
|
||||
WHEN 1.
|
||||
rs_msg-msgv1 = lv_msg_var.
|
||||
WHEN 2.
|
||||
rs_msg-msgv2 = lv_msg_var.
|
||||
WHEN 3.
|
||||
rs_msg-msgv3 = lv_msg_var.
|
||||
WHEN 4.
|
||||
rs_msg-msgv4 = lv_msg_var.
|
||||
ENDCASE.
|
||||
|
||||
ENDDO.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user