Perguntas Importar Arquivo no Protheus CSV Advpl

Mais
11 anos 7 meses atrás - 11 anos 7 meses atrás #5296 por lalberto
MicroSiga: Aprenda a importar arquivos CSV usando AdvPL



A importação de arquivos gerados pelo Excel é bem simples, para isso apenas informe em cada coluna o nome real do campo da tabela, exemplo: A1_FILIAL;A1_NOME;A1_END;


#include "totvs.ch"
#include "protheus.ch"

User Function AEST901()

Local cArq := "clientes.txt"
Local cLinha := ""
Local lPrim := .T.
Local aCampos := {}
Local aDados := {}

Private aErro := {}

If !File(cDir+cArq)
MsgStop("O arquivo " +cDir+cArq + " não foi encontrado. A importação será abortada!","[AEST901] - ATENCAO")
Return
EndIf

FT_FUSE(cDir+cArq)
ProcRegua(FT_FLASTREC())
FT_FGOTOP()
While !FT_FEOF()

IncProc("Lendo arquivo texto...")

cLinha := FT_FREADLN()

If lPrim
aCampos := Separa(cLinha,";",.T.)
lPrim := .F.
Else
AADD(aDados,Separa(cLinha,";",.T.))
EndIf

FT_FSKIP()
EndDo

Begin Transaction
ProcRegua(Len(aDados))
For i:=1 to Len(aDados)

IncProc("Importando Clientes...")

dbSelectArea("SA1")
dbSetOrder(1)
dbGoTop()
If !dbSeek(xFilial("SA1")+aDados[i,1])
Reclock("SA1",.T.)
SA1->A1_FILIAL := xFilial("SA1")
For j:=1 to Len(aCampos)
cCampo := "SA1->" + aCampos[j]
&cCampo := aDados[i,j]
Next j
SA1->(MsUnlock())
EndIf
Next i
End Transaction

FT_FUSE()

ApMsgInfo("Importação dos Clientes concluída com sucesso!","[AEST901] - SUCESSO")

Return

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ultima edição: 11 anos 7 meses atrás por lalberto.
O tópico foi trancado.
Mais
11 anos 5 meses atrás #8225 por leanroxx
Luiz, estou precisando importar o cadastro de clientes do sistema antigo para o Protheus.

Já gerei o arquivo em texto (csv, txt ou dbf) já no layout do protheus.

Como executo essa rotina que você citou??
O tópico foi trancado.
Tempo para a criação da página:0.117 segundos
Joomla templates by a4joomla