Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 1.87 KB | None | 0 0
  1. METHOD configuration_event.
  2.  
  3.     DATA: lo_currency_converter_double TYPE REF TO if_td_currency_converter,
  4.           lo_expense_manager          TYPE REF TO cl_td_expense_manager,
  5.           lv_total_expense            TYPE i,
  6.           lv_exp_total_expense        TYPE i,
  7.           lt_event_params              TYPE abap_parmbind_tab,
  8.           ls_event_param              TYPE abap_parmbind,
  9.           lo_handler                  TYPE REF TO lcl_event_handler.
  10.  
  11.     FIELD-SYMBOLS: <lv_value> TYPE string.
  12.  
  13. *create test double object
  14.     lo_currency_converter_double ?= cl_abap_testdouble=>create( ‘if_td_currency_converter’ ).
  15.  
  16. *configuration for event. ‘new_currency_code’ event gets raised if the source_currency = INR
  17.     ls_event_param-name = ‘currency_code’.
  18.     CREATE DATA ls_event_param-value TYPE string.
  19.     ASSIGN ls_event_param-value->* TO <lv_value>.
  20.     <lv_value> = ‘INR’.
  21.     INSERT ls_event_param INTO TABLE lt_event_params.
  22.     cl_abap_testdouble=>configure_call( lo_currency_converter_double )->raise_event( name = ‘new_currency_code’ parameters = lt_event_params
  23.                                                                     )->ignore_parameter( ‘target_currency’
  24.                                                                     )->ignore_parameter( ‘amount’ ).
  25.  
  26.     lo_currency_converter_double->convert(
  27.       EXPORTING
  28.         amount          = 0
  29.         source_currency = ‘INR’
  30.         target_currency =
  31.     ).
  32.  
  33.   ENDMETHOD.
  34.  
  35. CLASS lcl_event_handler DEFINITION.
  36.  
  37.   PUBLIC SECTION.
  38.  
  39.     DATA: lv_new_currency_code TYPE string.
  40.  
  41.     METHODS handle_new_currency_code FOR EVENT new_currency_code OF if_td_currency_converter IMPORTING currency_code.
  42.  
  43. ENDCLASS.
  44.  
  45. CLASS lcl_event_handler IMPLEMENTATION.
  46.  
  47.   METHOD handle_new_currency_code.
  48.     lv_new_currency_code = currency_code.
  49.   ENDMETHOD.
  50.  
  51. ENDCLASS.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement