in src/zgoog_cl_badi_arc_write_to_bq.clas.abap [0:0]
METHOD if_ex_arc_del_appl_tabs~on_obj_del_finished.
DATA: lv_tr_key TYPE zgoog_arch_bq-bq_tr_key.
DATA: lv_sy_subrc TYPE syst_subrc.
DATA: lt_return TYPE bapiret2_t.
FIELD-SYMBOLS: <ls_obj_data> TYPE astablebuffer.
FIELD-SYMBOLS: <ls_bapiret2> TYPE bapiret2.
IF iv_testmode IS NOT INITIAL.
RETURN.
ENDIF.
SELECT SINGLE bq_tr_key
FROM zgoog_arch_bq
INTO lv_tr_key
WHERE archiving_object = iv_archiving_object
AND active = abap_true.
IF lv_tr_key IS INITIAL.
RETURN.
ENDIF.
DATA: lt_obj_data TYPE as_t_tablebuffer.
zgoog_cl_archive_utility=>archive_read_object_by_handle(
EXPORTING
iv_handle = iv_handle
CHANGING
ct_obj_data = lt_obj_data ).
LOOP AT lt_obj_data ASSIGNING <ls_obj_data>.
zgoog_cl_archive_utility=>write_tabledata_to_bq(
EXPORTING
iv_mass_tr_key = lv_tr_key
is_table_data = <ls_obj_data>
IMPORTING
ev_error_code = lv_sy_subrc
et_return = lt_return ).
IF lv_sy_subrc > 0.
LOOP AT lt_return ASSIGNING <ls_bapiret2>
WHERE type CA 'AEX'.
EXIT.
ENDLOOP.
IF <ls_bapiret2> IS ASSIGNED.
MESSAGE ID <ls_bapiret2>-id TYPE <ls_bapiret2>-type NUMBER <ls_bapiret2>-number
WITH <ls_bapiret2>-message_v1 <ls_bapiret2>-message_v2 <ls_bapiret2>-message_v3 <ls_bapiret2>-message_v4.
ENDIF.
ENDIF.
ENDLOOP.