Manipulação de Ficheiros
📋 Visão Geral
ABAP diferencia Presentation Server (PC do usuário) e Application Server (servidor SAP). Principais comandos: OPEN DATASET, TRANSFER, READ DATASET, CLOSE DATASET.
Application Server (SERVER)
DATA: lv_path TYPE string VALUE '/usr/sap/trans/myfile.txt'.
OPEN DATASET lv_path FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc <> 0.
MESSAGE 'Erro ao abrir ficheiro' TYPE 'E'.
RETURN.
ENDIF.
READ DATASET lv_path INTO DATA(lv_line).
WHILE sy-subrc = 0.
WRITE: / lv_line.
READ DATASET lv_path INTO lv_line.
ENDWHILE.
CLOSE DATASET lv_path.
Presentation Server (PC)
- Use
GUI_UPLOAD/GUI_DOWNLOAD(cl_gui_frontend_services)
DATA: lt_lines TYPE TABLE OF string.
cl_gui_frontend_services=>gui_upload(
EXPORTING
filename = 'C:\temp\file.txt'
CHANGING
data_tab = lt_lines ).
Segurança e Permissões
- Restrinja paths permitidos (whitelist).
- Evite permitir upload arbitrário sem validação.
- Evite executar ficheiros carregados.
Boas Práticas
- Use
OPEN DATASETcomIN TEXT MODEeENCODINGadequado. - Sempre
CLOSE DATASETem tratamento de exceções (TRY/CATCH ou CLEANUP). - Ao escrever ficheiros sensíveis, controle permissões e rotas de transporte.
Próximos Passos
5_mensagens.md— mensagens e logging
Tags: #files #open_dataset #gui_upload