Merge branch 'main' into mbtools/exit_toolbars

This commit is contained in:
Marc Bernard 2025-02-12 20:21:51 +01:00 committed by GitHub
commit f1695246c4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 181 additions and 45 deletions

View File

@ -52,6 +52,7 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION.
register( 'CHKC' ). register( 'CHKC' ).
register( 'CHKO' ). register( 'CHKO' ).
register( 'CHKV' ). register( 'CHKV' ).
register( 'COTA' ).
register( 'DRTY' ). register( 'DRTY' ).
register( 'DTEB' ). register( 'DTEB' ).
register( 'DSFI' ). register( 'DSFI' ).

View File

@ -0,0 +1,46 @@
CLASS zcl_abapgit_object_cota DEFINITION
PUBLIC
INHERITING FROM zcl_abapgit_object_common_aff
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
METHODS zif_abapgit_object~changed_by REDEFINITION.
METHODS zif_abapgit_object~delete REDEFINITION.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_abapgit_object_cota IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA lx_error TYPE REF TO cx_root.
TRY.
SELECT SINGLE changedby FROM ('sapcontargethead') INTO rv_user
WHERE id = ms_item-obj_name AND version = 'I'.
IF rv_user IS INITIAL.
SELECT SINGLE changedby FROM ('sapcontargethead') INTO rv_user
WHERE id = ms_item-obj_name AND version = 'A'.
ENDIF.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~delete.
DATA lx_error TYPE REF TO cx_root.
DATA lv_cota_name TYPE c LENGTH 30.
TRY.
lv_cota_name = ms_item-obj_name.
CALL METHOD ('CL_COTA_FACTORY')=>('DELETE_COTA')
EXPORTING
cota_name = lv_cota_name
korrnum = iv_transport.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_OBJECT_COTA</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - COTA - Communication Target</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -41,14 +41,10 @@ INTERFACE zif_abapgit_sap_package
zcx_abapgit_exception . zcx_abapgit_exception .
METHODS read_description METHODS read_description
RETURNING RETURNING
VALUE(rv_description) TYPE string VALUE(rv_description) TYPE string.
RAISING
zcx_abapgit_exception .
METHODS read_responsible METHODS read_responsible
RETURNING RETURNING
VALUE(rv_responsible) TYPE usnam VALUE(rv_responsible) TYPE usnam.
RAISING
zcx_abapgit_exception .
METHODS create_child METHODS create_child
IMPORTING IMPORTING
!iv_child TYPE devclass !iv_child TYPE devclass

View File

@ -72,7 +72,8 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
DATA: lr_data TYPE REF TO data, DATA: lr_data TYPE REF TO data,
lo_dcl TYPE REF TO object, lo_dcl TYPE REF TO object,
lx_error TYPE REF TO cx_root. lx_error TYPE REF TO cx_root,
lv_abap_language_version TYPE uccheck.
FIELD-SYMBOLS: <lg_data> TYPE any, FIELD-SYMBOLS: <lg_data> TYPE any,
<lg_field> TYPE any. <lg_field> TYPE any.
@ -91,6 +92,12 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
<lg_field> = mo_files->read_string( 'asdcls' ). <lg_field> = mo_files->read_string( 'asdcls' ).
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE <lg_data> TO <lg_field>.
IF sy-subrc = 0.
lv_abap_language_version = <lg_field>.
set_abap_language_version( CHANGING cv_abap_language_version = lv_abap_language_version ).
ENDIF.
TRY. TRY.
tadir_insert( iv_package ). tadir_insert( iv_package ).
@ -98,6 +105,16 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
RECEIVING RECEIVING
ro_handler = lo_dcl. ro_handler = lo_dcl.
TRY.
CALL METHOD lo_dcl->('SAVE')
EXPORTING
iv_dclname = ms_item-obj_name
iv_put_state = 'I'
is_dclsrc = <lg_data>
iv_devclass = iv_package
iv_access_mode = 'INSERT'
iv_abap_language_version = lv_abap_language_version.
CATCH cx_sy_dyn_call_param_not_found.
CALL METHOD lo_dcl->('SAVE') CALL METHOD lo_dcl->('SAVE')
EXPORTING EXPORTING
iv_dclname = ms_item-obj_name iv_dclname = ms_item-obj_name
@ -105,6 +122,7 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
is_dclsrc = <lg_data> is_dclsrc = <lg_data>
iv_devclass = iv_package iv_devclass = iv_package
iv_access_mode = 'INSERT'. iv_access_mode = 'INSERT'.
ENDTRY.
CATCH cx_root INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ). zcx_abapgit_exception=>raise_with_text( lx_error ).
@ -236,7 +254,7 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE <lg_data> TO <lg_field>. ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE <lg_data> TO <lg_field>.
IF sy-subrc = 0. IF sy-subrc = 0.
CLEAR <lg_field>. clear_abap_language_version( CHANGING cv_abap_language_version = <lg_field> ).
ENDIF. ENDIF.
ASSIGN COMPONENT 'SOURCE' OF STRUCTURE <lg_data> TO <lg_field>. ASSIGN COMPONENT 'SOURCE' OF STRUCTURE <lg_data> TO <lg_field>.

