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 - Inovação | ||
Projeto1 | IRM1 | ||
Requisito1 | Subtarefa1 | ||
Chamado2 |
| ||
País | ( x ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Possibilitar que o separador descarregue a mercadoria coletada diretamente no veículo eliminando, desta forma, a execução da conferência, pesagem e embarque da expedição.
Definição da Regra de Negócio
Na sequência será exibida a imagem do Mapa Mental utilizado como base para a definição deste processo:
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
WMSR132 - RNL para a separação direta para o veículo | [Criação] | -
| - |
WMS6214 - Separação via coletor de dados | [Alteração] | - | - |
WMS6255 - Planejamento de embarque | [Alteração] | - | - |
WMS6325 - Solicitação de carga | [Alteração] | - | - |
WMS6302 - Emissão da lista de separação | [Alteração] | - | - |
WMS60216 - Separação de SKU via papel | [Alteração] | - | - |
Para atingir o resultado detalhado acima, as seguintes alterações de funções e programas serão necessárias:
WMSR132 - RNL Para a Separação Direta Para o Veículo
Função wmsr132_processa_conferencia_automatico()
- Função responsável pelo o processamento automático da conferência de expedição.
- Receberá: empresa, usuário, indicador descarga total, tipo de descarga, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição.
- Retornará: status (TRUE ou FALSE).
- Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
- Se a variável indicador descarga total for igual a TRUE:
- Se a variável tipo de descarga for igual a 1:
- Criar um novo cursor, que pesquise todas as solicitações de carga que estão localizados no endereço de equipamento.
- Dentro deste cursor, o sistema deverá finalizar o volumes criados para está solicitação de carga, da mesma forma como é efetuado na função wms6218_finaliza.
- Se a variável tipo de descarga for igual a 2:
- Criar um novo cursor, que pesquise todos os processos de movimento e solicitações de carga que estão localizados no endereço de equipamento.
- Dentro deste cursor, o sistema deverá verificar se a conferência deste depositante é com montagem de volumes manual. Se for, o sistema deverá criar um volume para cada solicitação de carga encontrada, da mesma forma como é efetuado na função wms6218_processa_quantidade_conferida. Caso a conferência seja com montagem de volumes automático, o sistema deverá efetuar a criação dos volumes conforme a parametrização do depositante, se basear na função wms6259_finaliza.
- Após efetuar a criação dos volumes, o sistema deverá finalizar as atividades de conferência, concluído os volumes gerados.
- Se a variável tipo de descarga for igual a 1:
- Se a variável indicador descarga total for igual a FALSE:
- Se a variável tipo de descarga for igual a 1:
- O sistema deverá finalizar o volume que foi descarregado no veículo, utilizando como base a função wms6218_finaliza.
- Se a variável tipo de descarga for igual a 2:
- O sistema deverá verificar se a conferência deste depositante é com montagem de volumes manual. Se for, o sistema deverá criar um volume para cada solicitação de carga encontrada, da mesma forma como é efetuado na função wms6218_processa_quantidade_conferida. Caso a conferência seja com montagem de volumes automático, o sistema deverá efetuar a criação dos volumes conforme a parametrização do depositante, se basear na função wms6259_finaliza.
- Se a variável tipo de descarga for igual a 1:
- Se a variável indicador descarga total for igual a TRUE:
Função wmsr132_processa_pesagem_automatico()
- Função responsável pelo processamento automático da pesagem da mercadoria.
- Receberá: empresa, usuário, indicador descarga total, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição.
- Retornará: status (TRUE ou FALSE).
- Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
- Se a variável indicador descarga total for igual a TRUE:
- Criar um novo cursor, que pesquise todas as solicitações de carga e seus volumes, que estão localizados no endereço de equipamento.
- Dentro do cursor, a rotina deverá verificar se o depositante da solicitação de carga possui a etapa de pesagem:
- Se tiver, o sistema deverá calcular automaticamente o peso dos volumes, atualizando os valores nas tabelas, conforme a função: wms6222_processa_atualizacoes.
- Se não tiver pesagem, o sistema deverá dar continuidade no processamento do cursor.
- Se a variável indicador descarga total for igual a FALSE:
- O sistema deverá pesquisar qual a solicitação de carga do volume que será descarregada.
- Pela solicitação de carga, o sistema deverá verificar se o depositante possui a etapa de pesagem:
- Se tiver, o sistema deverá calcular automaticamente o peso do volume, atualizando os valores nas tabelas, conforme a função: wms6222_processa_atualizacoes.
- Se não tiver pesagem, o sistema deverá dar continuidade no processamento do cursor.
- Caso todas as mercadorias tenham sido conferidas para esta solicitação de carga, o sistema deverá finalizar as atividades de conferência da expedição.
- Se a variável indicador descarga total for igual a TRUE:
Função wmsr132_processa_embarque_automatico()
- Função responsável pelo o processamento automático do embarque da mercadoria.
- Receberá: empresa, usuário, endereço destino, solicitação de carga e modo de exibição.
- Retornará: status (TRUE ou FALSE).
- Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
- Pelo endereço destino, o sistema deverá pesquisar qual o CESV e planejamento de embarque onde está sendo descarregada a mercadoria.
- Utilizando o número do planejamento de embarque, o sistema deverá realizar o embarque dos volumes que foram conferidos e pesados, da mesma forma como é efetuado na função wms6370_verifica_finaliza_embarque.
- Caso todas as mercadorias tenham sido embarcadas para este planejamento, o sistema deverá finalizar todas as suas atividades, permitindo que o usuário conclua a atividade de expedição do CESV.
Função wmsr132_processa_separacao_direta_veiculo()
- Função responsável pelo processamento automático da separação direta para o veículo.
- Receberá: empresa, usuário, indicador descarrega total (TRUE ou FALSE), tipo de descarga (1 - Volume ou 2 - Movimento), endereço destino, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição.
- Retornará: status (TRUE ou FALSE).
- Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
- Verificar se o endereço destino é um veículo.
- Se não for um veículo, o sistema deverá retornar para a função origem, sem apresentar erros.
- Se for um veículo, o sistema deverá continuar o processamento.
- Realizar a chamada da função wmsr132_processa_conferencia_automatico, passando os seguintes parâmetros: empresa, usuário, indicador descarga total, tipo de descarga, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir a mensagem e retornar à função origem.
- Realizar a chamada da função wmsr132_processa_pesagem_automatico, passando os seguintes parâmetros: empresa, usuário, indicador descarga total, endereço do equipamento, código de barras do volume, processo de movimento, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir a mensagem e retornar à função origem.
- Realizar a chamada da função wmsr132_processa_embarque_automatico, passando os seguintes parâmetros: empresa, usuário, endereço destino, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir a mensagem e retornar à função origem.
- Realizar a chamada da função wmsr44_exclui_processos_tipo_309, passando os seguintes parâmetros: empresa, solicitação de carga e modo de exibição. Caso o retorno seja falso, o sistema deverá exibir uma mensagem de alerta e retornar à função de origem.
- Após concluir todos os processamentos automáticos, o sistema deverá verificar para cada solicitação de carga, se todos os seus produtos foram separados. Caso esta etapa já tenha sido finalizada, o sistema deverá alterar a sua situação para Embarque finalizado.
- Atualizar o campo wms_solicitacao_carga_mestre.separacao_direta_veiculo com o valor S (Sim), para cada solicitação de carga processada.
- Verificar se o endereço destino é um veículo.
Função wmsr132_valida_solicitacao_separacao_direta_veiculo()
- Função responsável pela validação da solicitação de carga no processo de separação direta para o veículo.
- Receberá: empresa, CESV, planejamento de embarque, solicitação de carga e modo de exibição.
- Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
- Verificar se o parâmetro criado no LOG00086 está ativo:
- Se estiver ativo, obrigar que a solicitação de carga esteja relacionada ao planejamento de embarque informado.
- Se não estiver ativo, criar o relacionamento entre a solicitação de carga e o planejamento de embarque de forma automática. Verificar a rotina WMS6255.
- Verificar se a solicitação de carga já não teve inicio pelo o processo padrão do Logix WMS.
- Verificar se o parâmetro criado no LOG00086 está ativo:
- Caso alguma das validações seja falsa, o sistema deverá retornar falso, não permitindo separar a mercadoria direto para o veículo.
Função wmsr132_valida_placa_cracha_veiculo()
- Função responsável pela validação da placa/crachá do veículo/CESV.
- Receberá: empresa, endereço destino, endereço do equipamento, solicitação de carga e modo de exibição.
- Retornará: status (TRUE ou FALSE) e endereço do veículo.
- Criar um novo parâmetro no LOG00086, da seguinte forma:
Descrição: Obrigar planejamento de embarque na separação direta para o veículo?
Informação do parâmetro: Indica se será obrigatório possuir o relacionamento entre o planejamento de embarque e a solicitação de carga, na etapa de separação direta para o veículo.
Valor padrão: N (Não).
Valores: S (Sim) ou N (Não).
- Ao iniciar o processamento desta função, o sistema deverá executar o seguinte procedimento:
- Verificar se o campo wms_solicitacao_carga_mestre.separacao_direta_veiculo (Campo novo), está igual a S (Sim):
- Se estiver, o sistema não deve permitir que o usuário informe o endereço destino planejado para a descarga.
- Se o campo estiver igual a N (Não), caso o endereço informado seja igual ao endereço destino planejado para a descarga, deverá ser efetuado o retorno para a função de origem.
- Verificar se existe algum crachá dentro do armazém, com o mesmo código do endereço destino. Utilizar a função wms6370_valida_cracha como base.
- Se o sistema encontrar um crachá deverá pesquisar qual o CESV deste motorista e executar o item 5.
- Caso o sistema não encontre um crachá, deverá ser executado o item 3.
- Verificar se existe alguma placa dentro do armazém, com o mesmo código do endereço destino. Utilizar a função wms6370_valida_placa_veiculo como base.
- Se o sistema encontrar uma placa de veículo deverá pesquisar qual o CESV desta placa e executar o item 5.
- Caso o sistema não encontre uma placa de veículo, deverá ser executado o item 4.
- Verificar se existe algum CESV dentro do armazém, com o mesmo código de endereço destino informado.
- Se o sistema encontrar um CESV, deverá executar o passo 5.
- Caso o sistema não encontre um CESV, deverá retornar para a função origem (FALSE e NULL).
- Pelo CESV encontrado, o sistema deverá realizar as seguintes validações:
- Verificar se o CESV é de expedição.
- Verificar se o CESV já está dentro do armazém.
- Verificar se o CESV já possui planejamento de embarque.
- Verificar se o planejamento de embarque está com a situação Aguardando Embarque.
- Caso algumas destas validações seja falsa, o sistema deverá retornar à função de origem (FALSE e NULL), informando o motivo do bloqueio. Se todas as validações forem efetuadas com sucesso, o sistema deverá executar o item 6.
- Se o endereço do equipamento for diferente de branco e nulo, deverá ser efetuada as seguintes validações:
- Criar um cursor que pesquise todas as solicitações de carga, que tenham estoque relacionados ao equipamento.
- Dentro deste cursor, o sistema deverá chamar a função wmsr132_valida_solicitacao_separacao_direta_veiculo. Se o retorno da função for igual a TRUE, o sistema continuará a execução do cursor. Caso o retorno seja FALSE, o sistema deverá retornar à função origem (FALSE e NULL).
- Se a solicitação de carga for diferente de branco e nulo, deverão ser efetuadas as seguintes validações:
- Chamar a função wmsr132_valida_solicitacao_separacao_direta_veiculo. Se o retorno da função for igual a TRUE, o sistema continuará a execução do cursor. Caso o retorno seja FALSE, o sistema deverá retornar à função origem (FALSE e NULL).
- Após realizar todas as validações, o sistema deverá retornar à função origem com os seguintes parâmetros: TRUE e endereço do veículo.
- Verificar se o campo wms_solicitacao_carga_mestre.separacao_direta_veiculo (Campo novo), está igual a S (Sim):
WMS6214 - Separação Via Coletor de Dados
Função wms6214_descarrega_todos_volumes()
- Durante o processamento desta função, o sistema solicita que o usuário informe o endereço destino, onde será descarregada a mercadoria. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo, passando os seguintes parâmetros: empresa, endereço destino, endereço do equipamento, NULL, 1.
- Esta função retornará duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo).
- Se a variável status for igual a TRUE:
- O sistema deverá alimentar a variável l_endereco_descarga com o endereço criado para o veículo informado.
- Se a variável status for igual a FALSE:
- O sistema deverá exibir a mensagem batch e dar continuidade no processamento, executando a regra de negócio do endereço drop-point que já existe atualmente.
Função wms6214_valida_endereco_descarga()
- Esta função tem como objetivo validar o endereço destino, informado pelo usuário anteriormente. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo, passando os seguintes parâmetros: empresa, endereço destino, endereço do equipamento, NULL, 1.
- Esta função retornará duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo).
- Se a variável status for igual a TRUE:
- O sistema deverá alimentar a variável l_endereco com o endereço criado para o veículo informado.
- Se a variável status for igual a FALSE:
- O sistema deverá exibir a mensagem batch e dar continuidade no processamento, informando que o endereço não é válido.
Função wms6214_descarrega_um_volume()
- Durante o processamento desta função, o sistema solicita que o usuário informe o endereço destino, onde será descarregada a mercadoria. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo, passando os seguintes parâmetros: empresa, endereço destino, NULL, solicitação de carga, 1.
- Esta função retornará duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo).
- Se a variável status for igual a TRUE:
- O sistema deverá alimentar a variável l_endereco_drop_point com o endereço criado para o veículo informado.
- Se a variável status for igual a FALSE:
- O sistema deverá exibir a mensagem batch e dar continuidade no processamento, executando a regra de negócio do endereço drop-point que já existe atualmente.
Função wms6214_descarrega_um_movto()
- Alterar a chamada desta função, para que além de retornar a variável status, o sistema retorne um novo valor para a variável l_endereco_destino.
- Durante o processamento desta função, o sistema solicita que o usuário informe o endereço destino, onde será descarregada a mercadoria. Antes de validar o endereço destino, o sistema deverá chamar a função wmsr132_valida_placa_cracha_veiculo, passando os seguintes parâmetros: empresa, endereço destino, NULL, solicitação de carga, 1.
- Esta função retornará duas variáveis: status (TRUE ou FALSE) e endereço destino (Endereço do veículo).
- Se a variável status for igual a TRUE:
- O sistema deverá alimentar a variável l_endereco_destino com o endereço criado para o veículo informado.
- Se a variável status for igual a FALSE:
- O sistema deverá exibir a mensagem batch e dar continuidade no processamento, informando que o endereço destino não pertence ao endereço planejado.
- Alterar os retornos desta função, para que além de retornar o status, o sistema retorne a variável l_endereco_destino.
Função wms6214_controle_descarga()
- Após executar o cursor cq_moviment_descarga_volume, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, TRUE, 1, endereço destino, endereço do equipamento, NULL, NULL, NULL e 1. Caso o retorno seja falso, o sistema deverá exibir a mensagem batch e não permitir a descarga.
- Após executar o cursor cq_moviment_descarga, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, TRUE, 2, endereço destino, endereço do equipamento, NULL, NULL, NULL e 1. Caso o retorno seja falso, o sistema deverá exibir a mensagem batch e não permitir a descarga.
- Após executar a função wms6214_efetiva_descarga_volume, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, FALSE, 1, endereço destino, NULL, código de barras do volume, NULL, solicitação de carga e 1. Caso o retorno seja falso, o sistema deverá exibir a mensagem batch e não permitir a descarga.
- Após executar a função wms6214_efetiva_descarga_movimento, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, passando os seguintes valores: empresa, usuário, FALSE, 2, endereço destino, NULL, NULL, processo de movimento, solicitação de carga e modo de exibição.
Função wms6214_pode_separar_lista()
- Incluir uma nova validação no final desta função, que verifique se o veículo está na doca aguardando o embarque.
- Criar um cursor que pesquise todas as solicitações de carga, relacionadas a lista de separação. Após encontrar as solicitações de carga, o sistema deverá executar as seguintes validações:
- Verificar se a solicitação de carga possui planejamento de embarque ativo.
- Se possuir um planejamento de embarque, deverá ser verificado se a solicitação de carga será descarregada diretamente no veículo.
- Se for separação direta para o veículo, o sistema deverá verificar se o planejamento possui a situação igual a Aguardando embarque e o CESV possui a situação igual a Aguardando veículo na doca.
- Se o veículo estiver aguardando o embarque, deverá permitir o inicio da separação dos produtos.
- Se o veículo não estiver na doca, não deverá permitir o inicio da separação dos produtos.
- Se não for separação direta para o veículo, deverá pesquisar a próxima solicitação de carga.
- Se for separação direta para o veículo, o sistema deverá verificar se o planejamento possui a situação igual a Aguardando embarque e o CESV possui a situação igual a Aguardando veículo na doca.
- Se não possuir um planejamento de embarque, deverá pesquisar a próxima solicitação de carga.
- Se possuir um planejamento de embarque, deverá ser verificado se a solicitação de carga será descarregada diretamente no veículo.
- Verificar se a solicitação de carga possui planejamento de embarque ativo.
WMS6255 - Planejamento de embarque
- Deverá ser criado um novo campo check-box na grid de documentos, com a seguinte descrição: Separação direta para o veículo?.
- Este novo campo será armazenado na tabela wms_solicitacao_carga_mestre.separacao_direta_veiculo, e o seu valor padrão será N (Não).
Função wms6255_valida_processo_movimento_compartilhado()
- Criar uma nova função, que realize a validação dos documentos que possuem processos de movimentos compartilhados.
- Ao iniciar o processamento desta função, o sistema deverá pesquisar todos os documentos relacionados ao planejamento de embarque.
Para cada documento, o sistema deverá verificar se este possui processo de movimento compartilhado:
Bloco de código language java title Movimento compartilhado collapse true SELECT DISTINCT wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre ,wms_solicitacao_carga_mestre.separacao_direta_veiculo FROM wms_item_onda_plano ,wms_solicitacao_carga_mestre ,wms_solic_carga_item_reserva WHERE wms_item_onda_plano.empresa = <empresa> AND wms_item_onda_plano.processo_moviment IN(SELECT wms_item_onda_plano.processo_moviment FROM wms_solic_carga_item_reserva ,wms_item_onda_plano WHERE wms_solic_carga_item_reserva.empresa = <empresa> AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = <solicitação de carga> AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva) AND wms_solicitacao_carga_mestre.empresa = wms_solic_carga_item_reserva.empresa AND wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre = wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre AND wms_solic_carga_item_reserva.empresa = wms_item_onda_plano.empresa AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre <> <solicitação de carga> AND wms_solic_carga_item_reserva.reserva = wms_item_onda_plano.reserva
- A cada registro encontrado, o sistema deverá verificar se o campo separacao_direta_veiculo possui valor diferente do que a solicitação de carga em validação:
- Se possuir, o sistema deverá apresentar a seguinte mensagem, abortando a operação:
"Solicitação de carga <solicitação em validação>, possui processos de movimentos compartilhados com a solicitação de carga <solicitação encontrada>. Favor modificar o parâmetro de separação direta para o veículo, para que utilizem o mesmo conceito." - Se não possuir, o sistema deverá pesquisar o próximo registro.
- Se possuir, o sistema deverá apresentar a seguinte mensagem, abortando a operação:
- Caso o sistema não encontre nenhuma inconsistência deverá retornar à função origem.
Função wms6255_valida_impressao_lista_separacao_papel()
- Criar uma nova função que realize a validação dos documentos que possuem separação em papel.
- Ao iniciar o processamento desta função, o sistema deverá pesquisar todos os documentos relacionados ao planejamento de embarque.
Para cada documento, o sistema deverá verificar se este possui separação em papel:
Bloco de código language java title Separação papel collapse true SELECT DISTINCT wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre ,wms_solicitacao_carga_mestre.separacao_direta_veiculo FROM wms_solicitacao_carga_mestre ,wms_solic_carga_item_reserva ,wms_item_onda_plano ,wms_processo_moviment ,wms_ordem_servico ,wms_ordem_servico_ativ ,wms_ativ WHERE wms_solicitacao_carga_mestre.empresa = <empresa> AND wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre = <solicitação de carga> AND wms_solic_carga_item_reserva.empresa = wms_solicitacao_carga_mestre.empresa AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva AND wms_processo_moviment.empresa = wms_item_onda_plano.empresa AND wms_processo_moviment.processo_moviment = wms_item_onda_plano.processo_moviment AND wms_processo_moviment.tip_processo_moviment = 'C' AND wms_ordem_servico.empresa = wms_processo_moviment.empresa AND wms_ordem_servico.ordem_servico = wms_processo_moviment.ordem_servico AND wms_ordem_servico_ativ.empresa = wms_ordem_servico.empresa AND wms_ordem_servico_ativ.ordem_servico = wms_ordem_servico.ordem_servico AND wms_ativ.empresa = wms_ordem_servico_ativ.empresa AND wms_ativ.ativ = wms_ordem_servico_ativ.ativ AND wms_ativ.tip_processo = 303
- A cada registro encontrado, o sistema deverá executar as seguintes validações:
- Se for um novo documento no planejamento de embarque:
- Se o campo separacao_direta_veiculo estiver assinalado, o sistema deverá apresentar a seguinte mensagem:
"Solicitação de carga <solicitação> possui separação em papel e execução direta para o veículo. Favor imprimir a lista de separação atualizada." - Se o campo separacao_direta_veiculo não estiver assinalado, o sistema deverá continuar o processamento da função.
- Se o campo separacao_direta_veiculo estiver assinalado, o sistema deverá apresentar a seguinte mensagem:
- Se não for um novo documento no planejamento de embarque:
- Verificar se o campo separacao_direta_veiculo foi alterado:
- Se foi, o sistema deverá apresentar a seguinte mensagem: "Solicitação de carga <solicitação> possui separação em papel e execução direta para o veículo. Favor imprimir a lista de separação atualizada."
- Se não foi, o sistema deverá continuar o processamento da função.
- Verificar se o campo separacao_direta_veiculo foi alterado:
- Se for um novo documento no planejamento de embarque:
Função wms6255_valida_conferencia_por_plano()
- Criar uma nova função, que realize a validação dos documentos que possuem conferência por plano de separação.
- Ao iniciar o processamento desta função, o sistema deverá pesquisar todos os documentos relacionados ao planejamento de embarque.
Se o documento relacionado estiver com o campo separacao_direta_veiculo selecionado, o sistema deverá verificar se este possui conferência por plano de separação:
Bloco de código language java title Conferência por plano collapse true SELECT DISTINCT 1 FROM wms_solicitacao_carga_mestre ,wms_conferencia_separacao WHERE wms_solicitacao_carga_mestre.empresa = <empresa> AND wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre = <solicitação de carga> AND wms_conferencia_separacao.empresa = wms_solicitacao_carga_mestre.empresa AND wms_conferencia_separacao.trans_solicitacao_carga_mestre = wms_solicitacao_carga_mestre.trans_solicitacao_carga_mestre AND wms_conferencia_separacao.conferencia_plano = 'S'
- Se a pesquisa acima encontrar um registro, o sistema deverá apresentar a seguinte pergunta:
"Solicitação de carga <solicitação>, possui conferência por plano e separação direta para o veículo. Deseja relacionar os outros documentos do plano, neste planejamento de embarque?".- Sim: Pesquisar todos os documentos do plano de separação, relacionando-os com o planejamento de embarque. Ao carregar estas informações na grid, selecionar automaticamente o campo separacao_direta_veiculo e desassociar estas solicitações de carga, assim como é efetuado na rotina WMS6357.
- Não: Relacionar somente o documento informado pelo usuário, realizando a sua desassociação do plano, conforme a rotina WMS6357.
- Caso o sistema não encontre nenhuma inconsistência, deverá retornar à função origem.
Função wms6255_confirm_documento()
- Esta função deverá ser alterada para que o sistema execute a função wms6255_valida_processo_movimento_compartilhado. Caso o seu retorno seja igual a FALSE, deverá cancelar o processamento do usuário.
- Esta função deverá ser alterada para que o sistema execute a função wms6255_valida_impressao_lista_separacao_papel. Caso o seu retorno seja igual a FALSE, deverá cancelar o processamento do usuário.
- Esta função deverá ser alterada para que o sistema execute a função wms6255_valida_conferencia_por_plano. Caso o seu retorno seja igual a FALSE, deverá cancelar o processamento do usuário.
Função wms6255_validate_inclusao_documento()
- Esta função deverá ser alterada para que ao incluir um novo documento no planejamento de embarque, o sistema armazene o novo campo na tabela: wms_solicitacao_carga_mestre.separacao_direta_veiculo.
Função wms6255_prepara_modificacao_documento()
- Esta função deverá ser alterada para que ao modificar um documento, o sistema não permita modificar o campo Separação direta para o veículo, quando alguma mercadoria desta solicitação de carga tiver sido separada/descarregada.
Função wms6255_validate_modificacao_documento()
- Esta função deverá ser alterada para que ao modificar um documento no planejamento de embarque, o sistema atualize o novo campo na tabela: wms_solicitacao_carga_mestre.separacao_direta_veiculo.
Função wms6255_change_event_separacao_direta_veiculo()
- Durante o processamento desta função, o sistema deverá realizar uma nova validação, no momento em que o usuário estiver selecionando o parâmetro de separação direta para o veículo para S (Sim).
- Verificar se a solicitação de carga possui o parâmetro troca_propriedade assinalado:
- Se estiver assinalado, o sistema deverá apresentar a seguinte mensagem: "Solicitação de carga possui o controle de troca de propriedade, não é possível utilizar o conceito de separação direta para o veículo."
- Se não estiver assinalado, permitir que o usuário selecione o parâmetro de separação direta para o veículo.
WMS6325 - Solicitação de Carga
- Deverá ser criado um novo campo check-box, que exibirá o valor cadastrado na tabela wms_solicitacao_carga_mestre.separacao_direta_veiculo, para a solicitação de carga filtrada: na pasta Dados complementares, após o campo Cross-docking.
WMS6302 - Emissão da Lista de Separação
Função wms6302_etiquetas_movimentos()
- Durante o processamento desta função, o sistema carrega todos os processos de movimentos pelo cursor cq_movimento. Ao encontrar um registro, o sistema deverá verificar se o campo separacao_direta_veiculo da solicitação de carga está igual a S (Sim):
- Se estiver, deverá ser pesquisado qual o endereço do veículo, onde a mercadoria será carregada. Este valor deverá ser atualizado na varíavel l_destino.
- Se for igual a nulo ou N (Não) deverá continuar com o processamento padrão.
Função wms6302_carrega_dados_mvto()
- Durante o processamento desta função, o sistema carrega todos os processos de movimentos pelo cursor cq_mvtos_lista. Ao encontrar um registro, o sistema deverá verificar se o campo separacao_direta_veiculo da solicitação de carga está igual a S (Sim):
- Se estiver, deverá ser pesquisado qual o endereço do veículo, onde a mercadoria será carregada. Este valor deverá ser atualizado nas variáveis: l_bloco_origem, l_rua_origem, l_coluna_origem, l_nivel_origem, l_coluna_colmeia, l_nivel_colmeia e l_des_end_destino.
- Se for igual a nulo ou N (Não), deverá continuar com o processamento padrão.
WMS60216 - Separação de SKU Via Papel
Função wms60216_carrega_array()
- Durante o processamento desta função, o sistema carrega todos os processos de movimentos pelo cursor cq_array. Ao encontrar um registro, o sistema deverá verificar se o campo separacao_direta_veiculo da solicitação de carga está igual a S (Sim):
- Se estiver, deverá ser pesquisado qual o endereço do veículo, onde a mercadoria será carregada. Utilizando este valor, deverá ser encontrada a descrição do endereço, atualizado na varíavel lr_processo_moviment.des_endereco_destino.
- Se for igual a nulo ou N (Não), deverá continuar com o processamento padrão.
Função wms60216_finaliza_separacao_processamento()
- Durante o processamento desta função, o sistema carrega todos os processos de movimentos pelo cursor cq_processo_moviment. Ao encontrar um registro, o sistema deverá verificar se o campo separacao_direta_veiculo da solicitação de carga está igual a S (Sim)::
- Se estiver, deverá ser pesquisado qual o endereço do veículo, onde a mercadoria será carregada. Este valor deverá ser atualizado na variável: lr_processo_moviment.endereco_destino.
- Se for igual a nulo ou N (Não), deverá continuar com o processamento padrão.
- Antes de concluir a separação do processo de movimento no cursor cq_processo_moviment, o sistema deverá chamar a função wmsr132_processa_separacao_direta_veiculo, verificando a variável mr_wms_lista_executor.tip_separacao:
- Se for uma separação por etiqueta, o sistema deverá efetuar o descarregamento de todos os volumes do processo de movimento.
- Se não for uma separação por etiqueta, o sistema deverá realizar uma descarga por processo de movimento.
Função wms60216_atualiza_sit_volume()
- Durante o processamento desta função, o sistema atualiza a situação de todos os volumes gerados para a lista de separação.
- Este processamento poderá ser executado somente para as solicitações de carga onde o parâmetro de separação direta para o veículo não foi selecionado.
Tabelas Utilizadas
- wms_solicitacao_carga_mestre
wms_conferencia_separacao
wms_conferencia_separacao_item
- wms_volume_exped
- wms_volume_item_exped
wms_pesagem
- wms_pesagem_item
- wms_planejto_embarq
- wms_plnjt_embq_solic_carga
Protótipo de Tela
Protótipo 01
Esta tela permite que o usuário informe o endereço do equipamento ou o produto que deverá ser descarregado.
Protótipo 02
Esta tela permite que o usuário informe o endereço onde deseja descarregar as mercadorias. Nesta tela, o usuário poderá informar também o crachá ou a placa do veículo.
Protótipo 03
Tela de cadastro do planejamento de embarque, que permitirá que o usuário informe se o documento será com separação direta para o veículo ou não.
Protótipo 04
Tela de cadastro da solicitação de carga, que exibirá se o documento teve separação direta para o veículo ou não.
Dicionário de Dados
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|