mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
namespace class: ABAP Cloud compatibility (#6513)
This commit is contained in:
parent
02dfc77129
commit
cc4ac1142d
|
@ -16,26 +16,58 @@ CLASS zcl_abapgit_sap_namespace IMPLEMENTATION.
|
|||
|
||||
METHOD zif_abapgit_sap_namespace~exists.
|
||||
DATA lv_editflag TYPE trnspace-editflag.
|
||||
SELECT SINGLE editflag FROM trnspace INTO lv_editflag WHERE namespace = iv_namespace.
|
||||
rv_yes = boolc( sy-subrc = 0 ).
|
||||
DATA lo_obj TYPE REF TO object.
|
||||
DATA lo_nsp TYPE REF TO object.
|
||||
FIELD-SYMBOLS <lg_obj> TYPE any.
|
||||
TRY.
|
||||
SELECT SINGLE editflag FROM ('TRNSPACE') INTO lv_editflag WHERE namespace = iv_namespace.
|
||||
rv_yes = boolc( sy-subrc = 0 ).
|
||||
CATCH cx_sy_dynamic_osql_error.
|
||||
ASSIGN ('XCO_CP_SYSTEM=>NAMESPACE') TO <lg_obj>.
|
||||
lo_obj = <lg_obj>.
|
||||
CALL METHOD lo_obj->('IF_XCO_CP_NAMESPACE_FACTORY~FOR')
|
||||
EXPORTING
|
||||
iv_value = iv_namespace
|
||||
RECEIVING
|
||||
ro_namespace = lo_nsp.
|
||||
CALL METHOD lo_nsp->('IF_XCO_CP_NAMESPACE~EXISTS')
|
||||
RECEIVING
|
||||
rv_exists = rv_yes.
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_sap_namespace~is_editable.
|
||||
DATA lv_editflag TYPE trnspace-editflag.
|
||||
SELECT SINGLE editflag FROM trnspace INTO lv_editflag WHERE namespace = iv_namespace.
|
||||
rv_yes = boolc( sy-subrc = 0 AND lv_editflag = 'X' ).
|
||||
DATA lo_obj TYPE REF TO object.
|
||||
DATA lo_nsp TYPE REF TO object.
|
||||
FIELD-SYMBOLS <lg_obj> TYPE any.
|
||||
TRY.
|
||||
SELECT SINGLE editflag FROM ('TRNSPACE') INTO lv_editflag WHERE namespace = iv_namespace.
|
||||
rv_yes = boolc( sy-subrc = 0 AND lv_editflag = 'X' ).
|
||||
CATCH cx_sy_dynamic_osql_error.
|
||||
ASSIGN ('XCO_CP_SYSTEM=>NAMESPACE') TO <lg_obj>.
|
||||
lo_obj = <lg_obj>.
|
||||
CALL METHOD lo_obj->('IF_XCO_CP_NAMESPACE_FACTORY~FOR')
|
||||
EXPORTING
|
||||
iv_value = iv_namespace
|
||||
RECEIVING
|
||||
ro_namespace = lo_nsp.
|
||||
CALL METHOD lo_nsp->('IF_XCO_CP_NAMESPACE~IS_CHANGEABLE')
|
||||
RECEIVING
|
||||
rv_exists = rv_yes.
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_sap_namespace~split_by_name.
|
||||
* use this method instead of function module RS_NAME_SPLIT_NAMESPACE
|
||||
DATA lv_regex TYPE string.
|
||||
DATA lv_regex TYPE string.
|
||||
DATA lv_object TYPE string.
|
||||
DATA lv_length TYPE i.
|
||||
DATA lr_ex TYPE REF TO cx_root.
|
||||
DATA lr_ex TYPE REF TO cx_root.
|
||||
|
||||
lv_regex = '^\/[^\/]{1,8}\/'.
|
||||
lv_regex = '^\/[^\/]{1,8}\/'.
|
||||
|
||||
TRY.
|
||||
FIND REGEX lv_regex IN iv_obj_with_namespace MATCH LENGTH lv_length.
|
||||
|
|
Loading…
Reference in New Issue
Block a user