mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Exclude technical language from intf, clas, prog, dtel, doma and tabl (#5598)
* exclude technical language from DOMA * exclude technical language from DTEL * exclude technical language from TABL * exclude technical language from CLAS * exclude technical language from PROG * exclude technical language from INTF * fix abaplint issue: Place pragma at end of statem. Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
parent
5e7cf0b27e
commit
276ad4e808
|
@ -289,7 +289,8 @@ CLASS zcl_abapgit_sotr_handler IMPLEMENTATION.
|
|||
|
||||
FIELD-SYMBOLS <ls_sotr_use> LIKE LINE OF et_sotr_use.
|
||||
|
||||
DATA lv_sotr TYPE zif_abapgit_definitions=>ty_sotr.
|
||||
DATA: lv_sotr TYPE zif_abapgit_definitions=>ty_sotr,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
" SOTR usage (see LSOTR_SYSTEM_SETTINGSF01, FORM GET_OBJECT_TABLE)
|
||||
" LIMU: CPUB, WAPP, WDYC, WDYD, WDYV
|
||||
|
@ -308,6 +309,9 @@ CLASS zcl_abapgit_sotr_handler IMPLEMENTATION.
|
|||
DELETE lv_sotr-entries WHERE langu <> iv_language.
|
||||
CHECK lv_sotr-entries IS NOT INITIAL.
|
||||
ENDIF.
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
DELETE lv_sotr-entries WHERE NOT langu IN lt_language_filter.
|
||||
CHECK lv_sotr-entries IS NOT INITIAL.
|
||||
|
||||
INSERT lv_sotr INTO TABLE et_sotr.
|
||||
ENDLOOP.
|
||||
|
|
|
@ -369,8 +369,9 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
|
||||
METHOD serialize_descr.
|
||||
|
||||
DATA: lt_descriptions TYPE zif_abapgit_oo_object_fnc=>ty_seocompotx_tt,
|
||||
lv_language TYPE spras.
|
||||
DATA: lt_descriptions TYPE zif_abapgit_oo_object_fnc=>ty_seocompotx_tt,
|
||||
lv_language TYPE spras,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
IF ii_xml->i18n_params( )-main_language_only = abap_true.
|
||||
lv_language = mv_language.
|
||||
|
@ -383,6 +384,9 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
IF lines( lt_descriptions ) = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
" Remove technical languages
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
DELETE lt_descriptions WHERE NOT langu IN lt_language_filter.
|
||||
|
||||
ii_xml->add( iv_name = 'DESCRIPTIONS'
|
||||
ig_data = lt_descriptions ).
|
||||
|
@ -504,7 +508,8 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
|
||||
DATA: ls_vseoclass TYPE vseoclass,
|
||||
ls_clskey TYPE seoclskey,
|
||||
lt_langu_additional TYPE zif_abapgit_lang_definitions=>ty_langus.
|
||||
lt_langu_additional TYPE zif_abapgit_lang_definitions=>ty_langus,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
ls_clskey-clsname = ms_item-obj_name.
|
||||
|
||||
|
@ -543,11 +548,13 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
" Table d010tinf stores info. on languages in which program is maintained
|
||||
" Select all active translations of program texts
|
||||
" Skip main language - it was already serialized
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
SELECT DISTINCT language
|
||||
INTO TABLE lt_langu_additional
|
||||
FROM d010tinf
|
||||
WHERE r3state = 'A'
|
||||
AND prog = mv_classpool_name
|
||||
AND language IN lt_language_filter
|
||||
AND language <> mv_language.
|
||||
|
||||
ii_xml->add( iv_name = 'VSEOCLASS'
|
||||
|
@ -566,7 +573,8 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
FROM dokhl
|
||||
WHERE id = 'CL'
|
||||
AND object = ls_clskey-clsname
|
||||
AND langu <> mv_language.
|
||||
AND langu IN lt_language_filter
|
||||
AND langu <> mv_language.
|
||||
|
||||
serialize_docu( ii_xml = ii_xml
|
||||
iv_clsname = ls_clskey-clsname
|
||||
|
|
|
@ -129,13 +129,14 @@ CLASS zcl_abapgit_object_doma IMPLEMENTATION.
|
|||
|
||||
METHOD serialize_texts.
|
||||
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
lv_index TYPE i,
|
||||
ls_dd01v TYPE dd01v,
|
||||
lt_dd07v TYPE TABLE OF dd07v,
|
||||
lt_i18n_langs TYPE TABLE OF langu,
|
||||
lt_dd01_texts TYPE ty_dd01_texts,
|
||||
lt_dd07_texts TYPE ty_dd07_texts.
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
lv_index TYPE i,
|
||||
ls_dd01v TYPE dd01v,
|
||||
lt_dd07v TYPE TABLE OF dd07v,
|
||||
lt_i18n_langs TYPE TABLE OF langu,
|
||||
lt_dd01_texts TYPE ty_dd01_texts,
|
||||
lt_dd07_texts TYPE ty_dd07_texts,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
FIELD-SYMBOLS: <lv_lang> LIKE LINE OF lt_i18n_langs,
|
||||
<ls_dd07v> LIKE LINE OF lt_dd07v,
|
||||
|
@ -150,14 +151,17 @@ CLASS zcl_abapgit_object_doma IMPLEMENTATION.
|
|||
lv_name = ms_item-obj_name.
|
||||
|
||||
" Collect additional languages, skip main lang - it was serialized already
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
SELECT DISTINCT ddlanguage AS langu INTO TABLE lt_i18n_langs
|
||||
FROM dd01v
|
||||
WHERE domname = lv_name
|
||||
AND ddlanguage IN lt_language_filter
|
||||
AND ddlanguage <> mv_language. "#EC CI_SUBRC
|
||||
|
||||
SELECT DISTINCT ddlanguage AS langu APPENDING TABLE lt_i18n_langs
|
||||
FROM dd07v
|
||||
WHERE domname = lv_name
|
||||
AND ddlanguage IN lt_language_filter
|
||||
AND ddlanguage <> mv_language. "#EC CI_SUBRC
|
||||
|
||||
SORT lt_i18n_langs.
|
||||
|
|
|
@ -91,11 +91,12 @@ CLASS zcl_abapgit_object_dtel IMPLEMENTATION.
|
|||
|
||||
METHOD serialize_texts.
|
||||
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
lv_index TYPE i,
|
||||
ls_dd04v TYPE dd04v,
|
||||
lt_dd04_texts TYPE ty_dd04_texts,
|
||||
lt_i18n_langs TYPE TABLE OF langu.
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
lv_index TYPE i,
|
||||
ls_dd04v TYPE dd04v,
|
||||
lt_dd04_texts TYPE ty_dd04_texts,
|
||||
lt_i18n_langs TYPE TABLE OF langu,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
FIELD-SYMBOLS: <lv_lang> LIKE LINE OF lt_i18n_langs,
|
||||
<ls_dd04_text> LIKE LINE OF lt_dd04_texts.
|
||||
|
@ -107,9 +108,11 @@ CLASS zcl_abapgit_object_dtel IMPLEMENTATION.
|
|||
lv_name = ms_item-obj_name.
|
||||
|
||||
" Collect additional languages, skip main lang - it was serialized already
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
SELECT DISTINCT ddlanguage AS langu INTO TABLE lt_i18n_langs
|
||||
FROM dd04v
|
||||
WHERE rollname = lv_name
|
||||
AND ddlanguage IN lt_language_filter
|
||||
AND ddlanguage <> mv_language. "#EC CI_SUBRC
|
||||
|
||||
LOOP AT lt_i18n_langs ASSIGNING <lv_lang>.
|
||||
|
|
|
@ -56,7 +56,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_OBJECT_INTF IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
|
@ -143,8 +143,8 @@ CLASS ZCL_ABAPGIT_OBJECT_INTF IMPLEMENTATION.
|
|||
|
||||
METHOD deserialize_pre_ddic.
|
||||
|
||||
DATA: ls_vseointerf TYPE vseointerf,
|
||||
ls_clskey TYPE seoclskey.
|
||||
DATA: ls_vseointerf TYPE vseointerf,
|
||||
ls_clskey TYPE seoclskey.
|
||||
|
||||
ls_clskey-clsname = ms_item-obj_name.
|
||||
|
||||
|
@ -197,8 +197,9 @@ CLASS ZCL_ABAPGIT_OBJECT_INTF IMPLEMENTATION.
|
|||
|
||||
METHOD serialize_descr.
|
||||
|
||||
DATA: lt_descriptions TYPE zif_abapgit_oo_object_fnc=>ty_seocompotx_tt,
|
||||
lv_language TYPE spras.
|
||||
DATA: lt_descriptions TYPE zif_abapgit_oo_object_fnc=>ty_seocompotx_tt,
|
||||
lv_language TYPE spras,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
IF ii_xml->i18n_params( )-main_language_only = abap_true.
|
||||
lv_language = mv_language.
|
||||
|
@ -208,6 +209,10 @@ CLASS ZCL_ABAPGIT_OBJECT_INTF IMPLEMENTATION.
|
|||
iv_object_name = iv_clsname
|
||||
iv_language = lv_language ).
|
||||
|
||||
" Remove technical languages
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
DELETE lt_descriptions WHERE NOT langu IN lt_language_filter.
|
||||
|
||||
IF lines( lt_descriptions ) = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
@ -268,9 +273,9 @@ CLASS ZCL_ABAPGIT_OBJECT_INTF IMPLEMENTATION.
|
|||
METHOD serialize_xml.
|
||||
|
||||
DATA:
|
||||
ls_vseointerf TYPE vseointerf,
|
||||
ls_clskey TYPE seoclskey,
|
||||
lt_langu_additional TYPE zif_abapgit_lang_definitions=>ty_langus.
|
||||
ls_vseointerf TYPE vseointerf,
|
||||
ls_clskey TYPE seoclskey,
|
||||
lt_langu_additional TYPE zif_abapgit_lang_definitions=>ty_langus.
|
||||
|
||||
ls_clskey-clsname = ms_item-obj_name.
|
||||
|
||||
|
|
|
@ -112,8 +112,9 @@ CLASS zcl_abapgit_object_prog IMPLEMENTATION.
|
|||
|
||||
METHOD serialize_texts.
|
||||
|
||||
DATA: lt_tpool_i18n TYPE ty_tpools_i18n,
|
||||
lt_tpool TYPE textpool_table.
|
||||
DATA: lt_tpool_i18n TYPE ty_tpools_i18n,
|
||||
lt_tpool TYPE textpool_table,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
FIELD-SYMBOLS <ls_tpool> LIKE LINE OF lt_tpool_i18n.
|
||||
|
||||
|
@ -124,12 +125,14 @@ CLASS zcl_abapgit_object_prog IMPLEMENTATION.
|
|||
" Table d010tinf stores info. on languages in which program is maintained
|
||||
" Select all active translations of program texts
|
||||
" Skip main language - it was already serialized
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
SELECT DISTINCT language
|
||||
INTO CORRESPONDING FIELDS OF TABLE lt_tpool_i18n
|
||||
FROM d010tinf
|
||||
WHERE r3state = 'A'
|
||||
AND prog = ms_item-obj_name
|
||||
AND language <> mv_language ##TOO_MANY_ITAB_FIELDS.
|
||||
AND language <> mv_language
|
||||
AND language IN lt_language_filter ##TOO_MANY_ITAB_FIELDS.
|
||||
|
||||
SORT lt_tpool_i18n BY language ASCENDING.
|
||||
LOOP AT lt_tpool_i18n ASSIGNING <ls_tpool>.
|
||||
|
@ -160,8 +163,8 @@ CLASS zcl_abapgit_object_prog IMPLEMENTATION.
|
|||
METHOD zif_abapgit_object~delete.
|
||||
|
||||
DATA:
|
||||
lv_program LIKE sy-repid,
|
||||
lv_obj_name TYPE e071-obj_name.
|
||||
lv_program LIKE sy-repid,
|
||||
lv_obj_name TYPE e071-obj_name.
|
||||
|
||||
lv_program = ms_item-obj_name.
|
||||
|
||||
|
|
|
@ -542,11 +542,12 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION.
|
|||
|
||||
METHOD serialize_texts.
|
||||
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
lv_index TYPE i,
|
||||
ls_dd02v TYPE dd02v,
|
||||
lt_dd02_texts TYPE ty_dd02_texts,
|
||||
lt_i18n_langs TYPE TABLE OF langu.
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
lv_index TYPE i,
|
||||
ls_dd02v TYPE dd02v,
|
||||
lt_dd02_texts TYPE ty_dd02_texts,
|
||||
lt_i18n_langs TYPE TABLE OF langu,
|
||||
lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter.
|
||||
|
||||
FIELD-SYMBOLS: <lv_lang> LIKE LINE OF lt_i18n_langs,
|
||||
<ls_dd02_text> LIKE LINE OF lt_dd02_texts.
|
||||
|
@ -558,9 +559,11 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION.
|
|||
lv_name = ms_item-obj_name.
|
||||
|
||||
" Collect additional languages, skip main lang - it was serialized already
|
||||
lt_language_filter = zcl_abapgit_factory=>get_environment( )->get_system_language_filter( ).
|
||||
SELECT DISTINCT ddlanguage AS langu INTO TABLE lt_i18n_langs
|
||||
FROM dd02v
|
||||
WHERE tabname = lv_name
|
||||
AND ddlanguage IN lt_language_filter
|
||||
AND ddlanguage <> mv_language. "#EC CI_SUBRC
|
||||
|
||||
LOOP AT lt_i18n_langs ASSIGNING <lv_lang>.
|
||||
|
|
Loading…
Reference in New Issue
Block a user