Á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).1) Código do Item e Número do


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.

...

Os campos devem ser preenchidos até o tamanho configurado no sistema, com alinhamento à esquerda, sem os caracteres especiais que fizerem parte da máscara e completados com espaços à direita.
Ex:
Colunas..............: 1             15              30
Máscara do Item: AAA-9999/999
campo gravado : BCA1234567
Máscara do P.O.: 99/99999-AAAA
campo gravado : 9512345-XYZK

2) Campos Numéricos

Completá-los com zeros não significativos ou com espaços à esquerda para os inteiros e à direita para os decimais. É obrigatório informar o caracter “.” (ponto) como separador de casas decimais.
Exemplos de entradas válidas para se gravar o campo Preço Unitário com 5.762,31 (9 inteiros e 5 decimais, com tamanho total de 15 posições). Observar que o “ponto” sempre ocupa a mesma posição dentro do campo.

...

- completar com zeros significativos à esquerda (Ex.: 040396)
- datas inválidas provocarão a rejeição do registro (Ex.: 311195)

4) Campos no formato caracter

. completar tamanho dos campos com espaços : chr(20) .

5) Campos sem Informação

No caso de inclusão (vide tópico II.4), os campos que não possuírem informação devem conter espaços e o sistema procurará pela informação no “Modelo de S.I./P.O” (vide tópico II.2) através do código do modelo no arquivo de entrada. Caso este não tenha sido informado, o registro será rejeitado.
Para os casos de alteração e de exclusão estes campos serão desprezados.

6) Códigos sem Cadastro no Sistema

Poderá ser indicado através da função “Parâmetros da Integração” (vide tópico II.3) se o sistema deve incluir automaticamente um código que não esteja previamente cadastrado no sistema. Pôr exemplo, se o código do item não estiver cadastrado, o sistema, de acordo com o informado na tabela de parâmetros poderá incluí-lo no Cadastro de Itens ou rejeitar o registro. Vale lembrar que, devido a falta de informação adicional, alguns campos serão preenchidos com asteriscos (descrição do item, unidade de medida, nome do fornecedor, etc).

É importante salientar que o cadastramento automático não poderá ser efetuado para códigos externos ao sistema (determinados pelo DECEX ou outro órgão oficial) ou cujo cadastramento completo é imprescindível ao acompanhamento dos processos, como pôr exemplo: Condição de Pagamento, Símbolo da Moeda, Via de Transporte, Origem/Destino das mercadorias.

...

Para contornar os casos em que não se possuem todos os dados, ou em que estes são idênticos em todos os processos, como pôr exemplo, na hipótese de se trabalhar com apenas um Agente Embarcador, poderá ser utilizada a função “Modelo de S.I. ou P.O.”, também constante da opção “3- Rotinas Especiais”. A partir daí, o arquivo de Capa informará o código do modelo a ser utilizado no caso da ausência de algum dado e o sistema assumirá o que estiver cadastrado no Modelo de S.I./P.O (vide tópico II.6). 

Vale lembrar que é possível que o arquivo de Capa possua vários códigos de modelo para diferentes S.I.s / P.O.s.

II.3 Parâmetros da Integração

Nesta função pode-se informar os nomes dos arquivos de entrada e optar pelo cadastramento automático de códigos não existentes no sistema, além de serem controladas a datas da últimas integrações. Ver tópico II.6 com a estrutura deste arquivo.
Quando no nome do arquivo de entrada for informada a sequência de caracteres DD, MM e/ou AA, o sistema automaticamente os substituirá pelo dia, mês e ano da data corrente no processamento da integraçã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.

Os campos devem ser preenchidos até o tamanho configurado no sistema, com alinhamento à esquerda, sem os caracteres especiais que fizerem parte da máscara e completados com espaços à direita.
Ex:
Colunas..............: 1             15              30
Máscara do Item: AAA-9999/999
campo gravado : BCA1234567
Máscara do P.O.: 99/99999-AAAA
campo gravado : 9512345-XYZK

2) Campos Numéricos

Completá-los com zeros não significativos ou com espaços à esquerda para os inteiros e à direita para os decimais. É obrigatório informar o caracter “.” (ponto) como separador de casas decimais.
Exemplos de entradas válidas para se gravar o campo Preço Unitário com 5.762,31 (9 inteiros e 5 decimais, com tamanho total de 15 posições). Observar que o “ponto” sempre ocupa a mesma posição dentro do campo.

posicao123456789012345

















000005762.31000






5762.31



000005762.31








5762.31000


3) Campos de data

- completar com zeros significativos à esquerda (Ex.: 040396)
- datas inválidas provocarão a rejeição do registro (Ex.: 311195)

4) Campos no formato caracter

. completar tamanho dos campos com espaços : chr(20) .

5) Campos sem Informação

No caso de inclusão (vide tópico II.4), os campos que não possuírem informação devem conter espaços e o sistema procurará pela informação no “Modelo de S.I./P.O” (vide tópico II.2) através do código do modelo no arquivo de entrada. Caso este não tenha sido informado, o registro será rejeitado.
Para os casos de alteração e de exclusão estes campos serão desprezados.

6) Códigos sem Cadastro no Sistema

Poderá ser indicado através da função “Parâmetros da Integração” (vide tópico II.3) se o sistema deve incluir automaticamente um código que não esteja previamente cadastrado no sistema. Pôr exemplo, se o código do item não estiver cadastrado, o sistema, de acordo com o informado na tabela de parâmetros poderá incluí-lo no Cadastro de Itens ou rejeitar o registro. Vale lembrar que, devido a falta de informação adicional, alguns campos serão preenchidos com asteriscos (descrição do item, unidade de medida, nome do fornecedor, etc).

É importante salientar que o cadastramento automático não poderá ser efetuado para códigos externos ao sistema (determinados pelo DECEX ou outro órgão oficial) ou cujo cadastramento completo é imprescindível ao acompanhamento dos processos, como pôr exemplo: Condição de Pagamento, Símbolo da Moeda, Via de Transporte, Origem/Destino das mercadorias.


II.2 Modelo de S.I. ou P.O.

Para contornar os casos em que não se possuem todos os dados, ou em que estes são idênticos em todos os processos, como pôr exemplo, na hipótese de se trabalhar com apenas um Agente Embarcador, poderá ser utilizada a função “Modelo de S.I. ou P.O.”, também constante da opção “3- Rotinas Especiais”. A partir daí, o arquivo de Capa informará o código do modelo a ser utilizado no caso da ausência de algum dado e o sistema assumirá o que estiver cadastrado no Modelo de S.I./P.O (vide tópico II.6). 

Vale lembrar que é possível que o arquivo de Capa possua vários códigos de modelo para diferentes S.I.s / P.O.s.

II.3 Parâmetros da Integração

Nesta função pode-se informar os nomes dos arquivos de entrada e optar pelo cadastramento automático de códigos não existentes no sistema, além de serem controladas a datas da últimas integrações. Ver tópico II.6 com a estrutura deste arquivo.
Quando no nome do arquivo de entrada for informada a sequência de caracteres DD, MM e/ou AA, o sistema automaticamente os substituirá pelo dia, mês e ano da data corrente no processamento da integração.


                  Ex: integração efetuada em 01/03/96.
                  Siddmmaa => SI010396
                  ITEMaamm => ITEM9603

II.4 Tipos de Integração

Na integração são permitidas três ações:

                  1) Inclusão: inclui novos registros no sistema;

                  2) Alteração: altera registros já existentes no sistema (na integração de “cadastros”, a Alteração pode equivaler a uma Inclusão — ver tópico II.4.3);

                  3) Exclusão: elimina registros do sistema.

Cabe ressaltar que os campos que controlam a sequência da execução no caso de integração de SI/PO,
permitem que um mesmo item, seja tratado mais de uma vez na mesma integração.


II.4.1 Integração de S.I.

