Serialize master lang only + settings UI improvements (#2954)

* repo settings ui improvements

* serialize_master_lang_only UI

* downport

* connect settings and serialization (MSAG)

* dtel doma tran prog fugr

* linter fixes
This commit is contained in:
Alexander Tsybulsky 2019-10-08 09:03:57 +03:00 committed by Lars Hvam
parent bed6050437
commit f2f82278e7
16 changed files with 201 additions and 76 deletions

View File

@ -125,6 +125,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DOMA IMPLEMENTATION.
<ls_dd01_text> LIKE LINE OF lt_dd01_texts, <ls_dd01_text> LIKE LINE OF lt_dd01_texts,
<ls_dd07_text> LIKE LINE OF lt_dd07_texts. <ls_dd07_text> LIKE LINE OF lt_dd07_texts.
IF io_xml->i18n_params( )-serialize_master_lang_only = abap_true.
RETURN.
ENDIF.
lv_name = ms_item-obj_name. lv_name = ms_item-obj_name.

View File

@ -95,6 +95,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DTEL IMPLEMENTATION.
FIELD-SYMBOLS: <lv_lang> LIKE LINE OF lt_i18n_langs, FIELD-SYMBOLS: <lv_lang> LIKE LINE OF lt_i18n_langs,
<ls_dd04_text> LIKE LINE OF lt_dd04_texts. <ls_dd04_text> LIKE LINE OF lt_dd04_texts.
IF io_xml->i18n_params( )-serialize_master_lang_only = abap_true.
RETURN.
ENDIF.
lv_name = ms_item-obj_name. lv_name = ms_item-obj_name.

View File

@ -794,6 +794,11 @@ CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION.
lt_tpool TYPE textpool_table. lt_tpool TYPE textpool_table.
FIELD-SYMBOLS <ls_tpool> LIKE LINE OF lt_tpool_i18n. FIELD-SYMBOLS <ls_tpool> LIKE LINE OF lt_tpool_i18n.
IF io_xml->i18n_params( )-serialize_master_lang_only = abap_true.
RETURN.
ENDIF.
" Table d010tinf stores info. on languages in which program is maintained " Table d010tinf stores info. on languages in which program is maintained
" Select all active translations of program texts " Select all active translations of program texts
" Skip master language - it was already serialized " Skip master language - it was already serialized

View File

@ -205,6 +205,10 @@ CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION.
lv_msg_id = ms_item-obj_name. lv_msg_id = ms_item-obj_name.
IF io_xml->i18n_params( )-serialize_master_lang_only = abap_true.
RETURN. " skip
ENDIF.
" Collect additional languages " Collect additional languages
" Skip master lang - it has been already serialized " Skip master lang - it has been already serialized
SELECT DISTINCT sprsl AS langu INTO TABLE lt_i18n_langs SELECT DISTINCT sprsl AS langu INTO TABLE lt_i18n_langs

View File

@ -69,6 +69,9 @@ CLASS ZCL_ABAPGIT_OBJECT_PROG IMPLEMENTATION.
FIELD-SYMBOLS <ls_tpool> LIKE LINE OF lt_tpool_i18n. FIELD-SYMBOLS <ls_tpool> LIKE LINE OF lt_tpool_i18n.
IF io_xml->i18n_params( )-serialize_master_lang_only = abap_true.
RETURN.
ENDIF.
" Table d010tinf stores info. on languages in which program is maintained " Table d010tinf stores info. on languages in which program is maintained
" Select all active translations of program texts " Select all active translations of program texts

View File

@ -319,6 +319,10 @@ CLASS ZCL_ABAPGIT_OBJECT_TRAN IMPLEMENTATION.
DATA lt_tpool_i18n TYPE TABLE OF tstct. DATA lt_tpool_i18n TYPE TABLE OF tstct.
IF io_xml->i18n_params( )-serialize_master_lang_only = abap_true.
RETURN.
ENDIF.
" Skip master language - it was already serialized " Skip master language - it was already serialized
" Don't serialize t-code itself " Don't serialize t-code itself
SELECT sprsl ttext SELECT sprsl ttext

View File

@ -26,6 +26,7 @@ INTERFACE zif_abapgit_persistence PUBLIC.
only_local_objects TYPE abap_bool, only_local_objects TYPE abap_bool,
code_inspector_check_variant TYPE sci_chkv, code_inspector_check_variant TYPE sci_chkv,
block_commit TYPE abap_bool, block_commit TYPE abap_bool,
serialize_master_lang_only TYPE abap_bool,
END OF ty_local_settings. END OF ty_local_settings.
TYPES: ty_local_checksum_tt TYPE STANDARD TABLE OF ty_local_checksum WITH DEFAULT KEY. TYPES: ty_local_checksum_tt TYPE STANDARD TABLE OF ty_local_checksum WITH DEFAULT KEY.

View File

@ -304,7 +304,7 @@ form.aligned-form span.cell { display: table-cell; }
/* SETTINGS STYLES */ /* SETTINGS STYLES */
div.settings_container { div.settings_container {
padding: 0.5em; padding: 0.5em 0.5em 1em;
font-size: 10pt; font-size: 10pt;
} }
@ -312,6 +312,15 @@ div.settings_section {
margin-left:50px margin-left:50px
} }
table.settings td:first-child {
padding-left: 1em;
padding-right: 1em;
}
table.settings-package-requirements {
/*max-width: 300px;*/
}
/* DIFF */ /* DIFF */
div.diff { div.diff {
padding: 0.7em padding: 0.7em

View File

@ -50,6 +50,17 @@ CLASS zcl_abapgit_gui_page_repo_sett DEFINITION
!it_postdata TYPE cnht_post_data_tab !it_postdata TYPE cnht_post_data_tab
RETURNING RETURNING
VALUE(rt_post_fields) TYPE tihttpnvp . VALUE(rt_post_fields) TYPE tihttpnvp .
METHODS render_dot_abapgit_reqs
IMPORTING
io_html TYPE REF TO zcl_abapgit_html
it_requirements TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt.
METHODS render_table_row
IMPORTING
iv_name TYPE string
iv_value TYPE string
RETURNING
VALUE(rv_html) TYPE string.
METHODS render_content METHODS render_content
REDEFINITION . REDEFINITION .
@ -84,13 +95,12 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
ro_html->add( '<div class="settings_container">' ). ro_html->add( '<div class="settings_container">' ).
ro_html->add( '<form id="settings_form" method="post" action="sapevent:' && ro_html->add( |<form id="settings_form" method="post" action="sapevent:{ c_action-save_settings }">| ).
c_action-save_settings && '">' ).
render_dot_abapgit( ro_html ). render_dot_abapgit( ro_html ).
render_local_settings( ro_html ). render_local_settings( ro_html ).
ro_html->add( '<br><input type="submit" value="Save" class="floating-button blue-set emphasis">' ). ro_html->add( '<input type="submit" value="Save" class="floating-button blue-set emphasis">' ).
ro_html->add( '</form>' ). ro_html->add( '</form>' ).
ro_html->add( '</div>' ). ro_html->add( '</div>' ).
@ -99,60 +109,76 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
METHOD render_dot_abapgit. METHOD render_dot_abapgit.
CONSTANTS: lc_requirement_edit_count TYPE i VALUE 5.
DATA: ls_dot TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit, DATA: ls_dot TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit,
lv_select_html TYPE string,
lv_selected TYPE string, lv_selected TYPE string,
lt_folder_logic TYPE string_table, lt_folder_logic TYPE string_table.
lv_req_index TYPE i,
lv_requirement_count TYPE i.
FIELD-SYMBOLS: <lv_folder_logic> TYPE LINE OF string_table, FIELD-SYMBOLS: <lv_folder_logic> TYPE LINE OF string_table.
<ls_requirement> TYPE zif_abapgit_dot_abapgit=>ty_requirement.
ls_dot = mo_repo->get_dot_abapgit( )->get_data( ). ls_dot = mo_repo->get_dot_abapgit( )->get_data( ).
lv_requirement_count = lines( ls_dot-requirements ). APPEND zif_abapgit_dot_abapgit=>c_folder_logic-full TO lt_folder_logic.
IF lv_requirement_count < lc_requirement_edit_count. APPEND zif_abapgit_dot_abapgit=>c_folder_logic-prefix TO lt_folder_logic.
DO - lv_requirement_count + lc_requirement_edit_count TIMES.
INSERT INITIAL LINE INTO TABLE ls_dot-requirements.
ENDDO.
ENDIF.
INSERT zif_abapgit_dot_abapgit=>c_folder_logic-full
INTO TABLE lt_folder_logic.
INSERT zif_abapgit_dot_abapgit=>c_folder_logic-prefix
INTO TABLE lt_folder_logic.
io_html->add( '<h2>.abapgit.xml</h2>' ). io_html->add( '<h2>.abapgit.xml</h2>' ).
io_html->add( 'Folder logic: <select name="folder_logic">' ). io_html->add( '<table class="settings">' ).
lv_select_html = '<select name="folder_logic">'.
LOOP AT lt_folder_logic ASSIGNING <lv_folder_logic>. LOOP AT lt_folder_logic ASSIGNING <lv_folder_logic>.
IF ls_dot-folder_logic = <lv_folder_logic>. IF ls_dot-folder_logic = <lv_folder_logic>.
lv_selected = 'selected'. lv_selected = ' selected'.
ELSE. ELSE.
CLEAR: lv_selected. CLEAR: lv_selected.
ENDIF. ENDIF.
io_html->add( |<option value="{ <lv_folder_logic> }" | lv_select_html = lv_select_html
&& |{ lv_selected }>| && |<option value="{ <lv_folder_logic> }"{ lv_selected }>{ <lv_folder_logic> }</option>|.
&& |{ <lv_folder_logic> }</option>| ).
ENDLOOP. ENDLOOP.
lv_select_html = lv_select_html && '</select>'.
io_html->add( '</select>' ). io_html->add( render_table_row(
io_html->add( '<br>' ). iv_name = 'Folder logic'
iv_value = lv_select_html
) ).
io_html->add( 'Starting folder: <input name="starting_folder" type="text" size="10" value="' && io_html->add( render_table_row(
ls_dot-starting_folder && '">' ). iv_name = 'Starting folder'
io_html->add( '<br>' ). iv_value = |<input name="starting_folder" type="text" size="10" value="{ ls_dot-starting_folder }">|
) ).
io_html->add( '</table>' ).
render_dot_abapgit_reqs(
it_requirements = ls_dot-requirements
io_html = io_html ).
ENDMETHOD.
METHOD render_dot_abapgit_reqs.
CONSTANTS: lc_requirement_edit_min_count TYPE i VALUE 5.
DATA lv_req_index TYPE i.
DATA lv_requirement_count TYPE i.
DATA lt_requirements LIKE it_requirements.
FIELD-SYMBOLS <ls_requirement> TYPE zif_abapgit_dot_abapgit=>ty_requirement.
lt_requirements = it_requirements.
lv_requirement_count = lines( lt_requirements ).
IF lv_requirement_count < lc_requirement_edit_min_count.
DO - lv_requirement_count + lc_requirement_edit_min_count TIMES.
APPEND INITIAL LINE TO lt_requirements.
ENDDO.
ENDIF.
io_html->add( '<h3>Requirements</h3>' ). io_html->add( '<h3>Requirements</h3>' ).
io_html->add( '<table class="repo_tab" id="requirement-tab" style="max-width: 300px;">' ). io_html->add( '<table class="settings-package-requirements" id="requirement-tab">' ).
io_html->add( '<tr><th>Software Component</th><th>Min Release</th><th>Min Patch</th></tr>' ). io_html->add( '<tr><th>Software Component</th><th>Min Release</th><th>Min Patch</th></tr>' ).
LOOP AT ls_dot-requirements ASSIGNING <ls_requirement>. LOOP AT lt_requirements ASSIGNING <ls_requirement>.
lv_req_index = sy-tabix. lv_req_index = sy-tabix.
io_html->add( '<tr>' ). io_html->add( '<tr>' ).
@ -175,17 +201,16 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
DATA: lv_checked TYPE string, DATA: lv_checked TYPE string,
ls_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings. ls_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings.
ls_settings = mo_repo->get_local_settings( ). ls_settings = mo_repo->get_local_settings( ).
io_html->add( '<h2>Local settings</h2>' ). io_html->add( '<h2>Local settings</h2>' ).
io_html->add( '<table class="settings">' ).
IF mo_repo->is_offline( ) = abap_false. IF mo_repo->is_offline( ) = abap_false.
io_html->add( '<br>' ). io_html->add( render_table_row(
io_html->add( 'Display name: <input name="display_name" type="text" size="30" value="' && iv_name = 'Display name'
ls_settings-display_name && '">' ). iv_value = |<input name="display_name" type="text" size="30" value="{ ls_settings-display_name }">|
io_html->add( '<br>' ). ) ).
ENDIF. ENDIF.
CLEAR lv_checked. CLEAR lv_checked.
@ -196,32 +221,64 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
lv_checked = | checked disabled|. lv_checked = | checked disabled|.
ENDIF. ENDIF.
ENDIF. ENDIF.
io_html->add( |Write protected <input name="write_protected" type="checkbox"{ lv_checked }><br>| ). io_html->add( render_table_row(
iv_name = 'Write protected'
iv_value = |<input name="write_protected" type="checkbox"{ lv_checked }>|
) ).
CLEAR lv_checked. CLEAR lv_checked.
IF ls_settings-ignore_subpackages = abap_true. IF ls_settings-ignore_subpackages = abap_true.
lv_checked = | checked|. lv_checked = | checked|.
ENDIF. ENDIF.
io_html->add( |Ignore subpackages <input name="ignore_subpackages" type="checkbox"{ lv_checked }><br>| ). io_html->add( render_table_row(
iv_name = 'Ignore subpackages'
iv_value = |<input name="ignore_subpackages" type="checkbox"{ lv_checked }>|
) ).
CLEAR lv_checked. CLEAR lv_checked.
IF ls_settings-only_local_objects = abap_true. IF ls_settings-only_local_objects = abap_true.
lv_checked = | checked|. lv_checked = | checked|.
ENDIF. ENDIF.
io_html->add( |Only local objects <input name="only_local_objects" type="checkbox"{ lv_checked }><br>| ). io_html->add( render_table_row(
iv_name = 'Only local objects'
iv_value = |<input name="only_local_objects" type="checkbox"{ lv_checked }>|
) ).
io_html->add( '<br>' ). io_html->add( render_table_row(
io_html->add( 'Code inspector check variant: <input name="check_variant" type="text" size="30" value="' && iv_name = 'Code inspector check variant'
ls_settings-code_inspector_check_variant && '">' ). iv_value = |<input name="check_variant" type="text" size="30" value="{
io_html->add( '<br>' ). ls_settings-code_inspector_check_variant }">|
) ).
CLEAR lv_checked. CLEAR lv_checked.
IF ls_settings-block_commit = abap_true. IF ls_settings-block_commit = abap_true.
lv_checked = | checked|. lv_checked = | checked|.
ENDIF. ENDIF.
io_html->add( |Block commit commit/push if code inspection has erros: | io_html->add( render_table_row(
&& |<input name="block_commit" type="checkbox"{ lv_checked }><br>| ). iv_name = 'Block commit if code inspection has errors'
iv_value = |<input name="block_commit" type="checkbox"{ lv_checked }>|
) ).
CLEAR lv_checked.
IF ls_settings-serialize_master_lang_only = abap_true.
lv_checked = | checked|.
ENDIF.
io_html->add( render_table_row(
iv_name = 'Serialize master language only'
iv_value = |<input name="serialize_master_lang_only" type="checkbox"{ lv_checked }>|
) ).
io_html->add( '</table>' ).
ENDMETHOD.
METHOD render_table_row.
rv_html = '<tr>'
&& |<td>{ iv_name }</td>|
&& |<td>{ iv_value }</td>|
&& '</tr>'.
ENDMETHOD. ENDMETHOD.
@ -293,25 +350,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
ENDIF. ENDIF.
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'write_protected' value = 'on'. READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'write_protected' value = 'on'.
IF sy-subrc = 0. ls_settings-write_protected = boolc( sy-subrc = 0 ).
ls_settings-write_protected = abap_true.
ELSE.
ls_settings-write_protected = abap_false.
ENDIF.
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'ignore_subpackages' value = 'on'. READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'ignore_subpackages' value = 'on'.
IF sy-subrc = 0. ls_settings-ignore_subpackages = boolc( sy-subrc = 0 ).
ls_settings-ignore_subpackages = abap_true.
ELSE.
ls_settings-ignore_subpackages = abap_false.
ENDIF.
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'only_local_objects' value = 'on'. READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'only_local_objects' value = 'on'.
IF sy-subrc = 0. ls_settings-only_local_objects = boolc( sy-subrc = 0 ).
ls_settings-only_local_objects = abap_true.
ELSE.
ls_settings-only_local_objects = abap_false.
ENDIF.
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'check_variant'. READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'check_variant'.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
@ -322,17 +367,16 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
ls_settings-code_inspector_check_variant = lv_check_variant. ls_settings-code_inspector_check_variant = lv_check_variant.
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'block_commit' value = 'on'. READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'block_commit' value = 'on'.
IF sy-subrc = 0. ls_settings-block_commit = boolc( sy-subrc = 0 ).
ls_settings-block_commit = abap_true.
ELSE.
ls_settings-block_commit = abap_false.
ENDIF.
IF ls_settings-block_commit = abap_true IF ls_settings-block_commit = abap_true
AND ls_settings-code_inspector_check_variant IS INITIAL. AND ls_settings-code_inspector_check_variant IS INITIAL.
zcx_abapgit_exception=>raise( |If block commit is active, a check variant has to be maintained.| ). zcx_abapgit_exception=>raise( |If block commit is active, a check variant has to be maintained.| ).
ENDIF. ENDIF.
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'serialize_master_lang_only' value = 'on'.
ls_settings-serialize_master_lang_only = boolc( sy-subrc = 0 ).
mo_repo->set_local_settings( ls_settings ). mo_repo->set_local_settings( ls_settings ).
ENDMETHOD. ENDMETHOD.

View File

@ -5,6 +5,11 @@ CLASS zcl_abapgit_xml_output DEFINITION
PUBLIC SECTION. PUBLIC SECTION.
TYPES:
BEGIN OF ty_i18n_params,
serialize_master_lang_only TYPE abap_bool,
END OF ty_i18n_params.
METHODS add METHODS add
IMPORTING IMPORTING
!iv_name TYPE clike !iv_name TYPE clike
@ -24,10 +29,17 @@ CLASS zcl_abapgit_xml_output DEFINITION
!is_metadata TYPE zif_abapgit_definitions=>ty_metadata OPTIONAL !is_metadata TYPE zif_abapgit_definitions=>ty_metadata OPTIONAL
RETURNING RETURNING
VALUE(rv_xml) TYPE string . VALUE(rv_xml) TYPE string .
METHODS i18n_params
IMPORTING
iv_serialize_master_lang_only TYPE ty_i18n_params-serialize_master_lang_only OPTIONAL
RETURNING
VALUE(rs_params) TYPE ty_i18n_params.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
DATA mi_raw TYPE REF TO if_ixml_element . DATA mi_raw TYPE REF TO if_ixml_element .
DATA ms_i18n_params TYPE ty_i18n_params .
METHODS build_asx_node METHODS build_asx_node
RETURNING RETURNING
@ -110,6 +122,17 @@ CLASS ZCL_ABAPGIT_XML_OUTPUT IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD i18n_params.
IF iv_serialize_master_lang_only IS SUPPLIED.
ms_i18n_params-serialize_master_lang_only = iv_serialize_master_lang_only.
ENDIF.
rs_params = ms_i18n_params.
ENDMETHOD.
METHOD render. METHOD render.
DATA: li_git TYPE REF TO if_ixml_element, DATA: li_git TYPE REF TO if_ixml_element,

View File

@ -33,6 +33,10 @@
<PARAMETER>IV_PATH</PARAMETER> <PARAMETER>IV_PATH</PARAMETER>
<TYP>STRING</TYP> <TYP>STRING</TYP>
</RSIMP> </RSIMP>
<RSIMP>
<PARAMETER>IV_SERIALIZE_MASTER_LANG_ONLY</PARAMETER>
<TYP>CHAR1</TYP>
</RSIMP>
</IMPORT> </IMPORT>
<EXPORT> <EXPORT>
<RSEXP> <RSEXP>
@ -80,19 +84,25 @@
<INDEX> 005</INDEX> <INDEX> 005</INDEX>
</RSFDO> </RSFDO>
<RSFDO> <RSFDO>
<PARAMETER>EV_RESULT</PARAMETER> <PARAMETER>IV_SERIALIZE_MASTER_LANG_ONLY</PARAMETER>
<KIND>P</KIND> <KIND>P</KIND>
<STEXT>Single-Character Indicator</STEXT>
<INDEX> 006</INDEX> <INDEX> 006</INDEX>
</RSFDO> </RSFDO>
<RSFDO> <RSFDO>
<PARAMETER>EV_PATH</PARAMETER> <PARAMETER>EV_RESULT</PARAMETER>
<KIND>P</KIND> <KIND>P</KIND>
<INDEX> 007</INDEX> <INDEX> 007</INDEX>
</RSFDO> </RSFDO>
<RSFDO>
<PARAMETER>EV_PATH</PARAMETER>
<KIND>P</KIND>
<INDEX> 008</INDEX>
</RSFDO>
<RSFDO> <RSFDO>
<PARAMETER>ERROR</PARAMETER> <PARAMETER>ERROR</PARAMETER>
<KIND>X</KIND> <KIND>X</KIND>
<INDEX> 008</INDEX> <INDEX> 009</INDEX>
</RSFDO> </RSFDO>
</DOCUMENTATION> </DOCUMENTATION>
</item> </item>

View File

@ -7,6 +7,7 @@ FUNCTION z_abapgit_serialize_parallel.
*" VALUE(IV_DEVCLASS) TYPE TADIR-DEVCLASS *" VALUE(IV_DEVCLASS) TYPE TADIR-DEVCLASS
*" VALUE(IV_LANGUAGE) TYPE SY-LANGU *" VALUE(IV_LANGUAGE) TYPE SY-LANGU
*" VALUE(IV_PATH) TYPE STRING *" VALUE(IV_PATH) TYPE STRING
*" VALUE(IV_SERIALIZE_MASTER_LANG_ONLY) TYPE CHAR1
*" EXPORTING *" EXPORTING
*" VALUE(EV_RESULT) TYPE XSTRING *" VALUE(EV_RESULT) TYPE XSTRING
*" VALUE(EV_PATH) TYPE STRING *" VALUE(EV_PATH) TYPE STRING
@ -27,6 +28,7 @@ FUNCTION z_abapgit_serialize_parallel.
lt_files = zcl_abapgit_objects=>serialize( lt_files = zcl_abapgit_objects=>serialize(
is_item = ls_item is_item = ls_item
iv_serialize_master_lang_only = iv_serialize_master_lang_only
iv_language = iv_language ). iv_language = iv_language ).
EXPORT data = lt_files TO DATA BUFFER ev_result. EXPORT data = lt_files TO DATA BUFFER ev_result.

View File

@ -37,6 +37,7 @@ CLASS zcl_abapgit_objects DEFINITION
IMPORTING IMPORTING
!is_item TYPE zif_abapgit_definitions=>ty_item !is_item TYPE zif_abapgit_definitions=>ty_item
!iv_language TYPE spras !iv_language TYPE spras
!iv_serialize_master_lang_only TYPE abap_bool DEFAULT abap_false
RETURNING RETURNING
VALUE(rs_files_and_item) TYPE zcl_abapgit_objects=>ty_serialization VALUE(rs_files_and_item) TYPE zcl_abapgit_objects=>ty_serialization
RAISING RAISING
@ -1108,6 +1109,11 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
iv_language = iv_language ). iv_language = iv_language ).
li_obj->mo_files = lo_files. li_obj->mo_files = lo_files.
CREATE OBJECT lo_xml. CREATE OBJECT lo_xml.
IF iv_serialize_master_lang_only = abap_true.
lo_xml->i18n_params( iv_serialize_master_lang_only = abap_true ).
ENDIF.
li_obj->serialize( lo_xml ). li_obj->serialize( lo_xml ).
lo_files->add_xml( io_xml = lo_xml lo_files->add_xml( io_xml = lo_xml
is_metadata = li_obj->get_metadata( ) ). is_metadata = li_obj->get_metadata( ) ).

