DRAS: CDS Aspect (#6953)

Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
fvalves 2024-07-23 10:23:18 +02:00 committed by GitHub
parent b9ac1265f4
commit a7e984151b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 85 additions and 0 deletions

View File

@ -53,6 +53,7 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION.
register( 'CHKV' ).
register( 'DRTY' ).
register( 'DTEB' ).
register( 'DRAS' ).
register( 'DSFD' ).
register( 'EVTB' ).
register( 'EEEC' ).

View File

@ -0,0 +1,68 @@
CLASS zcl_abapgit_object_dras 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~get_deserialize_steps REDEFINITION.
PROTECTED SECTION.
METHODS get_additional_extensions REDEFINITION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_abapgit_object_dras IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA: lo_dras_handler TYPE REF TO object,
lo_dras_source_container TYPE REF TO object,
lv_object_key TYPE seu_objkey,
lv_exists TYPE abap_bool,
lx_error TYPE REF TO cx_root.
TRY.
lv_object_key = ms_item-obj_name.
CALL METHOD ('CL_DRAS_AFF_OBJECT_HANDLER')=>('GET_DDIC_HANDLER')
EXPORTING
object_key = lv_object_key
RECEIVING
handler = lo_dras_handler.
CALL METHOD lo_dras_handler->('CHECK_EXISTENCE')
EXPORTING
iv_as4local = 'A'
RECEIVING
rv_exists = lv_exists.
IF lv_exists = abap_true.
CALL METHOD lo_dras_handler->('GET_SOURCE_CONTAINER')
EXPORTING
iv_as4local = 'A'
RECEIVING
ro_result = lo_dras_source_container.
CALL METHOD lo_dras_source_container->('GET_AS4USER')
RECEIVING
rv_as4user = rv_user.
ENDIF.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~get_deserialize_steps.
APPEND zif_abapgit_object=>gc_step_id-ddic TO rt_steps.
ENDMETHOD.
METHOD get_additional_extensions.
DATA ls_additional_extension LIKE LINE OF rv_additional_extensions.
ls_additional_extension-extension = 'acds'.
CALL METHOD ('CL_CDS_AFF_FILE_NAME_MAPPER')=>for_cds
RECEIVING
result = ls_additional_extension-file_name_mapper.
APPEND ls_additional_extension TO rv_additional_extensions.
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_DRAS</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - DRAS - CDS Aspect</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>