1) Inclusão:

  • é incluída uma nova S.I. e os itens correspondentes. Caso a S.I. já exista o registro será rejeitado;
  • é obrigatório que existam dois arquivos de entrada: Capa e Detalhe;
  • todos os itens do Detalhe serão inclusos;
  • para se incluir um item numa S.I. já existente no sistema vide item 2) Alteração.

2) Alteração:

  • a S.I. somente poderá ser alterada se não estiver alocada em algum P.O., nem tampouco sofrido alterações nas quantidades originalmente informadas;
  • este tipo de integração é utilizado basicamente para se

II.4 Tipos de Integração

Na integração são permitidas três ações:

                  1) Inclusão: inclui novos registros no sistema;

                  2) Alteração: altera registros já existentes no sistema (na integração de “cadastros”, a Alteração pode equivaler a uma Inclusão — ver tópico II.4.3);

                  3) Exclusão: elimina registros do sistema.

Cabe ressaltar que os campos que controlam a sequência da execução no caso de integração de SI/PO,
permitem que um mesmo item, seja tratado mais de uma vez na mesma integração.

...

1) Inclusão:

  • é incluída uma nova S.I. e os itens correspondentes. Caso a S.I. já exista o registro será rejeitado;
  • é obrigatório que existam dois arquivos de entrada: Capa e Detalhe;
  • todos os itens do Detalhe serão inclusos;
  • para se incluir um item numa S.I. já existente no sistema vide item 2) Alteração.

2) Alteração:

  • a S.I. somente poderá ser alterada se não estiver alocada em algum P.O., nem tampouco sofrido alterações nas quantidades originalmente informadas;
  • este tipo de integração é utilizado basicamente para se fazer inclusões ou exclusões de itens sem alterar a própria Capa da S.I. pois, o sistema excluirá todos os itens informados anteriormente e incluirá os novos itens informados;
  • para se incluir ou excluir um item numa S.I., reinformar todos os itens que se deseja manter no Detalhe, deixando de informar aqueles que se deseja excluir e acrescentando aqueles que se deseja incluir;
  • para a Capa basta informar apenas os campos chave da S.I. (vide coluna ALT na estrutura da Capa da S.I.).

...

ATUALIZAÇÃO DA DATA DE RECEBIMENTO

CAMPO

tipo

tam

Dec

req

cad

pos

Data da Integração

D

06


#


001

Número do Processo     

C

17


#

X

007

Data de Recebimento

D  

06 


#


024

Nota Fiscal de Entrada

C  

20 


#


030

Data da Nota Fiscal

D  

06


#


050

Numero da D.I.

N

10

00



056

Valor da Nota Fiscal

N

15

02



066

Serie da NF de Entrada

C

03




081


II. 7.4. SCHEDULE


Para uso utilização da rotina de importação de arquivos via schedule são necessários alguns detalhes para que a rotina processe os arquivos. Explicando de forma rápida será necessário criar uma função para que seja chamada pelo Job do Protheus necessárias algumas configurações para o correto funcionamento. Será necessário a criação de uma função e um ponto de entrada para que seja possível informar o nome do arquivo a ser processado, a seguir explicarei cada ponto como deve ser feito.segue exemplo da parametrização do sistema.

- É necessário a criação de Dessa forma usando o processo padrão no Protheus de criar um agendamento via configurador crie um agendamento para que execute a nova rotina responsável pela abertura do ambiente no sistema e pela busca dos arquivos a serem processados pela rotina de integração.
- Configure também o parâmetro "MV_PATH_IN" com o caminho dos arquivos a serem processados.
A rotina chamada pelo agendamento do Protheus - O agendamento de schedule efetuará a chamada da rotina que deverá preparar o ambiente (environment) a ser usado, e através dela será chamada executada a rotina de integração Integração de arquivos Arquivos EICIN100() para cada arquivo a ser processado. 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.

