web dynpro abap- file window
TRANSCRIPT
-
7/31/2019 Web Dynpro Abap- File Window
1/6
Web Dynpro abap file download
Example to achieve the functionality
Create Web Dynpro Component and Save it a local object.
When we specify Window name and View name when we create web dynpro component,View is embedded in Window.
Go to Component Controllero Context tab->Create node EMP_DET with cardinality 0..n
o Method tab->Create GET_DATA method to prepare data for EMP_DET node.
http://1.bp.blogspot.com/-Nw0GlTYNqTo/T2DE2EaQroI/AAAAAAAAAro/ZJjREBDS8fE/s1600/2+-+context.jpghttp://3.bp.blogspot.com/-J6PFQID6HOo/T2DEjyRtL4I/AAAAAAAAArg/auqRokx-q4U/s1600/1.jpghttp://1.bp.blogspot.com/-Nw0GlTYNqTo/T2DE2EaQroI/AAAAAAAAAro/ZJjREBDS8fE/s1600/2+-+context.jpghttp://3.bp.blogspot.com/-J6PFQID6HOo/T2DEjyRtL4I/AAAAAAAAArg/auqRokx-q4U/s1600/1.jpghttp://1.bp.blogspot.com/-Nw0GlTYNqTo/T2DE2EaQroI/AAAAAAAAAro/ZJjREBDS8fE/s1600/2+-+context.jpg -
7/31/2019 Web Dynpro Abap- File Window
2/6
o CodeMETHOD get_data .
DATA lo_nd_emp_det TYPE REF TO if_wd_context_node.
DATA lt_emp_det TYPE wd_this->elements_emp_det.
* navigate from to via lead selection
lo_nd_emp_det = wd_context->get_child_node( name = wd_this->wdctx_emp_det ).
SELECT *
FROM pa0002
INTO CORRESPONDING FIELDS OF TABLE lt_emp_det UP TO 30 ROWS.
lo_nd_emp_det->bind_table( new_items = lt_emp_detset_initial_elements = abap_true ).
ENDMETHOD.
Go to view DOWNLOAD_Vo Context tab->Map Component Controller context to View Context.
o Layout tab->Change layout property of ROOTUIELEMENTCONTAINER toMatrixLayout.
http://4.bp.blogspot.com/-7lHxGRMZtNA/T2DFFymAPqI/AAAAAAAAArw/KmcMninWotg/s1600/2.1+-+Get+data.jpghttp://2.bp.blogspot.com/-50CEfMru3jM/T2DFdy_I_JI/AAAAAAAAAr4/KmRXobyIPqw/s1600/3+context+mapping.jpghttp://4.bp.blogspot.com/-7lHxGRMZtNA/T2DFFymAPqI/AAAAAAAAArw/KmcMninWotg/s1600/2.1+-+Get+data.jpghttp://2.bp.blogspot.com/-50CEfMru3jM/T2DFdy_I_JI/AAAAAAAAAr4/KmRXobyIPqw/s1600/3+context+mapping.jpghttp://4.bp.blogspot.com/-7lHxGRMZtNA/T2DFFymAPqI/AAAAAAAAArw/KmcMninWotg/s1600/2.1+-+Get+data.jpghttp://2.bp.blogspot.com/-50CEfMru3jM/T2DFdy_I_JI/AAAAAAAAAr4/KmRXobyIPqw/s1600/3+context+mapping.jpghttp://4.bp.blogspot.com/-7lHxGRMZtNA/T2DFFymAPqI/AAAAAAAAArw/KmcMninWotg/s1600/2.1+-+Get+data.jpg -
7/31/2019 Web Dynpro Abap- File Window
3/6
o Layout tab->Create Table UI element ->Bind EMP_DET context node to tableelement->Set Layout data property to MatrixHeadData
o Layout tab-> Create Button UI element for downloading file-> Create OnActionevent DOWNLOAD_DATA for the button.
http://3.bp.blogspot.com/-YSnvj64wJtk/T2DGUxFeJVI/AAAAAAAAAsQ/7LHQjCAIhn8/s1600/6+-+button.jpghttp://1.bp.blogspot.com/-HflFu3y9Lxw/T2DFyrrU3mI/AAAAAAAAAsI/30NEET0Q-Sk/s1600/5+-+table+binding.jpghttp://1.bp.blogspot.com/-zHfPqXPM2NE/T2DFs4gQB1I/AAAAAAAAAsA/Ja6dQs6Wu5U/s1600/4+-+table.jpghttp://3.bp.blogspot.com/-YSnvj64wJtk/T2DGUxFeJVI/AAAAAAAAAsQ/7LHQjCAIhn8/s1600/6+-+button.jpghttp://1.bp.blogspot.com/-HflFu3y9Lxw/T2DFyrrU3mI/AAAAAAAAAsI/30NEET0Q-Sk/s1600/5+-+table+binding.jpghttp://1.bp.blogspot.com/-zHfPqXPM2NE/T2DFs4gQB1I/AAAAAAAAAsA/Ja6dQs6Wu5U/s1600/4+-+table.jpghttp://3.bp.blogspot.com/-YSnvj64wJtk/T2DGUxFeJVI/AAAAAAAAAsQ/7LHQjCAIhn8/s1600/6+-+button.jpghttp://1.bp.blogspot.com/-HflFu3y9Lxw/T2DFyrrU3mI/AAAAAAAAAsI/30NEET0Q-Sk/s1600/5+-+table+binding.jpghttp://1.bp.blogspot.com/-zHfPqXPM2NE/T2DFs4gQB1I/AAAAAAAAAsA/Ja6dQs6Wu5U/s1600/4+-+table.jpghttp://1.bp.blogspot.com/-zHfPqXPM2NE/T2DFs4gQB1I/AAAAAAAAAsA/Ja6dQs6Wu5U/s1600/4+-+table.jpg -
7/31/2019 Web Dynpro Abap- File Window
4/6
o Code for the ONACTIONDOWNLOAD_DATA method.
o CodeMETHOD onactiondownload_data .
DATA lo_nd_emp_det TYPE REF TO if_wd_context_node.
DATA:
lt_emp_det TYPE wd_this->elements_emp_det,
ls_emp_det TYPE wd_this->element_emp_det.
DATA:
str TYPE string,
xstr TYPE xstring.
* navigate from to via lead selection
lo_nd_emp_det = wd_context->get_child_node( name = wd_this->wdctx_emp_det ).
lo_nd_emp_det->get_static_attributes_table( IMPORTING table =lt_emp_det ).
"Prepare download file.
LOOP AT lt_emp_det INTO ls_emp_det.
CONCATENATE str
ls_emp_det-pernr
ls_emp_det-nachn
ls_emp_det-vorna
http://2.bp.blogspot.com/-oS3gJ1l67R8/T2DIMuuWUhI/AAAAAAAAAso/jGlsus0SU60/s1600/9+-+download+function.jpghttp://3.bp.blogspot.com/-0LgPv4Mzicc/T2DGbDfXQuI/AAAAAAAAAsY/akADQnwnDP0/s1600/7-+button+action.jpghttp://2.bp.blogspot.com/-oS3gJ1l67R8/T2DIMuuWUhI/AAAAAAAAAso/jGlsus0SU60/s1600/9+-+download+function.jpghttp://3.bp.blogspot.com/-0LgPv4Mzicc/T2DGbDfXQuI/AAAAAAAAAsY/akADQnwnDP0/s1600/7-+button+action.jpg -
7/31/2019 Web Dynpro Abap- File Window
5/6
ls_emp_det-gbdat
cl_abap_char_utilities=>newline
INTO str
SEPARATED BY cl_abap_char_utilities=>horizontal_tab.
ENDLOOP.
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
text = str
IMPORTING
buffer = xstr
EXCEPTIONS
failed = 1.
"Attach file
CALL METHOD cl_wd_runtime_services=>attach_file_to_response
EXPORTING
i_filename = 'Download.xls'
i_content = xstr
i_mime_type = 'EXCEL'
i_in_new_window = abap_false
i_inplace = abap_false.
ENDMETHOD.
o Methods tab->Call GET_DATA method in WDDOINIT method to getEMP_DET node elements to display in Table.
method WDDOINIT .
DATA lo_componentcontroller TYPE REF TO ig_componentcontroller .
lo_componentcontroller = wd_this->get_componentcontroller_ctr( ).
lo_componentcontroller->get_data( ).
endmethod.
Save and Activate Web Dynpro component. Create Web Dynpro Application and Save it as local object.
http://3.bp.blogspot.com/-f4XrJ1HCEtg/T2DGdM3pQjI/AAAAAAAAAsg/CoNMnEwmf3s/s1600/8.+Call+GET_DATA+method+data+display.jpg -
7/31/2019 Web Dynpro Abap- File Window
6/6
Run Web Dynpro Application.
http://1.bp.blogspot.com/-bn-LgYdbSx4/T2DJHQe4pFI/AAAAAAAAAtI/--9PVrZkjeU/s1600/13.jpghttp://1.bp.blogspot.com/-kD7LRTna4As/T2DJF5m5m6I/AAAAAAAAAtA/rmfcrVOWcQs/s1600/12+output.jpghttp://3.bp.blogspot.com/-2-TejgmItKs/T2DI7dXwPxI/AAAAAAAAAs4/pzWc2uzyl1E/s1600/11+appln.jpghttp://3.bp.blogspot.com/-aT2FHoK5wnE/T2DI4XFpagI/AAAAAAAAAsw/3BN39FFPLac/s1600/10+wda+appln.jpghttp://1.bp.blogspot.com/-bn-LgYdbSx4/T2DJHQe4pFI/AAAAAAAAAtI/--9PVrZkjeU/s1600/13.jpghttp://1.bp.blogspot.com/-kD7LRTna4As/T2DJF5m5m6I/AAAAAAAAAtA/rmfcrVOWcQs/s1600/12+output.jpghttp://3.bp.blogspot.com/-2-TejgmItKs/T2DI7dXwPxI/AAAAAAAAAs4/pzWc2uzyl1E/s1600/11+appln.jpghttp://3.bp.blogspot.com/-aT2FHoK5wnE/T2DI4XFpagI/AAAAAAAAAsw/3BN39FFPLac/s1600/10+wda+appln.jpghttp://1.bp.blogspot.com/-bn-LgYdbSx4/T2DJHQe4pFI/AAAAAAAAAtI/--9PVrZkjeU/s1600/13.jpghttp://1.bp.blogspot.com/-kD7LRTna4As/T2DJF5m5m6I/AAAAAAAAAtA/rmfcrVOWcQs/s1600/12+output.jpghttp://3.bp.blogspot.com/-2-TejgmItKs/T2DI7dXwPxI/AAAAAAAAAs4/pzWc2uzyl1E/s1600/11+appln.jpghttp://3.bp.blogspot.com/-aT2FHoK5wnE/T2DI4XFpagI/AAAAAAAAAsw/3BN39FFPLac/s1600/10+wda+appln.jpghttp://1.bp.blogspot.com/-bn-LgYdbSx4/T2DJHQe4pFI/AAAAAAAAAtI/--9PVrZkjeU/s1600/13.jpghttp://1.bp.blogspot.com/-kD7LRTna4As/T2DJF5m5m6I/AAAAAAAAAtA/rmfcrVOWcQs/s1600/12+output.jpghttp://3.bp.blogspot.com/-2-TejgmItKs/T2DI7dXwPxI/AAAAAAAAAs4/pzWc2uzyl1E/s1600/11+appln.jpghttp://3.bp.blogspot.com/-aT2FHoK5wnE/T2DI4XFpagI/AAAAAAAAAsw/3BN39FFPLac/s1600/10+wda+appln.jpg