View File

@ -280,7 +280,8 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
<lg_data_baseinfo> TYPE any, <lg_data_baseinfo> TYPE any,
<lg_source> TYPE any, <lg_source> TYPE any,
<lg_baseinfo_string> TYPE any, <lg_baseinfo_string> TYPE any,
<lg_baseinfo_ddlname> TYPE any. <lg_baseinfo_ddlname> TYPE any,
<lg_abap_language_version> TYPE any.
TRY. TRY.
CREATE DATA lr_data TYPE ('DDDDLSRCV'). CREATE DATA lr_data TYPE ('DDDDLSRCV').
@ -293,6 +294,11 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
<lg_source> = mo_files->read_string( 'asddls' ). <lg_source> = mo_files->read_string( 'asddls' ).
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE <lg_data> TO <lg_abap_language_version>.
IF sy-subrc = 0.
set_abap_language_version( CHANGING cv_abap_language_version = <lg_abap_language_version> ).
ENDIF.
CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE') CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE')
RECEIVING RECEIVING
handler = lo_ddl. handler = lo_ddl.
@ -310,12 +316,22 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
<lg_baseinfo_ddlname> = ms_item-obj_name. <lg_baseinfo_ddlname> = ms_item-obj_name.
TRY.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE')
EXPORTING
name = ms_item-obj_name
put_state = 'N'
ddddlsrcv_wa = <lg_data>
baseinfo_string = <lg_data_baseinfo>
save_language_version = abap_true.
CATCH cx_sy_dyn_call_param_not_found.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE') CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE')
EXPORTING EXPORTING
name = ms_item-obj_name name = ms_item-obj_name
put_state = 'N' put_state = 'N'
ddddlsrcv_wa = <lg_data> ddddlsrcv_wa = <lg_data>
baseinfo_string = <lg_data_baseinfo>. baseinfo_string = <lg_data_baseinfo>.
ENDTRY.
ELSE. ELSE.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE') CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE')
EXPORTING EXPORTING
@ -453,7 +469,8 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
<lt_data_baseinfo> TYPE ANY TABLE, <lt_data_baseinfo> TYPE ANY TABLE,
<lg_data_baseinfo> TYPE any, <lg_data_baseinfo> TYPE any,
<lg_ddlname> TYPE any, <lg_ddlname> TYPE any,
<lg_as4local> TYPE any. <lg_as4local> TYPE any,
<lg_abap_language_version> TYPE any.
TRY. TRY.
@ -506,12 +523,16 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
zcx_abapgit_exception=>raise_with_text( lx_error ). zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY. ENDTRY.
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE <lg_data> TO <lg_abap_language_version>.
IF sy-subrc = 0.
clear_abap_language_version( CHANGING cv_abap_language_version = <lg_abap_language_version> ).
ENDIF.
APPEND 'AS4USER' TO lt_clr_comps. APPEND 'AS4USER' TO lt_clr_comps.
APPEND 'AS4DATE' TO lt_clr_comps. APPEND 'AS4DATE' TO lt_clr_comps.
APPEND 'AS4TIME' TO lt_clr_comps. APPEND 'AS4TIME' TO lt_clr_comps.
APPEND 'ACTFLAG' TO lt_clr_comps. APPEND 'ACTFLAG' TO lt_clr_comps.
APPEND 'CHGFLAG' TO lt_clr_comps. APPEND 'CHGFLAG' TO lt_clr_comps.
APPEND 'ABAP_LANGUAGE_VERSION' TO lt_clr_comps.
APPEND 'ABAP_LANGU_VERSION' TO lt_clr_comps. APPEND 'ABAP_LANGU_VERSION' TO lt_clr_comps.
LOOP AT lt_clr_comps ASSIGNING <lv_comp>. LOOP AT lt_clr_comps ASSIGNING <lv_comp>.

