iT-Tech
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Últimos assuntos
» Cálculo de horas extras
Juntando vários arquivos em um único EmptySex 13 Out - 10:25 por Felipe Naibert

» Exportar Arquivos em quantidades (blocos) fixos de linhas.
Juntando vários arquivos em um único EmptyQui 20 Ago - 12:17 por Miro

» GRUPO DE ESTUDOS AUDIT ANALYTICS
Juntando vários arquivos em um único EmptyTer 9 Jun - 9:22 por Miro

» Cálculo do número da Semana no ano
Juntando vários arquivos em um único EmptySeg 11 maio - 11:18 por Miro

» A ordem dos argumentos altera o tempo de processamento
Juntando vários arquivos em um único EmptyQui 23 Abr - 14:50 por Miro

» Como pegar dados únicos de um campo?
Juntando vários arquivos em um único EmptySeg 23 Fev - 19:33 por Fernanda

» Existe algum comando no Analyzer que eu realize as instruções do SQL?
Juntando vários arquivos em um único EmptyQua 18 Fev - 9:22 por Raphael Moita Bertolino

» Lei de Benford: How Forensic Accountants Use Benford's Law To Detect Fraud
Juntando vários arquivos em um único EmptyQua 24 Dez - 7:53 por Márcia

» Importação de PDF
Juntando vários arquivos em um único EmptyTer 9 Dez - 13:23 por Fernanda


Juntando vários arquivos em um único

Ir para baixo

Juntando vários arquivos em um único Empty Juntando vários arquivos em um único

Mensagem  Miro Ter 26 Jun - 12:56

[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)

Miro

Mensagens : 110
Data de inscrição : 24/02/2012

http://www.it-tech.com.br

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos