abapGit/src/objects/zcl_abapgit_object_g4bs.clas.abap
2023-04-20 16:20:01 +02:00

166 lines
3.6 KiB
ABAP

CLASS zcl_abapgit_object_g4bs DEFINITION
PUBLIC
INHERITING FROM zcl_abapgit_objects_super
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES zif_abapgit_object .
PROTECTED SECTION.
PRIVATE SECTION.
METHODS get_generic
RETURNING
VALUE(ro_generic) TYPE REF TO zcl_abapgit_objects_generic
RAISING
zcx_abapgit_exception .
METHODS get_field_rules
RETURNING
VALUE(ro_result) TYPE REF TO zif_abapgit_field_rules.
ENDCLASS.
CLASS zcl_abapgit_object_g4bs IMPLEMENTATION.
METHOD get_field_rules.
ro_result = zcl_abapgit_field_rules=>create( ).
ro_result->add(
iv_table = '/IWBEP/I_V4_MSRV'
iv_field = 'CREATED_BY'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-user
)->add(
iv_table = '/IWBEP/I_V4_MSRV'
iv_field = 'CHANGED_BY'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-user
)->add(
iv_table = '/IWBEP/I_V4_MSRV'
iv_field = 'CREATED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp
)->add(
iv_table = '/IWBEP/I_V4_MSRV'
iv_field = 'CHANGED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp
)->add(
iv_table = '/IWBEP/I_V4_MSRT'
iv_field = 'CREATED_BY'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-user
)->add(
iv_table = '/IWBEP/I_V4_MSRT'
iv_field = 'CHANGED_BY'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-user
)->add(
iv_table = '/IWBEP/I_V4_MSRT'
iv_field = 'CREATED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp
)->add(
iv_table = '/IWBEP/I_V4_MSRT'
iv_field = 'CHANGED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
ENDMETHOD.
METHOD get_generic.
CREATE OBJECT ro_generic
EXPORTING
io_field_rules = get_field_rules( )
is_item = ms_item
iv_language = mv_language.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
DATA lv_created TYPE sy-uname.
DATA lv_changed TYPE sy-uname.
" Get entry with highest version
SELECT created_by changed_by INTO (lv_created, lv_changed) FROM ('/IWBEP/I_V4_MSRV')
WHERE service_id = ms_item-obj_name ORDER BY PRIMARY KEY.
rv_user = lv_changed.
IF lv_changed IS INITIAL.
rv_user = lv_created.
ENDIF.
ENDSELECT.
ENDMETHOD.
METHOD zif_abapgit_object~delete.
get_generic( )->delete( iv_package ).
ENDMETHOD.
METHOD zif_abapgit_object~deserialize.
get_generic( )->deserialize(
iv_package = iv_package
io_xml = io_xml ).
ENDMETHOD.
METHOD zif_abapgit_object~exists.
rv_bool = get_generic( )->exists( ).
ENDMETHOD.
METHOD zif_abapgit_object~get_comparator.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_object~get_deserialize_steps.
APPEND zif_abapgit_object=>gc_step_id-abap TO rt_steps.
ENDMETHOD.
METHOD zif_abapgit_object~get_metadata.
rs_metadata = get_metadata( ).
ENDMETHOD.
METHOD zif_abapgit_object~is_active.
rv_active = is_active( ).
ENDMETHOD.
METHOD zif_abapgit_object~is_locked.
rv_is_locked = abap_false.
ENDMETHOD.
METHOD zif_abapgit_object~jump.
ENDMETHOD.
METHOD zif_abapgit_object~serialize.
get_generic( )->serialize( io_xml ).
ENDMETHOD.
METHOD zif_abapgit_object~get_deserialize_order.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_object~map_filename_to_object.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_object~map_object_to_filename.
RETURN.
ENDMETHOD.
ENDCLASS.