diff --git a/src/checks/zcl_aoc_super.clas.abap b/src/checks/zcl_aoc_super.clas.abap
index 478cbf81..5ce17aca 100644
--- a/src/checks/zcl_aoc_super.clas.abap
+++ b/src/checks/zcl_aoc_super.clas.abap
@@ -111,12 +111,16 @@ CLASS zcl_aoc_super DEFINITION
METHODS set_uses_checksum
IMPORTING
!iv_enable TYPE abap_bool DEFAULT abap_true.
-
+ METHODS is_active_version_by_sap
+ IMPORTING
+ iv_program_name TYPE progname
+ RETURNING
+ VALUE(rv_result) TYPE abap_bool.
ENDCLASS.
-CLASS ZCL_AOC_SUPER IMPLEMENTATION.
+CLASS zcl_aoc_super IMPLEMENTATION.
METHOD check.
@@ -492,15 +496,9 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION.
RETURN. " custom HR infotype includes
ENDIF.
- IF cl_enh_badi_def_utility=>is_sap_system( ) = abap_false.
- SELECT SINGLE cnam FROM reposrc INTO lv_cnam
- WHERE progname = p_sub_obj_name AND r3state = 'A'.
- IF sy-subrc = 0
- AND ( lv_cnam = 'SAP'
- OR lv_cnam = 'SAP*'
- OR lv_cnam = 'DDIC' ).
- RETURN.
- ENDIF.
+ IF cl_enh_badi_def_utility=>is_sap_system( ) = abap_false
+ AND is_active_version_by_sap( p_sub_obj_name ) = abap_true.
+ RETURN.
ENDIF.
ENDIF.
@@ -739,4 +737,29 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION.
ENDIF.
ENDMETHOD.
+
+ METHOD is_active_version_by_sap.
+ DATA lv_author TYPE cnam.
+
+ CALL FUNCTION 'ZAOC_GET_AUTHOR_OF_ACTIVE_VERS'
+ DESTINATION rfc_destination
+ EXPORTING
+ iv_program_name = iv_program_name
+ IMPORTING
+ ev_author = lv_author
+ EXCEPTIONS
+ no_active_version = 1
+ OTHERS = 2.
+
+ IF sy-subrc <> 0.
+ " Ignore for now
+ RETURN.
+ ENDIF.
+
+ CASE lv_author.
+ WHEN 'SAP' OR 'SAP*' OR 'DDIC'.
+ rv_result = abap_true.
+ ENDCASE.
+ ENDMETHOD.
+
ENDCLASS.
diff --git a/src/utils/zaoc_get_author_of_active_versrf.sush.xml b/src/utils/zaoc_get_author_of_active_versrf.sush.xml
new file mode 100644
index 00000000..45c37567
--- /dev/null
+++ b/src/utils/zaoc_get_author_of_active_versrf.sush.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+ ZAOC_GET_AUTHOR_OF_ACTIVE_VERS
+ RF
+ ZAOC_GET_AUTHOR_OF_ACTIVE_VERS
+ Get author of active version
+
+
+
+ ZAOC_GET_AUTHOR_OF_ACTIVE_VERS
+ RF
+
+ X
+
+
+
+ -
+
+ Authorization Check for RFC Access
+ AAAB
+ X
+ BC-MID-RFC
+ Check
+ Check
+ No
+ 3
+ Okay
+ @08@
+
+
+
+
+
diff --git a/src/utils/zaoc_wrapper.fugr.xml b/src/utils/zaoc_wrapper.fugr.xml
index 0abfb5c5..2f6df480 100644
--- a/src/utils/zaoc_wrapper.fugr.xml
+++ b/src/utils/zaoc_wrapper.fugr.xml
@@ -8,6 +8,42 @@
SAPLZAOC_WRAPPER
+ -
+ ZAOC_GET_AUTHOR_OF_ACTIVE_VERS
+ R
+ Get author of active version
+
+
+ IV_PROGRAM_NAME
+ PROGNAME
+
+
+
+
+ EV_AUTHOR
+ CNAM
+
+
+
+
+ NO_ACTIVE_VERSION
+
+
+
+
+ IV_PROGRAM_NAME
+ P
+
+
+ EV_AUTHOR
+ P
+
+
+ NO_ACTIVE_VERSION
+ X
+
+
+
-
ZAOC_IS_FUNCTION_MODULE_RFC
R
diff --git a/src/utils/zaoc_wrapper.fugr.zaoc_get_author_of_active_vers.abap b/src/utils/zaoc_wrapper.fugr.zaoc_get_author_of_active_vers.abap
new file mode 100644
index 00000000..d847184d
--- /dev/null
+++ b/src/utils/zaoc_wrapper.fugr.zaoc_get_author_of_active_vers.abap
@@ -0,0 +1,20 @@
+FUNCTION zaoc_get_author_of_active_vers.
+*"----------------------------------------------------------------------
+*"*"Local Interface:
+*" IMPORTING
+*" VALUE(IV_PROGRAM_NAME) TYPE PROGNAME
+*" EXPORTING
+*" VALUE(EV_AUTHOR) TYPE CNAM
+*" EXCEPTIONS
+*" NO_ACTIVE_VERSION
+*"----------------------------------------------------------------------
+ SELECT SINGLE cnam
+ FROM reposrc
+ INTO ev_author
+ WHERE progname = iv_program_name
+ AND r3state = 'A'.
+
+ IF sy-subrc <> 0.
+ RAISE no_active_version.
+ ENDIF.
+ENDFUNCTION.