A seguir vou disponibilizar um RdMake ciado para usar a rotina de integração usando o agendamento do Protheus. Os parâmetros da rotina de integração de arquivos EICIN100 devem estar de acordo com o RDMake e só é possível alterar a opção de importação de arquivo, onde o número a ser enviado corresponde a um tipo de arquivo de integração de acordo com cada módulo do Comex.

Regras básicas:

Os arquivos só poderão ter até oito caracteres

O bloco de código deve ser sempre o mesmo conforme RDMake

Nos parâmetros da rotina EICIN100 somente o primeiro pode ser alterado

Os arquivos a serem integrados devem estar na mesma pasta do parâmetro "MV_PATH_IN"

No ponto de entrada IN100CLI:

O parâmetro deve ser sempre o APPEND

o campo a receber o nome do arquivo deve ser respeitado de acordo com cada opção de integração

Abaixo temos a lista de opções para cada módulo do Comex

EIC

01

 Familia de Itens                 

 NPAARQ_FP

02

 Unidade Requisitante             

 NPAARQ_CC

03

 Itens                            

 NPAARQ_CI

04

 Fabricantes/Fornecedores         

 NPAARQ_FB

05

 Ligação Item/Fabr./Forn.         

 NPAARQ_LI

06

 NCMs                             

 NPAARQ_NB

07

 Taxas de Conversão               

 NPAARQ_TC

08

 Fase S.I.                        

 NPAARQ_H

09

 Fase P.O.                        

 NPAARQ_H

10

 Despesas do Despachante          

 NPAARQ_DE

11

 Atualização da Data Recebimento  

 NPAARQ_DI

12

 Importação de Notas              

 NPAARQ_FE

13

 Recebimento de numerário         

 NPAARQ_NU

EDC

01

 VI Itens da Importação    

 NPAARQ_CI

02

 Itens da Exportação       

 NPAARQ_IT

03

 VI NCMs                   

 NPAARQ_NB

04

 VI Estrutura de Produtos  

 NPAARQ_EP

05

 VI Conversão de Unid. Med.

 NPAARQ_UC

06

 Dados externos DI/RE      

 NPAARQ_CE

07

 Fabricantes/Fornecedores  

 NPAARQ_FF

08

 R.E. Externos *           

 NPAARQ_NR

* Caso a tabela ED9 contenha os seguintes campos e o índice 4:

ED9_VAL_SE, ED9_VALORI, ED9_QTDNCM, ED9_DTAVRB, ED9_SALISE, ED9_DT_INT, ED9_VALCOM, ED9_UMNCM, ED9_TX_USS, ED9_ISENTO, ED9_FASEDR

Índice: ED9_FILIAL+ED9_RE+ED9_POSICA

EEC

...

01

...

 Fabricantes/Fornecedores                   

...

 NPAARQ_FF

...

02

...

 Clientes                                   

...

 NPAARQ_CL

...

03

...

 Ligação Item/Fabr./Forn.                   

...

 NPAARQ_LK

...

04

...

 Taxas de Conversão                         

...

 NPAARQ_TC

...

05

...

 Itens

...

 NPAARQ_IT

...

 NPAARQ_CI

...

06

...

 Processo                                   

...

 NPAARQ_PE

...

07

...

 NOTAS FISCAIS DE SAIDA COM ITENS/SEM ITENS 

...

 NPAARQ_NC

...

 NPAARQ_NS

...

08

...

 Conversão de Unid. Med.                    

...

 NPAARQ_UC

...

09

...

 Familia de Itens                           

...

 NPAARQ_FP

...

10

...

 TABELAS DE PRECOS **                       

...

 NPAARQ_TP

** Caso a tabela EX5 e EX6 contenha os seguintes campos:

EX5_DTINI, EX5_DTFIM, EX6_DTINI, EX6_DTFIM

RDMake básico de como utilizar utilizar a rotina de importação de arquivos sendo chamada através de um agendamento no Protheus através do configurador chamando a função que prepara o ambiente e em seguida a função de importação de arquivos. Em seguida o ponto de entrada que preenche o campo referente ao tipo de arquivo.

