Classe - 'CL_GUI_FRONTEND_SERVICES'
Autor: Mauro Luiz Junior | Publicado: 2017-07-17T11:54:00-07:00



SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L0S31 {
font-style: italic;
color: #808080;
}
.L0S32 {
color: #3399FF;
}
.L0S33 {
color: #4DA619;
}
.L0S52 {
color: #0000FF;
}
.L0S55 {
color: #800080;
}
.L0S70 {
color: #808080;
}

*--------------------------------------------------------------------*
*&nbsp;&nbsp;Eae&nbsp;galera,&nbsp;sempre&nbsp;em&nbsp;nossas&nbsp;vidas&nbsp;de&nbsp;ABAP,&nbsp;vamos&nbsp;precisar&nbsp;saber
*&nbsp;fazer&nbsp;download&nbsp;e&nbsp;upload&nbsp;de&nbsp;arquivo,&nbsp;sabemos&nbsp;tambem&nbsp;que&nbsp;estas&nbsp;mesmas&nbsp;funções
*&nbsp;'GUI_DOWNLOAD'&nbsp;e&nbsp;'GUI_UPLOAD'&nbsp;estão&nbsp;obsoletas.






*&nbsp;&nbsp;Conforme&nbsp;o&nbsp;'F1'&nbsp;da&nbsp;função&nbsp;o&nbsp;mesmo&nbsp;indica&nbsp;você&nbsp;usar&nbsp;a&nbsp;classe
*&nbsp;'CL_GUI_FRONTEND_SERVICES'&nbsp;que&nbsp;será&nbsp;a&nbsp;classe&nbsp;que&nbsp;vamos&nbsp;estudar&nbsp;hoje.
*&nbsp;&nbsp;Tentarei&nbsp;mostrar&nbsp;alguns&nbsp;Metodos&nbsp;interessantes&nbsp;dessa&nbsp;classe&nbsp;que&nbsp;trabalham
*&nbsp;com&nbsp;arquivos&nbsp;e&nbsp;pastas.

*&nbsp;&nbsp;A&nbsp;ideia&nbsp;desse&nbsp;programa&nbsp;será&nbsp;bem&nbsp;simples,&nbsp;ele&nbsp;te&nbsp;possibilita&nbsp;criar&nbsp;uma
*&nbsp;pasta&nbsp;e&nbsp;incluir&nbsp;nela&nbsp;copias&nbsp;dos&nbsp;arquivos&nbsp;de&nbsp;uma&nbsp;outra&nbsp;pasta,&nbsp;e&nbsp;no&nbsp;final
*&nbsp;,&nbsp;como&nbsp;tudo&nbsp;isso&nbsp;é&nbsp;só&nbsp;para&nbsp;teste,&nbsp;existe&nbsp;a&nbsp;possibilidade&nbsp;de&nbsp;deletar&nbsp;todos
*&nbsp;os&nbsp;arquivos&nbsp;copiados&nbsp;juntamente&nbsp;com&nbsp;a&nbsp;pasta&nbsp;caso&nbsp;deseje.&nbsp;Esse&nbsp;programa
*&nbsp;não&nbsp;fara&nbsp;nenhuma&nbsp;alteração&nbsp;de&nbsp;algum&nbsp;arquivo&nbsp;que&nbsp;você&nbsp;já&nbsp;tenha&nbsp;no&nbsp;Desktop,
*&nbsp;irá&nbsp;trabalhar&nbsp;somente&nbsp;com&nbsp;os&nbsp;criados&nbsp;pelo&nbsp;proprio&nbsp;programa.
*&nbsp;&nbsp;Recomendo&nbsp;criar&nbsp;uma&nbsp;pasta&nbsp;qualquer,&nbsp;incluir&nbsp;um&nbsp;arquivo&nbsp;qualquer&nbsp;também
*&nbsp;e&nbsp;começar&nbsp;a&nbsp;brincadeira.
*&nbsp;&nbsp;Como&nbsp;sempre&nbsp;faço,&nbsp;existem&nbsp;algums&nbsp;Breaks&nbsp;no&nbsp;código&nbsp;para&nbsp;forçá-los&nbsp;a
*&nbsp;entender&nbsp;o&nbsp;que&nbsp;cada&nbsp;metodo&nbsp;faz.&nbsp;Abaixo&nbsp;a&nbsp;lista&nbsp;dos&nbsp;metodos&nbsp;usados&nbsp;dessa
*&nbsp;Classe.

