diff --git a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap index 38424ea2e..bffbf15ad 100644 --- a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap +++ b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap @@ -53,6 +53,7 @@ CLASS zcl_abapgit_aff_registry IMPLEMENTATION. register( iv_obj_type = 'CHKO' ). register( iv_obj_type = 'CHKV' ). register( iv_obj_type = 'EVTB' ). + register( iv_obj_type = 'GSMP' ). register( iv_obj_type = 'INTF' iv_experimental = abap_true ). register( iv_obj_type = 'SMBC' ). diff --git a/src/objects/aff/zcl_abapgit_aff_registry.clas.testclasses.abap b/src/objects/aff/zcl_abapgit_aff_registry.clas.testclasses.abap index a66fa6b34..29c7f9194 100644 --- a/src/objects/aff/zcl_abapgit_aff_registry.clas.testclasses.abap +++ b/src/objects/aff/zcl_abapgit_aff_registry.clas.testclasses.abap @@ -15,6 +15,7 @@ CLASS ltcl_aff_registry DEFINITION FINAL FOR TESTING chko FOR TESTING RAISING cx_static_check, chkv FOR TESTING RAISING cx_static_check, evtb FOR TESTING RAISING cx_static_check, + gsmp FOR TESTING RAISING cx_static_check, intf_not_supported FOR TESTING RAISING cx_static_check, intf_experimental FOR TESTING RAISING cx_static_check, smbc FOR TESTING RAISING cx_static_check. @@ -65,6 +66,11 @@ CLASS ltcl_aff_registry IMPLEMENTATION. iv_is_supported = abap_true ). ENDMETHOD. + METHOD gsmp. + assert_that( iv_obj_type = 'GSMP' + iv_is_supported = abap_true ). + ENDMETHOD. + METHOD intf_not_supported. assert_that( iv_obj_type = 'INTF' iv_is_supported = abap_false ). diff --git a/src/objects/aff/zcl_abapgit_object_gsmp.clas.abap b/src/objects/aff/zcl_abapgit_object_gsmp.clas.abap new file mode 100644 index 000000000..f5bc26ff1 --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_gsmp.clas.abap @@ -0,0 +1,45 @@ +CLASS zcl_abapgit_object_gsmp 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_GSMP IMPLEMENTATION. + + + METHOD zif_abapgit_object~changed_by. + + DATA lv_name TYPE c LENGTH 180. + DATA lv_user TYPE string. + DATA lx_root TYPE REF TO cx_root. + + + TRY. + lv_name = ms_item-obj_name. + + SELECT SINGLE changed_by INTO lv_user + FROM ('GSM_MD_PRV_W') + WHERE provider_id = lv_name AND version = 'I'. + + IF lv_user IS INITIAL. + SELECT SINGLE changed_by INTO lv_user + FROM ('GSM_MD_PRV_W') + WHERE provider_id = lv_name AND version = 'A'. + ENDIF. + + rv_user = lv_user. + CATCH cx_root INTO lx_root. + zcx_abapgit_exception=>raise( iv_text = lx_root->get_text( ) + ix_previous = lx_root ). + ENDTRY. + + ENDMETHOD. +ENDCLASS. diff --git a/src/objects/aff/zcl_abapgit_object_gsmp.clas.xml b/src/objects/aff/zcl_abapgit_object_gsmp.clas.xml new file mode 100644 index 000000000..5e07a7012 --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_gsmp.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ABAPGIT_OBJECT_GSMP + E + abapgit - GSMP - Generic Simple Metric Provider + 1 + X + X + X + + + +