From 3b77c130eefed1d458dbedd5318a903fc63e882a Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 31 Oct 2024 02:51:29 -0400 Subject: [PATCH 1/4] Fix failing AFF unit tests in dev edition 2022 (#7070) --- .../zcl_abapgit_object_common_aff.clas.abap | 46 +++++++++++-------- ...it_object_common_aff.clas.testclasses.abap | 8 +++- 2 files changed, 33 insertions(+), 21 deletions(-) diff --git a/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap b/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap index 9ab7c2101..e7e6f7a3b 100644 --- a/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap +++ b/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap @@ -55,7 +55,9 @@ CLASS zcl_abapgit_object_common_aff DEFINITION METHODS create_aff_setting_deserialize FINAL RETURNING - VALUE(ro_settings_deserialize) TYPE REF TO object. + VALUE(ro_settings_deserialize) TYPE REF TO object + RAISING + zcx_abapgit_exception. PRIVATE SECTION. METHODS is_file_empty @@ -110,6 +112,29 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION. ENDMETHOD. + METHOD create_aff_setting_deserialize. + IF ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_any_abap_language_version AND + ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_no_abap_language_version. + TRY. + CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE') + EXPORTING + version = 'A' + language = mv_language + user = sy-uname + abap_language_version = ms_item-abap_language_version. + CATCH cx_root. + zcx_abapgit_exception=>raise( |System does not supported ABAP language version for AFF| ). + ENDTRY. + ELSE. + CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE') + EXPORTING + version = 'A' + language = mv_language + user = sy-uname. + ENDIF. + ENDMETHOD. + + METHOD get_additional_extensions. RETURN. ENDMETHOD. @@ -412,25 +437,6 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION. ENDMETHOD. - METHOD create_aff_setting_deserialize. - IF ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_any_abap_language_version AND - ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_no_abap_language_version. - CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE') - EXPORTING - version = 'A' - language = mv_language - user = sy-uname - abap_language_version = ms_item-abap_language_version. - ELSE. - CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE') - EXPORTING - version = 'A' - language = mv_language - user = sy-uname. - ENDIF. - ENDMETHOD. - - METHOD zif_abapgit_object~exists. DATA: lr_intf_aff_obj TYPE REF TO data, lo_object_handler TYPE REF TO object, diff --git a/src/objects/aff/zcl_abapgit_object_common_aff.clas.testclasses.abap b/src/objects/aff/zcl_abapgit_object_common_aff.clas.testclasses.abap index 488c13ea8..0d46738a8 100644 --- a/src/objects/aff/zcl_abapgit_object_common_aff.clas.testclasses.abap +++ b/src/objects/aff/zcl_abapgit_object_common_aff.clas.testclasses.abap @@ -226,7 +226,13 @@ CLASS ltcl_aff_settings_deserialize IMPLEMENTATION. is_item = ls_item iv_language = 'E'. - lo_settings_deserialize = lo_cut->create_aff_setting_deserialize( ). + TRY. + lo_settings_deserialize = lo_cut->create_aff_setting_deserialize( ). + CATCH cx_root. + " System doesn't support AFF with ABAP language version + RETURN. + ENDTRY. + CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_ABAP_LANGUAGE_VERSION') RECEIVING result = lv_act_setting_abap_lv. From f97818df2129d3f86f0fbd192ce813a55582dc99 Mon Sep 17 00:00:00 2001 From: ThomasPloski <39330834+ThomasPloski@users.noreply.github.com> Date: Thu, 31 Oct 2024 07:57:02 +0100 Subject: [PATCH 2/4] APLO: Support for Application Log Objects (#7025) Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> Co-authored-by: Lars Hvam Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com> --- .../aff/zcl_abapgit_aff_registry.clas.abap | 1 + .../aff/zcl_abapgit_object_aplo.clas.abap | 24 +++++++++++++++++++ .../aff/zcl_abapgit_object_aplo.clas.xml | 16 +++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 src/objects/aff/zcl_abapgit_object_aplo.clas.abap create mode 100644 src/objects/aff/zcl_abapgit_object_aplo.clas.xml diff --git a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap index a0ca81ef4..ba33b2556 100644 --- a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap +++ b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap @@ -46,6 +46,7 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION. METHOD initialize_registry_table. + register( 'APLO' ). register( 'BGQC' ). register( 'CDBO' ). register( 'CHKC' ). diff --git a/src/objects/aff/zcl_abapgit_object_aplo.clas.abap b/src/objects/aff/zcl_abapgit_object_aplo.clas.abap new file mode 100644 index 000000000..70673c92d --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_aplo.clas.abap @@ -0,0 +1,24 @@ +CLASS zcl_abapgit_object_aplo DEFINITION + PUBLIC + INHERITING FROM zcl_abapgit_object_common_aff + FINAL + CREATE PUBLIC . + + PUBLIC SECTION. + + METHODS zif_abapgit_object~changed_by + REDEFINITION . + PROTECTED SECTION. + PRIVATE SECTION. + +ENDCLASS. + + + +CLASS ZCL_ABAPGIT_OBJECT_APLO IMPLEMENTATION. + + + METHOD zif_abapgit_object~changed_by. + CLEAR rv_user. + ENDMETHOD. +ENDCLASS. diff --git a/src/objects/aff/zcl_abapgit_object_aplo.clas.xml b/src/objects/aff/zcl_abapgit_object_aplo.clas.xml new file mode 100644 index 000000000..cfec6c94b --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_aplo.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ABAPGIT_OBJECT_APLO + E + abapGit - APLO - Application Log Object + 1 + X + X + X + + + + From 713c258ff890f67ade3809017605dd4cf5686f4e Mon Sep 17 00:00:00 2001 From: ThomasPloski <39330834+ThomasPloski@users.noreply.github.com> Date: Thu, 31 Oct 2024 08:03:17 +0100 Subject: [PATCH 3/4] SAJC: Support for Application Job Catalog Entry (#7026) Co-authored-by: Lars Hvam Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com> --- .../aff/zcl_abapgit_aff_registry.clas.abap | 1 + .../aff/zcl_abapgit_object_sajc.clas.abap | 38 +++++++++++++++++++ .../aff/zcl_abapgit_object_sajc.clas.xml | 16 ++++++++ 3 files changed, 55 insertions(+) create mode 100644 src/objects/aff/zcl_abapgit_object_sajc.clas.abap create mode 100644 src/objects/aff/zcl_abapgit_object_sajc.clas.xml diff --git a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap index ba33b2556..b2e58f8c2 100644 --- a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap +++ b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap @@ -62,6 +62,7 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION. register( 'GSMP' ). register( iv_obj_type = 'INTF' iv_experimental = abap_true ). + register( 'SAJC' ). register( 'SMBC' ). register( 'SWCR' ). register( 'NONT' ). diff --git a/src/objects/aff/zcl_abapgit_object_sajc.clas.abap b/src/objects/aff/zcl_abapgit_object_sajc.clas.abap new file mode 100644 index 000000000..31f00d70d --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_sajc.clas.abap @@ -0,0 +1,38 @@ +CLASS zcl_abapgit_object_sajc DEFINITION + PUBLIC + INHERITING FROM zcl_abapgit_object_common_aff + FINAL + CREATE PUBLIC . + + PUBLIC SECTION. + + METHODS zif_abapgit_object~changed_by + REDEFINITION . + PROTECTED SECTION. + PRIVATE SECTION. +ENDCLASS. + + + +CLASS ZCL_ABAPGIT_OBJECT_SAJC IMPLEMENTATION. + + + METHOD zif_abapgit_object~changed_by. + + CONSTANTS lc_table_name TYPE tabname VALUE 'APJ_W_JCE_ROOT'. + + SELECT SINGLE lst_ch_user_acct + FROM (lc_table_name) + INTO rv_user + WHERE job_catalog_entry_name = ms_item-obj_name + AND job_catalog_entry_version = 'I'. + + IF rv_user IS INITIAL. + SELECT SINGLE lst_ch_user_acct + FROM (lc_table_name) + INTO rv_user + WHERE job_catalog_entry_name = ms_item-obj_name + AND job_catalog_entry_version = 'A'. + ENDIF. + ENDMETHOD. +ENDCLASS. diff --git a/src/objects/aff/zcl_abapgit_object_sajc.clas.xml b/src/objects/aff/zcl_abapgit_object_sajc.clas.xml new file mode 100644 index 000000000..6c5841001 --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_sajc.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ABAPGIT_OBJECT_SAJC + E + abapGit - SAJC - Application Job Catalog Entry + 1 + X + X + X + + + + From 454607953dab571b5c70edb5ad0506c8b942b3f4 Mon Sep 17 00:00:00 2001 From: ThomasPloski <39330834+ThomasPloski@users.noreply.github.com> Date: Thu, 31 Oct 2024 08:11:41 +0100 Subject: [PATCH 4/4] SAJT: Support for Application Job Templates (#7027) Co-authored-by: Lars Hvam Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com> --- .../aff/zcl_abapgit_aff_registry.clas.abap | 1 + .../aff/zcl_abapgit_object_sajt.clas.abap | 39 +++++++++++++++++++ .../aff/zcl_abapgit_object_sajt.clas.xml | 16 ++++++++ 3 files changed, 56 insertions(+) create mode 100644 src/objects/aff/zcl_abapgit_object_sajt.clas.abap create mode 100644 src/objects/aff/zcl_abapgit_object_sajt.clas.xml diff --git a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap index b2e58f8c2..589441013 100644 --- a/src/objects/aff/zcl_abapgit_aff_registry.clas.abap +++ b/src/objects/aff/zcl_abapgit_aff_registry.clas.abap @@ -62,6 +62,7 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION. register( 'GSMP' ). register( iv_obj_type = 'INTF' iv_experimental = abap_true ). + register( 'SAJT' ). register( 'SAJC' ). register( 'SMBC' ). register( 'SWCR' ). diff --git a/src/objects/aff/zcl_abapgit_object_sajt.clas.abap b/src/objects/aff/zcl_abapgit_object_sajt.clas.abap new file mode 100644 index 000000000..86b19688e --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_sajt.clas.abap @@ -0,0 +1,39 @@ +CLASS zcl_abapgit_object_sajt DEFINITION + PUBLIC + INHERITING FROM zcl_abapgit_object_common_aff + FINAL + CREATE PUBLIC . + + PUBLIC SECTION. + + METHODS zif_abapgit_object~changed_by + REDEFINITION . + PROTECTED SECTION. + PRIVATE SECTION. +ENDCLASS. + + + +CLASS ZCL_ABAPGIT_OBJECT_SAJT IMPLEMENTATION. + + + METHOD zif_abapgit_object~changed_by. + + CONSTANTS lc_table_name TYPE tabname VALUE 'APJ_W_JT_ROOT'. + + SELECT SINGLE lst_ch_user_acct + FROM (lc_table_name) + INTO rv_user + WHERE job_template_name = ms_item-obj_name + AND job_template_version = 'I'. + + IF rv_user IS INITIAL. + SELECT SINGLE lst_ch_user_acct + FROM (lc_table_name) + INTO rv_user + WHERE job_template_name = ms_item-obj_name + AND job_template_version = 'A'. + ENDIF. + + ENDMETHOD. +ENDCLASS. diff --git a/src/objects/aff/zcl_abapgit_object_sajt.clas.xml b/src/objects/aff/zcl_abapgit_object_sajt.clas.xml new file mode 100644 index 000000000..7c093d89d --- /dev/null +++ b/src/objects/aff/zcl_abapgit_object_sajt.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ABAPGIT_OBJECT_SAJT + E + abapGit - SAJT - Application Job Template + 1 + X + X + X + + + +