mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +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
|
||||
!it_where TYPE string_table
|
||||
RETURNING
|
||||
VALUE(rr_data) TYPE REF TO data .
|
||||
|
||||
VALUE(rr_data) TYPE REF TO data
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
|
|
@ -8,7 +8,9 @@ CLASS zcl_abapgit_data_utils DEFINITION
|
|||
IMPORTING
|
||||
!iv_name TYPE tadir-obj_name
|
||||
RETURNING
|
||||
VALUE(rr_data) TYPE REF TO data .
|
||||
VALUE(rr_data) TYPE REF TO data
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
CLASS-METHODS build_filename
|
||||
IMPORTING
|
||||
!is_config TYPE zif_abapgit_data_config=>ty_config
|
||||
|
@ -34,13 +36,29 @@ CLASS zcl_abapgit_data_utils IMPLEMENTATION.
|
|||
|
||||
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.
|
||||
|
||||
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
|
||||
lo_table = cl_abap_tabledescr=>create( lo_structure ).
|
||||
CREATE DATA rr_data TYPE HANDLE lo_table.
|
||||
lo_table = cl_abap_tabledescr=>create( lo_data ).
|
||||
CREATE DATA rr_data TYPE HANDLE lo_table.
|
||||
CATCH cx_root.
|
||||
zcx_abapgit_exception=>raise( |Error creating internal table for data serialization| ).
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -35,12 +35,14 @@ CLASS zcl_abapgit_serialize DEFINITION
|
|||
zcx_abapgit_exception .
|
||||
PROTECTED SECTION.
|
||||
|
||||
TYPES: BEGIN OF ty_unsupported_count,
|
||||
obj_type TYPE tadir-object,
|
||||
obj_name TYPE tadir-obj_name,
|
||||
count TYPE i,
|
||||
END OF ty_unsupported_count,
|
||||
ty_unsupported_count_tt TYPE HASHED TABLE OF ty_unsupported_count WITH UNIQUE KEY obj_type.
|
||||
TYPES:
|
||||
BEGIN OF ty_unsupported_count,
|
||||
obj_type TYPE tadir-object,
|
||||
obj_name TYPE tadir-obj_name,
|
||||
count TYPE i,
|
||||
END OF ty_unsupported_count .
|
||||
TYPES:
|
||||
ty_unsupported_count_tt TYPE HASHED TABLE OF ty_unsupported_count WITH UNIQUE KEY obj_type .
|
||||
TYPES:
|
||||
ty_char32 TYPE c LENGTH 32 .
|
||||
|
||||
|
@ -62,6 +64,7 @@ CLASS zcl_abapgit_serialize DEFINITION
|
|||
METHODS add_data
|
||||
IMPORTING
|
||||
!ii_data_config TYPE REF TO zif_abapgit_data_config
|
||||
!io_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit
|
||||
CHANGING
|
||||
!ct_files TYPE zif_abapgit_definitions=>ty_files_item_tt
|
||||
RAISING
|
||||
|
@ -110,13 +113,13 @@ CLASS zcl_abapgit_serialize DEFINITION
|
|||
zcx_abapgit_exception .
|
||||
METHODS filter_unsupported_objects
|
||||
CHANGING
|
||||
!ct_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt.
|
||||
!ct_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt .
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD add_apack.
|
||||
|
@ -150,12 +153,32 @@ CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
|
|||
LOOP AT lt_files INTO ls_file.
|
||||
APPEND INITIAL LINE TO ct_files ASSIGNING <ls_return>.
|
||||
<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.
|
||||
|
||||
lt_files = zcl_abapgit_data_factory=>get_serializer( )->serialize( ii_data_config ).
|
||||
LOOP AT lt_files INTO ls_file.
|
||||
APPEND INITIAL LINE TO ct_files ASSIGNING <ls_return>.
|
||||
<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.
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -319,6 +342,7 @@ CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
|
|||
add_data(
|
||||
EXPORTING
|
||||
ii_data_config = ii_data_config
|
||||
io_dot_abapgit = io_dot_abapgit
|
||||
CHANGING
|
||||
ct_files = rt_files ).
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user