Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- report z_appd_instrument_demo.
- parameters:
- p_app type /dvd/appd_app_name obligatory default 'SAP QA',
- p_tran type /dvd/appd_tran_name obligatory default 'EQ1 - ABAP Test instrumentation',
- p_be type /dvd/appd_backend_name obligatory default 'HTTPTestBackend',
- p_count type i default 10,
- p_bterr type string lower case,
- p_ecerr type string lower case.
- data:
- go_sdk type ref to /dvd/appd_if_sdk,
- go_bt type ref to /dvd/appd_if_bt,
- go_ec type ref to /dvd/appd_if_exitcall,
- gv_backend_type type /dvd/appd_backend_type,
- gv_backend_name type /dvd/appd_backend_name,
- gt_prop type /dvd/appd_t_backend_property,
- gs_prop like line of gt_prop,
- gx_root type ref to cx_root,
- gv_text type string,
- gv_corr_header type /dvd/appd_corr_header,
- gt_data type /dvd/appd_t_key_value,
- gs_data like line of gt_data,
- gt_dd02l type table of dd02l.
- * Get SDK reference
- try.
- go_sdk = /dvd/appd_cl_sdk=>init_sdk( iv_app_name = p_app ).
- catch cx_root into gx_root.
- gv_text = gx_root->get_text( ).
- write: / gv_text.
- exit.
- endtry.
- *If you do have backend created you don’t need to do this
- * Declare HTTP test backend
- gs_prop-property_key = 'HOST'.
- gs_prop-property_value = 'test.nuvasive.com'.
- append gs_prop to gt_prop.
- try.
- * Declare new backend
- call method go_sdk->backend_declare
- exporting
- iv_backend_type = 'HTTP'
- iv_backend_name = p_be
- it_property = gt_prop.
- catch cx_root into gx_root.
- gv_text = gx_root->get_text( ).
- write: / gv_text.
- exit.
- endtry.
- do p_count times.
- try.
- write: / 'Begin new transaction', p_tran.
- go_bt = go_sdk->bt_begin( iv_transaction_name = p_tran ).
- *go_bt->add_error( iv_level = 'ERROR'
- * iv_message = 'Something went wrong :)' ).
- select * from dd02l up to 5000 rows
- into table gt_dd02l.
- write: / 'Begin new exit call to backend', p_be.
- * Perform exitcall
- go_ec = go_bt->exitcall_begin( iv_backend_name = p_be ).
- gv_corr_header = go_ec->get_correlation_header( ).
- write: / 'Correlation header:', gv_corr_header.
- wait up to 1 seconds.
- write: / 'End exit call'.
- if p_ecerr is not initial.
- go_ec->add_error( iv_level = 'E'
- iv_message = p_ecerr ).
- endif.
- * End exit call
- go_ec->end( ).
- write: / 'End transaction'.
- if p_bterr is not initial.
- go_bt->add_error( iv_level = 'E'
- iv_message = p_bterr ).
- endif.
- * If BT is snapshotting, add some user data
- if go_bt->is_snapshotting( ) = 'X'.
- write: / 'Transaction is SNAPSHOTTING! --> Adding user data'.
- clear gt_data.
- gs_data-key = 'DB Time'.
- gs_data-value = '123'.
- append gs_data to gt_data.
- gs_data-key = 'Enqueu Time'.
- gs_data-value = '77'.
- append gs_data to gt_data.
- go_bt->add_user_data( it_data = gt_data ).
- endif.
- * End the transaction
- go_bt->end( ).
- catch cx_root into gx_root.
- gv_text = gx_root->get_text( ).
- write: / gv_text.
- exit.
- endtry.
- enddo.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement