From 5c10415b28bb8480462bbd9e03794dd4c28f9356 Mon Sep 17 00:00:00 2001 From: Alexander Tsybulsky Date: Mon, 14 Oct 2019 09:02:42 +0300 Subject: [PATCH] possibility to export pkg with master lang only (#2966) --- src/ui/zcl_abapgit_popups.clas.abap | 33 +++++++++++++++++++++-------- src/ui/zif_abapgit_popups.intf.abap | 1 + src/zcl_abapgit_zip.clas.abap | 6 +++++- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/ui/zcl_abapgit_popups.clas.abap b/src/ui/zcl_abapgit_popups.clas.abap index a9003fb67..5476ac392 100644 --- a/src/ui/zcl_abapgit_popups.clas.abap +++ b/src/ui/zcl_abapgit_popups.clas.abap @@ -77,11 +77,12 @@ CLASS zcl_abapgit_popups DEFINITION ev_ign_subpkg TYPE abap_bool. TYPES: ty_lt_fields TYPE STANDARD TABLE OF sval WITH DEFAULT KEY. - METHODS _popup_2_get_values + METHODS _popup_3_get_values IMPORTING iv_popup_title TYPE string iv_no_value_check TYPE abap_bool DEFAULT abap_false EXPORTING ev_value_1 TYPE spo_value ev_value_2 TYPE spo_value + ev_value_3 TYPE spo_value CHANGING ct_fields TYPE ty_lt_fields RAISING zcx_abapgit_exception. METHODS validate_folder_logic @@ -93,7 +94,7 @@ ENDCLASS. -CLASS zcl_abapgit_popups IMPLEMENTATION. +CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION. METHOD add_field. @@ -522,7 +523,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. TRY. - _popup_2_get_values( EXPORTING iv_popup_title = 'Create branch' "#EC NOTEXT + _popup_3_get_values( EXPORTING iv_popup_title = 'Create branch' "#EC NOTEXT IMPORTING ev_value_1 = lv_name CHANGING ct_fields = lt_fields ). @@ -582,7 +583,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. TRY. - _popup_2_get_values( EXPORTING iv_popup_title = 'Export package' "#EC NOTEXT + _popup_3_get_values( EXPORTING iv_popup_title = 'Export package' "#EC NOTEXT iv_no_value_check = abap_true IMPORTING ev_value_1 = lv_folder_logic CHANGING ct_fields = lt_fields ). @@ -613,7 +614,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. iv_fieldtext = 'Name' CHANGING ct_fields = lt_fields ). - _popup_2_get_values( EXPORTING iv_popup_title = 'Object' "#EC NOTEXT + _popup_3_get_values( EXPORTING iv_popup_title = 'Object' "#EC NOTEXT iv_no_value_check = abap_true IMPORTING ev_value_1 = lv_object_type ev_value_2 = lv_object_name @@ -631,6 +632,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. DATA: lt_fields TYPE TABLE OF sval. DATA: lv_package TYPE spo_value. DATA: lv_folder_logic TYPE spo_value. + DATA: lv_serialize_master_lang_only TYPE spo_value. add_field( EXPORTING iv_tabname = 'TDEVC' iv_fieldname = 'DEVCLASS' @@ -643,16 +645,23 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. iv_value = 'PREFIX' CHANGING ct_fields = lt_fields ). + add_field( EXPORTING iv_tabname = 'TVDIR' + iv_fieldname = 'FLAG' + iv_fieldtext = 'Master lang only' + CHANGING ct_fields = lt_fields ). + TRY. - _popup_2_get_values( EXPORTING iv_popup_title = 'Export package' "#EC NOTEXT + _popup_3_get_values( EXPORTING iv_popup_title = 'Export package' "#EC NOTEXT iv_no_value_check = abap_true IMPORTING ev_value_1 = lv_package ev_value_2 = lv_folder_logic + ev_value_3 = lv_serialize_master_lang_only CHANGING ct_fields = lt_fields ). ev_package = to_upper( lv_package ). ev_folder_logic = to_upper( lv_folder_logic ). + ev_serialize_master_lang_only = boolc( lv_serialize_master_lang_only IS NOT INITIAL ). CATCH zcx_abapgit_cancel. ENDTRY. @@ -749,7 +758,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. iv_value = lv_desc_as_text CHANGING ct_fields = lt_fields ). - _popup_2_get_values( EXPORTING iv_popup_title = 'Transport to new Branch' "#EC NOTEXT + _popup_3_get_values( EXPORTING iv_popup_title = 'Transport to new Branch' "#EC NOTEXT IMPORTING ev_value_1 = lv_branch_name ev_value_2 = lv_commit_text CHANGING ct_fields = lt_fields ). @@ -1178,7 +1187,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. TRY. - _popup_2_get_values( EXPORTING iv_popup_title = 'Run page manually' "#EC NOTEXT + _popup_3_get_values( EXPORTING iv_popup_title = 'Run page manually' "#EC NOTEXT IMPORTING ev_value_1 = lv_name CHANGING ct_fields = lt_fields ). @@ -1191,7 +1200,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. ENDMETHOD. - METHOD _popup_2_get_values. + METHOD _popup_3_get_values. DATA lv_answer TYPE char1. FIELD-SYMBOLS: TYPE sval. @@ -1226,5 +1235,11 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. ev_value_2 = -value. ENDIF. + IF ev_value_3 IS SUPPLIED. + READ TABLE ct_fields INDEX 3 ASSIGNING . + ASSERT sy-subrc = 0. + ev_value_3 = -value. + ENDIF. + ENDMETHOD. ENDCLASS. diff --git a/src/ui/zif_abapgit_popups.intf.abap b/src/ui/zif_abapgit_popups.intf.abap index 33f46101c..813ae6408 100644 --- a/src/ui/zif_abapgit_popups.intf.abap +++ b/src/ui/zif_abapgit_popups.intf.abap @@ -19,6 +19,7 @@ INTERFACE zif_abapgit_popups EXPORTING !ev_package TYPE devclass !ev_folder_logic TYPE string + !ev_serialize_master_lang_only TYPE abap_bool RAISING zcx_abapgit_exception . METHODS popup_folder_logic diff --git a/src/zcl_abapgit_zip.clas.abap b/src/zcl_abapgit_zip.clas.abap index 42b7fe657..9d14d97c2 100644 --- a/src/zcl_abapgit_zip.clas.abap +++ b/src/zcl_abapgit_zip.clas.abap @@ -184,6 +184,7 @@ CLASS ZCL_ABAPGIT_ZIP IMPLEMENTATION. ls_data TYPE zif_abapgit_persistence=>ty_repo, li_popups TYPE REF TO zif_abapgit_popups. + DATA lv_serialize_master_lang_only TYPE abap_bool. ls_data-key = 'DUMMY'. ls_data-dot_abapgit = zcl_abapgit_dot_abapgit=>build_default( )->get_data( ). @@ -192,11 +193,14 @@ CLASS ZCL_ABAPGIT_ZIP IMPLEMENTATION. li_popups->popup_package_export( IMPORTING ev_package = ls_data-package - ev_folder_logic = ls_data-dot_abapgit-folder_logic ). + ev_folder_logic = ls_data-dot_abapgit-folder_logic + ev_serialize_master_lang_only = lv_serialize_master_lang_only ). IF ls_data-package IS INITIAL. RAISE EXCEPTION TYPE zcx_abapgit_cancel. ENDIF. + ls_data-local_settings-serialize_master_lang_only = lv_serialize_master_lang_only. + CREATE OBJECT lo_repo EXPORTING is_data = ls_data.