A interface de arquivo plano é um ambiente de linguagem que vem pré-configurado para o DB2 na maioria das plataformas. Você pode abrir, ler e manipular dados a partir de fontes de arquivos planos (texto comum), assim como armazenar dados em arquivos planos utilizando as funções na macro Net.Data.
Para melhorar o desempenho, você pode manter a saída tabular do Net.Data de um conjunto de pedidos SQL em um arquivo plano. Você pode recuperar o arquivo plano em pedidos subseqüentes, ao invés de emitir novamente os pedidos SQL.
Os arquivos planos do Net.Data podem ser criados a partir das tabelas Net.Data e as tabelas podem ser geradas a partir dos arquivos planos. Para efetuar as transformações entre as tabelas e os arquivos planos, você deve definir o mapeamento entre as colunas em uma tabela e os registros em um arquivo plano. Os delimitadores fornecem um método para definir como porções de registros em um arquivo plano podem ser separadas e mapeadas até as colunas de uma tabela e como colunas em uma tabela podem ser mapeadas até registros em um arquivo plano.
Há dois tipos de delimitadores:
A função DTWF_SEARCH pode ser utilizada para recuperar determinados registros mantidos em um arquivo plano que foi gerado a partir de uma tabela Net.Data. Especifique uma cadeia em DTWF_SEARCH para retornar todos os registros que contém a cadeia no arquivo plano como linhas em uma tabela Net.Data.
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Grava o conteúdo de uma variável de tabela no final de um arquivo.
Sintaxe
Parâmetros
Tabela 51. Parâmetros DTWF_APPEND
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | IN | Nome do arquivo no qual o conteúdo da variável de tabela é acrescentado. |
| cadeia | transformar | IN | O formato do arquivo:
|
| cadeia | delimitador | IN | Um cadeia de caractere para indicar os finais de valores. Este parâmetro é sensível à maiúsculas/minúsculas. Ignorado se transformar for ASCIITEXT. |
| cadeia | tabela | IN | A variável de tabela a partir da qual os registros são lidos. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser anexado imediatamente. O padrão é não tentar novamente. |
| inteiro | linhas | IN | O número máximo de linhas da tabela para anexar. O padrão é anexar todas as linhas. Especificar 0 anexa todas as linhas. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
%}
@DTWF_APPEND(meuArquivo, "DELIMITED", " ;", minhaTabela)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
%}
@DTWF_APPEND(meuArquivo, "ASCIITEXT", " ;", minhaTabela)
Exemplo 3:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
%}
@DTWF_APPEND(meuArquivo, "ASCIITEXT", " ;", minhaTabela, "0", "10")
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Fecha um arquivo aberto por DTWF_OPEN.
Sintaxe
Parâmetros
Tabela 52. Parâmetros DTWF_CLOSE
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | IN | O nome do arquivo a ser fechado. O nome do caminho completo do arquivo é retornado quando este é fechado. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser fechado imediatamente. O padrão é não tentar novamente. |
Exemplos
Exemplo 1:
@DTWF_CLOSE(meuArquivo, 5)
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Elimina registros de um arquivo. (Não elimina arquivos vazios.)
Sintaxe
Parâmetros
Tabela 53. Parâmetros DTW_DELETE
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | IN | Nome do arquivo cujos registros serão eliminados. |
| cadeia | transformar | IN | O formato do arquivo:
|
| cadeia | delimitador | IN | Um cadeia de caractere para indicar os finais de valores. Este parâmetro é sensível à maiúsculas/minúsculas. Ignorado se transformar for ASCIITEXT. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser eliminado imediatamente. O padrão é não tentar novamente. |
| inteiro | linhas | IN | O número máximo de linhas a serem eliminadas. O padrão é eliminar todas as linhas. Especificar 0 eliminará todas as linhas. |
| inteiro | linhainicial | IN | O número de linha a partir do qual deve se iniciar a eliminação. Um valor de 1 significa iniciar a eliminação na primeira linha. Se este valor for maior que o número de linhas no arquivo, o valor é mudado para o último registro e retornado como um erro. O padrão é iniciar no 1. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
minhaEspera = "5000"
minhasLinhas = "2"
%}
@DTWF_DELETE(meuArquivo, "Delimited", "|", minhaEspera, minhasLinhas)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
meuInício = "1"
minhasLinhas = "2"
%}
@DTWF_DELETE(meuArquivo, "Asciitext", "|", "0", minhasLinhas, meuInício)
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Insere registros em um arquivo.
Sintaxe
Parâmetros
Tabela 54. Parâmetros DTWF_INSERT
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | INOUT | Nome do arquivo no qual registros são inseridos. O nome do caminho completo do arquivo é retornado. |
| cadeia | transformar | IN | O formato do arquivo:
|
| cadeia | delimitador | IN | Um cadeia de caractere para indicar os finais de valores. Este parâmetro é sensível à maiúsculas/minúsculas. Ignorado se transformar for ASCIITEXT. |
| cadeia | tabela | IN | A variável de tabela a partir da qual os registros são inseridos na tabela. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser gravado imediatamente. O padrão é não tentar novamente. |
| inteiro | linhas | IN | O número máximo de linhas a serem inseridas a partir da tabela. O padrão é inserir todas as linhas. Um valor de 0 insere todas as linhas. |
| inteiro | linhainicial | IN | O número de linha a partir do qual deve se iniciar a inserção. Especificar 1 significa começar a inserir a partir da primeira linha. Se este valor for maior que o número de linhas no arquivo, o valor é mudado para o último registro e retornado como um erro. O padrão é iniciar no 1. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
minhaEspera = "3000"
%}
@DTWF_INSERT(meuArquivo, "Delimited", "|", minhaTabela, minhaEspera)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
meuInício = "1"
minhasLinhas = "2"
%}
@DTWF_INSERT(meuArquivo, "Asciitext", "|", minhaTabela, "0", minhasLinhas, meuInício)
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Abre um arquivo. O arquivo é mantido aberto até que seja fechado com DTWF_CLOSE para deixar que funções como DTWF_READ e DTWF_WRITE abram o arquivo automaticamente sem que seja necessário chamar DTWF_OPEN.
Sintaxe
Parâmetros
Tabela 55. Parâmetros DTWF_OPEN
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | INOUT | O nome do arquivo a ser aberto. O caminho e o nome do arquivo são retornados. |
| cadeia | modo | IN | O tipo de acesso solicitado:
|
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser aberto imediatamente. O padrão é não tentar novamente. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
meuModo = "r+"
%}
@DTWF_OPEN(meuArquivo, meuModo, "1000")
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Lê registros de um arquivo em uma variável de tabela.
Sintaxe
Parâmetros
Tabela 56. Parâmetros DTWF_READ
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | INOUT | O nome do arquivo cujos registros são lidos em uma variável de tabela.O caminho e o nome do arquivo são retornados. |
| cadeia | transformar | IN | O formato do arquivo:
|
| cadeia | delimitador | IN | Um cadeia de caractere para indicar os finais de valores. Este parâmetro é sensível à maiúsculas/minúsculas. Ignorado se transformar for ASCIITEXT. |
| cadeia | tabela | IN | A variável de tabela na qual os registros de arquivo são lidos. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser lido imediatamente. O padrão é não tentar novamente. |
| inteiro | linhas | IN | O número máximo de registros de arquivo para ler em uma tabela. O padrão é ler todos os registros ou até que a tabela esteja completa. O 0 significa que se deve ler até o final do arquivo. O número de linhas na tabela resultante é retornado. |
| inteiro | linhainicial | IN | O registro no arquivo a partir do qual se deve iniciar a leitura. O padrão é iniciar a leitura no primeiro registro. |
| inteiro | colunas | OUT | Retorna o número de colunas na tabela. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
minhaEspera = "1000"
%}
@DTWF_READ(meuArquivo, "DELIMITED", ";", minhaTabela, minhaEspera)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
minhaEspera = "0"
minhasLinhas = "0"
minhaLinhainicial = "1"
minhasColunas = ""
%}
@DTWF_READ(meuArquivo, "DELIMITED", ";", minhaTabela, minhaEspera, minhasLinhas,
minhaLinhainicial, minhasColunas)
Exemplo 3:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
%}
@DTWF_READ(meuArquivo, "ASCIITEXT", ";", minhaTabela, minhasColunas)
@DTW_TB_TABLE(minhaTabela,"BORDER","")
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Elimina um arquivo inteiro.
Sintaxe
Parâmetros
Tabela 57. Parâmetros DTW_REMOVE
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | INOUT | O nome do arquivo a ser eliminado. O caminho e o nome do arquivo são retornados. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser eliminado imediatamente. O padrão é não tentar novamente. |
Exemplos
Exemplo 1:
%DEFINE meuArquivo = "c:/private/myfile" @DTWF_REMOVE(meuArquivo)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaEspera = "2000"
%}
@DTWF_REMOVE(meuArquivo, minhaEspera)
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Retorna o resultado de uma pesquisa de cadeia para uma variável de tabela.
Sintaxe
Parâmetros
Tabela 58. Parâmetros DTWF_SEARCH
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | INOUT | O nome do arquivo a ser pesquisado. O caminho e o nome de arquivo encontrados são retornados. |
| cadeia | transformar | IN | O formato do arquivo:
|
| cadeia | delimitador | IN | Um cadeia de caractere para indicar os finais de valores. Este parâmetro é sensível à maiúsculas/minúsculas. Ignorado se transformar for ASCIITEXT. |
| cadeia | tabela | IN | A variável de tabela na qual os resultados da pesquisa são colocados. 3
colunas são retornadas se transformar for DELIMITED:
|
| cadeia | procurarPor | IN | A cadeia de caracteres a ser procurada. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser pesquisado imediatamente. O padrão é não tentar novamente. |
| inteiro | linhas | IN | O número máximo de linhas a serem lidas na tabela. O padrão é ler todas as linhas ou até que a tabela esteja completa. A especificação do 0 fará com que seja lido até o fim do arquivo. O número de linhas na tabela resultante é retornado através deste parâmetro. |
| inteiro | linhainicial | IN | O registro no arquivo a partir do qual se deve iniciar a pesquisa. O padrão é 1, que inicia a pesquisa a partir do primeiro registro. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
minhaEspera = "1000"
minhaBusca = "0123456789abcdef"
@DTWF_SEARCH(meuArquivo, "DELIMITED", ";",
minhaTabela, minhaBusca, minhaEspera)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
minhaBusca = "answer:"
minhaEspera = "0"
minhasLinhas = "0"
minhaLinhainicial = "1"
%}
@DTWF_SEARCH(meuArquivo, "DELIMITED", ";", minhaTabela,
minhaBusca, minhaEspera, minhasLinhas, minhaLinhainicial)
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Atualiza registros de um arquivo a partir de uma variável de tabela.
Sintaxe
Parâmetros
Tabela 59. Parâmetros DTWF_UPDATE
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | IN | O nome do arquivo cujos registros são atualizados a partir de uma variável de tabela. |
| cadeia | transformar | IN | O formato do arquivo:
|
| cadeia | delimitador | IN | Um cadeia de caractere para indicar os finais de valores. Este parâmetro é sensível à maiúsculas/minúsculas. Ignorado se transformar for ASCIITEXT. |
| cadeia | tabela | IN | A variável de tabela a partir da qual os registros do arquivo são atualizados. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser gravado imediatamente. O padrão é não tentar novamente. |
| inteiro | linhas | IN | O número máximo de registros a serem atualizados a partir da tabela. O padrão é atualizar todos os registros. 0 significa atualizar todas as linhas no arquivo. |
| inteiro | linhainicial | IN | O primeiro registro de arquivo a ser atualizado. O padrão é 1, o qual significa iniciar a atualização no início do arquivo. Se o valor for maior que o número de registros no arquivo, o valor é mudado para indicar o número do último registro no arquivo e um erro é retornado. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
minhaEspera = "1500"
minhasLinhas = "2"
%}
@DTWF_UPDATE(meuArquivo, "Delimited", "|", minhaTabela, minhaEspera, minhasLinhas)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
meuInício = "1"
minhasLinhas = "2"
%}
@DTWF_UPDATE(meuArquivo, "Asciitext", "|", minhaTabela, "0",
minhasLinhas, meuInício)
Objetivo
| AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X |
| X | X | X |
Grava o conteúdo de uma variável de tabela em um arquivo.
Sintaxe
Parâmetros
Tabela 60. Parâmetros DTWF_WRITE
| Tipo de Dados | Parâmetro | Uso | Descrição |
|---|---|---|---|
| cadeia | nomearquivo | IN | O nome do arquivo no qual os registros da variável de tabela são gravados. O caminho e o nome do arquivo são retornados. |
| cadeia | transformar | IN | O formato do arquivo:
|
| cadeia | delimitador | IN | Um cadeia de caractere para indicar os finais de valores. Este parâmetro é sensível à maiúsculas/minúsculas. Ignorado se transformar for ASCIITEXT. |
| cadeia | tabela | IN | A variável de tabela utilizada para exportar linhas para o arquivo. |
| inteiro | retentar | IN | O número de vezes que se deve retentar caso o arquivo não possa ser gravado imediatamente. O padrão é para não tentar novamente. |
| inteiro | linhas | IN | O número máximo de registros de arquivo a ser gravado. O padrão é gravar a tabela inteira. O 0 significa que se deve gravar todos os registros até o final do arquivo. |
| inteiro | linhainicial | IN | O número do registro no qual se deve iniciar a gravação no arquivo. O padrão é 1, o qual significa iniciar no primeiro registro. Se um valor além do final do arquivo for especificado, a última linha do arquivo será retornada com um erro. |
Exemplos
Exemplo 1:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
%}
@DTWF_WRITE(meuArquivo, "DELIMITED", ";", minhaTabela)
Exemplo 2:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
%}
@DTWF_WRITE(meuArquivo, "ASCIITEXT", ";", minhaTabela, "5000")
Exemplo 3:
%DEFINE {
meuArquivo = "c:/private/myfile"
minhaTabela = %TABLE
%}
@DTWF_WRITE(meuArquivo, "ASCIITEXT", ";", minhaTabela, "5000", "10",
"50")