zGargaGen – Carga Dados Genéricos no Protheus

Importação de Tabelas no Protheus de forma Genérica.


Tela de parametrização para importação

Tela de parametrização para importação

Tutorial de como usar: Carga Dados Genéricos no Protheus

Vídeo Tutorial de como usar:



Logs de Atualização:

GitHub: github.com/dan-atilio/zCargaGen

VersãoDataObservaçãoDownload
1.025/10/2015Criação do projeto, com a importação dos cadastros:
01 – MATA070 – SA6 – Bancos
02 – MATA030 – SA1 – Clientes
03 – MATA360 – SE4 – Condição de Pagamento
04 – FINA040 – SE1 – Contas a Receber
05 – FINA050 – SE2 – Contas a Pagar
06 – MATA020 – SA2 – Fornecedores
07 – FINA010 – SED – Naturezas
08 – MATA010 – SB1 – Produtos
09 – MATA220 – SB9 – Saldo Inicial
10 – MATA080 – SF4 – TES (Tipo de Entrada e Saída)
11 – MATA230 – SF5 – Tipo Movimentação
12 – MATA050 – SA4 – Transportadoras
13 – OMSA060 – DA3 – Veículos
14 – MATA040 – SA3 – Vendedores 

Todos via ExecAuto

Clique Aqui
Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

15 Responses

  1. Marcelo Helmers disse:

    Danilo,
    Obrigado pelo post.
    Estou com problema de “reference counter overflow over 32600 on codeblock context”
    Vi que teria que usar a função FreeObj(), mas não consegui identificar onde.
    Poderia, por favor, me ajudar?
    Grato!

  2. Caio disse:

    Olá, o mata220 funciona colocando lote tbm para incluir na SBJ?!

  3. Adauto Brito disse:

    Olá, obrigado pela dica, salvou o dia.

  4. Paulo Vinicius disse:

    Boa tarde, obrigado por disponibilizar esse rotina.
    Estou com problema para importar o campo de filial, mesmo colocando para considerar a filial do arquivo, sempre é importado para filial corrente, tem alguma coisa especifica nessa situação?

    • Dan_Atilio disse:

      Bom dia Paulo, tudo bem?
      O que você poderia fazer para testar é, antes da linha que executa o comando do ExecAuto, você alterar a variável pública cFilAnt para o código da filial contida na linha do CSV.

  5. Antonio disse:

    Parabéns pelos posts, agradeço as dicas.

    Ao importar arquivos csv enormes, o ft_fuse trunca a string em 1024, meu arquivo possui 10648 colunas separadas por virgula. Não consigo usar essa rotina, algma sugestão pra usar nesse seu fonte arquivos enormes?

    • Dan_Atilio disse:

      Eu que agradeço pelo comentário Antonio.
      Então jovem, no caso você poderia adaptar a rotina para usar FWFileReader, juntamente com a chave MaxStringSize no seu AppServer.ini, dessa forma você vai pode ter até 50 MB de informações.
      Grande abraço.

  6. Antonio disse:

    Arquivo com mais de 10600 colunas, trunca com ftopen.

  7. O limitador é Ft_FReadLn() que nao temos como aumentar tamanho do buffer a ser lido…. O FWFileReader herda essa mesma limitacao…. O jeito vai ser usar as Fxxx e nao as FTxxx, da mais trabalho, mas é o que temos pra hoje…. Se tiver outra ideia….

    • Dan_Atilio disse:

      Ah entendi, então realmente com FWFileReader não irá dar certo.
      Outra ideia, seria você criar uma tabela temporária direto no SQL através de create table.
      Ai pelo Management, você importa os dados como CSV ou TXT.
      Por último, via AdvPL, você faz uma query nessa temporária, e chama o execauto para criar o registro no Protheus.

  8. Alvaro Santos Pimenta disse:

    Opa, Danilo sou novato em Advpl, eu poderia fazer isso com a tabela SRA?

    • Bom dia Alvaro, tudo bem?
      Sim, poderia sim, o que você pode fazer como exemplo de teste, é pegar uma das tabelas nesse fonte, por exemplo, SA6 e substituir por SRA.
      Em seguida, na função MATA070 você muda para GPEA010 que é a de funcionários.

Deixe uma resposta