Exportar os dados contidos em uma variável ARRAY OF RECORD para um arquivo no formato texto, permitindo selecionar as colunas e quantidade de linhas a exportar.
Sintaxe
_ADVPL_UnloadArrayToFile( < u4GLRec >, < cFilePathServer >, < cDelimiter >, <cDelimiterSubstitute>, < cColumns >, < nRowsCount > )
Parâmetros
Nome | Tipo | Obrigatório? | Descrição |
---|---|---|---|
u4GLRec |
| Sim | Variável 4GL do tipo ARRAY OF RECORD que contém os dados a serem exportados. |
cFilePathServer |
| Não | Caminho completo do arquivo a ser gravado no servidor. Se for enviado nome de arquivo sem extensão, irá assumir extensão ".unl" (unload file). Se não for enviado um caminho de diretório, o valor do parâmetro deverá ser NULL. Neste caso a função irá considerar automaticamente a pasta de destino como uma pasta temporária do AppServer. Se for informado um caminho de diretório inválido ou não existente no servidor, a função será interrompida, retornando valor NULL, indicando que houve algum problema na extração dos dados. |
cDelimiter |
| Não | Character ou conjunto de caracteres que serão considerados como delimitador entre as colunas de dados. Informe NULL para considerar o delimitador padrão como "|" (pipe). |
cDelimiterSubstitute |
| Não | Caso o delimitador informado no parâmetro cDelimiter for encontrado no conteúdo de algum dado a ser exportado, informe, se desejar, algum caracter ou conjunto de caracteres de substituição. Se informar NULL irá apenas extrair do conteúdo da coluna que coincidir com o conteúdo do delimitador indicado no parâmetro cDelimiter. |
cColumns |
| Não | Lista com o nome dos elementos do array de record 4GL que deverão ser exportados. Informe NULL para considerar exportação de todos os elementos definidos no array de record.
nomecoluna1|nomecoluna2
NULL |
nRowsCount |
| Não | Número de linhas a serem exportadas do array, considerando sempre a linha inicial como 1. Quando não informado será considerado todas as linhas. |
Retorno
Nome | Tipo | Descrição |
---|---|---|
cFilePathServer |
| Caminho completo do arquivo exportado gerado no servidor. Caso tenha ocorrido qualquer tipo de erro durante a geração do arquivo ou extração dos dados do array, o retorno desta função será NULL. |
Exemplo
DEFINE ma_dados ARRAY[3] OF RECORD codigo SMALLINT, texto CHAR(10) END RECORD #-------------------------------------------# FUNCTION UnloadArrayToFile_test() #-------------------------------------------# DEFINE l_csvFile CHAR(300) LET ma_dados[1].codigo = 49 LET ma_dados[1].texto = 'linha 01' LET ma_dados[2].codigo = 27 LET ma_dados[2].texto = 'linha 03' LET ma_dados[3].codigo = 5 LET ma_dados[3].texto = 'linha 02' #Exportar toda grid para um arquivo automatico no appserver com extensão UNL, usando o delimitador como #!# LET l_exportFile = _ADVPL_UnloadArrayToFile(ma_dados,"#!#") CALL conout("PLANILHA 1 GERADA NO ARQUIVO "||l_exportFile CLIPPED) #Exportar todos dados até a linha 2 da grid para um arquivo automatico no appserver com extensão UNL, usando o delimitador padrão "|" LET l_exportFile = _ADVPL_UnloadArrayToFile(ma_dados,NULL,NULL,2) CALL conout("PLANILHA 2 GERADA NO ARQUIVO "||l_exportFile CLIPPED) #Exportar todas as linhas, apenas o valor da coluna 1 para um arquivo de nome automático no appserver com extensão UNL, usando o delimitador padrão "|" LET l_exportFile = _ADVPL_UnloadArrayToFile(ma_dados,NULL,"codigo") CALL conout("PLANILHA 3 GERADA NO ARQUIVO "||l_exportFile CLIPPED) END FUNCTION
Informações
Fontes: array.prw
Observações
Disponível a partir do pacote Logix 12.1.2311.