From 668da207aac4b0a0eba43c0ffc2e6f40e7ad43ce Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:24:38 +0100 Subject: [PATCH] IDOC: Fix MOVE_TO_LIT_NOTALLOWED_NODATA (#6852) --- .../tabl/zcl_abapgit_object_tabl.clas.abap | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/objects/tabl/zcl_abapgit_object_tabl.clas.abap b/src/objects/tabl/zcl_abapgit_object_tabl.clas.abap index 852f199d4..239162711 100644 --- a/src/objects/tabl/zcl_abapgit_object_tabl.clas.abap +++ b/src/objects/tabl/zcl_abapgit_object_tabl.clas.abap @@ -233,12 +233,12 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. LOOP AT is_internal-segment_definitions ASSIGNING . ls_segment_definition = . - -segmentheader-presp = sy-uname. - -segmentheader-pwork = sy-uname. + ls_segment_definition-segmentheader-presp = sy-uname. + ls_segment_definition-segmentheader-pwork = sy-uname. CALL FUNCTION 'SEGMENT_READ' EXPORTING - segmenttyp = -segmentdefinition-segtyp + segmenttyp = ls_segment_definition-segmentdefinition-segtyp IMPORTING result = lv_result EXCEPTIONS @@ -246,11 +246,11 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. IF sy-subrc <> 0 OR lv_result <> 0. CALL FUNCTION 'SEGMENT_CREATE' IMPORTING - segmentdefinition = -segmentdefinition + segmentdefinition = ls_segment_definition-segmentdefinition TABLES - segmentstructure = -segmentstructures + segmentstructure = ls_segment_definition-segmentstructures CHANGING - segmentheader = -segmentheader + segmentheader = ls_segment_definition-segmentheader devclass = lv_package EXCEPTIONS OTHERS = 1. @@ -258,16 +258,16 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. CALL FUNCTION 'SEGMENT_MODIFY' CHANGING - segmentheader = -segmentheader + segmentheader = ls_segment_definition-segmentheader devclass = lv_package EXCEPTIONS OTHERS = 1. IF sy-subrc = 0. CALL FUNCTION 'SEGMENTDEFINITION_MODIFY' TABLES - segmentstructure = -segmentstructures + segmentstructure = ls_segment_definition-segmentstructures CHANGING - segmentdefinition = -segmentdefinition + segmentdefinition = ls_segment_definition-segmentdefinition EXCEPTIONS OTHERS = 1. ENDIF. @@ -277,7 +277,8 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. zcx_abapgit_exception=>raise_t100( ). ENDIF. - IF ls_segment_definition-segmentdefinition-closed = abap_true. + " Check status of segment as stored in repo (field-symbol) + IF -segmentdefinition-closed = abap_true. IF lv_transport IS NOT INITIAL. CALL FUNCTION 'SEGMENTDEFINITION_CLOSE' EXPORTING @@ -295,13 +296,13 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. SELECT SINGLE * FROM edisdef INTO ls_edisdef WHERE segtyp = ls_segment_definition-segmentdefinition-segtyp AND version = ls_segment_definition-segmentdefinition-version. - ls_edisdef-released = ls_segment_definition-segmentdefinition-released. - ls_edisdef-applrel = ls_segment_definition-segmentdefinition-applrel. - ls_edisdef-closed = ls_segment_definition-segmentdefinition-closed. + ls_edisdef-released = -segmentdefinition-released. + ls_edisdef-applrel = -segmentdefinition-applrel. + ls_edisdef-closed = -segmentdefinition-closed. UPDATE edisdef FROM ls_edisdef. IF sy-subrc <> 0. zcx_abapgit_exception=>raise( |Error updating IDOC segment { - -segmentdefinition-segtyp }| ). + ls_segment_definition-segmentdefinition-segtyp }| ). ENDIF. ENDIF. ENDLOOP.