From f42482843e641980d9a0049b9058d9d5527eb18a Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 15 Sep 2023 08:51:20 -0400 Subject: [PATCH] ECTD: Fix diff after import based on sort order (#6494) --- .../zcl_abapgit_object_ecatt_super.clas.abap | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/objects/zcl_abapgit_object_ecatt_super.clas.abap b/src/objects/zcl_abapgit_object_ecatt_super.clas.abap index da8d68010..b614d8a94 100644 --- a/src/objects/zcl_abapgit_object_ecatt_super.clas.abap +++ b/src/objects/zcl_abapgit_object_ecatt_super.clas.abap @@ -120,6 +120,12 @@ CLASS zcl_abapgit_object_ecatt_super DEFINITION CHANGING ci_document TYPE REF TO if_ixml_document, + clear_element_collection + IMPORTING + iv_name TYPE csequence + CHANGING + ci_document TYPE REF TO if_ixml_document, + serialize_versions IMPORTING it_version_info TYPE etversinfo_tabtype @@ -193,6 +199,30 @@ CLASS zcl_abapgit_object_ecatt_super IMPLEMENTATION. clear_element( EXPORTING iv_name = |ETVAR_EXT| CHANGING ci_document = ci_document ). + " SORTLNR is part of ETPAR_VARI and causing diffs + " We can clear it since it's automatically filled during deserialize + clear_element_collection( EXPORTING iv_name = |SORTLNR| + CHANGING ci_document = ci_document ). + + ENDMETHOD. + + + METHOD clear_element_collection. + + DATA: + lo_node_collection TYPE REF TO if_ixml_node_collection, + lo_node TYPE REF TO if_ixml_node, + lv_index TYPE i. + + lo_node_collection = ci_document->get_elements_by_tag_name( iv_name ). + + lv_index = 0. + WHILE lv_index < lo_node_collection->get_length( ). + lo_node = lo_node_collection->get_item( lv_index ). + lo_node->set_value( '' ). + lv_index = lv_index + 1. + ENDWHILE. + ENDMETHOD.