Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Protheus | Módulo | SIGATMS |
Segmento Executor | Distribuição e Logística | ||
Projeto1 | LOGTMS01-608 | IRM1 |
|
Requisito1 |
| Subtarefa1 |
|
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros |
|
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Integrar as informações dos cadastros de PRODUTOS, FORNECEDORES, CLIENTES, TRANSPORTADORAS e LOCAIS DE ENTREGAS, gerados pelo módulo SIGATMS (Transportation Management System) da linha Microsiga Protheus com o Datasul.
O Protheus usará como ferramenta de Integração o EAI (Enterprise Application Integrator), o EAI por sua vez, terá a responsabilidade de trafegar mensagens de XML entre o Protheus e o Datasul, além de fazer o controle de filas das mensagens a serem integradas.
Definição da Regra de Negócio
Para que se cumpra o objetivo deste requisito, deverão ser criadas verificações para os processos de inclusão, alteração e exclusão dos itens relacionados, mantendo assim, tanto o SIGATMS quanto o DATASUL com informações idênticas, sempre assegurando a integridade dos dados.
O parâmetro MV_TMSERP deve deverá estar setado como "1", onde significa que o sistema integrará com outra marca, neste caso, o DatasulDATASUL, solicitando a inclusão, alteração e exclusão de registros e solicitando retorno em forma síncrona.
O Adapter EAI deve estar cadastrado, indicando o(s) cadastro(s) que integrará com a outra marca.
O sistema deverá tratar os cadastros com uma numeração única para os registros integrados, onde terá um código informado pelo DATASUL para ser atualizado também no registro de origem, permitindo assim, que pelo mesmo código possa ser consultado o registro tanto na origem como no destino.
Exemplo:
- Ao incluir, alterar ou excluir um registro, o sistema deverá verificar os parâmetros o parâmetro MV_TMSERP , caso esteja com valor diferente de 0, significa que deve fazer integração com outra marca e se existe o Adapter EAI cadastrado para o determinado cadastro, verificando as seguintes situações:
- INCLUIR: Verificar se o registro já existe no destino, caso SIM, atualizar as informações de acordo com a origem, caso NÃO, incluir no destino e atualizar a origem com o código de numeração única disponibilizado pelo destino..
- ALTERAR: Verificar se registro já existe no destino, caso SIM, atualizar as informações de acordo com a origem, caso NÃO, incluir no destino e atualizar a origem com o código de numeração única disponibilizado pelo destino.
- EXCLUIR: Verificar se existe algum processo e/ou cadastro em que o registro esteja atrelado, tanto na origem, como no destino, caso SIM, notificar através de mensagem e não permitir a exclusão, caso NÃO, excluir na origem e no destino.
Abaixo fluxo básico do processo de atualização da numeração única.
.
Seguem as rotinas que devem ser alteradas
FONTE | TIPO OPERAÇÃO | TIPO | ACESSO MENU | DESCRIÇÃO |
---|---|---|---|---|
MATA010 | Alteração | Cadastro | Atualizações / Cadastros / Produtos | Cadastro de Produtos / Itens |
MATI010 | Alteração | Integração EAI | Responsável por montar a mensagem de EAI | |
MATA020 | Alteração | Cadastro | Atualizações / Cadastros / Fornecedores | Cadastro de Fornecedores |
MATI020 | Alteração | Integração EAI | Responsável por montar a mensagem de EAI | |
MATA030 | Alteração | Cadastro | Atualizações / Cadastros / Clientes | Cadastro de Clientes |
MATI030 | Alteração | Integração EAI | Responsável por montar a mensagem de EAI | |
MATA050 | Alteração | Cadastro | Atualizações / Cadastros / Transportadoras | Cadastro de transportadoras |
MATI050 | Alteração | Integração EAI | Responsável por montar a mensagem de EAI | |
TMSA450 | Inclusão | Cadastro | Atualizações / S.A.C. / End.solic./cliente | Cadastro de locais de entregas |
TMSI450 | Inclusão | Integração EAI | Responsável por montar a mensagem de EAI |
Tabelas Utilizadas
- SB1 – Cadastro de Produtos
- SA7 – Cadastro de Produtos X Clientes
- SA1 - Cadastro de Clientes
- SA2 - Cadastro de Fornecedores
- DUY - Cadastro de Regiões
- SYA - Cadastro de Países
- SA4 - Cadastro de Transportadoras
- CC2 - Cadastro de Municípios
- SX5 - Cadastro de Estados - Tabela 12
- CCH - Cadastro de País
- DUL - Cadastro de Endereço de Solicitantes e Clientes
- DUE - Cadastro de Solicitantes
STRs que devem ser incluídos na biblioteca do INCLUDE:
- STR0114 = Não foi possível realizar a integração. Falha na integração.
Cadastro de Produtos
Campos obrigatórios:
Campo obrigatório para integração do cadastro de produtos:
TÍTULO | TAG / CAMPO TABELA | DESCRIÇÃO |
---|---|---|
Código da família | FamilyCode → B1_FPCODE | Código da família do produto |
Fluxo das operações INCLUSÃO, ALTERAÇÃO e EXCLUSÃO.
Modelo do XML de envio
<?xml version="1.0" encoding="UTF-8" ?>
<TOTVSMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="">
<MessageInformation version="3.001">
<UUID>f611dee5-7f78-77be-e611-b0bc9038e092</UUID>
<Type>Response</Type>
<Transaction>item</Transaction>
<StandardVersion>1.0</StandardVersion>
<SourceApplication>dts11buzios8480</SourceApplication>
<CompanyId>001</CompanyId>
<Product name="Datasul" version="11.5.X" />
<GeneratedOn>2016-12-07T17:08:44.593-02:00</GeneratedOn>
<DeliveryType>Sync</DeliveryType>
</MessageInformation>
<ResponseMessage>
<ReceivedMessage>
<SentBy>MP12</SentBy>
<UUID>5dc8dde5-6b5c-55bf-423e-46a01f80e96d</UUID>
</ReceivedMessage>
<ProcessingInformation>
<ProcessedOn>2016-12-07T17:08:44.593-02:00</ProcessedOn>
<Status>OK</Status>
</ProcessingInformation>
<ReturnContent>
<ListOfInternalId>
<InternalId>
<Name>ItemInternalId</Name>
<Origin>01||GENERICODATASUL</Origin>
<Destination>GENERICODATASUL</Destination>
</InternalId>
</ListOfInternalId>
</ReturnContent>
</ResponseMessage>
</TOTVSMessage>
Informações de Campos e TAGs
Cadastro de PRODUTOS
CAMPO DATASUL | CAMPO PROTHEUS | TIPO |
Entity | Item | Variável |
Event | cEvent | Variável |
key | B1_COD | Campo Base |
CompanyId | EmpAnt | Variável |
BranchId | B1_FILIAL | Campo Base |
CompanyInternalId | EmpAnt + | + FilAnt | Variável |
Code | B1_COD | Campo Base |
InternalId | EmpAnt + B1_COD | Variável + Campo Base |
Name | B1_DESC | Campo Base |
ShortName | B1_DESC | Campo Base |
Active | ProdActiv | Variável |
StockGroupCode | B1_GRUPO | Campo Base |
StockGroupInternalId | B1_GRUPO | Campo Base |
StockGroupDescription | B1_GRUPO | Campo Base |
UnitOfMeasureCode | B1_UM | Campo Base |
UnitOfMeasureInternalId | EmpAnt + | + B1_UM | Variável + Campo Base |
StandardWarehouseCode | B1_LOCPAD | Campo Base |
StandardWarehouseInternalId | B1_LOCPAD | Campo Base |
StandardWarehouseDescription | B1_LOCPAD | Campo Base |
EconomicLot | B1_LE | Campo Base |
MinimumLot | B1_LM | Campo Base |
NetWeight | B1_PESO | Campo Base |
GrossWeight | B1_PESBRU | Campo Base |
Origin | B1_ORIGEM | Campo Base |
FamilyCode | B1_FPCOD | Campo Base |
FamilyInternalId | EmpAnt + | + SYC + | + B1_FPCOD | Variável + Campo Base |
FamilyDescription | B1_FPCOD | Campo Base |
ProductType | B1_TIPO | Campo Base |
Trail | B1_RASTRO | Campo Base |
SecondUnitOfMeasureCode | B1_SEGUM | Campo Base |
SecondUnitOfMeasureInternalId | B1_SEGUM | Campo Base |
MultiplicationFactorValue | B1_CONV | Campo Base |
CostPrice | PrecoCusto | Variável |
SalesPrice | B1_PRV1 | Campo Base |
AverageCostPrice | B2_CM1 | Campo Base |
StandardCostPrice | BZ_CUSTD | Campo Base |
CustomerCode | A7_CLIENTE | Campo Base |
CustomerInternalId | A7_CLIENTE + A1_LOJA | Campo Base |
GovernmentalInformation (INSCRICAO ESTADUAL) | A1_INSCR | Campo Base |
GovernmentalInformation (INSCRICAO MUNICIPAL) | A1_INSCRM | Campo Base |
GovernmentalInformation (CPF ou CNPJ) | A1_CGC | Campo Base |
GovernmentalInformation (SUFRAMA) | A1_SUFRAMA | Campo Base |
CustomerItemCode | A7_CODCLI | Campo Base |
CustomerItemInternalId | A7_CODCLI | Campo Base |
Cadastro de TRANSPORTADORAS
CAMPO DATASUL | CAMPO PROTHEUS | TIPO |
---|---|---|
Entity | Carrier | Variável |
Event | cEvent | Variável |
key | A4_COD | Campo Base |
CompanyId | EmpAnt | Variável |
Code | A4_COD | Campo Base |
ShortName | A4_NREDUZ | Campo Base |
Name | A4_NOME | Campo Base |
InternalId | A4_COD | Campo Base |
GovernmentalInformation (INSCRICAO ESTADUAL) | A4_INSEST | Campo Base |
GovernmentalInformation (SUFRAMA) | A4_SUFRAMA | Campo Base |
GovernmentalInformation (CPF ou CNPJ) | A4_CGC | Campo Base |
Address | A4_END (L) | Campo Base |
Number | A4_END (N) | Campo Base |
Complement | A4_COMPLEM | Campo Base |
Code (City) | A4_COD_MUN | Campo Base |
Description | A4_EST | Campo Base |
District | A4_BAIRRO | Campo Base |
Code (State) | A4_EST | Campo Base |
Code (Country) | cCountryCode | Variável |
Description | cCountryDsc | Variável |
ZIPCode | A4_CEP | Campo Base |
PhoneNumber | cTel | Variável |
HomePage | A4_HPAGE | Campo Base |
A4_EMAIL | Campo Base |
Cadastro de FORNECEDORES
CAMPO DATASUL | CAMPO PROTHEUS | TIPO |
---|---|---|
Entity | CustomerVendor | Variável |
Event | cEvent | Variável |
key | A2_COD + A2_LOJA | Campo Base |
CompanyId | EmpAnt | Variável |
BranchId | xFilial | Variável |
BranchInternalId | cEmpAnt + | + cFilAnt | Variável |
CompanyInternalId | cEmpAnt + | + cFilAnt | Variável |
Code | A2_COD | Campo Base |
StoreId | A2_LOJA | Campo Base |
InternalId | A2_COD + A2_LOJA | Campo Base |
ShortName | A2_NREDUZ | Campo Base |
Name | A2_NOME | Campo Base |
Type | Vendor | Fixo |
EntityType | Person (CPF) ou Company (CNPJ) | Campo Base |
RegisterSituation | Inactive ou Active | Campo Base |
GovernmentalInformation (INSCRICAO ESTADUAL) | A2_INSCR | Campo Base |
GovernmentalInformation (INSCRICAO MUNICIPAL) | A2_INSCRM | Campo Base |
GovernmentalInformation (CPF ou CNPJ) | A2_CGC | Campo Base |
Address | A2_END (L) | Campo Base |
Number | A2_END (N) | Campo Base |
Complement | A2_COMPLEM | Campo Base |
District | A2_BAIRRO | Campo Base |
CityCode | A2_COD_MUN | Campo Base |
CityDescription | A2_MUN | Campo Base |
StateCode | A2_EST | Campo Base |
StateInternalId | A2_EST | Campo Base |
StateDescription | X5DESCRI | Variável |
CountryCode | A2_PAIS | Campo Base |
CountryInternalId | A2_PAIS | Campo Base |
ZIPCode | A2_CEP | Campo Base |
POBox | A2_CX_POST | Campo Base |
A2_EMAIL | Campo Base | |
PhoneNumber | A2_TEL | Campo Base |
FaxNumber | A2_FAX | Campo Base |
HomePage | A2_HPAGE | Campo Base |
Contact (Name) | A2_CONTATO | Campo Base |
BankCode | A2_BANCO | Campo Base |
BankInternalId | A2_BANCO + A2_AGENCIA + A2_NUMCON | Campo Base |
BankName | cBcoName | Variável |
BranchCode | A2_AGENCIA | Campo Base |
BranchKey | A2_DVAGE | Campo Base |
CheckingAccountNumber | A2_NUMCON ou A2_DVCTA | Campo Base |
CheckingAccountType | A2_TIPCTA | Campo Base |
MainAccount | 1 | Fixo |
CurrencyAccount | 01 | Fixo |
Cadastro de CLIENTES
CAMPO DATASUL | CAMPO PROTHEUS | TIPO |
Entity | CustomerVendor | Variável |
Event | cEvent | Variável |
key | A1_COD + A1_LOJA | Campo Base |
CompanyId | EmpAnt | Variável |
BranchId | xFilial | Variável |
BranchInternalId | cEmpAnt + | + cFilAnt | Variável |
CompanyInternalId | cEmpAnt + | + cFilAnt | Variável |
Code | A1_COD | Campo Base |
StoreId | A1_LOJA | Campo Base |
InternalId | A1_COD + A1_LOJA | Campo Base |
ShortName | A1_NREDUZ | Campo Base |
Name | A1_NOME | Campo Base |
Type | Customer | Fixo |
EntityType | Person (CPF) ou Company (CNPJ) | Campo Base |
RegisterDate | A1_DTNASC | Campo Base |
RegisterSituation | Inactive ou Active | Campo Base |
GovernmentalInformation (INSCRICAO ESTADUAL) | A1_INSCR | Campo Base |
GovernmentalInformation (INSCRICAO MUNICIPAL) | A1_INSCRM | Campo Base |
GovernmentalInformation (CPF ou CNPJ) | A1_CGC | Campo Base |
Address | A1_END (L) | Campo Base |
Number | A1_END (N) | Campo Base |
Complement | A1_COMPLEM | Campo Base |
District | A1_BAIRRO | Campo Base |
CityCode | A1_COD_MUN | Campo Base |
CityDescription | A1_MUN | Campo Base |
StateCode | A1_EST | Campo Base |
StateInternalId | A1_EST | Campo Base |
StateDescription | X5DESCRI | Variável |
CountryCode | A1_PAIS | Campo Base |
CountryInternalId | A1_PAIS | Campo Base |
ZIPCode | A1_CEP | Campo Base |
POBox | A1_CX_POST | Campo Base |
ShippingAddress (Address) | A1_ENDENT (L) | Campo Base |
ShippingAddress (Number) | A1_ENDENT (N) | Campo Base |
ShippingAddress (Complement) | A1_ENDENT (C) | Campo Base |
ShippingAddress (CityCode) | cCodMunE | Variável |
ShippingAddress (CityDescription) | A1_MUNE | Campo Base |
ShippingAddress (District) | A1_BAIRROE | Campo Base |
ShippingAddress (StateCode) | A1_ESTE | Campo Base |
ShippingAddress (ZipCode) | A1_CEPE | Campo Base |
PhoneNumber | A1_TEL | Campo Base |
FaxNumber | A1_FAX | Campo Base |
HomePage | A1_HPAGE | Campo Base |
A1_EMAIL | Campo Base | |
ContactInformationName | A1_CONTATO | Campo Base |
BillingInformation (Address) | A1_ENDCOB (L) | Campo Base |
BillingInformation (Number) | A1_ENDCOB (N) | Campo Base |
BillingInformation (Complement) | A1_ENDCOB (C) | Campo Base |
BillingInformation (CityDescription) | A1_MUNC | Campo Base |
BillingInformation (District) | A1_BAIRROC | Campo Base |
BillingInformation (StateCode) | A1_ESTC | Campo Base |
BillingInformation (ZipCode) | A1_CEPC | Campo Base |
VendorInformation (Code) | A1_VEND | Campo Base |
CreditLimit | A1_LC | Campo Base |
Cadastro de LOCAIS DE ENTREGAS
CAMPO DATASUL | CAMPO PROTHEUS | TIPO |
Entity | CUSTOMERSHIPPINGADDRESS | Campo Base |
Event | cEvent | Variável + Campo Base |
key (InternalId) | xFilial + | + DUL_SEQEND | Variável + Campo Base |
CompanyId | cEmpAnt | Variável |
BranchId | cFilAnt | Variável |
CompanyInternalId | cEmpAnt | Variável |
BranchInternalId | cEmpAnt + | + cFilAnt | Variável |
CustomerCode | DUL_CODCLI | Campo Base |
InternalId | cInternalId | Variável |
GovernmentalInformation (INSCRICAO ESTADUAL) | DUL_INSCR | Campo Base |
GovernmentalInformation (INSCRICAO MUNICIPAL) | "" | Branco |
GovernmentalInformation (CPF ou CNPJ) | DUL_CGC | Campo Base |
Code | DUL_SEQEND | Campo Base |
ExternalId | "" | Branco |
ShippingAddress (Address) | DUL_END (L) | Campo Base |
ShippingAddress (Number) | DUL_END (N) | Campo Base |
ShippingAddress (Complement) | "" | Branco |
ShippingAddress (District) | DUL_BAIRRO | Campo Base |
ShippingAddress (ZipCode) | DUL_CEP | Campo Base |
ShippingAddress (Region) | DUY_DESCRI | Campo Base |
ShippingAddress (POBox) | "" | Branco |
ShippingAddress (CityCode) | DUL_CODMUN | Campo Base |
ShippingAddress (CityInternalID) | cFilAnt + DUL_CODMUN | Variável + Campo Base |
ShippingAddress (CityDescription) | DUL_MUN | Campo Base |
ShippingAddress (StateCode) | DUL_CODMUN | Campo Base |
ShippingAddress (StateInternalID) | cFilAnt + DUL_EST | Variável + Campo Base |
ShippingAddress (StateDescription) | X5_DESCRI | Campo Base |
ShippingAddress (CountryCode) | A1_PAIS | Campo Base |
ShippingAddress (CountryInternalID) | cFilAnt + A1_PAIS | Variável + Campo Base |
ShippingAddress (CountryDescription) | YA_DESCR | Campo Base |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|