Histórico da Página
...
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 | ||
---|---|---|
| ||
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:
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:
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.
Essas alterações somente será impactada nas integrações:
|
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.
posicao | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 5 | 7 | 6 | 2 | . | 3 | 1 | 0 | 0 | 0 | |
5 | 7 | 6 | 2 | . | 3 | 1 | |||||||||
0 | 0 | 0 | 0 | 0 | 5 | 7 | 6 | 2 | . | 3 | 1 | ||||
5 | 7 | 6 | 2 | . | 3 | 1 | 0 | 0 | 0 |
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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