added auto confirmation of transport messages (#6317)

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
thorsten-wolf-neptune 2023-06-26 15:26:53 +02:00 committed by GitHub
parent c8a4a54a3e
commit af7adb3828
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 66 additions and 0 deletions

View File

@ -11,6 +11,8 @@ CLASS zcl_abapgit_cts_api DEFINITION
PROTECTED SECTION.
PRIVATE SECTION.
DATA: mv_confirm_transp_msgs_called TYPE abap_bool.
"! Returns the transport request / task the object is currently locked in
"! @parameter iv_program_id | Program ID
"! @parameter iv_object_type | Object type
@ -415,4 +417,62 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
WHERE trkorr = iv_trkorr ##SUBRC_OK.
ENDMETHOD.
METHOD zif_abapgit_cts_api~confirm_transport_messages.
TYPES: BEGIN OF ty_s_message,
id TYPE symsgid,
ty TYPE symsgty,
no TYPE symsgno,
v1 TYPE symsgv,
v2 TYPE symsgv,
v3 TYPE symsgv,
v4 TYPE symsgv,
END OF ty_s_message.
DATA ls_message TYPE ty_s_message.
FIELD-SYMBOLS: <lt_confirmed_messages> TYPE STANDARD TABLE.
IF mv_confirm_transp_msgs_called = abap_true.
RETURN.
ENDIF.
" remember the call to avoid duplicates in GT_CONFIRMED_MESSAGES
mv_confirm_transp_msgs_called = abap_true.
" Auto-confirm certain messages (requires SAP Note 1609940)
PERFORM dummy IN PROGRAM saplstrd IF FOUND. "load function group STRD once into memory
ASSIGN ('(SAPLSTRD)GT_CONFIRMED_MESSAGES') TO <lt_confirmed_messages>.
IF sy-subrc <> 0.
RETURN.
ENDIF.
" Object can only be created in package of namespace
ls_message-id = 'TR'.
ls_message-no = '007'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
" Original system set to "SAP"
ls_message-id = 'TR'.
ls_message-no = '013'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
" Make repairs in foreign namespaces only if they are urgent
ls_message-id = 'TR'.
ls_message-no = '852'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
" Make repairs in foreign namespaces only if they are urgent
ls_message-id = 'TK'.
ls_message-no = '016'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
rv_messages_confirmed = abap_true.
ENDMETHOD.
ENDCLASS.

View File

@ -105,4 +105,8 @@ INTERFACE zif_abapgit_cts_api
RAISING
zcx_abapgit_exception.
METHODS confirm_transport_messages
RETURNING
VALUE(rv_messages_confirmed) TYPE abap_bool .
ENDINTERFACE.

View File

@ -664,6 +664,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
iv_text = 'Deserialize:'
iv_count = lines( lt_items ) )->start( ).
zcl_abapgit_factory=>get_cts_api( )->confirm_transport_messages( ).
check_objects_locked( iv_language = io_repo->get_dot_abapgit( )->get_main_language( )
it_items = lt_items ).