mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
TABU: No error when table not yet exists (#5964)
This commit is contained in:
parent
0a6248e922
commit
0ea950c938
|
@ -116,14 +116,20 @@ CLASS ZCL_ABAPGIT_DATA_SERIALIZER IMPLEMENTATION.
|
||||||
ASSERT ls_config-type = zif_abapgit_data_config=>c_data_type-tabu. " todo
|
ASSERT ls_config-type = zif_abapgit_data_config=>c_data_type-tabu. " todo
|
||||||
ASSERT ls_config-name IS NOT INITIAL.
|
ASSERT ls_config-name IS NOT INITIAL.
|
||||||
|
|
||||||
lr_data = read_database_table(
|
TRY.
|
||||||
iv_name = ls_config-name
|
lr_data = read_database_table(
|
||||||
it_where = ls_config-where ).
|
iv_name = ls_config-name
|
||||||
|
it_where = ls_config-where ).
|
||||||
|
|
||||||
|
ls_file-data = convert_itab_to_json(
|
||||||
|
ir_data = lr_data
|
||||||
|
iv_skip_initial = ls_config-skip_initial ).
|
||||||
|
|
||||||
|
CATCH zcx_abapgit_exception.
|
||||||
|
" DB table might not yet exist
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
ls_file-filename = zcl_abapgit_data_utils=>build_filename( ls_config ).
|
ls_file-filename = zcl_abapgit_data_utils=>build_filename( ls_config ).
|
||||||
ls_file-data = convert_itab_to_json(
|
|
||||||
ir_data = lr_data
|
|
||||||
iv_skip_initial = ls_config-skip_initial ).
|
|
||||||
ls_file-sha1 = zcl_abapgit_hash=>sha1_blob( ls_file-data ).
|
ls_file-sha1 = zcl_abapgit_hash=>sha1_blob( ls_file-data ).
|
||||||
APPEND ls_file TO rt_files.
|
APPEND ls_file TO rt_files.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
|
@ -57,8 +57,8 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
mi_cut->serialize( mi_config ).
|
mi_cut->serialize( mi_config ).
|
||||||
cl_abap_unit_assert=>fail( ).
|
|
||||||
CATCH zcx_abapgit_exception.
|
CATCH zcx_abapgit_exception.
|
||||||
|
cl_abap_unit_assert=>fail( ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -77,8 +77,8 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
mi_cut->serialize( mi_config ).
|
mi_cut->serialize( mi_config ).
|
||||||
cl_abap_unit_assert=>fail( ).
|
|
||||||
CATCH zcx_abapgit_exception.
|
CATCH zcx_abapgit_exception.
|
||||||
|
cl_abap_unit_assert=>fail( ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -69,7 +69,16 @@ CLASS zcl_abapgit_data_utils IMPLEMENTATION.
|
||||||
|
|
||||||
" Get primary key to ensure unique entries
|
" Get primary key to ensure unique entries
|
||||||
IF lo_data->is_ddic_type( ) = abap_true.
|
IF lo_data->is_ddic_type( ) = abap_true.
|
||||||
lt_fields = lo_data->get_ddic_field_list( ).
|
lo_data->get_ddic_field_list(
|
||||||
|
RECEIVING
|
||||||
|
p_field_list = lt_fields
|
||||||
|
EXCEPTIONS
|
||||||
|
not_found = 1
|
||||||
|
no_ddic_type = 2
|
||||||
|
OTHERS = 3 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Table { iv_name } not found for data serialization| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_keys ASSIGNING <ls_key>.
|
APPEND INITIAL LINE TO lt_keys ASSIGNING <ls_key>.
|
||||||
<ls_key>-access_kind = cl_abap_tabledescr=>tablekind_sorted.
|
<ls_key>-access_kind = cl_abap_tabledescr=>tablekind_sorted.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user