mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
53 lines
1.5 KiB
ABAP
53 lines
1.5 KiB
ABAP
*&---------------------------------------------------------------------*
|
|
*& Include ZABAPGIT_AUTHORIZATIONS
|
|
*&---------------------------------------------------------------------*
|
|
|
|
INTERFACE lif_auth.
|
|
TYPES: ty_authorization TYPE string.
|
|
|
|
CONSTANTS: BEGIN OF gc_authorization,
|
|
uninstall TYPE ty_authorization VALUE 'UNINSTALL',
|
|
END OF gc_authorization.
|
|
|
|
METHODS:
|
|
is_allowed
|
|
IMPORTING iv_authorization TYPE ty_authorization
|
|
iv_param TYPE string OPTIONAL
|
|
RETURNING VALUE(rv_allowed) TYPE abap_bool.
|
|
ENDINTERFACE.
|
|
|
|
* implement class LCL_AUTH_EXIT implementing LIF_AUTH in following include,
|
|
* place the include in a different package than ZABAPGIT
|
|
INCLUDE zabapgit_authorizations_exit IF FOUND.
|
|
|
|
*******************
|
|
|
|
CLASS lcl_auth DEFINITION FINAL.
|
|
|
|
PUBLIC SECTION.
|
|
CLASS-METHODS:
|
|
is_allowed
|
|
IMPORTING iv_authorization TYPE lif_auth=>ty_authorization
|
|
iv_param TYPE string OPTIONAL
|
|
RETURNING VALUE(rv_allowed) TYPE abap_bool.
|
|
|
|
ENDCLASS.
|
|
|
|
CLASS lcl_auth IMPLEMENTATION.
|
|
|
|
METHOD is_allowed.
|
|
|
|
DATA: li_auth TYPE REF TO lif_auth.
|
|
|
|
TRY.
|
|
CREATE OBJECT li_auth TYPE ('LCL_AUTH_EXIT').
|
|
rv_allowed = li_auth->is_allowed( iv_authorization = iv_authorization
|
|
iv_param = iv_param ).
|
|
CATCH cx_sy_create_object_error.
|
|
rv_allowed = abap_true.
|
|
ENDTRY.
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|