...

Informações
titleImportante

Ao utilizar a integração de despesa via schedule, mesmo que o ambiente possua a integração com o módulo financeiro ativa, o sistema não irá efetuá-la. A despesa será lançada somente no módulo de Importação. Caso seja necessária a integração desta despesa com o financeiro, esta deverá ser feita via sistema.

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 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.


Segue exemplo de um RdMake  de como utilizar a rotina de importação de arquivos sendo chamada através de um agendamento (schedule) no Protheus. 


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 := ""

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



Regras básicas:

  • Os arquivos só poderão ter até oito caracteres.
  • O bloco de código deve ser sempre o mesmo conforme RDMake.
  • Nos parâmetros da rotina EICIN100 somente o primeiro e o segundo parâmetro podem ser alterados.
  • Os arquivos a serem integrados devem estar pasta do parâmetro "MV_PATH_IN".

No ponto de entrada IN100CLI:

  • O parâmetro deve ser sempre o APPEND.
  • O campo a receber o nome do arquivo deve ser respeitado de acordo com cada opção de integração.


Lista de opções para cada módulo do Comex e seus repesctivos nomes de campos da Work (int_param) a ser gravado pelo ponto de entrada e bloco de código BGrava.


EIC

01

 Familia de Itens                 

 NPAARQ_FP

02

 Unidade Requisitante             

 NPAARQ_CC

03

 Itens                            

 NPAARQ_CI

04

 Fabricantes/Fornecedores         

 NPAARQ_FB

05

 Ligação Item/Fabr./Forn.         

 NPAARQ_LI

06

 NCMs                             

 NPAARQ_NB

07

 Taxas de Conversão               

 NPAARQ_TC

08

 Fase S.I.                        

 NPAARQ_H

09

 Fase P.O.                        

 NPAARQ_H

10

 Despesas do Despachante          

 NPAARQ_DE

11

 Atualização da Data Recebimento  

 NPAARQ_DI

12

 Importação de Notas              

 NPAARQ_FE

13

 Recebimento de numerário         

 NPAARQ_NU



EDC

01

 VI Itens da Importação    

 NPAARQ_CI

02

 Itens da Exportação       

 NPAARQ_IT

03

 VI NCMs                   

 NPAARQ_NB

04

 VI Estrutura de Produtos  

 NPAARQ_EP

05

 VI Conversão de Unid. Med.

 NPAARQ_UC

06

 Dados externos DI/RE      

 NPAARQ_CE

07

 Fabricantes/Fornecedores  

 NPAARQ_FF

08

 R.E. Externos *           

 NPAARQ_NR


* Caso a tabela ED9 contenha os seguintes campos e o índice 4:

Campos: ED9_VAL_SE, ED9_VALORI, ED9_QTDNCM, ED9_DTAVRB, ED9_SALISE, ED9_DT_INT, ED9_VALCOM, ED9_UMNCM, ED9_TX_USS, ED9_ISENTO, ED9_FASEDR

Índice: ED9_FILIAL+ED9_RE+ED9_POSICA


EEC

01

 Fabricantes/Fornecedores                   

 NPAARQ_FF

02

 Clientes                                   

 NPAARQ_CL

03

 Ligação Item/Fabr./Forn.                   

 NPAARQ_LK

04

 Taxas de Conversão                         

 NPAARQ_TC

05

 Itens

 NPAARQ_IT



 NPAARQ_CI

06

 Processo                                   

 NPAARQ_PE

07

 NOTAS FISCAIS DE SAIDA COM ITENS/SEM ITENS 

 NPAARQ_NC



 NPAARQ_NS

08

 Conversão de Unid. Med.                    

 NPAARQ_UC

09

 Familia de Itens                           

 NPAARQ_FP

10

 TABELAS DE PRECOS **                       

 NPAARQ_TP


** Caso a tabela EX5 e EX6 contenha os seguintes campos:

EX5_DTINI, EX5_DTFIM, EX6_DTINI, EX6_DTFIM