Merge pull request #1518 from christianguenter2/issue_1514

Dependency injection for ZCL_ABAPGIT_SAP_PACKAGE
This commit is contained in:
Lars Hvam 2018-06-18 15:46:34 +02:00 committed by GitHub
commit 145a82e9ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 212 additions and 173 deletions

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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(

View File

@ -5,9 +5,15 @@ CLASS zcl_abapgit_injector DEFINITION
PUBLIC SECTION. PUBLIC SECTION.
CLASS-METHODS set_tadir CLASS-METHODS:
IMPORTING set_tadir
!ii_tadir TYPE REF TO zif_abapgit_tadir . IMPORTING
!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.

View File

@ -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.

View File

@ -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( ).

View File

@ -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. EXPORTING
ASSERT sy-subrc = 0. " unit test should be in control i_package_name = mv_package
ri_package = <ls_injected>-object. IMPORTING
ELSE. e_package = li_package
CREATE OBJECT ri_package TYPE zcl_abapgit_sap_package EXCEPTIONS
EXPORTING object_not_existing = 1
iv_package = iv_package. 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.
@ -307,15 +232,15 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
CALL FUNCTION 'TRINT_GET_REQUEST_TYPE' CALL FUNCTION 'TRINT_GET_REQUEST_TYPE'
EXPORTING EXPORTING
iv_pgmid = 'R3TR' iv_pgmid = 'R3TR'
iv_object = 'DEVC' iv_object = 'DEVC'
iv_obj_name = lv_pkg_name iv_obj_name = lv_pkg_name
IMPORTING IMPORTING
ev_request_type = rv_transport_type-request ev_request_type = rv_transport_type-request
ev_task_type = rv_transport_type-task ev_task_type = rv_transport_type-task
EXCEPTIONS EXCEPTIONS
no_request_needed = 1 no_request_needed = 1
internal_error = 2 internal_error = 2
cts_initialization_failure = 3. cts_initialization_failure = 3.
CASE sy-subrc. CASE sy-subrc.
@ -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.

View File

@ -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>

View File

@ -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.

View File

@ -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.

View File

@ -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
@ -16,9 +20,9 @@ INTERFACE zif_abapgit_sap_package PUBLIC.
RETURNING VALUE(rv_bool) TYPE abap_bool, RETURNING VALUE(rv_bool) TYPE abap_bool,
are_changes_recorded_in_tr_req are_changes_recorded_in_tr_req
RETURNING VALUE(rv_are_changes_rec_in_tr_req) TYPE abap_bool RETURNING VALUE(rv_are_changes_rec_in_tr_req) TYPE abap_bool
RAISING zcx_abapgit_exception, RAISING zcx_abapgit_exception,
get_transport_type get_transport_type
RETURNING VALUE(rv_transport_type) TYPE zif_abapgit_definitions=>ty_transport_type RETURNING VALUE(rv_transport_type) TYPE zif_abapgit_definitions=>ty_transport_type
RAISING zcx_abapgit_exception. RAISING zcx_abapgit_exception.
ENDINTERFACE. ENDINTERFACE.