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 | LOGIX | Módulo | WMS | ||||||||||
Segmento Executor | Supply Chain | ||||||||||||
Projeto1 | LOGWMS01 | IRM1 |
| ||||||||||
Requisito1 |
| Subtarefa1 |
| ||||||||||
Chamado2 | Não se aplica. | ||||||||||||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||||||||||||
Outros | Não se aplica. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Realizar a integração dos endereços de entrega dos clientes. Será previsto o envio e o recebimento destas informações.
Definição da Regra de Negócio
Aviso | ||
---|---|---|
| ||
|
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
EAIAdapterCustomerShippingAddress1 | Criação | Adapter da mensagem CustomerShippingAddress | |
EAIHelperCustomerShippingAddress1 | Criação | Helper da mensagem CustomerShippingAddress | |
VDPR248 | Criação | Preparação de informações para integração de Locais de Entrega |
Aviso | ||||||
---|---|---|---|---|---|---|
| ||||||
Os fontes EAIAdapterCustomerShippingAddress1 e EAIHelperCustomerShippingAddress1 devem ser gerados utilizando o programa EAI0032, conforme orientações para construção de adapters disponível no TDN (ver link 2. Geração Automática de Adapters). Ao gerar deixar desmarcada a opção "Gerar arquivo Master?". Para que os fontes possam ser gerados será necessário utilizar o XSD da mensagem CustomerShippingAddress:
|
Dica | ||
---|---|---|
| ||
Verificar as informações de cada página deste link: 3. Construção do Adapter |
Na função EAIAdapterCustomerShippingAddress1_Install() deverá ser realizado o registro do InternalId referente ao local de entrega, utilizando como base a tabela cli_end_det_cobranca_entrega:
Bloco de código | ||||
---|---|---|---|---|
| ||||
IF NOT EAI_depara_existe("CustomerShippingAddress", "cli_end_det_cobranca_entrega") THEN CALL EAI_depara_register("CustomerShippingAddress", "cli_end_det_cobranca_entrega", "cliente|sequencia") END IF |
Para desenvolver o fonte VDPR248 considerar as regras abaixo:
- ########################### VER ###############################
Segue abaixo o detalhamento de cada tag existente na mensagem CustomerShippingAddress e como o sistema deverá tratar.
ENVIO:
Tag | Descrição | Regra a ser aplicada | |||||
---|---|---|---|---|---|---|---|
CompanyId | Código da empresa | Código da empresa corrente (p_cod_empresa) | |||||
BranchId | Código da filial | NULO | |||||
CompanyInternalId | Chave interna da empresa | Código da empresa corrente (p_cod_empresa) | |||||
BranchInternalId | Chave interna da filial | NULO | |||||
CustomerCode | Código do cliente | Código do cliente ao qual pertence o local de entrega, recebido por parâmetro na função vdpr248_EAI_CustomerShippingAddress_envia(). | |||||
(¹)GovernmentalInformation.Id.Id | Identificação da informação | Deverá ser o número do CNPJ/CPF ou Inscrição Estadual (somente números). Utilizar como base as lógicas existentes na função vdpr239_atualiza_business_content_Customer(). | |||||
(¹)GovernmentalInformation.Id.Attributes.scope | Escopo | Para CNPJ/CPF considerar o texto "Federal". Para Inscrição Estadual considerar o texto "State". | |||||
(¹)GovernmentalInformation.Id.Attributes.name | Nome da identificação | Para CNPJ considerar o texto "CNPJ". Para CPF considerar o texto "CPF". Para Inscrição Estadual considerar o texto "Inscricao Estadual". | |||||
(¹)GovernmentalInformation.Id.Attributes.issueOn | Data em que a identificação foi emitida | NULO para CNPJ, CPF e Inscrição Estadual. | |||||
(¹)GovernmentalInformation.Id.Attributes.expiresOn | Data de expiração da identificação | NULO para CNPJ, CPF e Inscrição Estadual. | |||||
InternalId | Chave interna do local de entrega | Concatenar o código do cliente e a sequência do local de entrega recebidos por parâmetro, separados por "|". Exemplo: Cliente 1234, sequência local de entrega 3 => "1234|3" | |||||
Code | Código do local de entrega | Sequência do local de entrega recebido por parâmetro na função vdpr248_EAI_CustomerShippingAddress_envia(). | |||||
ExternalId | Chave externa do local de entrega | NULO | |||||
(²)ShippingAddress.Address | Endereço | cli_end_det_cobranca_entrega.logradouro / cli_end_ent.end_entrega | |||||
(²)ShippingAddress.Number | Número do endereço | cli_end_det_cobranca_entrega.num_iden_lograd / NULO | |||||
(²)ShippingAddress.Complement | Complemento do endereço | cli_end_det_cobranca_entrega.complemento_endereco / NULO | |||||
(³)ShippingAddress.City.CityCode | Código da cidade | clientes.cod_cidade / cli_ent_ent.cod_cidade
| |||||
(³)ShippingAddress.City.CityInternalId | Chave interna da cidade | clientes.cod_cidade / cli_ent_ent.cod_cidade | |||||
(³)ShippingAddress.City.CityDescription | Descrição da cidade | cidades.den_cidade | |||||
(²)ShippingAddress.District | Bairro | cli_end_det_cobranca_entrega.bairro_cobr_entga / cli_end_ent.den_bairro | |||||
(³)ShippingAddress.State.StateCode | Código do estado (UF) | cidades.cod_uni_feder
| |||||
(³)ShippingAddress.State.StateInternalId | Chave interna do estado (UF) | cidades.cod_uni_feder | |||||
(³)ShippingAddress.State.StateDescription | Descrição do estado (UF) | uni_feder.den_uni_feder | |||||
(³)ShippingAddress.Country.CountryCode | Código do país | uni_feder.cod_pais
| |||||
(³)ShippingAddress.Country.CountryInternalId | Chave interna do país | uni_feder.cod_pais | |||||
(³)ShippingAddress.Country.CountryDescription | Descrição do país | paises.den_pais | |||||
(³)ShippingAddress.ZIPCode | CEP | clientes.cod_cep / cli_end_ent.cod_cep | |||||
ShippingAddress.Region | Região | NULO | |||||
ShippingAddress.POBox | Caixa postal | NULO |
(¹)Deverá gerar dois registros no record GovernmentalInformation: O primeiro para o CNPJ/CPF e o segundo para a Inscrição Estadual.
(²)Deverá ser analisado o parâmetro "vdp_utiliza_tela_endereco" (LOG00087):
- Se estiver "S" deverá ser lida a tabela cli_end_det_cobranca_entrega. Filtrar onde o tip_endereco seja igual a "E". Ordenar os registros pelo campo sequencia.
- Se estiver "N" deverá ser lida a tabela cli_end_ent. Ordenar os registros pelo campo num_sequencia.
(³)Para estas tags não há correspondência na tabela cli_end_det_cobranca_entrega. Neste caso deverá ser utilizada a informação padrão da tabela clientes.
RECEBIMENTO - Upsert:
Inicialmente deverá ser utilizada a função EAI_depara_get_value() para verificar se existe o local de entrega já cadastrado no Logix para a chave interna enviada na mensagem.
Bloco de código collapse true LET l_internalValue = EAI_depara_get_value("CustomerShippingAddress", _advpl_eai_get_message_info(g_eai_msg_negocio, 'MessageInformation.SourceApplication'), EAIHelperCustomerShippingAddress1_get_BusinessContent_InternalId())
Se o conteúdo retornado for nulo significa que não existe o De/Para, neste caso deverá ser considerado como inclusão de um novo local de entrega.
Se o conteúdo retornado for diferente de nulo deverá ser chamada a função EAI_depara_InternalId_get_value() para obter o código do cliente e o código do
Para gravar o local de entrega deverá ser analisado o parâmetro "vdp_utiliza_tela_endereco" (LOG00087):
Se estiver "S" deverá ser gravada a tabela cli_end_det_cobranca_entrega:
Campo | Conteúdo a ser gravado |
---|---|
cliente | |
tip_endereco | |
sequencia | |
tip_logradouro | |
logradouro | |
num_iden_lograd | |
complemento_endereco | |
endereco_completo | |
bairro_cobr_entga |
Se estiver "N" deverá ser gravada a tabela cli_end_ent.
Campo | Conteúdo a ser gravado |
---|---|
cod_cliente | |
end_entrega | |
den_bairro | |
cod_cidade | |
cod_cep | |
num_cgc | |
ins_estadual | |
num_sequencia | |
cod_rota | |
cod_local | |
cod_praca |
Fluxo do Processo
Cenários de Teste
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|