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( 'CHKV' ).
register( 'DRTY' ). register( 'DRTY' ).
register( 'DTEB' ). register( 'DTEB' ).
register( 'DRAS' ).
register( 'DSFD' ). register( 'DSFD' ).
register( 'EVTB' ). register( 'EVTB' ).
register( 'EEEC' ). 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>