Páginas filhas
  • ER_PCREQ-8884_Troca_Propriedade_Fase_I_Cadastros_Parametros

Não foi possível localizar o servidor Jira para esta macro. Pode ser devido à configuração do Link do Aplicativo. Não foi possível localizar o servidor Jira para esta macro. Pode ser devido à configuração do Link do Aplicativo.

 

Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.

Troca de Propriedade - Fase I - Cadastros e Parâmetros

Informações Gerais

Especificação

Produto

Logix

Módulo

WMS

Segmento Executor

Logística

Projeto

L_DL_WMS002

IRM

PCREQ-4909

Requisito

PCREQ-8884

Subtarefa

 

Release de Entrega Planejada

12.1.12

Réplica

12.1.2

País

(X) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Objetivo

Permitir a inclusão de solicitações de carga, indicando que é para troca de propriedade, realizando todas as validações necessárias para garantia do processo.

Prever também as validações na geração do plano e o cancelamento de solicitação de carga.

 

Definição da Regra de Negócio

  • Permitir que ao incluir uma solicitação de carga (manualmente ou via EDI) seja possível indicar que a solicitação tem como objetivo a troca de propriedade.
  • Somente será possível indicar na solicitação de carga que é troca de propriedade quando o segmento de utilização for Operador Logístico.
  • Se a solicitação for para troca de propriedade o destinatário indicado deverá ser um depositante válido no WMS, com Contrato e Proposta ativos.
  • Somente deve ser permitido informar que a solicitação de carga é de troca de propriedade se o depositante atual estiver sob regime de Filial. A troca de propriedade para depositantes no regime de Armazém Geral será tratado apenas no requisito "Troca de Propriedade - Fase III - Armazém Geral".
  • Também deve ser permitida somente a indicação de troca de propriedade para os produtos de Carga Geral, não sendo permitida a troca para produtos controlados A Granel. Para estes tipos de produtos deverá ser utilizada a rotina de Ajustes de Estoque, baixando o saldo do depositante de origem e efetuando a entrada do saldo para o novo depositante.
  • Será necessário relacionar a Nota Fiscal de recebimento do depositante destino com a solicitação de carga do depositante de origem, antes da geração do plano de separação. Este relacionamento é necessário para que o sistema possa efetuar as ligações entre o processo de expedição do depositante de origem com o processo de recebimento do depositante de destino. Esta ligação será realizada através da própria rotina de Manutenção de Solicitações de Carga (WMS6325), sendo possível também relacionar automaticamente pela importação do EDI de solicitação de carga. Ao selecionar a Nota Fiscal de recebimento na rotina WMS6325, o sistema carregará para a solicitação todas as informações deste documento, facilitando assim o processo de relacionamento.
  • Cada solicitação de carga pode estar relacionada a uma única Nota Fiscal de recebimento, da mesma forma que uma Nota Fiscal de recebimento também pode estar relacionada apenas com uma solicitação.
  • Como os códigos dos produtos entre os depositantes são diferentes, será necessário configurar no cadastro de Produtos Semelhantes (WMS6494) o relacionamento entre os produtos dos depositantes de origem e de destino, para que o sistema possa efetuar as validações de itens e quantidades durante o processo de separação e posterior conferência do recebimento.
  • Os itens e quantidades envolvidos na solicitação de carga deverão ser idênticos aos que constam na Nota Fiscal de recebimento. Se houver alguma divergência não será possível relacionar os dois documentos.
  • Não permitir gerar um plano de separação com várias solicitações de carga caso a que estiver associada ao plano for de troca de propriedade. Cada plano deverá ser de uma única solicitação de carga de troca de propriedade.
  • Será permitido somente o cancelamento total da solicitação de carga, pois as quantidades e itens da solicitação devem estar iguais aos itens e quantidades da nota fiscal de recebimento relacionada, uma vez que na conferência do recebimento não poderão ocorrer faltas ou excessos. Quando o cancelamento for executado serão eliminadas as informações geradas automaticamente e o estoque separado será mantido no endereço onde foi descarregado, conforme regra padrão existente.

 

 

Rotinas

Tipo de Operação

Opção de Menu

Regras de Negócio

WMS6325 - Digitação da Solicitação de Carga

Alteração

-

-

EDIR2 - Atualização das tabelas do EDI

Alteração

-

-

EDI0013 - Recebimento Solicitação Carga Venda

Alteração

-

