From 68e507604cf26b50ba6ea55bdcba4081103f2224 Mon Sep 17 00:00:00 2001 From: ViktoriaFreidel <126160451+ViktoriaFreidel@users.noreply.github.com> Date: Wed, 10 Jul 2024 21:32:27 +0200 Subject: [PATCH] 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 --- .../aff/zcl_abapgit_aff_registry.clas.abap | 1 + .../aff/zcl_abapgit_object_uiad.clas.abap | 59 +++++++++++++++++++ .../aff/zcl_abapgit_object_uiad.clas.xml | 16 +++++ 3 files changed, 76 insertions(+) create mode 100644 src/objects/aff/zcl_abapgit_object_uiad.clas.abap create mode 100644 src/objects/aff/zcl_abapgit_object_uiad.clas.xml diff --git a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap index 1c39645b2..137813909 100644 --- a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap +++ b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap @@ -60,6 +60,7 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION. register( 'SMBC' ). register( 'NONT' ). register( 'RONT' ). + register( 'UIAD' ). register( 'UIPG' ). register( 'UIST' ). ENDMETHOD. diff --git a/src/objects/aff/zcl_abapgit_object_uiad.clas.abap b/src/objects/aff/zcl_abapgit_object_uiad.clas.abap new file mode 100644 index 000000000..528d3eb9b --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_uiad.clas.abap @@ -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: TYPE any, + 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 . + 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 = . + + ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE TO . + rv_user = . + + CATCH cx_root INTO lx_root. + zcx_abapgit_exception=>raise_with_text( lx_root ). + ENDTRY. + + ENDMETHOD. +ENDCLASS. diff --git a/src/objects/aff/zcl_abapgit_object_uiad.clas.xml b/src/objects/aff/zcl_abapgit_object_uiad.clas.xml new file mode 100644 index 000000000..03265b26c --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_uiad.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ABAPGIT_OBJECT_UIAD + E + abapGit - UIAD - Launchpad App Descriptor Item + 1 + X + X + X + + + +