You want to edit the selected value from popup, so first populate the selected row in table and then edit in the table.
Open the popup using :
CALL METHOD me->comp_controller->window_manager->create_decision_popup
EXPORTING
iv_title = 'Route'
iv_description = 'Route'
iv_selection_mode = 'SINGLE'
iv_visible_row_count = '10'
iv_display_table = gt_route
iv_visible_columns = lt_table
RECEIVING
rv_result = gr_popup.
gr_popup->set_on_close_event( iv_event_name = 'DEC_POPUP_CLOSED' iv_view = me ).
gr_popup->open( ).
Now on close event i.e. DEC_POPUP_CLOSED write the code to transfer the selected row into the table.
lv_outputnode ?= gr_popup->get_context_node( 'OUTPUTNODE' ).
lv_index = lv_outputnode->get_selectedrowindex( ).
IF lv_index IS NOT INITIAL.
READ TABLE gt_route INTO ls_route INDEX lv_index.
lr_col ?= me->typed_context->zroute->collection_wrapper.
CREATE DATA lr_tab_data.
CREATE OBJECT lr_valuenode
EXPORTING
iv_data_ref = lr_tab_data.
lr_valuenode->set_properties( is_attributes = ls_route ).
lr_col->add( EXPORTING iv_entity = lr_valuenode ).
REFRESH: gt_route.
CLEAR: gr_popup.
endif.
Now you can see the selected row in your table view and the popup will be closed.
To make the row editable go to htm page on which table view is created, and then modify
editMode = "ALL"
in <chtmlb:configCellerator>