-

WMS6377 - Gera Plano de Separação

Alteração

-

-

WMS60004 - Inclui Solicitação de Carga no Plano de Separação

Alteração

-

-

WMS6138 - Relaciona CESV x Nota fiscal recebimento

Alteração

-

-

WMS6136 - Zoom de notas fiscais para relacionamento com CESV

Alteração

-

-

WMS6521 - Informações Complementares da NF

Alteração

-

-

WMS6494 - Cadastro de Produtos Semelhantes

Alteração

-

-

WMS60017 - Contrato (Expedição - Plano/Onda)

Alteração

-

-

WMS6135 - Verificação de Permissão de Alteração/Exclusão de NF

Alteração

-

-

Alterações de Programas

WMS6325 - Digitação da Solicitação de Carga

  •  Incluir o campo Troca propriedade, tipo check-box, na pasta Dados Complementares, e ao lado dele um campo onde deverá ser exibido o número do aviso de recebimento quando a solicitação já estiver relacionada com a Nota Fiscal de recebimento para troca de propriedade. Ver detalhes no Protótipo 01. Reorganizar o posicionamento dos campos Etiqueta Volume Impressa e Cross-Docking para que fiquem em uma nova linha, sendo que o novo campo deverá ser colocado após estes dois, conforme indicado no protótipo.
  • Porém, estes novos campos deverão ser ocultados se o parâmetro de transportadora genérica (wms_transp_generica) estiver nulo.
  • Permitir que o usuário assinale ou dessinale esse novo check-box durante a inclusão ou alteração de uma solicitação de carga considerando as seguintes regras:
    • Não habilitar o campo Troca propriedade se o segmento de utilização do WMS for Indústria.
    • Não habilitar o campo Troca propriedade se o tipo do documento for de Retorno ao Depositante (RD e RE).
    • Se a solicitação estiver com a situação diferente de A (Acolhida), B (Bloqueada) e I (Inconsistente), o campo deverá permanecer desabilitado para edição.
    • Se o depositante estiver sob o regime de Armazém Geral (campo WMS_CONTRATO.regime_armazem igual a A) o campo Troca propriedade deverá ficar desabilitado e desmarcado (prever que se o usuário efetuar a troca do código do depositante esta validação seja refeita).
    • Se o usuário assinalar o campo Troca propriedade, os campos Granel , Solicitação carga origem e Utilizar solicit. para emissão NF conta/ordem? deverão ficar desabilitados, sendo que os campos Granel e Utilizar solicit. para emissão NF conta/ordem? deverão ser desmarcados (caso estejam marcados) e o  campo Solicitação carga origem deverá ser inicializado com nulos.
    • Se o usuário assinalar o campo Troca propriedade deverá carregar para o campo de Transportadora o código da transportadora genérica definida no LOG00087 e não deverá permitir que sejam realizadas alterações.
  • O campo referente ao aviso de recebimento não poderá ser informado, somente poderá ser acionado o botão de Zoom que está ao lado do mesmo. Este Zoom somente deverá ser habilitado se o campo Troca propriedade estiver assinalado.
  • Quando este botão de Zoom for acionado deverá ser aberta uma tela conforme o Protótipo 02, considerando as seguintes regras:
    • Na parte superior deverão ser exibidas as informações básicas da solicitação de carga, sem permitir edição.
    • Na grid deverão ser apresentadas as Notas Fiscais de recebimento (provenientes da tabela NF_SUP) que atenderem as seguintes condições:
      • Onde o campo IES_NF_AGUARD_NFE seja igual a A.
      • Onde o código do depositante relacionado à NF (conforme tabela AR_DEPOS) seja diferente do código do depositante da solicitação de carga.
      • Que a NF não esteja relacionada a uma CESV (conforme tabela WMS_CESV_DOCUM_NOTA_FISCAL);
      • Que a NF não esteja assinalada para regularização fiscal (conforme tabela SUP_PAR_AR, campo PARAMETRO igual a nf_regular_fiscal e campo PAR_IND_ESPECIAL igual a S).
      • Que o Aviso de Recebimento referente a esta NF não esteja relacionado a outra solicitação de carga (conforme tabela WMS_SOLIC_CARGA_PARAMETRO, campo PARAMETRO igual a troca_propriedade e campo VAL_NUMERICO igual ao número do AR).
      • Se a operação em execução for uma modificação, deverá filtrar as Notas validando o código do destinatário, itens e quantidades já carregados na solicitação (todos os itens e quantidades da nota fiscal de recebimento deverão ter correspondência nos itens que já estão na solicitação e o contrário também é verdadeiro, todos os itens e quantidades que estão na solicitação deverão estar na nota fiscal). Só poderá exibir para seleção as notas que estiverem batendo todas as informações.
    • Todos os campos da grid são apenas para visualização, com exceção do campo Sel. que será utilizado pelo usuário para selecionar a NF desejada.
    • O usuário poderá selecionar apenas uma NF na grid. Quando ele selecionar uma NF, se existir outra selecionada esta deverá ser desmarcada, ficando selecionada apenas a nova Nota.
    • Quando a tela for aberta, se a solicitação de carga já estiver relacionada a uma NF de recebimento, a mesma deverá ser apresentada selecionada. Isto também vale para os casos em que o relacionamento ainda não foi efetivado na tabela WMS_SOLIC_CARGA_PARAMETRO, mas o usuário tenha entrado anteriormente nesta opção e selecionado alguma NF.
    • Quando o usuário clicar no botão Confirmar desta tela efetuar os seguintes procedimentos:
      • Efetuar o seguinte questionamento: "Serão carregadas as informações desta nota fiscal de recebimento para a solicitação de carga. Confirma?".
      • Caso o usuário responda não, deverá continuar com a tela de seleção de Notas aberta, aguardando que o usuário selecione outra Nota ou cancele o processo.
      • Se o usuário responder sim, deverão ser atualizadas as seguintes informações na tela:
        • Limpar todas informações das pastas 2-Destinatário, 3-Itens e 4-Valores totais, pois as mesmas serão recarregadas.
        • Na pasta 2-Destinatário carregar o código do destinatário com o código do depositante associado à Nota Fiscal escolhida. Todas as demais informações do destinatário também deverão ser carregadas (CNPJ/CPF, Inscrição Estadual, Seq.Endereço, CEP, entre outros).
        • Na pasta 3-Itens deverão ser carregados os dados dos itens existentes na Nota Fiscal selecionada:
          • Para cada registro existente na tabela AVISO_REC deverá ser incluída uma sequência na solicitação de carga.
          • Para o campo Sequência deverá ser considerado AVISO_REC.NUM_SEQ.
          • Para o campo Item deverá ser apresentado o código do item do depositante de destino (WMS_ITEM_COMPLEMENTO.ITEM_DEPOSIT) referente ao código do item da sequência da nota (AVISO_REC.COD_ITEM). Será necessário realizar um de/para de códigos utilizando o cadastro de produtos semelhantes:
            • Pegar o código do item da solicitação de carga e efetuar um cursor na tabela WMS_ITEM_GRANEL_SEMELHANTE filtrando pelo campo ITEM;
            • A partir do campo ITEM_SEMELHANTE lido na tabela efetuar um SELECT nesta mesma tabela, agora filtrando por este campo ITEM_SEMELHANTE, onde o campo ITEM seja diferente do item da solicitação de carga e onde o depositante associado ao item seja igual ao depositante destino da nota fiscal selecionada;
            • Se não encontrar registro para estas condições deverá gerar uma mensagem de erro "Não foi encontrado o produto semelhante para o item <<item depositante>>", onde <<item_depositante>> deverá apresentar o código do item depositante da solicitação de carga.
            • Se encontrar o relacionamento deverá verificar se existe o item correspondente na Nota Fiscal de recebimento selecionada (tabela AVISO_REC);
            • Se não encontrar o item na NF deverá gerar uma mensagem de erro  "Não foi encontrado o produto na nota fiscal de recebimento para troca de propriedade".
          • Para os campos Tipo Estoque e Restrição deverão ser carregados os códigos padrões do depositante, conforme lógica que já existe atualmente ao entrar no campo, quando os mesmos estão em branco.
          • Para o campo Qtd.solicitada deverá ser carregada a quantidade declarada no item da nota fiscal de recebimento (AVISO_REC.QTD_DECLARAD_NF).
          • Para o campo Unidade Medida Estoque deverá ser carregada a unidade de medida do item (ITEM.COD_UNID_MED).
          • Para o campo Seleção Manual deverá ser assumido o valor N.
          • Para o campo Valor unitário deverá ser considerado AVISO_REC.PRE_UNIT_NF.
          • Para o campo Valor total deverá ser calculado o resultado da multiplicação dos campos Qtd.solicitada e Valor unitário.
          • Para o campo Data Entrega deverá ser assumida a data atual.
          • Para o campo % IPI deverá ser considerado AVISO_REC.PCT_IPI_DECLARAD se o mesmo estiver diferente de zero. Se estiver igual a zero deverá considerar o campo AVISO_REC.PCT_IPI_TABELA.
          • Para o campo Valor IPI deverá ser considerado AVISO_REC.VAL_IPI_DECL_ITEM se o mesmo estiver diferente de zero. Se estiver igual a zero deverá considerar o campo AVISO_REC.VAL_IPI_CALC_ITEM.
          • Para o campo % ICMS deverá ser considerado AVISO_REC.PCT_ICMS_ITEM_D se o mesmo estiver diferente de zero. Se estiver igual a zero deverá considerar o campo AVISO_REC.PCT_ICMS_ITEM_C.
          • Para o campo Valor ICMS deverá ser considerado AVISO_REC.VAL_ICMS_ITEM_D se o mesmo estiver diferente de zero. Se estiver igual a zero deverá considerar o campo AVISO_REC.VAL_ICMS_ITEM_C.
          • Os campos que não foram mencionados acima deverão permanecer com o valor nulo. 
        • Na  pasta 4 - Valores totais deverão ser carregados os valores totais seguindo a mesma lógica já aplicada atualmente ao entrar no campo e quando os mesmos estão zerados (existem lógicas que buscam as informações dos itens e calculam automaticamente os valores totais do documento).
        • Após isso, efetuar a atualização do número do aviso de recebimento selecionado em variável modular (correspondente ao novo campo da tela), sendo que a atualização da tabela WMS_SOLIC_CARGA_PARAMETRO somente deverá ocorrer quando for efetivada a inclusão ou modificação da solicitação de carga.
    • Se o usuário clicar no botão Cancelar a tela deverá ser fechada, porém, sem atualizar a variável modular que manterá o relacionamento da solicitação com a NF até que o processo seja efetivado e sem atualizar as informações do destinatário e itens da solicitação.
  • Permitir acionar o botão de Zoom mesmo quando não estiver no modo de edição (inclusão/modificação), porém, neste caso deverá exibir na grid apenas a NF que está relacionada e sem permitir desmarcar o campo Sel..
  • A partir do momento que uma Nota Fiscal de recebimento tiver sido selecionada deverão ser desabilitados todos os campos da pasta 2 – Destinatário, pois como já foi selecionada nota o usuário não pode selecionar um destinatário diferente.
  • Se a Nota Fisal de recebimento tiver sido relacionada também deverá ser desabilitada a alteração da quantidade solicitada e a inclusão ou exclusão de itens na pasta 3 - Itens (os demais campos e botões devem ficar habilitados). Atentar para o fato de que se o usuário alterar o filtro de dimensionais ou alterar o tipo de estoque/restrição o saldo disponível será recalculado e, caso não exista saldo suficiente para atender à quantidade solicitada, deverá apresentar a mensagem de falta de saldo (como já faz hoje), porém, não permitindo assumir uma nova quantidade solicitada (hoje, quando ocorre falta de saldo o programa assume para a quantidade solicitada apenas aquilo que existe de saldo, porém na troca de propriedade não podemos mudar a quantidade que está na nota de recebimento).
  • Quando o usuário confirmar a inclusão ou a alteração da solicitação de carga, se o campo Troca propriedade estiver assinalado deverão ser realizadas as seguintes consistências:
    • Verificar se o destinatário informado é um depositante válido. Para isso, verificar na função wms6325_validate_deposit() as consistências realizadas e utilizá-las de forma semelhante para validar o destinatário.
    • Verificar se o destinatário está cadastrado como cliente (conforme a mensagem "Depositante não está cadastrado como CLIENTE.").
    • Verificar se o destinatário está ativo na tabela de clientes (conforme a mensagem "Depositante não está ativo (CLIENTE).").
    • Verificar se o destinatário está cadastrado como fornecedor (conforme a mensagem "Depositante não está cadastrado como FORNECEDOR.").
    • Verificar se o destinatário está ativo na tabela de fornecedores (conforme a mensagem "Depositante não está ativo (FORNECEDOR).").
    • Verificar se o destinatário possui contrato ativo (conforme a mensagem "Não existe contrato cadastrado para este depositante.").
    • Verificar se o destinatário possui proposta ativa (conforme a mensagem "Depositante não possui proposta ativa.").
    • Efetuar novamente as mesmas validações utilizadas no momento de carregar as NFs para a grid, para garantir que a NF ainda pode ser utilizada no relacionamento (tipo da nota, depositante, relacionamento com CESV, NF para regularização fiscal, relacionamento com outra solicitação). Caso alguma das consistências ocorra deverá exibir uma mensagem de erro especificando o que ocorreu e solicitando que seja efetuado um novo relacionamento.
  • Ao efetivar a inclusão ou alteração da solicitação de carga deverá gravar um registro na tabela WMS_SOLIC_CARGA_PARAMETRO, conforme dados abaixo:
    • empresa: código da empresa corrente.
    • solicitacao_carga: número da solicitação de carga.
    • sequencial_item: "0" (zero).
    • parametro: "troca_propriedade"
    • seq_parametro: "0" (zero)
    • val_texto: "S" se o campo Troca propriedade estiver assinalado ou "N", se estiver dessinalado.
    • val_numerico: número do Aviso de Recebimento referente à nota fiscal selecionada na opção Relaciona NF Receb.
    • val_dat: NULL
    • val_dat_hor: NULL
  • Se a solicitação for de troca de propriedade, não permitir acionar as opções Cancela WMS e Cancela Detalhado, pois para este tipo de solicitação somente pode ser realizado o cancelamento Total.

