Árvore de páginas

Versões comparadas

Chave

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

...

Observar a Tabela de Legendas, constante do tópico II.6, e as regras de preenchimento descritas abaixo pois, o preenchimento incorreto dos campos provocará a rejeição do(s) registro(s).


Nota
titleObservação

Observação

Foi criado o parâmetro MV_EIC0076, onde poderá ser definido a quantidade de caracteres para Número P.O., HAWB e Invoice na integração com o despachante:

  • Quando estiver ativado (.T. - padrão) será enviado/recebido conforme o layout padrão.

Neste caso, será necessário verificar a configuração do Grupo de Campos '148', alterando o tamanho para menor ou igual a 15 caracteres ( tamanho padrão do leiaute da integração com despachante).

Ao informar os campos Número P.O., HAWB ou Invoice em seus processos, será apresentado uma mensagem informativa quando ultrapassar 15 caracteres, conforme:

image2023-6-27_15-48-59.pngImage Added

  • Quando estiver desativado (.F.) será enviado/recebido conforme grupo de campos (148 - Imp.Purchase/Hawb/Invoice/Prof).

Neste caso, será necessário procurar seu despachante para que seja efetuado os ajustes necessários no sistema que receberá/enviará as informações do processo.

As informações após os campos Número P.O., HAWB ou Invoice, serão deslocados conforme o tamanho desses campos definido no dicionário de dados, por exemplo:

Configuração dos campos Número P.O., HAWB ou Invoice para 20 caracteres.

CAPA DOS P.O.s

CAMPO

tipo

tam

dec

Posição - leiaute padrão

Posição - dicionario de dados

Posição - dicionario de dados

Tipo de Integração: “I” - inclusão, “A” - alteração e  “E” - exclusão.

C

01


001

01

001

Data da Integração

D

06


002

06

002

Código do Modelo de S.I. ou P.O.

C

02


008

02

008

No. do Pedido de Compras      

C

15


010

20

010

Data do Pedido

D

06


025

06

030

Local de Entrega da mercadoria           

C

02


031

02

036


Essas alterações somente será impactada nas integrações:

  • FASE DE PEDIDO DE COMPRAS (PURCHASE ORDER)
    DETALHE DOS P.O.s  (ÍTENS)
  • ATUALIZAÇÃO DA DATA DE RECEBIMENTO



1) Código do Item e Número do P.O.

...

Informações
titleIntegração via Ponto de Entrada

Também é possível a chamada da integração via Ponto de Entrada. Para estes casos, os critérios devem serguir os mesmos informados no exemplo abaixo, porém deve ser ignorada ignorado o trecho em que é realizada a abertura de ambiente. Em execuções via ponto de entrada, caso o ambiente esteja integrado ao financeiro, a despesa poderá ser integrada normalmente, porém será necessária a informação de alguns dados no momento da execução.

...

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

...