mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Dependency injection for ZCL_ABAPGIT_SAP_PACKAGE
This commit is contained in:
parent
b6894a5e67
commit
36f257f0bb
|
@ -245,7 +245,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
zcl_abapgit_sap_package=>create( ls_package_data ).
|
zcl_abapgit_factory=>get_sap_package( ls_package_data-devclass )->create( ls_package_data ).
|
||||||
COMMIT WORK.
|
COMMIT WORK.
|
||||||
|
|
||||||
<ls_fpackage>-value = ls_package_data-devclass.
|
<ls_fpackage>-value = ls_package_data-devclass.
|
||||||
|
@ -505,7 +505,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
zcl_abapgit_sap_package=>create( ls_package_data ).
|
zcl_abapgit_factory=>get_sap_package( ls_package_data-devclass )->create( ls_package_data ).
|
||||||
COMMIT WORK.
|
COMMIT WORK.
|
||||||
|
|
||||||
<ls_fpackage>-value = ls_package_data-devclass.
|
<ls_fpackage>-value = ls_package_data-devclass.
|
||||||
|
|
|
@ -45,7 +45,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_SERVICES_ABAPGIT IMPLEMENTATION.
|
CLASS zcl_abapgit_services_abapgit IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD do_install.
|
METHOD do_install.
|
||||||
|
@ -70,7 +70,7 @@ CLASS ZCL_ABAPGIT_SERVICES_ABAPGIT IMPLEMENTATION.
|
||||||
iv_url = iv_url
|
iv_url = iv_url
|
||||||
iv_target_package = iv_package ).
|
iv_target_package = iv_package ).
|
||||||
|
|
||||||
zcl_abapgit_sap_package=>create_local( iv_package ).
|
zcl_abapgit_factory=>get_sap_package( iv_package )->create_local( ).
|
||||||
|
|
||||||
lo_repo = zcl_abapgit_repo_srv=>get_instance( )->new_online(
|
lo_repo = zcl_abapgit_repo_srv=>get_instance( )->new_online(
|
||||||
iv_url = iv_url
|
iv_url = iv_url
|
||||||
|
|
|
@ -8,11 +8,26 @@ CLASS zcl_abapgit_factory DEFINITION
|
||||||
CLASS-METHODS:
|
CLASS-METHODS:
|
||||||
get_tadir
|
get_tadir
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_tadir) TYPE REF TO zif_abapgit_tadir.
|
VALUE(ri_tadir) TYPE REF TO zif_abapgit_tadir,
|
||||||
|
|
||||||
|
get_sap_package
|
||||||
|
IMPORTING
|
||||||
|
iv_package TYPE devclass
|
||||||
|
RETURNING
|
||||||
|
VALUE(ri_sap_package) TYPE REF TO zif_abapgit_sap_package.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_sap_package,
|
||||||
|
package TYPE devclass,
|
||||||
|
instance TYPE REF TO zif_abapgit_sap_package,
|
||||||
|
END OF ty_sap_package,
|
||||||
|
tty_sap_package TYPE HASHED TABLE OF ty_sap_package
|
||||||
|
WITH UNIQUE KEY package.
|
||||||
|
|
||||||
CLASS-DATA:
|
CLASS-DATA:
|
||||||
mi_tadir TYPE REF TO zif_abapgit_tadir.
|
mi_tadir TYPE REF TO zif_abapgit_tadir,
|
||||||
|
mt_sap_package TYPE tty_sap_package.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -30,4 +45,28 @@ CLASS zcl_abapgit_factory IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD get_sap_package.
|
||||||
|
|
||||||
|
DATA: ls_sap_package TYPE ty_sap_package.
|
||||||
|
FIELD-SYMBOLS: <ls_sap_package> TYPE ty_sap_package.
|
||||||
|
|
||||||
|
READ TABLE mt_sap_package ASSIGNING <ls_sap_package>
|
||||||
|
WITH TABLE KEY package = iv_package.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
|
||||||
|
ls_sap_package-package = iv_package.
|
||||||
|
CREATE OBJECT ls_sap_package-instance TYPE zcl_abapgit_sap_package
|
||||||
|
EXPORTING
|
||||||
|
iv_package = iv_package.
|
||||||
|
|
||||||
|
INSERT ls_sap_package
|
||||||
|
INTO TABLE mt_sap_package
|
||||||
|
ASSIGNING <ls_sap_package>.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ri_sap_package = <ls_sap_package>-instance.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -242,7 +242,7 @@ CLASS ZCL_ABAPGIT_FILE_STATUS IMPLEMENTATION.
|
||||||
|
|
||||||
IF NOT ls_item-devclass IS INITIAL AND iv_devclass <> ls_item-devclass.
|
IF NOT ls_item-devclass IS INITIAL AND iv_devclass <> ls_item-devclass.
|
||||||
* make sure the package is under the repo main package
|
* make sure the package is under the repo main package
|
||||||
lt_super = zcl_abapgit_sap_package=>get( iv_devclass )->list_subpackages( ).
|
lt_super = zcl_abapgit_factory=>get_sap_package( iv_devclass )->list_subpackages( ).
|
||||||
READ TABLE lt_super WITH KEY table_line = ls_item-devclass TRANSPORTING NO FIELDS.
|
READ TABLE lt_super WITH KEY table_line = ls_item-devclass TRANSPORTING NO FIELDS.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
CLEAR ls_item-devclass.
|
CLEAR ls_item-devclass.
|
||||||
|
|
|
@ -41,7 +41,7 @@ CLASS zcl_abapgit_folder_logic IMPLEMENTATION.
|
||||||
IF iv_top = iv_package.
|
IF iv_top = iv_package.
|
||||||
rv_path = io_dot->get_starting_folder( ).
|
rv_path = io_dot->get_starting_folder( ).
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_parentcl = zcl_abapgit_sap_package=>get( iv_package )->read_parent( ).
|
lv_parentcl = zcl_abapgit_factory=>get_sap_package( iv_package )->read_parent( ).
|
||||||
|
|
||||||
IF lv_parentcl IS INITIAL.
|
IF lv_parentcl IS INITIAL.
|
||||||
zcx_abapgit_exception=>raise( |error, expected parent package, { iv_package }| ).
|
zcx_abapgit_exception=>raise( |error, expected parent package, { iv_package }| ).
|
||||||
|
@ -133,10 +133,10 @@ CLASS zcl_abapgit_folder_logic IMPLEMENTATION.
|
||||||
|
|
||||||
TRANSLATE rv_package TO UPPER CASE.
|
TRANSLATE rv_package TO UPPER CASE.
|
||||||
|
|
||||||
IF zcl_abapgit_sap_package=>get( rv_package )->exists( ) = abap_false AND
|
IF zcl_abapgit_factory=>get_sap_package( rv_package )->exists( ) = abap_false AND
|
||||||
iv_create_if_not_exists = abap_true.
|
iv_create_if_not_exists = abap_true.
|
||||||
|
|
||||||
zcl_abapgit_sap_package=>get( lv_parent )->create_child( rv_package ).
|
zcl_abapgit_factory=>get_sap_package( lv_parent )->create_child( rv_package ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lv_parent = rv_package.
|
lv_parent = rv_package.
|
||||||
|
|
|
@ -58,7 +58,6 @@ CLASS ltcl_folder_logic DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHOR
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
setup,
|
setup,
|
||||||
teardown,
|
|
||||||
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
prefix_error1 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix_error1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
@ -93,26 +92,29 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD setup.
|
METHOD zif_abapgit_sap_package~get_transport_type.
|
||||||
FIELD-SYMBOLS: <ls_inject> LIKE LINE OF zcl_abapgit_sap_package=>gt_injected.
|
RETURN.
|
||||||
|
|
||||||
CLEAR zcl_abapgit_sap_package=>gt_injected.
|
|
||||||
|
|
||||||
APPEND INITIAL LINE TO zcl_abapgit_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
|
||||||
<ls_inject>-package = '$TOP'.
|
|
||||||
<ls_inject>-object = me.
|
|
||||||
|
|
||||||
APPEND INITIAL LINE TO zcl_abapgit_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
|
||||||
<ls_inject>-package = '$TOP_FOO'.
|
|
||||||
<ls_inject>-object = me.
|
|
||||||
|
|
||||||
APPEND INITIAL LINE TO zcl_abapgit_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
|
||||||
<ls_inject>-package = '$FOOBAR'.
|
|
||||||
<ls_inject>-object = me.
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD teardown.
|
METHOD zif_abapgit_sap_package~create.
|
||||||
CLEAR zcl_abapgit_sap_package=>gt_injected.
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~create_local.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD setup.
|
||||||
|
|
||||||
|
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP'
|
||||||
|
ii_sap_package = me ).
|
||||||
|
|
||||||
|
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP_FOO'
|
||||||
|
ii_sap_package = me ).
|
||||||
|
|
||||||
|
zcl_abapgit_injector=>set_sap_package( iv_package = '$FOOBAR'
|
||||||
|
ii_sap_package = me ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD prefix1.
|
METHOD prefix1.
|
||||||
|
@ -165,10 +167,6 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
iv_path = '/src/top_foo/' ).
|
iv_path = '/src/top_foo/' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~get_transport_type.
|
|
||||||
RETURN.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_folder_logic_namespaces DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
CLASS ltcl_folder_logic_namespaces DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||||
|
@ -182,7 +180,6 @@ CLASS ltcl_folder_logic_namespaces DEFINITION FOR TESTING RISK LEVEL HARMLESS DU
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
setup,
|
setup,
|
||||||
teardown,
|
|
||||||
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
full1 FOR TESTING RAISING zcx_abapgit_exception,
|
full1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
@ -220,27 +217,28 @@ CLASS ltcl_folder_logic_namespaces IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~create.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~create_local.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD setup.
|
METHOD setup.
|
||||||
FIELD-SYMBOLS: <ls_inject> LIKE LINE OF zcl_abapgit_sap_package=>gt_injected.
|
|
||||||
|
|
||||||
CLEAR zcl_abapgit_sap_package=>gt_injected.
|
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/TOOLS'
|
||||||
|
ii_sap_package = me ).
|
||||||
|
|
||||||
APPEND INITIAL LINE TO zcl_abapgit_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/T1'
|
||||||
<ls_inject>-package = '/TEST/TOOLS'.
|
ii_sap_package = me ).
|
||||||
<ls_inject>-object = me.
|
|
||||||
|
|
||||||
APPEND INITIAL LINE TO zcl_abapgit_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/TOOLS_T1'
|
||||||
<ls_inject>-package = '/TEST/T1'.
|
ii_sap_package = me ).
|
||||||
<ls_inject>-object = me.
|
|
||||||
|
|
||||||
APPEND INITIAL LINE TO zcl_abapgit_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
|
||||||
<ls_inject>-package = '/TEST/TOOLS_T1'.
|
|
||||||
<ls_inject>-object = me.
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD teardown.
|
|
||||||
CLEAR zcl_abapgit_sap_package=>gt_injected.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD prefix1.
|
METHOD prefix1.
|
||||||
ltcl_folder_logic_helper=>test(
|
ltcl_folder_logic_helper=>test(
|
||||||
|
|
|
@ -5,9 +5,15 @@ CLASS zcl_abapgit_injector DEFINITION
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
CLASS-METHODS set_tadir
|
CLASS-METHODS:
|
||||||
|
set_tadir
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_tadir TYPE REF TO zif_abapgit_tadir .
|
!ii_tadir TYPE REF TO zif_abapgit_tadir,
|
||||||
|
|
||||||
|
set_sap_package
|
||||||
|
IMPORTING
|
||||||
|
iv_package TYPE devclass
|
||||||
|
ii_sap_package TYPE REF TO zif_abapgit_sap_package.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -21,4 +27,26 @@ CLASS zcl_abapgit_injector IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD set_sap_package.
|
||||||
|
|
||||||
|
DATA: ls_sap_package TYPE zcl_abapgit_factory=>ty_sap_package.
|
||||||
|
FIELD-SYMBOLS: <ls_sap_package> TYPE zcl_abapgit_factory=>ty_sap_package.
|
||||||
|
|
||||||
|
READ TABLE zcl_abapgit_factory=>mt_sap_package
|
||||||
|
ASSIGNING <ls_sap_package>
|
||||||
|
WITH TABLE KEY package = iv_package.
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
|
||||||
|
ls_sap_package-package = iv_package.
|
||||||
|
INSERT ls_sap_package
|
||||||
|
INTO TABLE zcl_abapgit_factory=>mt_sap_package
|
||||||
|
ASSIGNING <ls_sap_package>.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
<ls_sap_package>-instance = ii_sap_package.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -567,7 +567,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
it_results = lt_results ).
|
it_results = lt_results ).
|
||||||
|
|
||||||
IF lines( lt_results ) > 0.
|
IF lines( lt_results ) > 0.
|
||||||
li_package = zcl_abapgit_sap_package=>get( io_repo->get_package( ) ).
|
li_package = zcl_abapgit_factory=>get_sap_package( io_repo->get_package( ) ).
|
||||||
rs_checks-transport-required = li_package->are_changes_recorded_in_tr_req( ).
|
rs_checks-transport-required = li_package->are_changes_recorded_in_tr_req( ).
|
||||||
IF NOT rs_checks-transport-required IS INITIAL.
|
IF NOT rs_checks-transport-required IS INITIAL.
|
||||||
rs_checks-transport-type = li_package->get_transport_type( ).
|
rs_checks-transport-type = li_package->get_transport_type( ).
|
||||||
|
@ -811,7 +811,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
lv_tree TYPE dirtree-tname.
|
lv_tree TYPE dirtree-tname.
|
||||||
|
|
||||||
|
|
||||||
lt_packages = zcl_abapgit_sap_package=>get( iv_package )->list_subpackages( ).
|
lt_packages = zcl_abapgit_factory=>get_sap_package( iv_package )->list_subpackages( ).
|
||||||
APPEND iv_package TO lt_packages.
|
APPEND iv_package TO lt_packages.
|
||||||
|
|
||||||
LOOP AT lt_packages INTO lv_package.
|
LOOP AT lt_packages INTO lv_package.
|
||||||
|
|
|
@ -53,7 +53,7 @@ CLASS ltcl_dangerous IMPLEMENTATION.
|
||||||
<lv_type> LIKE LINE OF lt_types.
|
<lv_type> LIKE LINE OF lt_types.
|
||||||
|
|
||||||
|
|
||||||
zcl_abapgit_sap_package=>create_local( c_package ).
|
zcl_abapgit_factory=>get_sap_package( c_package )->create_local( ).
|
||||||
|
|
||||||
lt_types = zcl_abapgit_objects=>supported_list( ).
|
lt_types = zcl_abapgit_objects=>supported_list( ).
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,21 @@
|
||||||
CLASS zcl_abapgit_sap_package DEFINITION PUBLIC CREATE PUBLIC.
|
CLASS zcl_abapgit_sap_package DEFINITION
|
||||||
|
PUBLIC CREATE PRIVATE
|
||||||
|
GLOBAL FRIENDS zcl_abapgit_factory.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS:
|
|
||||||
get
|
|
||||||
IMPORTING iv_package TYPE devclass
|
|
||||||
RETURNING VALUE(ri_package) TYPE REF TO zif_abapgit_sap_package,
|
|
||||||
create
|
|
||||||
IMPORTING is_package TYPE scompkdtln
|
|
||||||
RAISING zcx_abapgit_exception,
|
|
||||||
create_local
|
|
||||||
IMPORTING iv_package TYPE devclass
|
|
||||||
RAISING zcx_abapgit_exception.
|
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
constructor
|
constructor
|
||||||
IMPORTING iv_package TYPE devclass.
|
IMPORTING iv_package TYPE devclass.
|
||||||
|
|
||||||
INTERFACES: zif_abapgit_sap_package.
|
INTERFACES: zif_abapgit_sap_package.
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_injected,
|
|
||||||
package TYPE devclass,
|
|
||||||
object TYPE REF TO zif_abapgit_sap_package,
|
|
||||||
END OF ty_injected.
|
|
||||||
|
|
||||||
* TODO, isolate this variable?
|
|
||||||
CLASS-DATA: gt_injected TYPE STANDARD TABLE OF ty_injected.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA: mv_package TYPE devclass.
|
DATA: mv_package TYPE devclass.
|
||||||
|
|
||||||
|
ALIASES:
|
||||||
|
create FOR zif_abapgit_sap_package~create,
|
||||||
|
create_local FOR zif_abapgit_sap_package~create_local.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,7 +28,7 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD create.
|
METHOD zif_abapgit_sap_package~create.
|
||||||
|
|
||||||
DATA: lv_err TYPE string,
|
DATA: lv_err TYPE string,
|
||||||
li_package TYPE REF TO if_package,
|
li_package TYPE REF TO if_package,
|
||||||
|
@ -144,13 +131,13 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD create_local.
|
METHOD zif_abapgit_sap_package~create_local.
|
||||||
|
|
||||||
DATA: ls_package TYPE scompkdtln.
|
DATA: ls_package TYPE scompkdtln.
|
||||||
|
|
||||||
|
|
||||||
ls_package-devclass = iv_package.
|
ls_package-devclass = mv_package.
|
||||||
ls_package-ctext = iv_package.
|
ls_package-ctext = mv_package.
|
||||||
ls_package-parentcl = '$TMP'.
|
ls_package-parentcl = '$TMP'.
|
||||||
ls_package-dlvunit = 'LOCAL'.
|
ls_package-dlvunit = 'LOCAL'.
|
||||||
ls_package-as4user = sy-uname.
|
ls_package-as4user = sy-uname.
|
||||||
|
@ -160,20 +147,29 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
|
||||||
ENDMETHOD. "create
|
ENDMETHOD. "create
|
||||||
|
|
||||||
|
|
||||||
METHOD get.
|
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_injected> LIKE LINE OF gt_injected.
|
DATA: li_package TYPE REF TO if_package.
|
||||||
|
|
||||||
IF lines( gt_injected ) > 0.
|
cl_package_factory=>load_package(
|
||||||
READ TABLE gt_injected ASSIGNING <ls_injected> WITH KEY package = iv_package.
|
|
||||||
ASSERT sy-subrc = 0. " unit test should be in control
|
|
||||||
ri_package = <ls_injected>-object.
|
|
||||||
ELSE.
|
|
||||||
CREATE OBJECT ri_package TYPE zcl_abapgit_sap_package
|
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_package = iv_package.
|
i_package_name = mv_package
|
||||||
|
IMPORTING
|
||||||
|
e_package = li_package
|
||||||
|
EXCEPTIONS
|
||||||
|
object_not_existing = 1
|
||||||
|
unexpected_error = 2
|
||||||
|
intern_err = 3
|
||||||
|
no_access = 4
|
||||||
|
object_locked_and_modified = 5
|
||||||
|
OTHERS = 6 ).
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from CL_PACKAGE_FACTORY=>LOAD_PACKAGE { sy-subrc }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
rv_are_changes_rec_in_tr_req = li_package->wbo_korr_flag.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -227,77 +223,6 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~list_subpackages.
|
|
||||||
|
|
||||||
DATA: lt_list LIKE rt_list,
|
|
||||||
lv_devclass LIKE LINE OF rt_list.
|
|
||||||
|
|
||||||
|
|
||||||
SELECT devclass INTO TABLE rt_list
|
|
||||||
FROM tdevc WHERE parentcl = mv_package. "#EC CI_GENBUFF "#EC CI_SUBRC
|
|
||||||
|
|
||||||
* note the recursion, since packages are added to the list
|
|
||||||
LOOP AT rt_list INTO lv_devclass.
|
|
||||||
lt_list = get( lv_devclass )->list_subpackages( ).
|
|
||||||
APPEND LINES OF lt_list TO rt_list.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~list_superpackages.
|
|
||||||
|
|
||||||
DATA: lt_list LIKE rt_list,
|
|
||||||
lv_parent TYPE tdevc-parentcl.
|
|
||||||
|
|
||||||
|
|
||||||
APPEND mv_package TO rt_list.
|
|
||||||
|
|
||||||
SELECT SINGLE parentcl INTO lv_parent
|
|
||||||
FROM tdevc WHERE devclass = mv_package. "#EC CI_GENBUFF
|
|
||||||
|
|
||||||
IF sy-subrc = 0 AND NOT lv_parent IS INITIAL.
|
|
||||||
APPEND lv_parent TO rt_list.
|
|
||||||
lt_list = get( lv_parent )->list_superpackages( ).
|
|
||||||
APPEND LINES OF lt_list TO rt_list.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~read_parent.
|
|
||||||
|
|
||||||
SELECT SINGLE parentcl FROM tdevc INTO rv_parentcl
|
|
||||||
WHERE devclass = mv_package. "#EC CI_SUBRC "#EC CI_GENBUFF
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
|
|
||||||
|
|
||||||
DATA: li_package TYPE REF TO if_package.
|
|
||||||
|
|
||||||
cl_package_factory=>load_package(
|
|
||||||
EXPORTING
|
|
||||||
i_package_name = mv_package
|
|
||||||
IMPORTING
|
|
||||||
e_package = li_package
|
|
||||||
EXCEPTIONS
|
|
||||||
object_not_existing = 1
|
|
||||||
unexpected_error = 2
|
|
||||||
intern_err = 3
|
|
||||||
no_access = 4
|
|
||||||
object_locked_and_modified = 5
|
|
||||||
OTHERS = 6 ).
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from CL_PACKAGE_FACTORY=>LOAD_PACKAGE { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
rv_are_changes_rec_in_tr_req = li_package->wbo_korr_flag.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~get_transport_type.
|
METHOD zif_abapgit_sap_package~get_transport_type.
|
||||||
DATA: lv_err_prefix TYPE string,
|
DATA: lv_err_prefix TYPE string,
|
||||||
lv_pkg_name TYPE e071-obj_name.
|
lv_pkg_name TYPE e071-obj_name.
|
||||||
|
@ -337,4 +262,50 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~list_subpackages.
|
||||||
|
|
||||||
|
DATA: lt_list LIKE rt_list,
|
||||||
|
lv_devclass LIKE LINE OF rt_list.
|
||||||
|
|
||||||
|
|
||||||
|
SELECT devclass INTO TABLE rt_list
|
||||||
|
FROM tdevc WHERE parentcl = mv_package. "#EC CI_GENBUFF "#EC CI_SUBRC
|
||||||
|
|
||||||
|
* note the recursion, since packages are added to the list
|
||||||
|
LOOP AT rt_list INTO lv_devclass.
|
||||||
|
lt_list = zcl_abapgit_factory=>get_sap_package( lv_devclass )->list_subpackages( ).
|
||||||
|
APPEND LINES OF lt_list TO rt_list.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~list_superpackages.
|
||||||
|
|
||||||
|
DATA: lt_list LIKE rt_list,
|
||||||
|
lv_parent TYPE tdevc-parentcl.
|
||||||
|
|
||||||
|
|
||||||
|
APPEND mv_package TO rt_list.
|
||||||
|
|
||||||
|
SELECT SINGLE parentcl INTO lv_parent
|
||||||
|
FROM tdevc WHERE devclass = mv_package. "#EC CI_GENBUFF
|
||||||
|
|
||||||
|
IF sy-subrc = 0 AND NOT lv_parent IS INITIAL.
|
||||||
|
APPEND lv_parent TO rt_list.
|
||||||
|
lt_list = zcl_abapgit_factory=>get_sap_package( lv_parent )->list_superpackages( ).
|
||||||
|
APPEND LINES OF lt_list TO rt_list.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~read_parent.
|
||||||
|
|
||||||
|
SELECT SINGLE parentcl FROM tdevc INTO rv_parentcl
|
||||||
|
WHERE devclass = mv_package. "#EC CI_SUBRC "#EC CI_GENBUFF
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
<VERSION>1</VERSION>
|
<VERSION>1</VERSION>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>SAP package</DESCRIPT>
|
<DESCRIPT>SAP package</DESCRIPT>
|
||||||
<EXPOSURE>2</EXPOSURE>
|
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
|
|
|
@ -41,10 +41,10 @@ CLASS ZCL_ABAPGIT_TRANSPORT IMPLEMENTATION.
|
||||||
|
|
||||||
READ TABLE it_tadir INDEX 1 ASSIGNING <ls_tadir>.
|
READ TABLE it_tadir INDEX 1 ASSIGNING <ls_tadir>.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
lt_super = zcl_abapgit_sap_package=>get( <ls_tadir>-devclass )->list_superpackages( ).
|
lt_super = zcl_abapgit_factory=>get_sap_package( <ls_tadir>-devclass )->list_superpackages( ).
|
||||||
|
|
||||||
LOOP AT it_tadir ASSIGNING <ls_tadir>.
|
LOOP AT it_tadir ASSIGNING <ls_tadir>.
|
||||||
lt_obj = zcl_abapgit_sap_package=>get( <ls_tadir>-devclass )->list_superpackages( ).
|
lt_obj = zcl_abapgit_factory=>get_sap_package( <ls_tadir>-devclass )->list_superpackages( ).
|
||||||
|
|
||||||
* filter out possibilities from lt_super
|
* filter out possibilities from lt_super
|
||||||
LOOP AT lt_super INTO lv_super.
|
LOOP AT lt_super INTO lv_super.
|
||||||
|
|
|
@ -87,7 +87,7 @@ CLASS zcl_abapgit_zip IMPLEMENTATION.
|
||||||
|
|
||||||
lv_package = io_repo->get_package( ).
|
lv_package = io_repo->get_package( ).
|
||||||
|
|
||||||
IF zcl_abapgit_sap_package=>get( lv_package )->exists( ) = abap_false.
|
IF zcl_abapgit_factory=>get_sap_package( lv_package )->exists( ) = abap_false.
|
||||||
zcx_abapgit_exception=>raise( |Package { lv_package } doesn't exist| ).
|
zcx_abapgit_exception=>raise( |Package { lv_package } doesn't exist| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
INTERFACE zif_abapgit_sap_package PUBLIC.
|
INTERFACE zif_abapgit_sap_package PUBLIC.
|
||||||
|
|
||||||
TYPES: ty_devclass_tt TYPE STANDARD TABLE OF devclass WITH DEFAULT KEY.
|
TYPES: ty_devclass_tt TYPE STANDARD TABLE OF devclass WITH DEFAULT KEY.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
|
create
|
||||||
|
IMPORTING is_package TYPE scompkdtln
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
|
create_local
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
list_subpackages
|
list_subpackages
|
||||||
RETURNING VALUE(rt_list) TYPE ty_devclass_tt,
|
RETURNING VALUE(rt_list) TYPE ty_devclass_tt,
|
||||||
list_superpackages
|
list_superpackages
|
||||||
|
|
Loading…
Reference in New Issue
Block a user