*&nbsp;cl_gui_frontend_services=&gt;directory_browse
*&nbsp;cl_gui_frontend_services=&gt;directory_create
*&nbsp;cl_gui_frontend_services=&gt;directory_exist
*&nbsp;cl_gui_frontend_services=&gt;directory_delete
*&nbsp;cl_gui_frontend_services=&gt;directory_list_files
*&nbsp;cl_gui_frontend_services=&gt;file_copy
*&nbsp;cl_gui_frontend_services=&gt;file_exist
*&nbsp;cl_gui_frontend_services=&gt;file_get_attributes
*&nbsp;cl_gui_frontend_services=&gt;file_delete

*&nbsp;&nbsp;Lembando&nbsp;que&nbsp;o&nbsp;código&nbsp;está&nbsp;simples,&nbsp;mais&nbsp;para&nbsp;estudos&nbsp;mesmo,&nbsp;sugestões,
*&nbsp;critina&nbsp;ou&nbsp;qualquer&nbsp;tipo&nbsp;de&nbsp;opnião&nbsp;estamos&nbsp;disponivel&nbsp;no&nbsp;final&nbsp;do&nbsp;post,
*&nbsp;a&nbsp;nomenclatura&nbsp;dos&nbsp;metodos&nbsp;estão&nbsp;bem&nbsp;intuitivas&nbsp;para&nbsp;não&nbsp;precisar&nbsp;comentar
*&nbsp;muito,&nbsp;mas&nbsp;qualquer&nbsp;duvida&nbsp;estamos&nbsp;aí&nbsp;também.
*&nbsp;Bons&nbsp;estudos&nbsp;aeeee.

REPORT&nbsp;z_cl_gui_frontend_services.

TABLES&nbsp;:
&nbsp;&nbsp;sscrfields.

CLASS
&nbsp;&nbsp;zcl_main&nbsp;DEFINITION&nbsp;DEFERRED.

DATA&nbsp;:
&nbsp;&nbsp;o_main&nbsp;TYPE&nbsp;REF&nbsp;TO&nbsp;zcl_main.

DATA&nbsp;:
&nbsp;&nbsp;subrc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;sy-subrc,
&nbsp;&nbsp;result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;abap_bool,
&nbsp;&nbsp;gt_file_table&nbsp;TYPE&nbsp;rstt_t_files.


*&nbsp;T01&nbsp;-&nbsp;Pastas
*&nbsp;C01&nbsp;-&nbsp;Processar
*&nbsp;T02&nbsp;-&nbsp;Arquivos
*&nbsp;T03&nbsp;-&nbsp;Deletar&nbsp;arquivos&nbsp;e&nbsp;pastas&nbsp;novas&nbsp;após&nbsp;o&nbsp;processo&nbsp;?

SELECTION-SCREEN&nbsp;BEGIN&nbsp;OF&nbsp;BLOCK&nbsp;b1&nbsp;WITH&nbsp;FRAME&nbsp;TITLE&nbsp;text-t01.
PARAMETERS&nbsp;:
&nbsp;&nbsp;folder&nbsp;&nbsp;&nbsp;TYPE&nbsp;string,
&nbsp;&nbsp;n_folder&nbsp;TYPE&nbsp;string&nbsp;DEFAULT&nbsp;'teste'.
SELECTION-SCREEN&nbsp;END&nbsp;OF&nbsp;BLOCK&nbsp;&nbsp;&nbsp;b1.

SELECTION-SCREEN&nbsp;BEGIN&nbsp;OF&nbsp;BLOCK&nbsp;b2&nbsp;WITH&nbsp;FRAME&nbsp;TITLE&nbsp;text-t02.
PARAMETERS&nbsp;:
&nbsp;&nbsp;folder2&nbsp;TYPE&nbsp;string.
SELECTION-SCREEN&nbsp;END&nbsp;OF&nbsp;BLOCK&nbsp;&nbsp;&nbsp;b2.