View File

@ -80,8 +80,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
clear_field( EXPORTING iv_fieldname = 'ABAP_LANGUAGE_VERSION' clear_field( EXPORTING iv_fieldname = 'ABAP_LANGUAGE_VERSION'
CHANGING cg_metadata = <lg_metadata> ). CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'ABAP_LANGU_VERSION'
CHANGING cg_metadata = <lg_metadata> ).
ENDMETHOD. ENDMETHOD.
@ -184,7 +182,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
<lg_version> TYPE data, <lg_version> TYPE data,
<lg_package> TYPE data, <lg_package> TYPE data,
<lg_changed_by> TYPE syuname, <lg_changed_by> TYPE syuname,
<lg_changed_at> TYPE xsddatetime_z. <lg_changed_at> TYPE xsddatetime_z,
<lg_abap_language_version> TYPE data.
TRY. TRY.
CREATE DATA lr_data CREATE DATA lr_data
@ -197,6 +196,11 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
CHANGING CHANGING
cg_data = <lg_data> ). cg_data = <lg_data> ).
ASSIGN COMPONENT 'METADATA-ABAP_LANGU_VERSION' OF STRUCTURE <lg_data> TO <lg_abap_language_version>.
IF sy-subrc = 0.
set_abap_language_version( CHANGING cv_abap_language_version = <lg_abap_language_version> ).
ENDIF.
ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <lg_data> TO <lg_source>. ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <lg_data> TO <lg_source>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
@ -367,6 +371,11 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
li_data_model->get_data( IMPORTING p_data = <lg_data> ). li_data_model->get_data( IMPORTING p_data = <lg_data> ).
ASSIGN COMPONENT 'METADATA-ABAP_LANGU_VERSION' OF STRUCTURE <lg_data> TO <lg_field>.
IF sy-subrc = 0.
clear_abap_language_version( CHANGING cv_abap_language_version = <lg_field> ).
ENDIF.
clear_fields( CHANGING cg_data = <lg_data> ). clear_fields( CHANGING cg_data = <lg_data> ).
ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <lg_data> TO <lg_field>. ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <lg_data> TO <lg_field>.

View File

@ -8,6 +8,9 @@ CLASS zcl_abapgit_object_wdcc DEFINITION
INTERFACES zif_abapgit_object . INTERFACES zif_abapgit_object .
PROTECTED SECTION. PROTECTED SECTION.
METHODS after_import
RAISING
zcx_abapgit_exception .
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
@ -230,10 +233,33 @@ CLASS zcl_abapgit_object_wdcc IMPLEMENTATION.
tadir_insert( iv_package ). tadir_insert( iv_package ).
after_import( ).
corr_insert( iv_package ). corr_insert( iv_package ).
ENDMETHOD. ENDMETHOD.
METHOD after_import.
DATA: lt_cts_object_entry TYPE STANDARD TABLE OF e071 WITH DEFAULT KEY,
ls_cts_object_entry LIKE LINE OF lt_cts_object_entry,
lt_cts_key TYPE STANDARD TABLE OF e071k WITH DEFAULT KEY.
ls_cts_object_entry-pgmid = 'R3TR'.
ls_cts_object_entry-object = ms_item-obj_type.
ls_cts_object_entry-obj_name = ms_item-obj_name.
INSERT ls_cts_object_entry INTO TABLE lt_cts_object_entry.
CALL FUNCTION 'WDR_CFG_AFTER_IMPORT'
EXPORTING
iv_tarclient = sy-mandt
iv_is_upgrade = abap_false
TABLES
tt_e071 = lt_cts_object_entry
tt_e071k = lt_cts_key.
ENDMETHOD.
METHOD zif_abapgit_object~exists. METHOD zif_abapgit_object~exists.

View File

@ -528,7 +528,10 @@ CLASS zcl_abapgit_gui_page_patch IMPLEMENTATION.
lv_patched TYPE abap_bool, lv_patched TYPE abap_bool,
lv_is_patch_possible TYPE abap_bool. lv_is_patch_possible TYPE abap_bool.
" In case an object is falsely detected as changed, filename is empty and there's no diff object
IF iv_filename IS NOT INITIAL.
lv_patched = get_diff_object( iv_filename )->is_line_patched( iv_index ). lv_patched = get_diff_object( iv_filename )->is_line_patched( iv_index ).
ENDIF.
lv_is_patch_possible = is_patch_line_possible( is_diff_line ). lv_is_patch_possible = is_patch_line_possible( is_diff_line ).