in src/zgoog_cl_archive_utility.clas.abap [0:0]
METHOD write_archive_filedata_to_bq.
DATA: lv_handle TYPE syst-tabix.
DATA: lv_end_of_file TYPE flag.
FIELD-SYMBOLS: <ls_obj_data> TYPE astablebuffer.
DATA: lt_obj_data TYPE as_t_tablebuffer.
archive_open_for_read(
EXPORTING
iv_object = iv_object
IMPORTING
ev_handle = lv_handle
ev_sy_subrc = ev_error_code
et_return = et_return
CHANGING
ct_files_read_sequential = ct_range_arkey ).
IF ev_error_code <> 0.
RETURN.
ENDIF.
DO.
archive_get_next_object(
EXPORTING
iv_handle = lv_handle
IMPORTING
ev_sy_subrc = ev_error_code
et_return = et_return
ev_end_of_file = lv_end_of_file ).
IF lv_end_of_file IS NOT INITIAL.
EXIT.
ENDIF.
IF ev_error_code <> 0.
EXIT.
ENDIF.
CLEAR lt_obj_data.
archive_read_object_by_handle(
EXPORTING
iv_handle = lv_handle
IMPORTING
ev_sy_subrc = ev_error_code
et_return = et_return
CHANGING
ct_obj_data = lt_obj_data ).
LOOP AT lt_obj_data ASSIGNING <ls_obj_data>.
write_tabledata_to_bq(
EXPORTING
iv_mass_tr_key = iv_mass_tr_key
is_table_data = <ls_obj_data>
IMPORTING
ev_error_code = ev_error_code
et_return = et_return ).
IF ev_error_code <> 0.
EXIT.
ENDIF.
ENDLOOP.
ENDDO.
archive_close_file(
iv_handle = lv_handle ).