UIAD: Add support for Launchpad App Descriptor Item (#6969)

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
ViktoriaFreidel 2024-07-10 21:32:27 +02:00 committed by GitHub
parent 1269360946
commit 68e507604c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 76 additions and 0 deletions

View File

@ -60,6 +60,7 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION.
register( 'SMBC' ).
register( 'NONT' ).
register( 'RONT' ).
register( 'UIAD' ).
register( 'UIPG' ).
register( 'UIST' ).
ENDMETHOD.

View File

@ -0,0 +1,59 @@
CLASS zcl_abapgit_object_uiad DEFINITION
PUBLIC
INHERITING FROM zcl_abapgit_object_common_aff
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
METHODS zif_abapgit_object~changed_by
REDEFINITION .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_UIAD IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA: lo_db_api TYPE REF TO object,
lr_data TYPE REF TO data,
lv_object_key TYPE c LENGTH 32,
lx_root TYPE REF TO cx_root.
FIELD-SYMBOLS: <ls_metadata> TYPE any,
<lv_changed_by> TYPE any.
TRY.
CALL METHOD ('CL_SUI_UIAD_DB_ACCESS')=>('GET_INSTANCE')
RECEIVING
ro_instance = lo_db_api.
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
ASSIGN lr_data->* TO <ls_metadata>.
CATCH cx_sy_create_object_error
cx_sy_create_data_error.
zcx_abapgit_exception=>raise( 'Object UIAD not supported' ).
ENDTRY.
TRY.
lv_object_key = ms_item-obj_name.
CALL METHOD lo_db_api->('IF_SUI_UIAD_DB_ACCESS~READ_WB_METADATA')
EXPORTING
iv_id = lv_object_key
iv_version = 'A'
iv_language = mv_language
RECEIVING
rs_metadata = <ls_metadata>.
ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE <ls_metadata> TO <lv_changed_by>.
rv_user = <lv_changed_by>.
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise_with_text( lx_root ).
ENDTRY.
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_OBJECT_UIAD</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - UIAD - Launchpad App Descriptor Item</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>