DOCV: Fix dump for namespaced documents (#5855)

* DOCV: Fix dump for namespaced documents

Fix handing of documents in classes UO and UP which use a different namespace logic than DT, IN, MO. 

Regression #5756

Closes #5854

* Doc classes
This commit is contained in:
Marc Bernard 2022-11-04 12:34:43 -04:00 committed by GitHub
parent f8ac419f29
commit 754fe5b5a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11,7 +11,9 @@ CLASS zcl_abapgit_object_docv DEFINITION
METHODS constructor METHODS constructor
IMPORTING IMPORTING
!is_item TYPE zif_abapgit_definitions=>ty_item !is_item TYPE zif_abapgit_definitions=>ty_item
!iv_language TYPE spras. !iv_language TYPE spras
RAISING
zcx_abapgit_exception.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
@ -47,15 +49,26 @@ CLASS zcl_abapgit_object_docv IMPLEMENTATION.
super->constructor( is_item = is_item super->constructor( is_item = is_item
iv_language = iv_language ). iv_language = iv_language ).
IF ms_item-obj_name(2) <> 'DT'. " IN, MO, UO, UP
mv_id = ms_item-obj_name(2).
mv_doc_object = ms_item-obj_name+2.
ELSE. " DT
CALL FUNCTION 'RS_NAME_SPLIT_NAMESPACE' CALL FUNCTION 'RS_NAME_SPLIT_NAMESPACE'
EXPORTING EXPORTING
name_with_namespace = ms_item-obj_name name_with_namespace = ms_item-obj_name
IMPORTING IMPORTING
namespace = lv_prefix namespace = lv_prefix
name_without_namespace = lv_bare_name. name_without_namespace = lv_bare_name
EXCEPTIONS
delimiter_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |Error determining namespace for { ms_item-obj_type } { ms_item-obj_name }| ).
ENDIF.
mv_id = lv_bare_name(2). mv_id = lv_bare_name(2).
mv_doc_object = |{ lv_prefix }{ lv_bare_name+2(*) }|. mv_doc_object = |{ lv_prefix }{ lv_bare_name+2 }|.
ENDIF.
ENDMETHOD. ENDMETHOD.