diff --git a/changelog.txt b/changelog.txt index 96265b290..55c62a988 100644 --- a/changelog.txt +++ b/changelog.txt @@ -132,7 +132,7 @@ Legend + hover line highlighting ! staging will show error instead of dump in special cases * fix related to textpools of includes -* various changes regarding only serializing master language +* various changes regarding only serializing main language ! GUI refactoring + New syntax highlighters CSS + JS + JSON * downports @@ -156,8 +156,8 @@ Legend + SRVD support + DRUL support + DTDC support -! CUS0, CUS1, CUS2 only serialize master language -! DTEL, DOCT, only serialize master language +! CUS0, CUS1, CUS2 only serialize main language +! DTEL, DOCT, only serialize main language * CHAR serialization fixes + Allow setting of display name for offline repos - Remove page playground diff --git a/docs/collections/_development/serializers.md b/docs/collections/_development/serializers.md index 12c6fa6f2..7f80c7fe0 100644 --- a/docs/collections/_development/serializers.md +++ b/docs/collections/_development/serializers.md @@ -20,7 +20,7 @@ The constructor is implemented in the super class and take two parameters as inp Parameter | Description ----------|------------ `IS_ITEM` | Contains object type, object name, SAP package, and state (active/inactive) -`IV_LANGUAGE` | Contains the language key for the master language of the repository +`IV_LANGUAGE` | Contains the language key for the main language of the repository These parameters are stored in attributes `MS_ITEM` and `MV_LANGUAGE` respectively. @@ -129,7 +129,7 @@ The activation queue is built separately for each phase (see 'Deserialize Proces ## Internationalization (I18N) -In general, the serializer class shall process texts of an object in all available languages i.e. the original language as well as any translations. It shall respect the "Serialize Master Language Only" setting of a repository and limit the texts to the language provided to the constructor (`MV_LANGUAGE`). +In general, the serializer class shall process texts of an object in all available languages i.e. the original language as well as any translations. It shall respect the "Serialize Main Language Only" setting of a repository and limit the texts to the language provided to the constructor (`MV_LANGUAGE`). The recommended approach is to check `io_xml->i18n_params( )-serialize_master_lang_only = abap_false` and then serialize the additional translations in the XML (typically using `I18N` prefix). During deserialize the translation languages can then be retrieved and processed accordingly ( diff --git a/src/objects/zcl_abapgit_object_clas.clas.abap b/src/objects/zcl_abapgit_object_clas.clas.abap index 9f1ab5722..9ebdbb91b 100644 --- a/src/objects/zcl_abapgit_object_clas.clas.abap +++ b/src/objects/zcl_abapgit_object_clas.clas.abap @@ -87,7 +87,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_CLAS IMPLEMENTATION. +CLASS zcl_abapgit_object_clas IMPLEMENTATION. METHOD constructor. @@ -440,8 +440,8 @@ CLASS ZCL_ABAPGIT_OBJECT_CLAS IMPLEMENTATION. ls_clskey-clsname = ms_item-obj_name. "If class was deserialized with a previous versions of abapGit and current language was different - "from master language at this time, this call would return SY-LANGU as master language. To fix - "these objects, set SY-LANGU to master language temporarily. + "from main language at this time, this call would return SY-LANGU as main language. To fix + "these objects, set SY-LANGU to main language temporarily. zcl_abapgit_language=>set_current_language( mv_language ). TRY. @@ -473,7 +473,7 @@ 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 master language - it was already serialized + " Skip main language - it was already serialized SELECT DISTINCT language INTO TABLE lt_langu_additional FROM d010tinf diff --git a/src/objects/zcl_abapgit_object_doma.clas.abap b/src/objects/zcl_abapgit_object_doma.clas.abap index 9e5db0cbf..33a74b378 100644 --- a/src/objects/zcl_abapgit_object_doma.clas.abap +++ b/src/objects/zcl_abapgit_object_doma.clas.abap @@ -46,7 +46,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_DOMA IMPLEMENTATION. +CLASS zcl_abapgit_object_doma IMPLEMENTATION. METHOD deserialize_texts. @@ -149,7 +149,7 @@ CLASS ZCL_ABAPGIT_OBJECT_DOMA IMPLEMENTATION. lv_name = ms_item-obj_name. - " Collect additional languages, skip master lang - it was serialized already + " Collect additional languages, skip main lang - it was serialized already SELECT DISTINCT ddlanguage AS langu INTO TABLE lt_i18n_langs FROM dd01v WHERE domname = lv_name @@ -177,7 +177,7 @@ CLASS ZCL_ABAPGIT_OBJECT_DOMA IMPLEMENTATION. APPEND INITIAL LINE TO lt_dd01_texts ASSIGNING . MOVE-CORRESPONDING ls_dd01v TO . - " Process master language entries and find corresponding translation + " Process main language entries and find corresponding translation LOOP AT it_dd07v ASSIGNING WHERE NOT ddlanguage IS INITIAL. APPEND INITIAL LINE TO lt_dd07_texts ASSIGNING . READ TABLE lt_dd07v ASSIGNING diff --git a/src/objects/zcl_abapgit_object_dtel.clas.abap b/src/objects/zcl_abapgit_object_dtel.clas.abap index b5c7d0b06..44ff9a715 100644 --- a/src/objects/zcl_abapgit_object_dtel.clas.abap +++ b/src/objects/zcl_abapgit_object_dtel.clas.abap @@ -36,7 +36,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_DTEL IMPLEMENTATION. +CLASS zcl_abapgit_object_dtel IMPLEMENTATION. METHOD deserialize_texts. @@ -106,7 +106,7 @@ CLASS ZCL_ABAPGIT_OBJECT_DTEL IMPLEMENTATION. lv_name = ms_item-obj_name. - " Collect additional languages, skip master lang - it was serialized already + " Collect additional languages, skip main lang - it was serialized already SELECT DISTINCT ddlanguage AS langu INTO TABLE lt_i18n_langs FROM dd04v WHERE rollname = lv_name diff --git a/src/objects/zcl_abapgit_object_fugr.clas.abap b/src/objects/zcl_abapgit_object_fugr.clas.abap index 583a78d0f..419938d7c 100644 --- a/src/objects/zcl_abapgit_object_fugr.clas.abap +++ b/src/objects/zcl_abapgit_object_fugr.clas.abap @@ -136,7 +136,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION. +CLASS zcl_abapgit_object_fugr IMPLEMENTATION. METHOD check_rfc_parameters. @@ -858,7 +858,7 @@ CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION. " Table d010tinf stores info. on languages in which program is maintained " Select all active translations of program texts - " Skip master language - it was already serialized + " Skip main language - it was already serialized SELECT DISTINCT language INTO CORRESPONDING FIELDS OF TABLE lt_tpool_i18n FROM d010tinf diff --git a/src/objects/zcl_abapgit_object_msag.clas.abap b/src/objects/zcl_abapgit_object_msag.clas.abap index e902e8566..cbc039fa7 100644 --- a/src/objects/zcl_abapgit_object_msag.clas.abap +++ b/src/objects/zcl_abapgit_object_msag.clas.abap @@ -48,7 +48,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION. +CLASS zcl_abapgit_object_msag IMPLEMENTATION. METHOD delete_documentation. @@ -223,7 +223,7 @@ CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION. ENDIF. " Collect additional languages - " Skip master lang - it has been already serialized + " Skip main lang - it has been already serialized SELECT DISTINCT sprsl AS langu INTO TABLE lt_i18n_langs FROM t100t WHERE arbgb = lv_msg_id diff --git a/src/objects/zcl_abapgit_object_otgr.clas.abap b/src/objects/zcl_abapgit_object_otgr.clas.abap index 2c4f4159e..7e6e161bc 100644 --- a/src/objects/zcl_abapgit_object_otgr.clas.abap +++ b/src/objects/zcl_abapgit_object_otgr.clas.abap @@ -27,7 +27,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_OTGR IMPLEMENTATION. +CLASS zcl_abapgit_object_otgr IMPLEMENTATION. METHOD instantiate_and_lock_otgr. @@ -173,9 +173,9 @@ CLASS ZCL_ABAPGIT_OBJECT_OTGR IMPLEMENTATION. IF sy-subrc = 0. lo_otgr->set_description( -text ). " ELSE. - " Do we want to clear the master language description if not present in the XML conent? - " Master Language is non-deterministic - it depends on sy-langu, so rather don't touch - " description if the master language is not present + " Do we want to clear the main language description if not present in the XML conent? + " Main language is non-deterministic - it depends on sy-langu, so rather don't touch + " description if the main language is not present " Perhaps, we can display some sort of a message but how? ENDIF. @@ -260,10 +260,10 @@ CLASS ZCL_ABAPGIT_OBJECT_OTGR IMPLEMENTATION. * Description part 1: * Dealing with Description of OTGR objects is problematic. -* The API supports setting of Master Language only and +* The API supports setting of main language only and * if we want to save also translations we would have to implement * our own logic for merging and activation. To keep it simple stupid -* the current version focuses on the Master language only. +* the current version focuses on the main language only. * If anybody ever runs into the need to version also translation, * ask the maintainers of CL_CLS_OBJECT_TYPE_GROUP to add a method for it. * @@ -291,7 +291,7 @@ CLASS ZCL_ABAPGIT_OBJECT_OTGR IMPLEMENTATION. ex_parent_groups = . ENDIF. - " Beware: the following method returns the Master Language description only if the object is Locked! + " Beware: the following method returns the main language description only if the object is locked! -text = lo_otgr->if_cls_object_type_group~get_description( ). -langu = lo_otgr->if_pak_wb_object~get_master_language( ). diff --git a/src/objects/zcl_abapgit_object_prog.clas.abap b/src/objects/zcl_abapgit_object_prog.clas.abap index 00f3fe486..9490caa11 100644 --- a/src/objects/zcl_abapgit_object_prog.clas.abap +++ b/src/objects/zcl_abapgit_object_prog.clas.abap @@ -30,7 +30,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_PROG IMPLEMENTATION. +CLASS zcl_abapgit_object_prog IMPLEMENTATION. METHOD deserialize_texts. @@ -75,7 +75,7 @@ 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 master language - it was already serialized + " Skip main language - it was already serialized SELECT DISTINCT language INTO CORRESPONDING FIELDS OF TABLE lt_tpool_i18n FROM d010tinf diff --git a/src/objects/zcl_abapgit_object_tabl.clas.abap b/src/objects/zcl_abapgit_object_tabl.clas.abap index 80b957157..2ab877ba3 100644 --- a/src/objects/zcl_abapgit_object_tabl.clas.abap +++ b/src/objects/zcl_abapgit_object_tabl.clas.abap @@ -486,7 +486,7 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. lv_name = ms_item-obj_name. - " Collect additional languages, skip master lang - it was serialized already + " Collect additional languages, skip main lang - it was serialized already SELECT DISTINCT ddlanguage AS langu INTO TABLE lt_i18n_langs FROM dd02v WHERE tabname = lv_name diff --git a/src/objects/zcl_abapgit_object_tran.clas.abap b/src/objects/zcl_abapgit_object_tran.clas.abap index d92d96d27..286696c5a 100644 --- a/src/objects/zcl_abapgit_object_tran.clas.abap +++ b/src/objects/zcl_abapgit_object_tran.clas.abap @@ -402,7 +402,7 @@ CLASS zcl_abapgit_object_tran IMPLEMENTATION. RETURN. ENDIF. - " Skip master language - it was already serialized + " Skip main language - it was already serialized " Don't serialize t-code itself SELECT sprsl ttext INTO CORRESPONDING FIELDS OF TABLE lt_tpool_i18n diff --git a/src/objects/zcl_abapgit_object_udmo.clas.abap b/src/objects/zcl_abapgit_object_udmo.clas.abap index c8aac3897..df8001d72 100644 --- a/src/objects/zcl_abapgit_object_udmo.clas.abap +++ b/src/objects/zcl_abapgit_object_udmo.clas.abap @@ -196,7 +196,7 @@ CLASS zcl_abapgit_object_udmo IMPLEMENTATION. " You are reminded that SUDM - Data Model has no part objects e.g. no LIMU " Therefore global lock is always appropriate - " You are reminded that the master language (in TADIR) is taken from MV_LANGUAGE. + " You are reminded that the main language (in TADIR) is taken from MV_LANGUAGE. CALL FUNCTION 'RS_CORR_INSERT' EXPORTING @@ -443,7 +443,7 @@ CLASS zcl_abapgit_object_udmo IMPLEMENTATION. " The model has short texts in multiple languages. These are held in DM40T. - " The model has a long description also in a master language, with other long descriptions + " The model has a long description also in a main language, with other long descriptions " maintained as translations using SE63 Translation Editor. All of these long texts are held in DOK* TYPES BEGIN OF ty_language_type. diff --git a/src/objects/zcl_abapgit_objects_program.clas.abap b/src/objects/zcl_abapgit_objects_program.clas.abap index 60ca697d2..93d073d43 100644 --- a/src/objects/zcl_abapgit_objects_program.clas.abap +++ b/src/objects/zcl_abapgit_objects_program.clas.abap @@ -569,7 +569,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION. ENDIF. IF lv_language = mv_language. - lv_state = 'I'. "Textpool in master language needs to be activated + lv_state = 'I'. "Textpool in main language needs to be activated ELSE. lv_state = 'A'. "Translations are always active ENDIF. @@ -583,7 +583,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION. lv_delete = abap_true. ELSE. INSERT TEXTPOOL iv_program "In case of includes: Deletion of textpool in - FROM it_tpool "master language cannot be activated because + FROM it_tpool "main language cannot be activated because LANGUAGE lv_language "this woul activate the deletion of the textpool STATE lv_state. "of the mail program -> insert empty textpool ENDIF. @@ -591,7 +591,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION. IF lines( it_tpool ) = 1 AND lv_language = mv_language. READ TABLE it_tpool WITH KEY id = 'R' TRANSPORTING NO FIELDS. IF sy-subrc = 0. - RETURN. "No action because description in master language is already there + RETURN. "No action because description in main language is already there ENDIF. ENDIF. @@ -604,7 +604,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION. ENDIF. ENDIF. - IF lv_state = 'I'. "Textpool in master language needs to be activated + IF lv_state = 'I'. "Textpool in main language needs to be activated zcl_abapgit_objects_activation=>add( iv_type = 'REPT' iv_name = iv_program diff --git a/src/objects/zcl_abapgit_oo_base.clas.abap b/src/objects/zcl_abapgit_oo_base.clas.abap index 73bd05cb7..bc7031fa4 100644 --- a/src/objects/zcl_abapgit_oo_base.clas.abap +++ b/src/objects/zcl_abapgit_oo_base.clas.abap @@ -245,7 +245,7 @@ CLASS zcl_abapgit_oo_base IMPLEMENTATION. AND descript <> '' ORDER BY PRIMARY KEY. "#EC CI_SUBRC ELSE. - " load master language + " load main language SELECT * FROM seocompotx INTO TABLE rt_descriptions WHERE clsname = iv_obejct_name AND langu = iv_language diff --git a/src/ui/zcl_abapgit_gui_page_addofflin.clas.abap b/src/ui/zcl_abapgit_gui_page_addofflin.clas.abap index a6d43e002..15fd68561 100644 --- a/src/ui/zcl_abapgit_gui_page_addofflin.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_addofflin.clas.abap @@ -52,7 +52,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE_ADDOFFLIN IMPLEMENTATION. +CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION. METHOD constructor. @@ -106,8 +106,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_ADDOFFLIN IMPLEMENTATION. iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full )->checkbox( iv_name = c_id-master_lang_only - iv_label = 'Serialize master language only' - iv_hint = 'Ignore translations, serialize just master language' + iv_label = 'Serialize main language only' + iv_hint = 'Ignore translations, serialize just main language' )->command( iv_label = 'Create offline repo' iv_is_main = abap_true diff --git a/src/ui/zcl_abapgit_gui_page_addonline.clas.abap b/src/ui/zcl_abapgit_gui_page_addonline.clas.abap index 97c6bd3a2..d30f0054f 100644 --- a/src/ui/zcl_abapgit_gui_page_addonline.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_addonline.clas.abap @@ -62,7 +62,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE_ADDONLINE IMPLEMENTATION. +CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION. METHOD constructor. @@ -132,8 +132,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_ADDONLINE IMPLEMENTATION. iv_hint = 'Syncronize root package only (see https://docs.abapgit.org)' )->checkbox( iv_name = c_id-master_lang_only - iv_label = 'Serialize master language only' - iv_hint = 'Ignore translations, serialize just master language' + iv_label = 'Serialize main language only' + iv_hint = 'Ignore translations, serialize just main language' )->command( iv_label = 'Clone online repo' iv_is_main = abap_true diff --git a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.abap b/src/ui/zcl_abapgit_gui_page_repo_sett.clas.abap index 79d83c152..444b1552b 100644 --- a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_repo_sett.clas.abap @@ -75,7 +75,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION. +CLASS zcl_abapgit_gui_page_repo_sett IMPLEMENTATION. METHOD constructor. @@ -137,7 +137,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION. ENDIF. ii_html->add( render_table_row( - iv_name = 'Master Language' + iv_name = 'Main Language' iv_value = |{ ls_dot-master_language } ({ lv_language })| ) ). @@ -290,7 +290,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION. lv_checked = | checked|. ENDIF. ii_html->add( render_table_row( - iv_name = 'Serialize Master Language Only' + iv_name = 'Serialize Main Language Only' iv_value = || ) ). diff --git a/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap b/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap index cc6b28357..34be17cd7 100644 --- a/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap @@ -304,7 +304,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. IF mo_repo->get_dot_abapgit( )->get_master_language( ) <> sy-langu. ro_advanced_dropdown->add( - iv_txt = 'Open in Master Language' + iv_txt = 'Open in Main Language' iv_act = |{ zif_abapgit_definitions=>c_action-repo_open_in_master_lang }?key={ mv_key }| ). ENDIF. @@ -692,7 +692,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. lv_master_language = mo_repo->get_dot_abapgit( )->get_master_language( ). IF lv_master_language = sy-langu. - zcx_abapgit_exception=>raise( |Repo already opened in master language| ). + zcx_abapgit_exception=>raise( |Repo already opened in main language| ). ENDIF. ls_item-obj_name = lc_abapgit_tcode. diff --git a/src/ui/zcl_abapgit_gui_page_stage.clas.abap b/src/ui/zcl_abapgit_gui_page_stage.clas.abap index 56cb89e36..8396d6340 100644 --- a/src/ui/zcl_abapgit_gui_page_stage.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_stage.clas.abap @@ -646,7 +646,7 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION. IF ls_dot_abapgit-master_language <> sy-langu. ri_html->add( zcl_abapgit_gui_chunk_lib=>render_warning_banner( - |Caution: Master language of the repo is '{ ls_dot_abapgit-master_language }', | + |Caution: Main language of the repo is '{ ls_dot_abapgit-master_language }', | && |but you're logged on in '{ sy-langu }'| ) ). ENDIF. diff --git a/src/ui/zcl_abapgit_popups.clas.abap b/src/ui/zcl_abapgit_popups.clas.abap index cd344dd84..e89efaa61 100644 --- a/src/ui/zcl_abapgit_popups.clas.abap +++ b/src/ui/zcl_abapgit_popups.clas.abap @@ -89,7 +89,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION. +CLASS zcl_abapgit_popups IMPLEMENTATION. METHOD add_field. @@ -774,7 +774,7 @@ CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION. add_field( EXPORTING iv_tabname = 'TVDIR' iv_fieldname = 'FLAG' - iv_fieldtext = 'Master lang only' + iv_fieldtext = 'Main language only' CHANGING ct_fields = lt_fields ). TRY. @@ -838,7 +838,7 @@ CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION. -only_parameter = abap_true. -ddic_tabname = 'TVDIR'. -ddic_fieldname = 'FLAG'. - -text = 'Master lang only'. + -text = 'Main language only'. -value = cv_serialize_master_lang_only. popup_get_from_free_selections( @@ -1297,7 +1297,7 @@ CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION. add_field( EXPORTING iv_tabname = 'DOKIL' iv_fieldname = 'MASTERLANG' - iv_fieldtext = 'Master language only' + iv_fieldtext = 'Main language only' iv_value = abap_true CHANGING ct_fields = lt_fields ). diff --git a/src/zcl_abapgit_repo.clas.abap b/src/zcl_abapgit_repo.clas.abap index 164d37625..a8ce46cf7 100644 --- a/src/zcl_abapgit_repo.clas.abap +++ b/src/zcl_abapgit_repo.clas.abap @@ -210,7 +210,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION. +CLASS zcl_abapgit_repo IMPLEMENTATION. METHOD bind_listener. @@ -280,9 +280,9 @@ CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION. IF lv_master_language <> sy-langu. zcx_abapgit_exception=>raise( |Current login language | && |'{ zcl_abapgit_convert=>conversion_exit_isola_output( sy-langu ) }'| - && | does not match master language | + && | does not match main language | && |'{ zcl_abapgit_convert=>conversion_exit_isola_output( lv_master_language ) }'.| - && | Run 'Advanced' > 'Open in master language'| ). + && | Run 'Advanced' > 'Open in main language'| ). ENDIF. ENDMETHOD.