Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TOTVS.CH"
#INCLUDE "TBICONN.CH"

/*/
@Função ImpArqs
Função a ser chamado pelo agendamento do Protheus e tem como objetivo ler e importar todos os arquivos de uma pasta
@type  User Function
@author Miguel Prado Gontijo
@since 14/11/2019
/*/
User Function ImpArqs() // U_ImpArqs()

Local bGrava := {|| cNameH := ALLTRIM(Int_Param->NPAARQ_DE) }
Local nx := 1
Local nOpc := 10
Private aArqs := {}
Private cArqImp := ""

//Para chamadas via ponto de entrada, a abertura de ambiente deve ser ignorada
RPCSetType(3)
PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'Administrador' PASSWORD '' MODULO "EIC"

cPath := AllTrim(EasyGParam("MV_PATH_IN"))
aArqs := directory(cPath+"*.txt")

   for nx := 1 to len(aArqs)
      
      cArqImp := aArqs[nx][1]
      EICIN100(nOpc,bGrava,,.T.)

//A rotina de integração de arquivos EICIN100 tem quatro parâmetros e no caso vamos informar apenas três, onde o primeiro é a opção de integração, o segundo que informa um bloco de código e o terceiro e quarto parâmetros que são do tipo lógico e somente o quarto será usado que é o que informa para a rotina que o processo está sendo executado por um agendamento do Protheus.

   next

//Para chamadas via ponto de entrada, o fechamento do ambiente deve ser ignorado
RESET ENVIRONMENT

Return

/*/
@Função IN100CLI()
ponto de entrada da rotina de integração de arquivos usadas no momento em que passa pelo parâmetros da rotina 
@type  User Function
@author Miguel Prado Gontijo
@since 14/11/2019
/*/
User Function IN100CLI()

if PARAMIXB == "APPEND"

   if !empty(cPath) .and. file(cPath+cArqImp)
      // campo do nome de arquivos de despachante
      int_param->NPAARQ_DE := RetFileName(cArqImp) //Atribui para o campo somente o nome do arquivo.
   endif

endif

Return

...