- Criado por Cleane Hermann, última alteração em 23 jun, 2023
Sintaxe
LET l_ftp_reference = _ADVPL_create_component(NULL,"LFTP")
Métodos GET
Métodos acessíveis através da função _ADVPL_get_property
que permite recuperar e manipular os valores do componente:
Método GET: FTP_CONNECT
Realiza conexão com um servidor FTP.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_CONNECT",< cServer >,< nPort >,< cUser >,< cPassword >) => SMALLINT
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
cServer | CHAR | Nome ou endereço IP do servidor FTP. | Sim | |
nPort | SMALLINT | Número da porta de comunicação com o servidor FTP. | Sim | |
cUser | CHAR | Usuário para autenticação no servidor FTP. | Sim | |
cPassword | CHAR | Senha para autenticação no servidor FTP. | Sim |
Retorno
Tipo | Descrição |
---|---|
SMALLINT | Verdadeiro se o servidor FTP foi conectado com sucesso. |
Exemplo
#------------------------------# FUNCTION LFTP_getFTP_CONNECT() #------------------------------# DEFINE l_reference VARCHAR(10) # Cria o componente para conexão FTP. LET l_reference = _ADVPL_create_component(NULL,"LFTP") # Conecta o componente ao servidor FTP. LET l_status = _ADVPL_get_property(l_reference,"FTP_CONNECT","est1",21,"lg991933","********") END FUNCTION
Método GET: FTP_DOWNLOAD_FILE
Efetua o download de um arquivo do servidor FTP.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_DOWNLOAD_FILE",< cFile >,< cDir >) => SMALLINT
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
cFile | CHAR | Arquivo de origem do servidor FTP do qual será realizado o download para a máquina local ou para um diretório do servidor TOTVS Tec. O arquivo deve ser informado com o caminho completo do servidor FTP. | Sim | |
cDir | CHAR | Diretório de destino onde será feito o download do arquivo. Podendo este ser da máquina local ou um diretório do servidor TOTVS Tec. | Sim |
Retorno
Tipo | Descrição |
---|---|
SMALLINT | Verdadeiro se o download do arquivo foi realizado com sucesso. |
Exemplo
# Efetua o download de um arquivo do servidor FTP para a maquina local. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_DOWNLOAD_FILE","\\home\\lg991933\\ftp_download.txt","C:\\ftp\\")
Método GET: FTP_ERROR
Informa o código de erro da última ação FTP que falhou.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_ERROR")
Retorno
Tipo | Descrição |
---|---|
CHAR | Mensagem de erro ocorrida na última ação FTP que falhou. |
Exemplo
LET l_msgerror = _ADVPL_get_property(l_reference,"FTP_ERROR")
Método GET: FTP_GET_FILE_LIST_COUNT
Quantidade de arquivos encontrados na execução do método FTP_LOAD_FILE_LIST.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_GET_FILE_LIST_COUNT") => INTEGER
Retorno
Tipo | Descrição |
---|---|
INTEGER | Quantidade total de arquivos encontrados no diretório informado no método "FTP_LOAD_FILE_LIST" |
Exemplo
LET l_totalFiles = _ADVPL_get_property(l_reference,"FTP_GET_FILE_LIST_COUNT")
Método GET: FTP_GET_FILE_LIST_INDEX
Arquivo encontrado numa determinada posição da lista de arquivos carregados pelo método FTP_LOAD_FILE_LIST.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_GET_FILE_LIST_INDEX",< nIndex >) => SMALLINT
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
nIndex | INTEGER | Índice do arquivo dentro da lista de arquivos encontrados no diretório informado na execução do método "FTP_LOAD_FILE_LIST". | Sim |
Retorno
Tipo | Descrição |
---|---|
INTEGER | Nome do arquivo |
Exemplo
# Carrega a lista dos arquivos de um diretório FTP. CALL _ADVPL_set_property(l_ftp_reference,"FTP_LOAD_FILE_LIST","/home/lg991933/","*.*",TRUE) # Recupera a quantidade de arquivos encontrados no diretório. LET l_count = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_COUNT") FOR l_ind = 1 TO l_count # Exibe no console todos os arquivos encontrados no diretório. LET l_file_name = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_INDEX",l_ind) CALL conout(l_file_name CLIPPED) END FOR
Método GET: FTP_REMOVE_FILE
Remove um arquivo do servidor FTP.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_REMOVE_FILE",< cFile >) => SMALLINT
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
cFile | CHAR | Arquivo do servidor FTP que será removido, o arquivo deve ter o caminho do completo. | Sim |
Retorno
Tipo | Descrição |
---|---|
SMALLINT | Verdadeiro se o arquivo do servidor FTP foi removido com sucesso. Em caso de falha (Falso) a descrição do erro ocorrido pode ser recuperada utilizando o método FTP_ERROR. |
Exemplo
# Exclui um arquivo do servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_REMOVE_FILE","\\home\\lg991933\\teste.txt")
Método GET: FTP_RENAME_FILE
Renomeia um arquivo do servidor FTP.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_RENAME_FILE",< cFile >,< cNewFile >) => SMALLINT
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
cFile | CHAR | Arquivo do servidor FTP que será renomeado, o arquivo deve ter o caminho do completo. | Sim | |
cNewFile | CHAR | Novo nome que será atribuído ao arquivo informado. | Sim |
Retorno
Tipo | Descrição |
---|---|
SMALLINT | Verdadeiro se o arquivo do servidor FTP foi renomeado com sucesso. Em caso de falha (Falso) a descrição do erro ocorrido pode ser recuperada utilizando o método FTP_ERROR. |
Exemplo
# Renomeia um arquivo do servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_RENAME_FILE","\\home\\lg991933\\ftp_download.txt","teste.txt")
Método GET: FTP_UPLOAD_FILE
Efetua o upload de um arquivo para o servidor FTP.
Sintaxe
_ADVPL_get_property(< l_reference >,"FTP_UPLOAD_FILE",< cFile >,< cDir >) => SMALLINT
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
cFile | CHAR | Arquivo de origem do qual será realizado o upload para o servidor FTP. O arquivo deve estar com o caminho completo, podendo este ser da máquina local ou de um diretório do servidor TOTVS Tec. A pesquisa do arquivo de origem sempre será realizada na seguinte ordem: 2) Pasta completa no servidor do AppServer. 3) Pasta no disco do servidor do AppServer, sendo uma pasta relativa ao ROOTPATH configurado no ambiente em uso. | Sim | |
cDir | CHAR | Diretório do servidor FTP de destino, onde será feito o UPLOAD do arquivo informado. | Sim |
Retorno
Tipo | Descrição |
---|---|
SMALLINT | Verdadeiro se o upload do arquivo foi realizado com sucesso. |
Exemplo
# Efetua o upload de um arquivo da máquina local para o servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_UPLOAD_FILE","C:\\ftp\\ftp_upload.txt","\\home\\lg991933\\")
Métodos SET
Métodos acessíveis através da função _ADVPL_set_property
que permite alterar e manipular os valores do componente:
Método SET: FTP_DISCONNECT
Desconecta um servidor FTP.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"FTP_DISCONNECT")
Exemplo
#---------------------------------# FUNCTION LFTP_setFTP_DISCONNECT() #---------------------------------# CALL _ADVPL_set_property(l_reference,"FTP_DISCONNECT") END FUNCTION
Método SET: FTP_LOAD_FILE_LIST
Carrega uma lista com os arquivos encontrados no diretório informado do servidor FTP.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"FTP_LOAD_FILE_LIST", < cDir>, < cExtension >, < nListDir > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
cDir | CHAR | Diretório do servidor FTP do qual deseja-se carregar a lista de arquivos. | Sim | |
cExtension | CHAR | Define quais extensões de arquivos serão carregados na lista de arquivos. | ||
nListDir | SMALLINT | Indicador que define se serão listadas os subdiretórios do diretório informado. | FALSE |
Observações
Caso não informada a extensão do arquivo, será considerado o padrão todos os arquivos (*.*).
Caso não informado se irá listar os subdiretórios, iserá considerado o padrão para não listar os subdiretórios (FALSE).
Exemplo
# Carrega a lista dos arquivos de um diretório FTP. CALL _ADVPL_set_property(l_ftp_reference,"FTP_LOAD_FILE_LIST","/home/lg991933/","*.*",TRUE)
Exemplo
Clique no link na lateral direita para expandir o código de exemplo.
#--------------------# FUNCTION TesteLFTP() #--------------------# DEFINE l_ind SMALLINT, l_count SMALLINT, l_status SMALLINT DEFINE l_file_name CHAR(050) DEFINE l_ftp_reference VARCHAR(10) # Cria o componente para conexão FTP. LET l_ftp_reference = _ADVPL_create_component(NULL,"LFTP") # Conecta o componente ao servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_CONNECT","est1",21,"lg991933","********") IF NOT l_status THEN CALL log0030_mensagem("Não foi possível conectar-se ao servidor FTP.","excl") RETURN END IF # Carrega a lista dos arquivos de um diretório FTP. CALL _ADVPL_set_property(l_ftp_reference,"FTP_LOAD_FILE_LIST","/home/lg991933/","*.*",TRUE) # Recupera a quantidade de arquivos encontrados no diretório. LET l_count = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_COUNT") IF l_count = 0 THEN CALL log0030_mensagem("Nenhum arquivo encontrado no diretório '/home/lg991933/' do servidor FTP.","excl") RETURN END IF FOR l_ind = 1 TO l_count # Exibe no console todos os arquivos encontrados no diretório. LET l_file_name = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_INDEX",l_ind) CALL conout(l_file_name CLIPPED) END FOR # Efetua o upload de um arquivo da máquina local para o servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_UPLOAD_FILE","C:\\ftp\\ftp_upload.txt","\\home\\lg991933\\") # Efetua o download de um arquivo do servidor FTP para a maquina local. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_DOWNLOAD_FILE","\\home\\lg991933\\ftp_download.txt","C:\\ftp\\") # Renomeia um arquivo do servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_RENAME_FILE","\\home\\lg991933\\ftp_download.txt","teste.txt") # Exclui um arquivo do servidor FTP. LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_REMOVE_FILE","\\home\\lg991933\\teste.txt") # Disconecta do servidor FTP. CALL _ADVPL_set_property(l_ftp_reference,"FTP_DISCONNECT") END FUNCTION