mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 13:03:01 +08:00
Show "data" by object in repo view (#4689)
* Show "data" by object in repo view Continuing on #3441 - "data" is now shown as `TABU` `<table>` in the repo view * Remove get_item * Add cmnt * Update src/objects/core/zcl_abapgit_serialize.clas.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> * Update zcl_abapgit_serialize.clas.abap Co-authored-by: Lars Hvam <larshp@hotmail.com> Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
This commit is contained in:
parent
631d0fdccb
commit
eb8812eaac
|
@ -38,8 +38,9 @@ CLASS zcl_abapgit_data_deserializer DEFINITION
|
||||||
!iv_name TYPE tadir-obj_name
|
!iv_name TYPE tadir-obj_name
|
||||||
!it_where TYPE string_table
|
!it_where TYPE string_table
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rr_data) TYPE REF TO data .
|
VALUE(rr_data) TYPE REF TO data
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,9 @@ CLASS zcl_abapgit_data_utils DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_name TYPE tadir-obj_name
|
!iv_name TYPE tadir-obj_name
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rr_data) TYPE REF TO data .
|
VALUE(rr_data) TYPE REF TO data
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
CLASS-METHODS build_filename
|
CLASS-METHODS build_filename
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_config TYPE zif_abapgit_data_config=>ty_config
|
!is_config TYPE zif_abapgit_data_config=>ty_config
|
||||||
|
@ -34,13 +36,29 @@ CLASS zcl_abapgit_data_utils IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD build_table_itab.
|
METHOD build_table_itab.
|
||||||
|
|
||||||
DATA lo_structure TYPE REF TO cl_abap_structdescr.
|
DATA lo_type TYPE REF TO cl_abap_typedescr.
|
||||||
|
DATA lo_data TYPE REF TO cl_abap_datadescr.
|
||||||
DATA lo_table TYPE REF TO cl_abap_tabledescr.
|
DATA lo_table TYPE REF TO cl_abap_tabledescr.
|
||||||
|
|
||||||
lo_structure ?= cl_abap_structdescr=>describe_by_name( iv_name ).
|
cl_abap_structdescr=>describe_by_name(
|
||||||
|
EXPORTING
|
||||||
|
p_name = iv_name
|
||||||
|
RECEIVING
|
||||||
|
p_descr_ref = lo_type
|
||||||
|
EXCEPTIONS
|
||||||
|
type_not_found = 1 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Table { iv_name } not found for data serialization| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lo_data ?= lo_type.
|
||||||
* todo, also add unique key corresponding to the db table, so duplicates cannot be returned
|
* todo, also add unique key corresponding to the db table, so duplicates cannot be returned
|
||||||
lo_table = cl_abap_tabledescr=>create( lo_structure ).
|
lo_table = cl_abap_tabledescr=>create( lo_data ).
|
||||||
CREATE DATA rr_data TYPE HANDLE lo_table.
|
CREATE DATA rr_data TYPE HANDLE lo_table.
|
||||||
|
CATCH cx_root.
|
||||||
|
zcx_abapgit_exception=>raise( |Error creating internal table for data serialization| ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -35,12 +35,14 @@ CLASS zcl_abapgit_serialize DEFINITION
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_unsupported_count,
|
TYPES:
|
||||||
|
BEGIN OF ty_unsupported_count,
|
||||||
obj_type TYPE tadir-object,
|
obj_type TYPE tadir-object,
|
||||||
obj_name TYPE tadir-obj_name,
|
obj_name TYPE tadir-obj_name,
|
||||||
count TYPE i,
|
count TYPE i,
|
||||||
END OF ty_unsupported_count,
|
END OF ty_unsupported_count .
|
||||||
ty_unsupported_count_tt TYPE HASHED TABLE OF ty_unsupported_count WITH UNIQUE KEY obj_type.
|
TYPES:
|
||||||
|
ty_unsupported_count_tt TYPE HASHED TABLE OF ty_unsupported_count WITH UNIQUE KEY obj_type .
|
||||||
TYPES:
|
TYPES:
|
||||||
ty_char32 TYPE c LENGTH 32 .
|
ty_char32 TYPE c LENGTH 32 .
|
||||||
|
|
||||||
|
@ -62,6 +64,7 @@ CLASS zcl_abapgit_serialize DEFINITION
|
||||||
METHODS add_data
|
METHODS add_data
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_data_config TYPE REF TO zif_abapgit_data_config
|
!ii_data_config TYPE REF TO zif_abapgit_data_config
|
||||||
|
!io_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_files TYPE zif_abapgit_definitions=>ty_files_item_tt
|
!ct_files TYPE zif_abapgit_definitions=>ty_files_item_tt
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -110,13 +113,13 @@ CLASS zcl_abapgit_serialize DEFINITION
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS filter_unsupported_objects
|
METHODS filter_unsupported_objects
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt.
|
!ct_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt .
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
|
CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD add_apack.
|
METHOD add_apack.
|
||||||
|
@ -150,12 +153,32 @@ CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
|
||||||
LOOP AT lt_files INTO ls_file.
|
LOOP AT lt_files INTO ls_file.
|
||||||
APPEND INITIAL LINE TO ct_files ASSIGNING <ls_return>.
|
APPEND INITIAL LINE TO ct_files ASSIGNING <ls_return>.
|
||||||
<ls_return>-file = ls_file.
|
<ls_return>-file = ls_file.
|
||||||
|
|
||||||
|
" Derive object from config filename (namespace + escaping)
|
||||||
|
zcl_abapgit_file_status=>identify_object(
|
||||||
|
EXPORTING
|
||||||
|
iv_filename = <ls_return>-file-filename
|
||||||
|
iv_path = <ls_return>-file-path
|
||||||
|
io_dot = io_dot_abapgit
|
||||||
|
IMPORTING
|
||||||
|
es_item = <ls_return>-item ).
|
||||||
|
|
||||||
|
<ls_return>-item-obj_type = 'TABU'.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
lt_files = zcl_abapgit_data_factory=>get_serializer( )->serialize( ii_data_config ).
|
lt_files = zcl_abapgit_data_factory=>get_serializer( )->serialize( ii_data_config ).
|
||||||
LOOP AT lt_files INTO ls_file.
|
LOOP AT lt_files INTO ls_file.
|
||||||
APPEND INITIAL LINE TO ct_files ASSIGNING <ls_return>.
|
APPEND INITIAL LINE TO ct_files ASSIGNING <ls_return>.
|
||||||
<ls_return>-file = ls_file.
|
<ls_return>-file = ls_file.
|
||||||
|
|
||||||
|
" Derive object from data filename (namespace + escaping)
|
||||||
|
zcl_abapgit_file_status=>identify_object(
|
||||||
|
EXPORTING
|
||||||
|
iv_filename = <ls_return>-file-filename
|
||||||
|
iv_path = <ls_return>-file-path
|
||||||
|
io_dot = io_dot_abapgit
|
||||||
|
IMPORTING
|
||||||
|
es_item = <ls_return>-item ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -319,6 +342,7 @@ CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
|
||||||
add_data(
|
add_data(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
ii_data_config = ii_data_config
|
ii_data_config = ii_data_config
|
||||||
|
io_dot_abapgit = io_dot_abapgit
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_files = rt_files ).
|
ct_files = rt_files ).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user