SELECTION-SCREEN&nbsp;BEGIN&nbsp;OF&nbsp;BLOCK&nbsp;b3&nbsp;WITH&nbsp;FRAME&nbsp;TITLE&nbsp;text-t03.
PARAMETERS&nbsp;:
&nbsp;&nbsp;del_fold&nbsp;AS&nbsp;CHECKBOX&nbsp;DEFAULT&nbsp;abap_true,
&nbsp;&nbsp;del_file&nbsp;AS&nbsp;CHECKBOX&nbsp;DEFAULT&nbsp;abap_true.
SELECTION-SCREEN&nbsp;END&nbsp;OF&nbsp;BLOCK&nbsp;&nbsp;&nbsp;b3.


CLASS&nbsp;zcl_main&nbsp;DEFINITION.
&nbsp;&nbsp;PUBLIC&nbsp;SECTION.
&nbsp;&nbsp;&nbsp;&nbsp;METHODS:
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_browse
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_title&nbsp;&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_folder&nbsp;TYPE&nbsp;string,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_create
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;sy-subrc,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_exist
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_result&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;abap_bool,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_delete
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;sy-subrc,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_list_files
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_count&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;i
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;TYPE&nbsp;rstt_t_files,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;TYPE&nbsp;rstt_t_files,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_copy
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_source&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_destination&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_overwrite&nbsp;&nbsp;&nbsp;TYPE&nbsp;abap_bool&nbsp;OPTIONAL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;sy-subrc,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_exist
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_file&nbsp;&nbsp;&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_result&nbsp;TYPE&nbsp;abap_bool,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_get_attributes
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_attributes&nbsp;TYPE&nbsp;char10,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup_to_confirm_files
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;TYPE&nbsp;rstt_t_files,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup_to_confirm
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_title&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_question&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_answer&nbsp;&nbsp;&nbsp;TYPE&nbsp;char1,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete_folder,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete_file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;TYPE&nbsp;rstt_t_files,
*--------------------------------------------------------------------*
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_delete
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_file&nbsp;TYPE&nbsp;string
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_rc&nbsp;&nbsp;&nbsp;TYPE&nbsp;sy-subrc
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.
ENDCLASS.


CLASS&nbsp;zcl_main&nbsp;IMPLEMENTATION.

&nbsp;&nbsp;METHOD&nbsp;directory.

&nbsp;&nbsp;&nbsp;&nbsp;BREAK-POINT.