EDIR2 - Atualização das Tabelas do EDI

  • Criar novos atributos para o EDI recebimento de solicitação de carga, referente ao campo Troca propriedade detalhado acima no programa WMS6325 e campos para identificação da nota fiscal de recebimento que estará relacionada à solicitação de carga.
    A alteração deverá ser efetuada na função edir2_atualiza_edi_lista_atrib_tip_processo_aux():
    • Após a linha abaixo deverá ser incluído o comando para a criação dos novos atributos:
      IF NOT edir2_edi_lista_atrib_tip_processo_inclui(l_modo_exibicao_msg,'RECEBIMENTO SOLICITACAO CARGA VENDA','INDICADOR CARGA GRANEL', 'wms_solic_carga_parametro','SOLICITACAO CARGA','val_texto','N',NULL,NULL,'edi0013_consiste_carga_granel',NULL) THEN
           RETURN FALSE
      END IF
    • Novo atributo:
      IF NOT edir2_edi_lista_atrib_tip_processo_inclui(l_modo_exibicao_msg,'RECEBIMENTO SOLICITACAO CARGA VENDA','INDICADOR TROCA PROPRIEDADE', 'wms_solic_carga_parametro','SOLICITACAO CARGA','val_texto','N',NULL,NULL,'edi0013_consiste_troca_propriedade',NULL) THEN
            RETURN FALSE
  •               END IF
    • Novo atributo:
      IF NOT edir2_edi_lista_atrib_tip_processo_inclui(l_modo_exibicao_msg,'RECEBIMENTO SOLICITACAO CARGA VENDA','NF RECEBIMENTO TROCA PROPRIEDADE', 'wms_solic_carga_parametro','SOLICITACAO CARGA','val_numerico','N',NULL,NULL,'edi0013_consiste_nf_recebimento_troca_propriedade',NULL) THEN
            RETURN FALSE
      END IF
    • Novo atributo:
      IF NOT edir2_edi_lista_atrib_tip_processo_inclui(l_modo_exibicao_msg,'RECEBIMENTO SOLICITACAO CARGA VENDA','SERIE NF RECEBIMENTO TROCA PROPRIEDADE', 'wms_solic_carga_parametro','SOLICITACAO CARGA','val_numerico','N',NULL,NULL,'edi0013_consiste_serie_nf_recebimento_troca_propriedade',NULL) THEN
            RETURN FALSE
      END IF
    • Novo atributo:
      IF NOT edir2_edi_lista_atrib_tip_processo_inclui(l_modo_exibicao_msg,'RECEBIMENTO SOLICITACAO CARGA VENDA','CNPJ-CPF DESTINO TROCA PROPRIEDADE', 'wms_solic_carga_parametro','SOLICITACAO CARGA','val_numerico','N',NULL,NULL,'edi0013_consiste_cnpj_cpf_destino_troca_propriedade',NULL) THEN
            RETURN FALSE
      END IF
    • Novo atributo:
      IF NOT edir2_edi_lista_atrib_tip_processo_inclui(l_modo_exibicao_msg,'RECEBIMENTO SOLICITACAO CARGA VENDA','INSCRICAO ESTADUAL DESTINO TROCA PROPRIEDADE', 'wms_solic_carga_parametro','SOLICITACAO CARGA','val_numerico','N',NULL,NULL,'edi0013_consiste_inscricao_estadual_destino_troca_propriedade',NULL) THEN
            RETURN FALSE
      END IF


  • Criar uma nova mensagem de consistência referente ao atributo de troca de propriedade. A alteração deverá ser realizada no final da função edir2_atualiza_edi_mensag_consist_aux():
    • Chamar a função edir2_edi_mensag_consist_inclui() da seguinte forma:
      IF NOT edir2_edi_mensag_consist_inclui(l_modo_exibicao_msg,234,'INCONSISTÊNCIA TROCA PROPRIEDADE','SOLICITAÇÃO DE CARGA PARA TROCA DE PROPRIEDADE','I',NULL) THEN
            RETURN FALSE
      END IF

