From 65d60087b10205b4707c02ad2608ef08b07f27ca Mon Sep 17 00:00:00 2001 From: oblomov <102328295+oblomov-dev@users.noreply.github.com> Date: Mon, 22 May 2023 16:08:50 +0200 Subject: [PATCH] Update z2ui5_cl_http_handler.clas.testclasses.abap --- ...2ui5_cl_http_handler.clas.testclasses.abap | 204 +++++++----------- 1 file changed, 83 insertions(+), 121 deletions(-) diff --git a/src/z2ui5_cl_http_handler.clas.testclasses.abap b/src/z2ui5_cl_http_handler.clas.testclasses.abap index 4769ec05..eeaea8a3 100644 --- a/src/z2ui5_cl_http_handler.clas.testclasses.abap +++ b/src/z2ui5_cl_http_handler.clas.testclasses.abap @@ -10,26 +10,10 @@ CLASS ltcl_unit_01_json DEFINITION FINAL FOR TESTING METHODS test_json_struc FOR TESTING RAISING cx_static_check. METHODS test_json_trans FOR TESTING RAISING cx_static_check. METHODS test_json_trans_gen FOR TESTING RAISING cx_static_check. + METHODS test_util_uuid_session FOR TESTING RAISING cx_static_check. + METHODS test_util_attri_by_ref FOR TESTING RAISING cx_static_check. ENDCLASS. -CLASS ltcl_unit_01_utility DEFINITION FINAL FOR TESTING - DURATION SHORT - RISK LEVEL HARMLESS. - - PUBLIC SECTION. - - PRIVATE SECTION. - - METHODS test_util_uuid_session FOR TESTING RAISING cx_static_check. - METHODS test_util_attri_by_ref_03 FOR TESTING RAISING cx_static_check. - METHODS test_util_get_t_attri_01 FOR TESTING RAISING cx_static_check. - METHODS test_util_get_attri_02 FOR TESTING RAISING cx_static_check. -ENDCLASS. - - - - - CLASS ltcl_unit_04_deep_data DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. @@ -57,6 +41,7 @@ CLASS ltcl_unit_04_deep_data DEFINITION FINAL FOR TESTING PRIVATE SECTION. METHODS test_app_deep_data FOR TESTING RAISING cx_static_check. METHODS test_app_deep_data_change FOR TESTING RAISING cx_static_check. + METHODS test_app_all FOR TESTING RAISING cx_static_check. ENDCLASS. @@ -184,13 +169,7 @@ CLASS ltcl_unit_01_json IMPLEMENTATION. ENDMETHOD. - -ENDCLASS. - -CLASS ltcl_unit_01_utility IMPLEMENTATION. - - - METHOD test_util_attri_by_ref_03. + METHOD test_util_attri_by_ref. DATA(lo_app) = NEW ltcl_unit_04_deep_data( ). @@ -225,40 +204,6 @@ CLASS ltcl_unit_01_utility IMPLEMENTATION. ENDMETHOD. - METHOD test_util_get_attri_02. - - DATA(lo_app) = NEW ltcl_unit_04_deep_data( ). - - lo_app->sv_status = `ABC`. - FIELD-SYMBOLS TYPE any. - DATA(lv_assign) = `LO_APP->` && 'SV_STATUS'. - ASSIGN (lv_assign) TO . - - IF <> `ABC`. - cl_abap_unit_assert=>fail( msg = 'utility - assign of attribute from outside not working' quit = 5 ). - ENDIF. - - ENDMETHOD. - - METHOD test_util_get_t_attri_01. - - DATA(lo_app) = NEW ltcl_unit_04_deep_data( ). - - DATA(lt_attri) = CAST cl_abap_classdescr( cl_abap_objectdescr=>describe_by_object_ref( lo_app ) )->attributes. - - DATA(lt_test) = VALUE abap_attrdescr_tab( - ( length = '8' decimals = '0' name = 'Z2UI5_IF_APP~ID' type_kind = 'g' visibility = 'U' is_interface = 'X' is_inherited = '' is_class = '' is_constant = '' is_virtual = '' is_read_only = '' alias_for = '' ) - ( length = '2' decimals = '0' name = 'CHECK_INITIALIZED' type_kind = 'C' visibility = 'U' is_interface = '' is_inherited = '' is_class = '' is_constant = '' is_virtual = '' is_read_only = '' alias_for = '' ) - ( length = '8' decimals = '0' name = 'SV_STATUS' type_kind = 'g' visibility = 'U' is_interface = '' is_inherited = '' is_class = 'X' is_constant = '' is_virtual = '' is_read_only = '' alias_for = '' ) - ( length = '8' decimals = '0' name = 'T_TAB' type_kind = 'h' visibility = 'U' is_interface = '' is_inherited = '' is_class = 'X' is_constant = '' is_virtual = '' is_read_only = '' alias_for = '' ) - ). - - IF lt_test <> lt_attri. - cl_abap_unit_assert=>fail( msg = 'utility - get abap_attrdescr_tab table wrong' quit = 5 ). - ENDIF. - - ENDMETHOD. - ENDCLASS. CLASS ltcl_unit_02_app_start DEFINITION FINAL FOR TESTING @@ -287,7 +232,6 @@ CLASS ltcl_unit_02_app_start DEFINITION FINAL FOR TESTING METHODS test_landing_page FOR TESTING RAISING cx_static_check. METHODS test_scroll_cursor FOR TESTING RAISING cx_static_check. METHODS test_navigate FOR TESTING RAISING cx_static_check. - METHODS test_startup_path FOR TESTING RAISING cx_static_check. ENDCLASS. @@ -453,7 +397,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_xml_view. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = ``. @@ -468,7 +412,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `PARAMS->XML_MAIN->*`. + DATA(lv_assign) = `VVIEW->*`. ASSIGN lo_data->(lv_assign) TO . = shift_left( ). IF (9) <> `client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = ``. @@ -495,7 +439,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `ID->*`. + DATA(lv_assign) = `OSYSTEM->ID->*`. ASSIGN lo_data->(lv_assign) TO . IF IS INITIAL. cl_abap_unit_assert=>fail( msg = 'id - initial value is initial' quit = 5 ). @@ -506,8 +450,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_bind_one_way. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) - " t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = `TEST_ONE_WAY`. @@ -522,7 +465,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `OVIEWMODEL->OVIEWMODEL->QUANTITY->*`. + DATA(lv_assign) = `OVIEWMODEL->QUANTITY->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `500`. cl_abap_unit_assert=>fail( msg = 'data binding - initial set oUpdate wrong' quit = 5 ). @@ -533,7 +476,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_bind_two_way. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = ``. @@ -548,7 +491,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `OVIEWMODEL->OVIEWMODEL->OUPDATE->QUANTITY->*`. + DATA(lv_assign) = `OVIEWMODEL->OUPDATE->QUANTITY->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `500`. cl_abap_unit_assert=>fail( msg = 'data binding - initial set oUpdate wrong' quit = 5 ). @@ -559,7 +502,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_message_box. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = `TEST_MESSAGE_BOX`. @@ -575,21 +518,21 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `S_MSG->CONTROL->*`. + DATA(lv_assign) = `OMESSAGE->CONTROL->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `MessageBox`. cl_abap_unit_assert=>fail( msg = 'message box - control wrong' quit = 5 ). ENDIF. UNASSIGN . - lv_assign = `S_MSG->TEXT->*`. + lv_assign = `OMESSAGE->TEXT->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `test message box`. cl_abap_unit_assert=>fail( msg = 'message box - text wrong' quit = 5 ). ENDIF. UNASSIGN . - lv_assign = `S_MSG->TYPE->*`. + lv_assign = `OMESSAGE->TYPE->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `information`. cl_abap_unit_assert=>fail( msg = 'message box - type wrong' quit = 5 ). @@ -600,7 +543,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_message_toast. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = `TEST_MESSAGE_TOAST`. @@ -616,21 +559,21 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `S_MSG->CONTROL->*`. + DATA(lv_assign) = `OMESSAGE->CONTROL->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `MessageToast`. cl_abap_unit_assert=>fail( msg = 'message toast - control wrong' quit = 5 ). ENDIF. UNASSIGN . - lv_assign = `S_MSG->TEXT->*`. + lv_assign = `OMESSAGE->TEXT->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `test message toast`. cl_abap_unit_assert=>fail( msg = 'message toast - text wrong' quit = 5 ). ENDIF. UNASSIGN . - lv_assign = `S_MSG->TYPE->*`. + lv_assign = `OMESSAGE->TYPE->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `show`. cl_abap_unit_assert=>fail( msg = 'message toast - type wrong' quit = 5 ). @@ -641,7 +584,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_timer. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = `TEST_TIMER`. @@ -657,14 +600,14 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `PARAMS->S_TIMER->EVENT_FINISHED->*`. + DATA(lv_assign) = `OTIMER->EVENT_FINISHED->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `TIMER_FINISHED`. cl_abap_unit_assert=>fail( msg = 'timer - event wrong' quit = 5 ). ENDIF. UNASSIGN . - lv_assign = `PARAMS->S_TIMER->INTERVAL_MS->*`. + lv_assign = `OTIMER->INTERVAL_MS->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `500`. cl_abap_unit_assert=>fail( msg = 'timer - ms wrong' quit = 5 ). @@ -675,7 +618,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_xml_popup. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = `TEST_POPUP`. @@ -690,7 +633,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `PARAMS->XML_POPUP->*`. + DATA(lv_assign) = `VVIEWPOPUP->*`. ASSIGN lo_data->(lv_assign) TO . = shift_left( ). IF (9) <> `client = VALUE #( t_header = VALUE #( ( name = 'referer' value = 'dummy' ) ) - ). + ). DATA(lv_response) = z2ui5_cl_http_handler=>http_post( ). @@ -716,7 +659,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `PARAMS->XML_MAIN->*`. + DATA(lv_assign) = `VVIEW->*`. ASSIGN lo_data->(lv_assign) TO . = shift_left( ). IF NS `Step 4`. @@ -728,7 +671,7 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. METHOD test_scroll_cursor. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = `TEST_SCROLL_CURSOR`. @@ -766,30 +709,10 @@ CLASS ltcl_unit_02_app_start IMPLEMENTATION. ENDMETHOD. - METHOD test_startup_path. - - z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) - ). - - sv_state = `TEST_NAVIGATE`. - DATA(lv_response) = z2ui5_cl_http_handler=>http_post( ). - - DATA lo_data TYPE REF TO data. - /ui2/cl_json=>deserialize( - EXPORTING - json = lv_response - CHANGING - data = lo_data ). - - " FIELD-SYMBOLS TYPE any. - - ENDMETHOD. - METHOD test_navigate. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). sv_state = `TEST_NAVIGATE`. @@ -873,7 +796,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. METHOD test_app_change_value. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). DATA(lv_response) = z2ui5_cl_http_handler=>http_post( ). @@ -888,14 +811,14 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `ID->*`. + DATA(lv_assign) = `OSYSTEM->ID->*`. ASSIGN lo_data->(lv_assign) TO . IF IS INITIAL. cl_abap_unit_assert=>fail( msg = 'id - initial value is initial' quit = 5 ). ENDIF. DATA(lv_id) = CONV string( ). - DATA(lv_request) = `{"oUpdate":{"QUANTITY":"600"},"ID": "` && lv_id && `" ,"oEvent":{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}}`. + DATA(lv_request) = `{"oUpdate":{"QUANTITY":"600"},"oSystem":{"ID": "` && lv_id && `"` && `,"CHECK_DEBUG_ACTIVE":true},"oEvent":{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}}`. z2ui5_cl_http_handler=>client = VALUE #( body = lv_request ). lv_response = z2ui5_cl_http_handler=>http_post( ). @@ -907,7 +830,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. data = lo_data ). UNASSIGN . - lv_assign = `OVIEWMODEL->OVIEWMODEL->OUPDATE->QUANTITY->*`. + lv_assign = `OVIEWMODEL->OUPDATE->QUANTITY->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `600`. cl_abap_unit_assert=>fail( msg = 'data binding - frontend updated value wrong after roundtrip' quit = 5 ). @@ -918,7 +841,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. METHOD test_app_event. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_02_APP_START' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_02_APP_START' ) ) ). DATA(lv_response) = z2ui5_cl_http_handler=>http_post( ). @@ -933,14 +856,14 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `ID->*`. + DATA(lv_assign) = `OSYSTEM->ID->*`. ASSIGN lo_data->(lv_assign) TO . IF IS INITIAL. cl_abap_unit_assert=>fail( msg = 'id - initial value is initial' quit = 5 ). ENDIF. DATA(lv_id) = CONV string( ). - DATA(lv_request) = `{"oUpdate":{"QUANTITY":"700"},"ID": "` && lv_id && `" ,"oEvent":{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}}`. + DATA(lv_request) = `{"oUpdate":{"QUANTITY":"700"},"oSystem":{"ID": "` && lv_id && `"},"oEvent":{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}}`. z2ui5_cl_http_handler=>client = VALUE #( body = lv_request ). lv_response = z2ui5_cl_http_handler=>http_post( ). @@ -952,7 +875,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. data = lo_data ). UNASSIGN . - lv_assign = `S_MSG->TEXT->*`. + lv_assign = `OMESSAGE->TEXT->*`. ASSIGN lo_data->(lv_assign) TO . IF <> `tomato 700 - send to the server`. cl_abap_unit_assert=>fail( msg = 'message toast - text wrong' quit = 5 ). @@ -963,7 +886,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. METHOD test_app_dump. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_03_APP_AJAX' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_03_APP_AJAX' ) ) ). sv_state = `ERROR`. @@ -978,7 +901,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION. FIELD-SYMBOLS TYPE any. UNASSIGN . - DATA(lv_assign) = `PARAMS->XML_MAIN->*`. + DATA(lv_assign) = `VVIEW->*`. ASSIGN lo_data->(lv_assign) TO . = shift_left( ). IF NS `MessagePage`. @@ -1054,7 +977,7 @@ CLASS ltcl_unit_04_deep_data IMPLEMENTATION. METHOD test_app_deep_data. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_04_DEEP_DATA' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_04_DEEP_DATA' ) ) ). DATA(lv_response) = z2ui5_cl_http_handler=>http_post( ). @@ -1071,7 +994,7 @@ CLASS ltcl_unit_04_deep_data IMPLEMENTATION. UNASSIGN . FIELD-SYMBOLS TYPE STANDARD TABLE. FIELD-SYMBOLS TYPE REF TO data. - DATA(lv_assign) = `OVIEWMODEL->OVIEWMODEL->T_TAB->*`. + DATA(lv_assign) = `OVIEWMODEL->OUPDATE->T_TAB->*`. ASSIGN lo_data->(lv_assign) TO . ASSIGN [ 1 ] TO . @@ -1101,7 +1024,7 @@ CLASS ltcl_unit_04_deep_data IMPLEMENTATION. METHOD test_app_deep_data_change. z2ui5_cl_http_handler=>client = VALUE #( - t_header = VALUE #( ( name = '~path_info' value = 'LTCL_UNIT_04_DEEP_DATA' ) ) + t_param = VALUE #( ( name = 'app' value = 'LTCL_UNIT_04_DEEP_DATA' ) ) ). sv_status = 'CHANGE'. @@ -1119,7 +1042,7 @@ CLASS ltcl_unit_04_deep_data IMPLEMENTATION. UNASSIGN . FIELD-SYMBOLS TYPE STANDARD TABLE. FIELD-SYMBOLS TYPE REF TO data. - DATA(lv_assign) = `OVIEWMODEL->OVIEWMODEL->OUPDATE->T_TAB->*`. + DATA(lv_assign) = `OVIEWMODEL->OUPDATE->T_TAB->*`. ASSIGN lo_data->(lv_assign) TO . ASSIGN [ 1 ] TO . @@ -1145,7 +1068,7 @@ CLASS ltcl_unit_04_deep_data IMPLEMENTATION. ENDIF. UNASSIGN . - lv_assign = `ID->*`. + lv_assign = `OSYSTEM->ID->*`. ASSIGN lo_data->(lv_assign) TO . IF IS INITIAL. cl_abap_unit_assert=>fail( msg = 'id - initial value is initial' quit = 5 ). @@ -1167,4 +1090,43 @@ CLASS ltcl_unit_04_deep_data IMPLEMENTATION. ENDMETHOD. + METHOD test_app_all. + + DO 40 TIMES. + + DATA(Lv_ind) = shift_left( CONV string( sy-index ) ). + IF sy-index < 10. + Lv_ind = `0` && Lv_ind. + ENDIF. + DATA(lv_name) = `Z2UI5_CL_APP_DEMO_` && lv_ind. + + z2ui5_cl_http_handler=>client = VALUE #( + t_param = VALUE #( ( name = 'app' value = lv_name ) ) + ). + + sv_status = 'CHANGE'. + DATA(lv_response) = z2ui5_cl_http_handler=>http_post( ). + + DATA lo_data TYPE REF TO data. + /ui2/cl_json=>deserialize( + EXPORTING + json = lv_response + CHANGING + data = lo_data ). + + FIELD-SYMBOLS TYPE any. + UNASSIGN . + DATA(lv_assign) = `VVIEW->*`. + ASSIGN lo_data->(lv_assign) TO . + = shift_left( ). + IF (9) <> `fail( msg = 'xml view - intital view wrong' quit = 5 ). + ENDIF. + + ENDDO. + + + ENDMETHOD. + + ENDCLASS.