View File

@ -407,7 +407,9 @@ CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
apply_filter( EXPORTING it_filter = it_filter apply_filter( EXPORTING it_filter = it_filter
CHANGING ct_tadir = lt_tadir ). CHANGING ct_tadir = lt_tadir ).
CREATE OBJECT lo_serialize. CREATE OBJECT lo_serialize
EXPORTING
iv_serialize_master_lang_only = ms_data-local_settings-serialize_master_lang_only.
* if there are less than 10 objects run in single thread * if there are less than 10 objects run in single thread
* this helps a lot when debugging, plus performance gain * this helps a lot when debugging, plus performance gain

View File

@ -4,7 +4,9 @@ CLASS zcl_abapgit_serialize DEFINITION
PUBLIC SECTION. PUBLIC SECTION.
METHODS constructor. METHODS constructor
IMPORTING
iv_serialize_master_lang_only TYPE abap_bool DEFAULT abap_false.
METHODS on_end_of_task METHODS on_end_of_task
IMPORTING IMPORTING
!p_task TYPE clike . !p_task TYPE clike .
@ -26,6 +28,7 @@ CLASS zcl_abapgit_serialize DEFINITION
DATA mv_free TYPE i . DATA mv_free TYPE i .
DATA mi_log TYPE REF TO zif_abapgit_log . DATA mi_log TYPE REF TO zif_abapgit_log .
DATA mv_group TYPE rzlli_apcl . DATA mv_group TYPE rzlli_apcl .
DATA mv_serialize_master_lang_only TYPE abap_bool.
METHODS add_to_return METHODS add_to_return
IMPORTING IMPORTING
@ -89,6 +92,7 @@ CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
ENDIF. ENDIF.
mv_group = 'parallel_generators' ##NO_TEXT. mv_group = 'parallel_generators' ##NO_TEXT.
mv_serialize_master_lang_only = iv_serialize_master_lang_only.
ENDMETHOD. ENDMETHOD.
@ -209,6 +213,7 @@ CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
iv_devclass = is_tadir-devclass iv_devclass = is_tadir-devclass
iv_language = iv_language iv_language = iv_language
iv_path = is_tadir-path iv_path = is_tadir-path
iv_serialize_master_lang_only = mv_serialize_master_lang_only
EXCEPTIONS EXCEPTIONS
system_failure = 1 MESSAGE lv_msg system_failure = 1 MESSAGE lv_msg
communication_failure = 2 MESSAGE lv_msg communication_failure = 2 MESSAGE lv_msg
@ -242,6 +247,7 @@ CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
TRY. TRY.
ls_fils_item = zcl_abapgit_objects=>serialize( ls_fils_item = zcl_abapgit_objects=>serialize(
is_item = ls_fils_item-item is_item = ls_fils_item-item
iv_serialize_master_lang_only = mv_serialize_master_lang_only
iv_language = iv_language ). iv_language = iv_language ).
add_to_return( is_fils_item = ls_fils_item add_to_return( is_fils_item = ls_fils_item

View File

@ -70,7 +70,7 @@ ENDCLASS.
CLASS zcl_abapgit_zip IMPLEMENTATION. CLASS ZCL_ABAPGIT_ZIP IMPLEMENTATION.
METHOD encode_files. METHOD encode_files.
@ -136,7 +136,7 @@ CLASS zcl_abapgit_zip IMPLEMENTATION.
ls_tadir = zcl_abapgit_ui_factory=>get_popups( )->popup_object( ). ls_tadir = zcl_abapgit_ui_factory=>get_popups( )->popup_object( ).
IF ls_tadir IS INITIAL. IF ls_tadir IS INITIAL.
MESSAGE |Object couldn't be found| TYPE 'S' DISPLAY LIKE 'E'. MESSAGE 'Object couldn''t be found' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF. ENDIF.
ENDWHILE. ENDWHILE.