Últimos assuntos
Juntando vários arquivos em um único
Página 1 de 1
Juntando vários arquivos em um único
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Este SCript é útil para casos em que temos arquivos que precisam ser juntados em um único arquivo, ex: Sintegra Mensal juntando no movimento do Ano; Arquivos (diários, semanais, mensais) acumulados em um único arquivo.
São dois Scripts que trabalham em conjunto
1. S000_GeraArquivos: Recolhe os dados da pasta onde estão os arquivos e qual o nome e a pasta de gravação do arquivo final.
2. S100_Processa: Processa arquivo por arquivo juntando todos no arquivo de saída indicado.
S000_GeraArquivos
SET SAFETY OFF
CLOSE
DELETE LOG OK
PAUSE "Digite o caminho Windows completo para a leitura dos arquivos mensais do Sintegra."
DIALOG (DIALOG TITLE "Caixa de diálogo do usuário" WIDTH 805 HEIGHT 349 ) (BUTTONSET TITLE "&OK;&Cancelar" AT 660 60 DEFAULT 1 ) (TEXT TITLE "CAMINHO LEITURA" AT 36 28 ) (TEXT TITLE "CAMINHO GRAVAÇÃO" AT 36 112 ) (EDIT TO "VLeitura" AT 36 60 WIDTH 582 ) (EDIT TO "VGravacao" AT 36 132 WIDTH 437 ) (TEXT TITLE "Nome do Arquivo Sintegra Anual de Saída" AT 36 172 ) (EDIT TO "VArquivoSaida" AT 36 192 WIDTH 208 )
DELETE FORMAT ListaArquivos OK
DELETE "ListaArquivos.FIL" OK
DELETE FORMAT "%VGravacao%%VArquivoSaida%" OK
DELETE "%VGravacao%%VArquivoSaida%.FIL" OK
DIR "%VLEITURA%*.*" TO "ListaArquivos"
OPEN "ListaArquivos"
COUNT
VTotal = COUNT1
VContador = 0
DO S100_Processa WHILE VContador < VTotal
CLOSE
DELETE FORMAT ListaArquivos OK
DELETE "ListaArquivos.FIL" OK
SET SAFETY ON
S100_Processa
OPEN "ListaArquivos"
VArquivo = ALLTRIM(RECOFFSET(FILE_NAME;VContador))
OPEN "%VArquivo%" FORMAT ArquivoBase
EXTRACT RECORD TO "%VGravacao%%VArquivoSaida%" APPEND
VContador = VContador 1
COMENTÁRIOS:
S000_GeraArquivos
DIALOG (DIALOG TITLE "Caixa de diálogo do usuário" WIDTH 805 HEIGHT 349 ) (BUTTONSET TITLE "&OK;&Cancelar" AT 660 60 DEFAULT 1 ) (TEXT TITLE "CAMINHO LEITURA" AT 36 28 ) (TEXT TITLE "CAMINHO GRAVAÇÃO" AT 36 112 ) (EDIT TO "VLeitura" AT 36 60 WIDTH 582 ) (EDIT TO "VGravacao" AT 36 132 WIDTH 437 ) (TEXT TITLE "Nome do Arquivo Sintegra Anual de Saída" AT 36 172 ) (EDIT TO "VArquivoSaida" AT 36 192 WIDTH 208 )
Monta uma tela para o usuário informar: Pasta Windows onde estão os arquivos, Local de gravação e nome do arquivo de saída.
DIR "%VLEITURA%*.*" TO "ListaArquivos"
Com a função DIR o Script lê os arquivos na pasta indicada e grava na tabela ListaArquivos
COUNT
VTotal = COUNT1
Conta quantos registros tem na tabela ListaArquivos
DO S100_Processa WHILE VContador < VTotal
Monta um LOOP de execução do SCript S100_Processa, que será executado para cada um dos arquivos gravados na table ListaArquivos
S100_Processa
VArquivo = ALLTRIM(RECOFFSET(FILE_NAME;VContador))
Recolhe o nome do arquivo
RECOFFSET mais a váriavel VContador le a linha da ListaArquivos
FILE_NAME é o campo da tabela que contém o nome do arquivo
OPEN "%VArquivo%" FORMAT ArquivoBase
EXTRACT RECORD TO "%VGravacao%%VArquivoSaida%" APPEND
Abre arquivo usando a tabela ArquivoBase
Extraí o arquivo para a tabela ArquivoBase com a opção APPEND (juntando os arquivos)
VContador = VContador 1
Soma 1 no contador para passar para a próxima linha da Tabela ListaArquivos (próximo arquivo)
Este SCript é útil para casos em que temos arquivos que precisam ser juntados em um único arquivo, ex: Sintegra Mensal juntando no movimento do Ano; Arquivos (diários, semanais, mensais) acumulados em um único arquivo.
São dois Scripts que trabalham em conjunto
1. S000_GeraArquivos: Recolhe os dados da pasta onde estão os arquivos e qual o nome e a pasta de gravação do arquivo final.
2. S100_Processa: Processa arquivo por arquivo juntando todos no arquivo de saída indicado.
S000_GeraArquivos
SET SAFETY OFF
CLOSE
DELETE LOG OK
PAUSE "Digite o caminho Windows completo para a leitura dos arquivos mensais do Sintegra."
DIALOG (DIALOG TITLE "Caixa de diálogo do usuário" WIDTH 805 HEIGHT 349 ) (BUTTONSET TITLE "&OK;&Cancelar" AT 660 60 DEFAULT 1 ) (TEXT TITLE "CAMINHO LEITURA" AT 36 28 ) (TEXT TITLE "CAMINHO GRAVAÇÃO" AT 36 112 ) (EDIT TO "VLeitura" AT 36 60 WIDTH 582 ) (EDIT TO "VGravacao" AT 36 132 WIDTH 437 ) (TEXT TITLE "Nome do Arquivo Sintegra Anual de Saída" AT 36 172 ) (EDIT TO "VArquivoSaida" AT 36 192 WIDTH 208 )
DELETE FORMAT ListaArquivos OK
DELETE "ListaArquivos.FIL" OK
DELETE FORMAT "%VGravacao%%VArquivoSaida%" OK
DELETE "%VGravacao%%VArquivoSaida%.FIL" OK
DIR "%VLEITURA%*.*" TO "ListaArquivos"
OPEN "ListaArquivos"
COUNT
VTotal = COUNT1
VContador = 0
DO S100_Processa WHILE VContador < VTotal
CLOSE
DELETE FORMAT ListaArquivos OK
DELETE "ListaArquivos.FIL" OK
SET SAFETY ON
S100_Processa
OPEN "ListaArquivos"
VArquivo = ALLTRIM(RECOFFSET(FILE_NAME;VContador))
OPEN "%VArquivo%" FORMAT ArquivoBase
EXTRACT RECORD TO "%VGravacao%%VArquivoSaida%" APPEND
VContador = VContador 1
COMENTÁRIOS:
S000_GeraArquivos
DIALOG (DIALOG TITLE "Caixa de diálogo do usuário" WIDTH 805 HEIGHT 349 ) (BUTTONSET TITLE "&OK;&Cancelar" AT 660 60 DEFAULT 1 ) (TEXT TITLE "CAMINHO LEITURA" AT 36 28 ) (TEXT TITLE "CAMINHO GRAVAÇÃO" AT 36 112 ) (EDIT TO "VLeitura" AT 36 60 WIDTH 582 ) (EDIT TO "VGravacao" AT 36 132 WIDTH 437 ) (TEXT TITLE "Nome do Arquivo Sintegra Anual de Saída" AT 36 172 ) (EDIT TO "VArquivoSaida" AT 36 192 WIDTH 208 )
Monta uma tela para o usuário informar: Pasta Windows onde estão os arquivos, Local de gravação e nome do arquivo de saída.
DIR "%VLEITURA%*.*" TO "ListaArquivos"
Com a função DIR o Script lê os arquivos na pasta indicada e grava na tabela ListaArquivos
COUNT
VTotal = COUNT1
Conta quantos registros tem na tabela ListaArquivos
DO S100_Processa WHILE VContador < VTotal
Monta um LOOP de execução do SCript S100_Processa, que será executado para cada um dos arquivos gravados na table ListaArquivos
S100_Processa
VArquivo = ALLTRIM(RECOFFSET(FILE_NAME;VContador))
Recolhe o nome do arquivo
RECOFFSET mais a váriavel VContador le a linha da ListaArquivos
FILE_NAME é o campo da tabela que contém o nome do arquivo
OPEN "%VArquivo%" FORMAT ArquivoBase
EXTRACT RECORD TO "%VGravacao%%VArquivoSaida%" APPEND
Abre arquivo usando a tabela ArquivoBase
Extraí o arquivo para a tabela ArquivoBase com a opção APPEND (juntando os arquivos)
VContador = VContador 1
Soma 1 no contador para passar para a próxima linha da Tabela ListaArquivos (próximo arquivo)
Tópicos semelhantes
» Como transformar vários registros em apenas um?
» Exportar mais de 1 tabela para um único Arquivo do Excel
» PROCEDURE para leitura dos Arquivos do SINTEGRA
» Reaproveitando uma TABELA para ler n Arquivos de mesma estrutura
» Exportar Arquivos em quantidades (blocos) fixos de linhas.
» Exportar mais de 1 tabela para um único Arquivo do Excel
» PROCEDURE para leitura dos Arquivos do SINTEGRA
» Reaproveitando uma TABELA para ler n Arquivos de mesma estrutura
» Exportar Arquivos em quantidades (blocos) fixos de linhas.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Sex 13 Out - 10:25 por Felipe Naibert
» Exportar Arquivos em quantidades (blocos) fixos de linhas.
Qui 20 Ago - 12:17 por Miro
» GRUPO DE ESTUDOS AUDIT ANALYTICS
Ter 9 Jun - 9:22 por Miro
» Cálculo do número da Semana no ano
Seg 11 maio - 11:18 por Miro
» A ordem dos argumentos altera o tempo de processamento
Qui 23 Abr - 14:50 por Miro
» Como pegar dados únicos de um campo?
Seg 23 Fev - 19:33 por Fernanda
» Existe algum comando no Analyzer que eu realize as instruções do SQL?
Qua 18 Fev - 9:22 por Raphael Moita Bertolino
» Lei de Benford: How Forensic Accountants Use Benford's Law To Detect Fraud
Qua 24 Dez - 7:53 por Márcia
» Importação de PDF
Ter 9 Dez - 13:23 por Fernanda