EDI0013 - Recebimento Solicitação Carga Venda 

  • Criar a função edi0013_consiste_troca_propriedade() utilizando como base a função edi0013_consiste_carga_granel(), trocando o código do parâmetro de controle_granel para troca_propriedade.
  • Criar a função edi0013_consiste_nf_recebimento_troca_propriedade(). Nesta função deverá ser alimentada uma variável modular com o número da NF recebida, para utilizar esta informação posteriormente na validação e gravação dos dados.
  • Criar a função edi0013_consiste_serie_nf_recebimento_troca_propriedade(), onde deverá existir uma lógica semelhante à função edi0013_consiste_serie_documento_armazenagem(), apenas alimentando uma variável modular com a série recebida, que será utilizada posteriormente para validação e gravação.
  • Criar a função edi0013_consiste_cnpj_cpf_destino_troca_propriedade(), onde deverá existir uma lógica semelhante à função edi0013_consiste_cnpj_cpf_transportadora(), validando se o CNPJ/CPF é de um depositante válido (deve estar assinalado como depositante na tabela SUP_PAR_FORNECEDOR, parâmetro "ies_depositante) e se o mesmo está ativo. Para localizar o depositante deverá ser utilizado o CNPJ/CPF recebidos por EDI.
  • Dentro da função edi0013_consiste_mestre() implementar uma lógica para efetuar as validações referentes à troca de propriedade, conforme já detalhado acima no programa wms6325. Além destas consistências também deverá ser validado se o conteúdo do atributo é igual a S ou N:
    • A nota fiscal/série de recebimento para troca de propriedade recebida por EDI deverá existir na tabela NF_SUP, onde o campo IES_NF_AGUARD_NFE seja igual a A.
    • Onde o código do depositante relacionado à NF (conforme tabela AR_DEPOS) seja diferente do código do depositante da solicitação de carga.
    • Que a NF não esteja relacionada a uma CESV (conforme tabela WMS_CESV_DOCUM_NOTA_FISCAL);
    • Que a NF não esteja assinalada para regularização fiscal (conforme tabela SUP_PAR_AR, campo PARAMETRO igual a nf_regular_fiscal e campo PAR_IND_ESPECIAL igual a S).
    • Que o Aviso de Recebimento referente esta NF não esteja relacionado a outra solicitação de carga (conforme tabela WMS_SOLIC_CARGA_PARAMETRO, campo PARAMETRO igual a troca_propriedade e campo VAL_NUMERICO igual ao número do AR).
  • Se o atributo de troca de propriedade não existir no arquivo EDI ou estiver como N, este atributo de nota fiscal de recebimento para troca de propriedade não pode estar preenchido.
  • Verificar se os itens e quantidades relacionados à solicitação de carga recebida batem com os itens e quantidades da nota fiscal de recebimento para troca de propriedade informada no arquivo. Para comparar os itens será necessário realizar um de/para de códigos utilizando o cadastro de produtos semelhantes:
    • Pegar o código do item da solicitação de carga e efetuar um cursor na tabela WMS_ITEM_GRANEL_SEMELHANTE filtrando pelo campo ITEM.
    • A partir do campo ITEM_SEMELHANTE lido na tabela efetuar um SELECT nesta mesma tabela, agora filtrando por este campo ITEM_SEMELHANTE, onde o campo ITEM seja diferente do item da solicitação de carga e onde o depositante associado ao item seja igual ao depositante destino informado no EDI.
    • Se não encontrar registro para estas condições deverá gerar uma mensagem de erro no EDI: "Não foi encontrado o produto semelhante para o item <<item depositante>>", onde <<item_depositante>> deverá apresentar o código do item depositante da solicitação de carga.
    • Se encontrar o relacionamento deverá verificar se existe o item correspondente na nota fiscal de recebimento relacionada ao EDI (tabela AVISO_REC).
    • Se não encontrar o item na NF deverá gerar uma mensagem de erro no EDI: "Não foi encontrado o produto na nota fiscal de recebimento para troca de propriedade.".
    • Se o item for encontrado na NF deverá verificar se a quantidade solicitada da solicitação de carga é igual à quantidade declarada na nota fiscal de recebimento (AVISO_REC.QTD_DECLARAD_NF). Se for diferente deverá gerar a mensagem "Quantidade solicitada diferente da quantidade declarada na nota fiscal de recebimento para troca de propriedade".

  • Caso exista alguma inconsistência deverá ser utilizado o código de mensagem 234, colocando no detalhe do erro as informações necessárias para identificar o que ocorreu.
  • Estes novos atributos de troca de propriedade não são considerados obrigatórios no layout, portanto se o mesmo não tiver sido informado no arquivo nenhuma consistência relativa a ele deverá ser realizada.
  • Após realizar a importação da solicitação deverá ter sido gravado um registro na tabela WMS_SOLIC_CARGA_PARAMETRO, gravando no campo VAL_TEXTO o indicador de troca de propriedade e no campo VAL_NUMERICO o número do Aviso de Recebimento referente à NF de recebimento para troca de propriedade.

WMS6377 - Gera Plano de Separação 

  • Dentro da função wms6377_gera_plano_separacao() existe o cursor cq_busca_plano, alterar para que antes deste cursor (mas dentro do ELSE onde ele está posicionado) verifique se a solicitação de carga é de troca de propriedade:
    SELECT wms_solic_carga_parametro.val_numerico
       FROM wms_solic_carga_parametro
       WHERE wms_solic_carga_parametro.empresa = p_cod_empresa
       AND wms_solic_carga_parametro.solicitacao_carga = mr_solic_mestre.trans_solicitacao_carga_mestre
       AND wms_solic_carga_parametro.parametro = "troca_propriedade"
       AND wms_solic_carga_parametro.val_texto = "S"
  • Se o SQL acima retornar registro, significa que é troca de propriedade. Neste caso, verificar se o conteúdo do campo VAL_NUMERICO lido no SELECT está preenchido, se não estiver deverá exibir a mensagem de erro "A solicitação <número da solicitação de carga> é de troca de propriedade e não possui nota fiscal de recebimento relacionada.", e efetuar um CONTINUE FOREACH para processamento da próxima solicitação de carga, sendo que para a solicitação corrente não será gerado plano de separação até que o usuário faça o relacionamento no wms6325.
  • Se a solicitação for de troca de propriedade e a nota fiscal de recebimento estiver relacionada não deverá ser executado o cursor cq_busca_plano, deverá deixar a variável l_encontrou_plano como FALSE para que entre na lógica existente após o cursor onde será criado um novo plano de separação. Esse tratamento é necessário para que as solicitações de carga para troca de propriedade fiquem associadas exclusivamente a um plano de separação, não permitindo que sejam agrupadas com outras solicitações.
  • Dentro da função wms6377_insert_plano_separacao_carga_item() tem uma chamada da função wmsr25_melhor_endereco_funcionalidade() para buscar o endereço de destino que deve ser considerado para a solicitação de carga. Antes dessa chamada, se a solicitação de carga for de troca de propriedade (conforme registro na tabela WMS_SOLIC_CARGA_PARAMETRO), ao invés de utilizar essa função deverá ser buscado o endereço de destino informado no contrato do depositante:
    SELECT wms_parametro_complementar.val_decimal
       FROM wms_parametro_complementar
      WHERE wms_parametro_complementar.empresa = <<empresa corrente>>
      AND wms_parametro_complementar.depositante = <<código do depositante da solicitação de carga>>
      AND wms_parametro_complementar.contrato = <<número do contrato atual do depositante>>
      AND wms_parametro_complementar.nom_parametro = "end_troca_propried"
    Observação:
    Para determinar o número do contrato a ser aplicado no SELECT deverá ser utilizada a função wmst15_retorna_contrato_ativo_deposit().

 WMS60004 - Inclui Solicitação de Carga no Plano de Separação

  •  Incluir na função wms60004_valid_trans_solicitacao_carga_mestre() uma validação para não permitir incluir no plano de separação uma solicitação de carga que seja de troca de propriedade (ver SELECT indicado acima para o WMS6377).
  • Incluir também uma validação na função wms60004_valida_parametros() para não permitir incluir novas solicitações de carga no plano de separação se aquela que já está associada ao plano for de troca de propriedade.

 WMS6138 - Relaciona CESV x Nota Fiscal Recebimento

  •  Alterar para que não permita relacionar ao CESV de recebimento uma nota fiscal que esteja ligada a uma solicitação de carga de troca de propriedade.

 WMS6139 - Zoom de notas fiscais para relacionamento com CESV

  •  Alterar para que não apresente as notas fiscais que estejam ligadas a uma solicitação de carga de troca de propriedade.

 WMS6521 - Informações Complementares da NF 

  • Incluir os campos Troca de propriedade e Solicitação carga troca na tela, conforme indicado no Protótipo 03. 
  • Estes campos não deverão permitir alteração, serão apenas para consulta.
  • Ao abrir a tela fazer um SELECT DISTINCT 1 na tabela WMS_SOLIC_CARGA_PARAMETRO verificando se existe algum registro onde o campo PARAMETRO seja igual a troca_propriedade, o campo VAL_TEXTO seja igual a S e o campo VAL_NUMERICO seja igual ao número do aviso de recebimento que está sendo consultado.
  • Se encontrar um registro para estas condições o campo Troca propriedade deverá permanecer assinalado e o campo Solicitação carga troca deverá ser preenchido com o número da solicitação de carga encontrada na tabela WMS_SOLIC_CARGA_PARAMETRO.

 WMS6494 - Cadastro de Produtos Semelhantes 

  • Alterar o título do programa para apenas Produtos Semelhantes.
  • Eliminar nas funções wms6494_valida_campos() e wms6494_valid_item() a validação que é feita referente ao tipo da carga dos produtos, onde atualmente permite somente quando é Granel. 
  • Deverá passar a permitir qualquer tipo de item.

 WMS60017 - Contrato (Expedição - Plano/Onda) 

  • Incluir o campo Destino troca propriedade na tela, conforme indicado no Protótipo 04.
  • Utilizar para este novo campo o zoom zoom_coordenadas.
  • Validações a serem realizadas ao informar o campo: Ao lado do campo de código do endereço deverá ser exibida a descrição do mesmo conforme o campo WMS_ENDERECO.DES_ENDERECO.
  • O código informado deverá existir na tabela WMS_ENDERECO.
  • A funcionalidade do endereço (campo FUNCAO) deverá ser 2 (DOCA). 
  • O endereço deverá estar habilitado (campo HABIL igual a S).
  • Ao confirmar a atualização dos dados deverá ser gravado/atualizado um registro na tabela WMS_PARAMETRO_COMPLEMENTAR:
    INSERT INTO wms_parametro_complementar (empresa,depositante,nom_parametro,val_decimal,contrato) VALUES (<<empresa corrente>>,<<código do depositante>>,'end_troca_propried',<<código do endereço informado>>,<<número do contrato atual do depositante>>)
    Observação:
    Para determinar o número do contrato a ser aplicado no SELECT deverá ser utilizada a função wmst15_retorna_contrato_ativo_deposit().

 WMS6135 - Verificação de Permissão de Alteração/Exclusão de NF 

  • Implementar na função wms6135_permissao_alteracao_nf_receb() uma nova validação:
    Verificar se existe na tabela WMS_SOLIC_CARGA_PARAMETRO algum registro onde o campo PARAMETRO seja igual a troca_propriedade, o campo VAL_TEXTO igual a S e o campo VAL_NUMERICO igual ao número do aviso de recebimento em questão. 
  • Se encontrar algum registro para estas condições deverá exibir a mensagem de erro "Nota fiscal relacionada a solicitação de carga para troca de propriedade. Função não permitida.", e retornar status FALSE.

 

Protótipo de Tela

Protótipo 01


Protótipo 02



Protótipo 03



Protótipo 04

 

Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.