&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;folder&nbsp;IS&nbsp;NOT&nbsp;INITIAL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;n_folder&nbsp;IS&nbsp;NOT&nbsp;INITIAL.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;directory_exist(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_result&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;result&nbsp;IS&nbsp;INITIAL.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;directory_create(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;subrc
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;subrc&nbsp;IS&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Pasta&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;`&nbsp;criada`.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Pasta&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Problema&nbsp;na&nbsp;criação.`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Pasta&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Já&nbsp;existe.`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.
&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Não&nbsp;foi&nbsp;feito&nbsp;nada,&nbsp;pois&nbsp;você&nbsp;esquece&nbsp;de&nbsp;`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;`colocar&nbsp;a&nbsp;pasta&nbsp;e/ou&nbsp;diretorio.`.
&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.


&nbsp;&nbsp;ENDMETHOD.
&nbsp;&nbsp;METHOD&nbsp;directory_browse.

&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;directory_browse(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window_title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_title&nbsp;&nbsp;&nbsp;"&nbsp;Title&nbsp;of&nbsp;Browsing&nbsp;Window
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selected_folder&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;cv_folder&nbsp;&nbsp;"&nbsp;Folder&nbsp;Selected&nbsp;By&nbsp;User
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;directory_create.

&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;directory_create(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_directory&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Directory&nbsp;name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;cv_rc&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Return&nbsp;Code
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_create_failed&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_access_denied&nbsp;&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_already_exists&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path_not_found&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;6
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unknown_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;7
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;8
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;9
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;10
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;ENDMETHOD.
&nbsp;&nbsp;METHOD&nbsp;directory_exist.
&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;directory_exist(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_directory&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Directory&nbsp;name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RECEIVING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;cv_result&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;).
&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;directory_delete.
&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;directory_delete(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_directory&nbsp;"&nbsp;Directory&nbsp;to&nbsp;Delete
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;cv_rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Return&nbsp;Code
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_delete_failed&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path_not_found&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_access_denied&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unknown_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;6
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;7
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;8
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;9
&nbsp;&nbsp;&nbsp;&nbsp;).
&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;directory_list_files.

&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;directory_list_files(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_directory
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'*.*'
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;files_only&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directories_only&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_table&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;ct_file_table
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;ev_count
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory_list_files_failed&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;6
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;file.

&nbsp;&nbsp;&nbsp;&nbsp;BREAK-POINT.

&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;folder2&nbsp;IS&nbsp;NOT&nbsp;INITIAL.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DATA&nbsp;:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_file_table&nbsp;LIKE&nbsp;LINE&nbsp;OF&nbsp;gt_file_table.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;directory_list_files(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;&nbsp;=&nbsp;folder2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;=&nbsp;ct_file_table
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;ct_file_table[]&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;popup_to_confirm_files(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;=&nbsp;ct_file_table
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;ct_file_table[]&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOOP&nbsp;AT&nbsp;ct_file_table&nbsp;INTO&nbsp;ls_file_table.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;file_exist(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_file&nbsp;&nbsp;&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_result&nbsp;=&nbsp;result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;result&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;popup_to_confirm(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_title&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'Arquivo&nbsp;Existente'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_question&nbsp;=&nbsp;`Arquivo&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n_folder&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;já&nbsp;existe,&nbsp;deseja&nbsp;sobrescrever&nbsp;?`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_answer&nbsp;&nbsp;&nbsp;=&nbsp;result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;result&nbsp;=&nbsp;'1'.&nbsp;"&nbsp;Sobrescrever&nbsp;!!!!
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;abap_true.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLEAR&nbsp;result.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;file_copy(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_source&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;folder2&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_destination&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_overwrite&nbsp;&nbsp;&nbsp;=&nbsp;result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_rc&nbsp;=&nbsp;subrc
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;subrc&nbsp;IS&nbsp;INITIAL.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DATA&nbsp;:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lv_attributes(10).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;file_get_attributes(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_attributes&nbsp;=&nbsp;lv_attributes
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Arquivo&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder2&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Copiado&nbsp;com&nbsp;exito.&nbsp;Atributo&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;lv_attributes.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Arquivo&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;ls_file_table-filename&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Erro&nbsp;ao&nbsp;copiar.`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDLOOP.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `Não&nbsp;foram&nbsp;selecionados&nbsp;arquivos&nbsp;para&nbsp;cópia&nbsp;da&nbsp;pasta&nbsp;de&nbsp;origem.`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `Não&nbsp;foram&nbsp;encontrados&nbsp;arquivos&nbsp;para&nbsp;cópia&nbsp;da&nbsp;pasta&nbsp;de&nbsp;origem.`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.
&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `Não&nbsp;foi&nbsp;definido&nbsp;a&nbsp;pasta&nbsp;de&nbsp;origem&nbsp;dos&nbsp;arquivos&nbsp;a&nbsp;serem&nbsp;copiados.`.
&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;popup_to_confirm_files.

*&nbsp;Caso&nbsp;não&nbsp;lembre.
* http://abapjuniores.blogspot.com.br/2017/06/funcao-reusealvpopuptoselect.html

&nbsp;&nbsp;&nbsp;&nbsp;TYPES&nbsp;:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEGIN&nbsp;OF&nbsp;ty_popup,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select(1),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text(50),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;OF&nbsp;&nbsp;&nbsp;ty_popup.

&nbsp;&nbsp;&nbsp;&nbsp;DATA&nbsp;:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lt_popup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;TABLE&nbsp;OF&nbsp;ty_popup,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_popup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIKE&nbsp;LINE&nbsp;OF&nbsp;lt_popup,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lt_fcat_popup&nbsp;TYPE&nbsp;TABLE&nbsp;OF&nbsp;slis_fieldcat_alv,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup&nbsp;LIKE&nbsp;LINE&nbsp;OF&nbsp;lt_fcat_popup,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lt_excl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;slis_t_extab,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_excl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;slis_extab,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_file_table&nbsp;LIKE&nbsp;LINE&nbsp;OF&nbsp;ct_file_table,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_tabix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;i.

&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-tabname&nbsp;&nbsp;&nbsp;=&nbsp;'LT_POPUP'.

&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-col_pos&nbsp;&nbsp;&nbsp;=&nbsp;'1'.
&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-fieldname&nbsp;=&nbsp;'SELECT'.
&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-seltext_m&nbsp;=&nbsp;'SELECT'.
&nbsp;&nbsp;&nbsp;&nbsp;APPEND&nbsp;ls_fcat_popup&nbsp;TO&nbsp;lt_fcat_popup.

&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-col_pos&nbsp;&nbsp;&nbsp;=&nbsp;'2'.
&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-fieldname&nbsp;=&nbsp;'TEXT'.
&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-seltext_m&nbsp;=&nbsp;'Status'.
&nbsp;&nbsp;&nbsp;&nbsp;ls_fcat_popup-outputlen&nbsp;=&nbsp;50.
&nbsp;&nbsp;&nbsp;&nbsp;APPEND&nbsp;ls_fcat_popup&nbsp;TO&nbsp;lt_fcat_popup.

&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;ETA'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'%SC'.&nbsp;&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'%SC+'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;OUP'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;ODN'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;ILT'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;OL0'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;CRB'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;CRL'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;CRR'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;CRE'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;ALL'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.
&nbsp;&nbsp;&nbsp;&nbsp;ls_excl-fcode&nbsp;=&nbsp;'&amp;SAL'.&nbsp;APPEND&nbsp;ls_excl&nbsp;TO&nbsp;lt_excl.

*&nbsp;Atualiza&nbsp;as&nbsp;Opções&nbsp;do&nbsp;Pop-up
&nbsp;&nbsp;&nbsp;&nbsp;LOOP&nbsp;AT&nbsp;ct_file_table&nbsp;INTO&nbsp;ls_file_table.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_popup-text&nbsp;=&nbsp;ls_file_table-filename.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;APPEND&nbsp;ls_popup&nbsp;TO&nbsp;lt_popup.
&nbsp;&nbsp;&nbsp;&nbsp;ENDLOOP.


&nbsp;&nbsp;&nbsp;&nbsp;CALL&nbsp;FUNCTION&nbsp;'REUSE_ALV_POPUP_TO_SELECT'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'Copiar&nbsp;os&nbsp;arquivos&nbsp;:'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_zebra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;abap_true
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_screen_start_column&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_screen_start_line&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_checkbox_fieldname&nbsp;&nbsp;=&nbsp;'SELECT'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_tabname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'LT_POPUP'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it_fieldcat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;lt_fcat_popup
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it_excluding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;lt_excl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TABLES
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_outtab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;lt_popup
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;program_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2.

&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;sy-subrc&nbsp;IS&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DELETE&nbsp;lt_popup&nbsp;WHERE&nbsp;select&nbsp;=&nbsp;space.
&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

*&nbsp;Valida&nbsp;as&nbsp;opções&nbsp;selecionadas
&nbsp;&nbsp;&nbsp;&nbsp;LOOP&nbsp;AT&nbsp;ct_file_table&nbsp;INTO&nbsp;ls_file_table.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_tabix&nbsp;=&nbsp;sy-tabix.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;READ&nbsp;TABLE&nbsp;lt_popup&nbsp;TRANSPORTING&nbsp;NO&nbsp;FIELDS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH&nbsp;KEY&nbsp;text&nbsp;=&nbsp;ls_file_table-filename.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;sy-subrc&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DELETE&nbsp;ct_file_table&nbsp;INDEX&nbsp;l_tabix.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.
&nbsp;&nbsp;&nbsp;&nbsp;ENDLOOP.

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;file_copy.

&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;file_copy(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_source&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Source
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destination&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_destination&nbsp;"&nbsp;Destination
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overwrite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_overwrite&nbsp;&nbsp;&nbsp;"&nbsp;Overrides&nbsp;if&nbsp;Destination&nbsp;Exists
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disk_full&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access_denied&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_not_found&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;6
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destination_exists&nbsp;&nbsp;&nbsp;=&nbsp;7
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unknown_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;8
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path_not_found&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;9
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disk_write_protect&nbsp;&nbsp;&nbsp;=&nbsp;10
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;drive_not_ready&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;11
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;=&nbsp;12
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;13
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;ev_rc&nbsp;=&nbsp;sy-subrc.

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;file_exist.

&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;file_exist(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;iv_file&nbsp;&nbsp;&nbsp;"&nbsp;File&nbsp;to&nbsp;Check
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RECEIVING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;ev_result&nbsp;"&nbsp;Result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;popup_to_confirm.
&nbsp;&nbsp;&nbsp;&nbsp;CALL&nbsp;FUNCTION&nbsp;'POPUP_TO_CONFIRM'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;titlebar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_title
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text_question&nbsp;&nbsp;=&nbsp;iv_question
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;answer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;ev_answer
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text_not_found&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2.

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;file_get_attributes.

&nbsp;&nbsp;&nbsp;&nbsp;DATA&nbsp;:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_readonly(1),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_normal(1),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_hidden(1),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_archive(1).

&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;file_get_attributes(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_file&nbsp;&nbsp;&nbsp;"&nbsp;File&nbsp;Name
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readonly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;l_readonly&nbsp;"&nbsp;Attribute:&nbsp;readonly
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;normal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;l_normal&nbsp;&nbsp;&nbsp;"&nbsp;Attribute:&nbsp;Normal
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hidden&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;l_hidden&nbsp;&nbsp;&nbsp;"&nbsp;Attribute:&nbsp;Hidden
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;archive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;l_archive&nbsp;&nbsp;"&nbsp;Attribute:&nbsp;Archive
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_get_attributes_failed&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;6
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;CASE&nbsp;abap_true.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;l_readonly.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_attributes&nbsp;=&nbsp;'READONLY'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;l_normal.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_attributes&nbsp;=&nbsp;'NORMAL'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;l_hidden.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_attributes&nbsp;=&nbsp;'HIDDEN'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;l_archive.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_attributes&nbsp;=&nbsp;'ARCHIVE'.
&nbsp;&nbsp;&nbsp;&nbsp;ENDCASE.

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;delete_folder.

&nbsp;&nbsp;&nbsp;&nbsp;BREAK-POINT.

&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;directory_exist(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_result&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;result
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;result&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Pasta&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Existe`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;directory_delete(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_directory&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;subrc
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;sy-subrc&nbsp;IS&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Pasta&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Deletada`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Pasta&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Problema&nbsp;na&nbsp;deleção.`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Pasta&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Não&nbsp;existe`.
&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;delete_file.

&nbsp;&nbsp;&nbsp;&nbsp;DATA&nbsp;:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_file_table&nbsp;LIKE&nbsp;LINE&nbsp;OF&nbsp;ct_file_table.

&nbsp;&nbsp;&nbsp;&nbsp;BREAK-POINT.

&nbsp;&nbsp;&nbsp;&nbsp;LOOP&nbsp;AT&nbsp;ct_file_table&nbsp;INTO&nbsp;ls_file_table.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;file_exist(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_file&nbsp;&nbsp;&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_result&nbsp;=&nbsp;result
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;result&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;me-&gt;file_delete(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_file&nbsp;=&nbsp;folder&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;ls_file_table-filename
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ev_rc&nbsp;&nbsp;&nbsp;=&nbsp;subrc
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;subrc&nbsp;IS&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Arquivo&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;ls_file_table-filename&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Deletado`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Arquivo&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;ls_file_table-filename&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Erro&nbsp;ao&nbsp;deletar`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITE&nbsp;:&nbsp;/&nbsp;`Arquivo&nbsp;:&nbsp;`&nbsp;&amp;&amp;&nbsp;folder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;'\'&nbsp;&amp;&amp;&nbsp;n_folder&nbsp;&amp;&amp;&nbsp;'\'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;ls_file_table-filename&nbsp;&amp;&amp;&nbsp;`&nbsp;-&nbsp;Não&nbsp;existe`.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;&nbsp;&nbsp;ENDLOOP.

&nbsp;&nbsp;ENDMETHOD.

&nbsp;&nbsp;METHOD&nbsp;file_delete.
&nbsp;&nbsp;&nbsp;&nbsp;cl_gui_frontend_services=&gt;file_delete(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;iv_file&nbsp;"&nbsp;Name&nbsp;of&nbsp;the&nbsp;file&nbsp;to&nbsp;be&nbsp;deleted
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;ev_rc&nbsp;&nbsp;&nbsp;"&nbsp;Return&nbsp;Code
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_delete_failed&nbsp;&nbsp;&nbsp;=&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_no_gui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_not_found&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access_denied&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;5
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unknown_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;6
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not_supported_by_gui&nbsp;=&nbsp;7
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong_parameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;8
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;9
&nbsp;&nbsp;&nbsp;&nbsp;).

&nbsp;&nbsp;ENDMETHOD.
ENDCLASS.

INITIALIZATION.
&nbsp;&nbsp;CREATE&nbsp;OBJECT&nbsp;o_main.

AT&nbsp;SELECTION-SCREEN&nbsp;OUTPUT.

*&nbsp;Caso&nbsp;não&nbsp;lembre.
 
* http://abapjuniores.blogspot.com.br/2013/10/programas-sem-objetos-de-textos.html
&nbsp;
&nbsp;&nbsp;TRY&nbsp;.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%_folder_%_app_%-text&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'Destino&nbsp;da&nbsp;nova&nbsp;pasta&nbsp;:'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%_n_folder_%_app_%-text&nbsp;&nbsp;=&nbsp;'Nome&nbsp;da&nbsp;nova&nbsp;Pasta&nbsp;:&nbsp;'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%_folder2_%_app_%-text&nbsp;&nbsp;&nbsp;=&nbsp;'Pasta&nbsp;com&nbsp;os&nbsp;arquivos&nbsp;a&nbsp;copiar&nbsp;:&nbsp;'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%_del_fold_%_app_%-text&nbsp;&nbsp;=&nbsp;'---&gt;&nbsp;Pasta'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%_del_file_%_app_%-text&nbsp;&nbsp;=&nbsp;'---&gt;Arquivo'.
&nbsp;&nbsp;&nbsp;&nbsp;CATCH&nbsp;cx_root.

&nbsp;&nbsp;ENDTRY.



AT&nbsp;SELECTION-SCREEN&nbsp;ON&nbsp;VALUE-REQUEST&nbsp;FOR&nbsp;folder.
&nbsp;&nbsp;o_main-&gt;directory_browse(
&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_title&nbsp;&nbsp;=&nbsp;'Diretório&nbsp;aonde&nbsp;será&nbsp;criado&nbsp;a&nbsp;pasta'
&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_folder&nbsp;=&nbsp;folder
&nbsp;&nbsp;).

AT&nbsp;SELECTION-SCREEN&nbsp;ON&nbsp;VALUE-REQUEST&nbsp;FOR&nbsp;folder2.
&nbsp;&nbsp;o_main-&gt;directory_browse(
&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv_title&nbsp;&nbsp;=&nbsp;'Diretório&nbsp;de&nbsp;origem&nbsp;dos&nbsp;arquivos&nbsp;a&nbsp;serem&nbsp;copiados'
&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cv_folder&nbsp;=&nbsp;folder2
&nbsp;&nbsp;).


START-OF-SELECTION.
&nbsp;&nbsp;o_main-&gt;directory(&nbsp;).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Cria&nbsp;a&nbsp;pasta
&nbsp;&nbsp;o_main-&gt;file(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Cria&nbsp;a&nbsp;copia&nbsp;dos&nbsp;arquivos
&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;=&nbsp;gt_file_table
&nbsp;&nbsp;).

&nbsp;&nbsp;IF&nbsp;del_file&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;o_main-&gt;delete_file(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Deletas&nbsp;os&nbsp;arquivos&nbsp;'COPIA'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGING
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ct_file_table&nbsp;=&nbsp;gt_file_table
&nbsp;&nbsp;&nbsp;&nbsp;).
&nbsp;&nbsp;ENDIF.

&nbsp;&nbsp;IF&nbsp;del_fold&nbsp;IS&nbsp;NOT&nbsp;INITIAL.
&nbsp;&nbsp;&nbsp;&nbsp;o_main-&gt;delete_folder(&nbsp;).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;Deleta&nbsp;a&nbsp;pasta
&nbsp;&nbsp;ENDIF.