in abap-sdk/ZGOOG_SDK_RECIPES/ZGOOG_SDK_BQML_RECIPE/zr_bigquery_ml_recipe.prog.abap [0:0]
METHOD handle_create.
DATA(lo_client) = bq_client( ).
TRY.
lo_client->insert_datasets(
EXPORTING
iv_p_projects_id = CONV #( lo_client->gv_project_id )
is_input = VALUE #( dataset_reference =
VALUE #( dataset_id = p_dset
project_id = lo_client->gv_project_id ) )
IMPORTING
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text) ).
IF lo_client->is_success( lv_ret_code ).
WRITE: / |Dataset { p_dset } created|.
ELSE.
MESSAGE lv_err_text TYPE 'E'.
ENDIF.
DATA: ls_input TYPE /goog/cl_bigquery_v2=>ty_131.
ls_input-id = p_table.
ls_input-table_reference-dataset_id = p_dset.
ls_input-table_reference-project_id = lo_client->gv_project_id.
ls_input-table_reference-table_id = p_table.
ls_input-schema-fields = VALUE #( ( name = 'date' type = 'DATE' )
( name = 'value' type = 'NUMERIC' ) ).
lo_client->insert_tables(
EXPORTING
iv_p_datasets_id = p_dset
iv_p_projects_id = CONV #( lo_client->gv_project_id )
is_input = ls_input
IMPORTING
ev_ret_code = lv_ret_code
ev_err_text = lv_err_text ).
IF lo_client->is_success( lv_ret_code ) = abap_true.
WRITE: / |Table { p_table } created|.
ELSE.
MESSAGE lv_err_text TYPE 'E'.
ENDIF.
CATCH /goog/cx_sdk INTO DATA(lo_ex).
MESSAGE lo_ex->get_text( ) TYPE 'E'.
ENDTRY.