Enable ABAP Language Version support for DDLS

This commit is contained in:
Fabian Lupa 2025-01-17 13:53:18 +00:00
parent fd38cd873c
commit dc5e87c786

View File

@ -280,7 +280,8 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
<lg_data_baseinfo> TYPE any,
<lg_source> TYPE any,
<lg_baseinfo_string> TYPE any,
<lg_baseinfo_ddlname> TYPE any.
<lg_baseinfo_ddlname> TYPE any,
<lg_abap_language_version> TYPE any.
TRY.
CREATE DATA lr_data TYPE ('DDDDLSRCV').
@ -293,6 +294,11 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
ASSERT sy-subrc = 0.
<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')
RECEIVING
handler = lo_ddl.
@ -310,12 +316,22 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
ASSERT sy-subrc = 0.
<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')
EXPORTING
name = ms_item-obj_name
put_state = 'N'
ddddlsrcv_wa = <lg_data>
baseinfo_string = <lg_data_baseinfo>.
ENDTRY.
ELSE.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE')
EXPORTING
@ -453,7 +469,8 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
<lt_data_baseinfo> TYPE ANY TABLE,
<lg_data_baseinfo> TYPE any,
<lg_ddlname> TYPE any,
<lg_as4local> TYPE any.
<lg_as4local> TYPE any,
<lg_abap_language_version> TYPE any.
TRY.
@ -506,12 +523,16 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
zcx_abapgit_exception=>raise_with_text( lx_error ).
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 'AS4DATE' TO lt_clr_comps.
APPEND 'AS4TIME' TO lt_clr_comps.
APPEND 'ACTFLAG' 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.
LOOP AT lt_clr_comps ASSIGNING <lv_comp>.