Get the po data into a internal table say it_po
if not it_po[] is initial.
call method cl_gui_frontend_services=>file_save_dialog
changing filename = v_file
path = v_path
fullpath = v_file_path.
check not v_file_path is initial.
call method cl_gui_frontend_services=>gui_download
exporting filename = v_file_Path
WRITE_FIELD_SEPARATOR = 'X'
changing data_tab = it_po[].
endif.