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 _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Possibilitar a impressão da etiqueta de volume e packing-list, assim que este volume for conferido.
Definição da Regra de Negócio
Atualmente nas rotinas de conferência da expedição, o sistema só permite que sejam emitidas as etiquetas de volume e packing-list, durante a finalização da contagem de um documento. Esta implementação, tem como objetivo viabilizar a emissão da etiqueta de volume e packing-list, toda vez que um volume for fechado.
Ao acessar as rotinas de conferência, será apresentada automaticamente uma nova tela, onde irá permitir o usuário indicar as configurações para impressão das etiquetas de volume e de packing-list. Essa configuração será exibida ao conferente, quando ele iniciar a contagem do primeiro documento e ficará gravada para o seu usuário. Durante a conferência de outros documentos, a rotina terá uma nova opção habilitada, que irá permitir o usuário alterar essa configuração, através da tecla de função disponível na tela. Se o usuário fechar a rotina de conferência e acessar novamente, será sugerida a última configuração indicada por ele.
Nesta configuração, estarão disponíveis os seguintes parâmetros:
- Imprime etiqueta volume (Sim, Não, Opcional): Indica se deve ser impressa a etiqueta de volume ao fechar o mesmo. Caso esteja parametrizado como “Sim”, a impressão será realizada automaticamente sem que o usuário possa cancelar a emissão. Caso esteja parametrizado como “Opcional”, o usuário será questionado se deseja ou não imprimir a etiqueta.
- Impressora etiqueta volume: Caso o parâmetro para impressão da etiqueta de volume esteja como “Sim” ou “Opcional”, será obrigatório informar o código da impressora para o qual deve ser enviada a emissão desta etiqueta.
- Imprime etiqueta packing-list (Sim, Não, Opcional): Indica se deve ser impressa a etiqueta de packing-list ao fechar o mesmo. Caso esteja parametrizado como “Sim”, a impressão será realizada automaticamente sem que o usuário possa cancelar a emissão. Caso esteja parametrizado como “Opcional”, o usuário será questionado se deseja ou não imprimir a etiqueta.
- Impressora etiqueta packing-list: Caso o parâmetro para impressão da etiqueta de packing-list esteja como “Sim” ou “Opcional”, será obrigatório informar o código da impressora para o qual deve ser enviada a emissão desta etiqueta.
Após atualizar as configurações mencionadas acima para o usuário, caso o parâmetro solicitado esteja ativo, o sistema irá imprimir as etiquetas ao fechar um volume. Nesta situação, não será possível imprimir na etiqueta, a informação de controle de total de volumes, no formato “1/10”, “2/10”, “3/10” ... “N/10”, pois como ainda não se sabe o número final de volumes existentes, essa informação não pode ser determinada.
Outro ponto importante a destacar, é que estas parametrizações para impressão na rotina de conferência, não terão ligação com a parametrização para impressão de etiqueta de volume existente no contrato do depositante, ou seja, se no contrato estiver parametrizado para realizar a impressão, e nesta nova configuração do usuário também estiver parametrizado para efetuar a impressão, a etiqueta de volume acabará sendo impressa duas vezes: A primeira quando o volume for fechado (respeitando a configuração do usuário) e a segunda quando a conferência do documento for finalizada (respeitando a configuração do contrato).
Sobre o processo de conferência, quando um volume for fechado caso um dos parâmetros do usuário referente à emissão de etiquetas esteja como “Sim”, o sistema irá realizar a impressão automática da etiqueta indicada, direcionando a emissão para a impressora configurada. Caso o parâmetro esteja como “Opcional” o sistema irá primeiro questionar se deseja realizar a emissão.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
WMSR131 - RNL para emissão das etiquetas ao fechar um volume, durante a conferência | [Criação] | - | - |
WMS6219 - Conferência via PDV com montagem manual de volumes | [Alteração] | - | - |
WMS6218 - Conferência via coletor com montagem manual de volumes | [Alteração] | - | - |
WMS6358 - Conferência via coletor com montagem semi-automática de volumes | [Alteração] | - | - |
WMS6214 - Separação via coletor de dados com montagem de volumes | [Alteração] | - | - |
Para atingir o resultado esperado detalhado acima, as seguintes alteração de funções e programas serão necessárias:
WMSR131 - RNL para emissão das etiquetas ao fechar um volume, durante a conferência
Função wmsr131_configura_impressao_etiqueta()
- Função responsável pela configuração dos parâmetros de impressão das etiquetas, após a conclusão da contagem de um volume.
- Receberá: empresa, usuário, tipo de rotina, tipo de operação e modo de exibição.
- Retornará: status (TRUE ou FALSE).
- Verificar se o tipo de operação (I - Inclusão ou M - Modificação) é igual a I. Objetivo desta operação, é permitir o usuário configurar pela primeira vez os parâmetros de impressão.
- Verificar se o usuário já possui configuração de impressão cadastrada, através dos seguintes select:
SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'imprime_etiq_volume'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'impressora_etiq_volume'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1- SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'imprime_etiq_packing_list'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1 - SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'impressora_etiq_packing_list'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1
- Se o primeiro select encontrar algum registro, será considerado que o usuário já possui configuração de impressão cadastrada. Neste caso, o sistema deverá carregar automaticamente as seguintes variáveis de impressão: m_imprime_etiq_volume, m_impressora_etiq_volume, m_imprime_etiq_packing_list e m_impressora_etiq_packing_list. Após carregar todas as variáveis, a função deverá retornar o status igual a TRUE.
- Se o primeiro select não retornar nenhum registro, será considerado que usuário não possui configuração de impressão cadastrada. Neste caso, o sistema deverá solicitar que o usuário informe os parâmetros de impressão.
- Verificar o campo tipo de rotina (D - Desktop ou C - Coletor de dados), que foi recebido via parâmetro. Se o tipo de rotina for igual a D, será aberta uma nova tela, conforme o protótipo 01. Caso o tipo de rotina for igual a C, será aberta uma nova tela, conforme o protótipo 02.
- Após abertura da nova tela, será solicitado ao usuário que informe as configurações de impressão das etiquetas.
- No after field dos campos 'Imprime etiqueta volume' e 'Imprime etiqueta packing-list', o sistema deverá validar se o usuário informou o indicador corretamente. Nestes campos, só será permitido receber os seguintes indicadores: S (Sim), N (Não) ou O (Opcional). Se o usuário informar a opção S ou O, deverá ser verificado se o modelo desta etiqueta foi informado no contrato do depositante, caso não esteja informado, não poderá permitir dar continuidade no processo, retornando para o campo.
- Durante a digitação dos campos 'Imprime etiqueta volume' e 'Imprime etiqueta packing-list', o sistema deverá disponibilizar para o usuário um zoom, com as suas opções disponíveis: S (Sim), N (Não) e O (Opcional).
- Durante a digitação dos campos 'Impressora etiqueta volume' e 'Impressora etiqueta packing-list', o sistema deverá disponibilizar para o usuário um zoom, com o cadastro das impressoras logix. Para carregar as informações, será visualizada a tabela impressoras, exibindo para o usuário o campo cod_impressora.
- No after field dos campos 'Impressora etiqueta volume' e 'Impressora etiqueta packing-list', o sistema deverá validar se o código da impressora informada, está cadastrado na tabela impressoras. Nesta mesma validação, o sistema deverá obrigar que os campos estejam informados, somente quando os campos 'Imprime etiqueta volume' e 'Imprime etiqueta packing-list' estiverem selecionados com os valores 'Sim' ou 'Opcional'. Desta forma, quando os campos estiverem com o valor igual a 'Não', não será obrigatório informar a sua impressora.
- Após concluir a digitação dos campos, o sistema deverá registrar as informações na tabela wms_parametro_usuario, da seguinte forma:
- INSERT INTO wms_parametro_usuario VALUES('0',<usuário>,'imprime_etiq_volume','1','1',m_imprime_etiq_volume).
- INSERT INTO wms_parametro_usuario VALUES('0',<usuário>,'impressora_etiq_volume','1','1',m_impressora_etiq_volume).
- INSERT INTO wms_parametro_usuario VALUES('0',<usuário>,'imprime_etiq_packing_list','1','1',m_imprime_etiq_packing_list).
- INSERT INTO wms_parametro_usuario VALUES('0',<usuário>,'impressora_etiq_packing_list','1','1',m_impressora_etiq_packing_list).
- Ao efetuar a digitação dos campos, caso o usuário cancele a entrada dos dados, o sistema deverá retornar o parâmetro status igual a TRUE, permitindo prosseguir com a conferência da expedição, mas sem incluir as configurações de impressão.
- Verificar se o usuário já possui configuração de impressão cadastrada, através dos seguintes select:
- Verificar se o tipo de operação (I - Inclusão ou M - Modificação) é igual a M. Objetivo desta operação, é permitir o usuário modificar os parâmetros da configuração de impressão cadastrada.
- Verificar o campo tipo de rotina (D - Desktop ou C - Coletor de dados), que foi recebido via parâmetro. Se o tipo de rotina for igual a D, será aberta uma nova tela, conforme o protótipo 01. Caso o tipo de rotina for igual a C, será aberta uma nova tela, conforme o protótipo 02.
- Após abertura da nova tela, será solicitado ao usuário que informe as configurações de impressão das etiquetas.
- No after field dos campos 'Imprime etiqueta volume' e 'Imprime etiqueta packing-list', o sistema deverá validar se o usuário informou o indicador corretamente. Nestes campos, só será permitido receber os seguintes indicadores: S (Sim), N (Não) ou O (Opcional). Se o usuário informar a opção S ou O, deverá ser verificado se o modelo desta etiqueta foi informado no contrato do depositante, caso não esteja informado, não poderá permitir dar continuidade no processo, retornando para o campo.
- Durante a digitação dos campos 'Impressora etiqueta volume' e 'Impressora etiqueta packing-list', o sistema deverá disponibilizar para o usuário um zoom, com o cadastro das impressoras logix. Para carregar as informações, será visualizada a tabela impressoras, exibindo para o usuário o campo cod_impressora.
- No after field dos campos 'Impressora etiqueta volume' e 'Impressora etiqueta packing-list', o sistema deverá validar se o código da impressora informada, está cadastrado na tabela impressoras. Nesta mesma validação, o sistema deverá obrigar que os campos estejam informados, somente quando os campos 'Imprime etiqueta volume' e 'Imprime etiqueta packing-list' estiverem selecionados com os valores 'Sim' ou 'Opcional'. Desta forma, quando os campos estiverem com o valor igual a 'Não', não será obrigatório informar a sua impressora.
- Após concluir a digitação dos campos, o sistema deverá registrar as informações na tabela wms_parametro_usuario, da seguinte forma:
UPDATE wms_parametro_usuario
SET wms_parametro_usuario.val_parametro = m_imprime_etiq_volume
WHERE wms_parametro_usuario.empresa = '0'
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'imprime_etiq_volume'
AND wms_parametro_usuario.sequencia_parametro = '1'
AND wms_parametro_usuario.rotina = '1'- UPDATE wms_parametro_usuario
SET wms_parametro_usuario.val_parametro = m_impressora_etiq_volume
WHERE wms_parametro_usuario.empresa = '0'
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'impressora_etiq_volume'
AND wms_parametro_usuario.sequencia_parametro = '1'
AND wms_parametro_usuario.rotina = '1' - UPDATE wms_parametro_usuario
SET wms_parametro_usuario.val_parametro = m_imprime_etiq_packing_list
WHERE wms_parametro_usuario.empresa = '0'
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'imprime_etiq_packing_list'
AND wms_parametro_usuario.sequencia_parametro = '1'
AND wms_parametro_usuario.rotina = '1' - UPDATE wms_parametro_usuario
SET wms_parametro_usuario.val_parametro = m_impressora_etiq_packing_list
WHERE wms_parametro_usuario.empresa = '0'
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'impressora_etiq_packing_list'
AND wms_parametro_usuario.sequencia_parametro = '1'
AND wms_parametro_usuario.rotina = '1'
- Ao efetuar a digitação dos campos, caso o usuário cancele a entrada dos dados, o sistema deverá retornar o parâmetro status igual a TRUE, permitindo prosseguir com a conferência da expedição, mas sem alterar as configurações de impressão.
- Se ocorrer algum erro de sql durante os processamentos, o sistema deverá retornar o status igual a FALSE.
- Caso não ocorra nenhum erro de processamento e validação, o sistema deverá retornar o status igual a TRUE.
- Todas as mensagens que forem exibidas nesta função, deverão ser tratadas para apresentar tanto em desktop como em coletor de dados, utilizando a variável tipo da rotina.
- Verificar se o tipo de operação (I - Inclusão ou M - Modificação) é igual a I. Objetivo desta operação, é permitir o usuário configurar pela primeira vez os parâmetros de impressão.
Função wmsr131_imprime_etiqueta()
- Função responsável pela impressão das etiquetas, após a conclusão da contagem de um volume.
- Receberá: empresa, usuário, tipo de rotina, rotina, solicitação de carga, volume e modo de exibição.
- Retornará: status (TRUE ou FALSE).
- Verificar se o usuário possui configuração de impressão de etiquetas cadastrado, através dos seguintes select:
SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'imprime_etiq_volume'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'impressora_etiq_volume'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1- SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'imprime_etiq_packing_list'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1 - SELECT wms_parametro_usuario.val_parametro
FROM wms_parametro_usuario
WHERE wms_parametro_usuario.empresa = 0
AND wms_parametro_usuario.usuario = <usuário>
AND wms_parametro_usuario.parametro = 'impressora_etiq_packing_list'
AND wms_parametro_usuario.sequencia_parametro = 1
AND wms_parametro_usuario.rotina = 1
- Após consultar os parâmetros de configuração de impressão de etiquetas, o sistema deverá armazenar as informações nas seguintes variáveis: m_imprime_etiq_volume, m_impressora_etiq_volume, m_imprime_etiq_packing_list e m_impressora_etiq_packing_list.
- Depois de carregar as variáveis, o sistema deverá fazer as seguintes validações:
- Se a variável m_imprime_etiq_volume for igual a S, o sistema deverá imprimir a etiqueta de volume, da seguinte forma:
- Carregar a variável g_cod_impressora, com o mesmo valor da variável m_impressora_etiq_volume.
- Pesquisar o depositante da solicitação de carga, utilizando a função wmsm97_wms_solicitacao_carga_mestre_leitura.
- Pesquisar o modelo da etiqueta de volume, utilizando a função wmsm170_wms_parametro_separacao_leitura. Caso o modelo não esteja cadastrado, deverá ser apresentada uma mensagem retornando o status igual a FALSE.
- Executar os seguintes comandos:
CALL wmsr12_set_m_start_finish_externo()
CALL wmsr12_set_m_informa_varios_modelos(FALSE)
CALL wmsr12_set_m_start_m_finish(FALSE,FALSE)
LET p_ies_impressao = 'S'
IF menm3_impressoras_leitura(g_cod_impressora,TRUE,1) THEN
LET p_nom_arquivo = menm3_impressoras_get_comando()
END IFCALL log150_procura_caminho("LST") RETURNING l_caminho
LET l_caminho = l_caminho CLIPPED,"wmsr131_",<usuário> CLIPPED,".tmp"
START REPORT wmsr12_relat TO l_caminhoIF NOT wmsr36_imprime_etiquetas_volume(<empresa>,
<solicitação carga>,
<volume>,
NULL,
l_modelo_etiq,
NULL,
1,
<modo de exibição>) THEN
LET l_houve_erro = TRUE
END IFFINISH REPORT wmsr12_relat
IF NOT l_houve_erro THEN
IF g_ies_ambiente = "W" THEN
LET l_comando = "lpdos.exe ",l_caminho CLIPPED," ",p_nom_arquivo CLIPPED, " ", '"Etiquetas Solicitação (',<solicitação carga> USING "<<<<<<<<<&",') - ',<usuário> CLIPPED,'"'
ELSE
LET l_comando = p_nom_arquivo CLIPPED," -J ", '"Etiquetas Solicitação (',<solicitação carga> USING "<<<<<<<<<&",') - ',<usuário> CLIPPED,'"', " ",l_caminho CLIPPED
END IF
RUN l_comando
CALL LOG_file_remove(l_caminho, FALSE)
END IF
- Após efetuar a impressão da etiqueta de volume, o sistema deverá validar a impressão da etiqueta de packing-list.
- Se a variável m_imprime_etiq_volume for igual a N, o sistema não deverá imprimir a etiqueta de volume.
- Se a variavél m_imprime_etiq_volume for igual a O, o sistema deverá executar a seguinte validação:
- Se o tipo de rotina for igual a D, o sistema deverá questionar se o usuário deseja imprimir a etiqueta de volume, utilizando a função log0040_confirm. Se a resposta for negativa, o sistema não deverá imprimir a etiqueta de volume. Se a resposta for positiva, o sistema deverá imprimir a etiqueta de volume.
- Se o tipo de rotina for igual a C, o sistema deverá questionar se o usuário deseja imprimir a etiqueta de volume, utilizando a função wms6085_tela_confirmacao. Se a resposta for negativa, o sistema não deverá imprimir a etiqueta de volume. Se a resposta for positiva, o sistema deverá imprimir a etiqueta de volume.
- Se a variável rotina for igual a WMS6214, o sistema deverá questionar somente uma vez o usuário, se deseja imprimir a etiqueta de volume. Neste rotina, o usuário poderá descarregar vários volumes, possibilitando passar várias vezes pela mesma função.
- Se a variável m_imprime_etiq_packing_list for igual a S, o sistema deverá imprimir a etiqueta de packing-list, da seguinte forma:
- Carregar a variável g_cod_impressora, com o mesmo valor da variável m_impressora_etiq_packing_list.
- Pesquisar o depositante da solicitação de carga, utilizando a função wmsm97_wms_solicitacao_carga_mestre_leitura.
- Pesquisar o modelo da etiqueta de packing-list, utilizando a função wmsm170_wms_parametro_separacao_leitura. Caso o modelo não esteja cadastrado, deverá ser apresentada uma mensagem retornando o status igual a FALSE.
- Executar os seguintes comandos:
CALL wmsr12_set_m_start_finish_externo()
CALL wmsr12_set_m_informa_varios_modelos(FALSE)
CALL wmsr12_set_m_start_m_finish(FALSE,FALSE)
LET p_ies_impressao = 'S'
IF menm3_impressoras_leitura(g_cod_impressora,TRUE,1) THEN
LET p_nom_arquivo = menm3_impressoras_get_comando()
END IFCALL log150_procura_caminho("LST") RETURNING l_caminho
LET l_caminho = l_caminho CLIPPED,"wmsr131_",<usuário> CLIPPED,".tmp"
START REPORT wmsr12_relat TO l_caminhoIF NOT wmsr36_imprime_etiquetas_volume(<empresa>,
<solicitação carga>,
<volume>,
NULL,
NULL,
l_modelo_etiq,
2,
<modo de exibição>) THEN
LET l_houve_erro = TRUE
END IFFINISH REPORT wmsr12_relat
IF NOT l_houve_erro THEN
IF g_ies_ambiente = "W" THEN
LET l_comando = "lpdos.exe ",l_caminho CLIPPED," ",p_nom_arquivo CLIPPED, " ", '"Etiquetas Solicitação (',<solicitação carga> USING "<<<<<<<<<&",') - ',<usuário> CLIPPED,'"'
ELSE
LET l_comando = p_nom_arquivo CLIPPED," -J ", '"Etiquetas Solicitação (',<solicitação carga> USING "<<<<<<<<<&",') - ',<usuário> CLIPPED,'"', " ",l_caminho CLIPPED
END IF
RUN l_comando
CALL LOG_file_remove(l_caminho, FALSE)
END IF
- Após efetuar a impressão da etiqueta de packing-list, o sistema deverá retornar o parâmetro status igual a TRUE.
- Se a variável m_imprime_etiq_packing_list for igual a N, o sistema não deverá imprimir a etiqueta de packing-list.
- Se a variavél m_imprime_etiq_packing_list for igual a O, o sistema deverá executar a seguinte validação:
- Se o tipo de rotina for igual a D, o sistema deverá questionar se o usuário deseja imprimir a etiqueta de packing-list, utilizando a função log0040_confirm. Se a resposta for negativa, o sistema não deverá imprimir a etiqueta de packing-list. Se a resposta for positiva, o sistema deverá imprimir a etiqueta de packing-list.
- Se o tipo de rotina for igual a C, o sistema deverá questionar se o usuário deseja imprimir a etiqueta de packing-list, utilizando a função wms6085_tela_confirmacao. Se a resposta for negativa, o sistema não deverá imprimir a etiqueta de packing-list. Se a resposta for positiva, o sistema deverá imprimir a etiqueta de packing-list.
- Se a variável rotina for igual a WMS6214, o sistema deverá questionar somente uma vez o usuário, se deseja imprimir a etiqueta de packing-list. Neste rotina, o usuário poderá descarregar vários volumes, possibilitando passar várias vezes pela mesma função.
- Se a variável m_imprime_etiq_volume for igual a S, o sistema deverá imprimir a etiqueta de volume, da seguinte forma:
- Após concluir a impressão das etiquetas, caso uma das variáveis m_imprime_etiq_volume ou m_imprime_etiq_packing_list esteja igual a S, o sistema deverá atualizar o campo etiqueta_volume_impressa da tabela wms_solicitacao_carga_mestre para 'S'. Segue abaixo o exemplo:
IF wmsm97_wms_solicitacao_carga_mestre_leitura(<empresa>,<solicitação carga>,TRUE,<modo de exibição>) THEN
CALL wmsm97_wms_solicitacao_carga_mestre_set_etiqueta_volume_impressa('S')
IF NOT wmst97_wms_solicitacao_carga_mestre_modifica(TRUE,<modo de exibição>) THEN
CALL log0030_mensagem("Problema na atualização da solicitação de carga.","exclamation")
RETURN FALSE
END IF
ELSE
CALL log0030_mensagem("Solicitacao de carga nao encontrada.","exclamation")
RETURN FALSE
END IF
- Todas as mensagens que forem exibidas nesta função, deverão ser tratadas para apresentar tanto em desktop como em coletor de dados, utilizando a variável tipo da rotina.
- Verificar se o usuário possui configuração de impressão de etiquetas cadastrado, através dos seguintes select:
WMS6219 - Conferência via PDV com montagem manual de volumes
Função wms6219_conferencia()
- No inicio desta função, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: D
- Tipo da operação: I
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
- Dentro do input da conferência de itens, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Antes de executar o input, essa nova tecla de atalho deverá ser adicionada da seguinte forma:
- --# CALL fgl_dialog_setkeylabel('control-m','Configuração de impressão')
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: D
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo ean_codigo_barras.
Função wms6219_tela_volume()
- Dentro do input de volumes, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: D
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo cod_barras_volume.
Função wms6219_fecha_volume_manual()
- Antes de executar a função wmsr35_abre_fecha_volume, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: D
- Rotina: WMS6219
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao
- Volume: mr_item_conferido.volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
Função wms6219_fecha_volume_auto()
- Antes de executar a função wmsr35_abre_fecha_volume, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: D
- Rotina: WMS6219
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao
- Volume: mr_item_conferido.volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
Função wms6219_interrompe()
- Antes de executar a função wmsr35_abre_fecha_volume, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: D
- Rotina: WMS6219
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao
- Volume: mr_item_conferido.volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, setando a variável l_erro igual a FALSE.
WMS6218 - Conferência via coletor com montagem manual de volumes
Função wms6218_ean_cod_barras()
- No inicio desta função, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Tipo da operação: I
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
- Dentro do input da conferência de itens, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Na opção F10/CTRL-S, essa nova tecla de atalho deverá ser adicionada da seguinte forma:
- CTRL-M CONFIG. IMP.
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo ean_codigo_barras.
- Antes de executar a função wmsr35_abre_fecha_volume, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Rotina: WMS6218
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao_carga_mestre
- Volume: mr_item_conferido.volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo ean_codigo_barras.
Função wms6218_tela_volume()
- Dentro do input de volumes, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo cod_barras_volume.
- Na opção F10/CTRL-S, essa nova tecla de atalho deverá ser adicionada da seguinte forma:
- CTRL-M CONFIG. IMP.
- Antes de executar a função wmsr35_abre_fecha_volume, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Rotina: WMS6218
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao_carga_mestre
- Volume: mr_item_conferido.volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE e fechar a tela w_wms62182_volume.
Função wms6218_interrompe()
- Antes de executar a função wmsr35_abre_fecha_volume, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Rotina: WMS6218
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao_carga_mestre
- Volume: mr_item_conferido.volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
WMS6358 - Conferência via coletor com montagem semi-automática de volumes
Função wms6358_cod_barras()
- No inicio desta função, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Tipo da operação: I
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
- Dentro do input da conferência de itens, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Na opção F10/CTRL-S, essa nova tecla de atalho deverá ser adicionada da seguinte forma:
- CTRL-M CONFIG. IMP.
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo codigo_barras.
- Ao executar a opção F9/CONTROL-D, caso a variável m_volume_exped esteja preenchida, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Rotina: WMS6358
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao_carga_mestre
- Volume: m_volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo codigo_barras.
Função wms6358_tela_volume()
- Dentro do input de volumes, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando para o campo m_cod_barras_volume.
- Na opção F10/CTRL-S, essa nova tecla de atalho deverá ser adicionada da seguinte forma:
- CTRL-M CONFIG. IMP.
Função wms6358_processa_quantidade_conferida()
- Ao executar essa função, caso a variável mr_item_conferido.eh_fracionado esteja igual a N, e a variável m_volume_exped esteja preenchida, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: mr_solicit_carga_compl.usuario
- Tipo da rotina: C
- Rotina: WMS6358
- Solicitação de carga: mr_solicit_carga_compl.trans_solicitacao_carga_mestre
- Volume: m_volume_exped
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
WMS6214 - Separação via coletor de dados com montagem de volumes
Função wms6214_exibe_array_movimentos()
- No inicio desta função, caso a variável ma_tipo_lista[m_ind_lista] esteja igual a V, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: m_user
- Tipo da rotina: C
- Tipo da operação: I
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento.
- Dentro do display array que apresenta os movimentos, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Na opção F10/CTRL-S, essa nova tecla de atalho deverá ser adicionada da seguinte forma:
- CTRL-M CONFIG. IMP.
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: m_user
- Tipo da rotina: C
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, executando o comando EXIT DISPLAY.
Função wms6214_cria_volume()
- Dentro do input de volumes, deverá ser disponibilizada uma nova tecla de atalho control-m (Configuração de impressão), que irá permitir o usuário alterar as configurações de impressão das etiquetas.
- Na opção F10/CTRL-S, essa nova tecla de atalho deverá ser adicionada da seguinte forma:
- CTRL-M CONFIG. IMP.
- Caso o usuário acione essa nova tecla de atalho, a rotina deverá executar a nova função wmsr131_configura_impressao_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: m_user
- Tipo da rotina: C
- Tipo da operação: M
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
Função wms6214_efetiva_descarga_volume()
- Após executar a função wmsr27_efetiva_descarga_volume, caso a variável l_cod_barras_volume esteja preenchida, a rotina deverá chamar a nova função wmsr131_imprime_etiqueta(), enviando os seguintes parâmetros:
- Empresa: p_cod_empresa
- Usuário: m_user
- Tipo da rotina: C
- Rotina: WMS6214
- Solicitação de carga: l_trans_solicitacao
- Volume: l_cod_barras_volume
- Modo de exibição 0 (Zero)
- Está nova função poderá retornar TRUE ou FALSE.
- Se o retorno for igual a TRUE, o sistema deverá dar continuidade no processamento.
- Se o retorno for igual a FALSE, o sistema deverá bloquear o processamento, retornando o status igual a FALSE.
Tabelas Utilizadas
- wms_parametro_usuario
- impressoras
- wms_solicitacao_carga_mestre
- wms_parametro_separacao
Protótipo de Tela
Protótipo 01
Tela de configuração da impressão de etiquetas, via desktop.
Protótipo 02
Tela de configuração da impressão de etiquetas, via coletor de dados.
WMS6219 - Conferência via PDV com montagem manual de volumes
Ao acessar a rotina WMS6258, o sistema irá solicitar que o usuário informe o documento de expedição que será conferido.
Após selecionar o documento, caso atividade deste depositante seja conferência via PDV com montagem manual de volumes, o sistema irá apresentar a tela principal da rotina WMS6219. Durante abertura desta tela, será verificado se o usuário já possui configuração de impressão cadastrada. Caso não exista configuração cadastrada, o sistema irá abrir uma nova tela, conforme o protótipo 01.
Nesta tela, o sistema irá solicitar que o usuário informe os volumes, com os seus produtos e quantidades. Depois de concluir a conferência de um volume, o usuário deverá fechar este volume através do botão 'Fechar volume'. Ao selecionar essa opção, o sistema deverá imprimir as etiquetas de volume e packing-list, conforme a parametrização do usuário. Caso os parâmetros estejam gravados com a opção Opcional, o sistema deverá questionar o usuário se deseja imprimir as etiquetas.
WMS6218 - Conferência via coletor com montagem manual de volumes
Ao acessar a rotina WMS6242, o sistema irá solicitar que o usuário informe o documento de expedição que será conferido.
Após selecionar o documento, caso atividade deste depositante seja conferência via coletor de dados com montagem manual de volumes, o sistema irá apresentar a tela inicial da rotina WMS6218. Nesta tela, o sistema irá solicitar que o usuário informe o volume que será conferido. Durante abertura desta tela, será verificado se o usuário já possui configuração de impressão cadastrada. Caso não exista configuração cadastrada, o sistema irá abrir uma nova tela, conforme o protótipo 02.
Após informar o volume, o sistema irá solicitar que seja informado os produtos e quantidades.
Depois de concluir a conferência de um volume, o usuário deverá fechar este volume através do botão 'Fechar volume'.
Ao selecionar essa opção, o sistema deverá imprimir as etiquetas de volume e packing-list, conforme a parametrização do usuário. Caso os parâmetros estejam gravados com a opção Opcional, o sistema deverá questionar o usuário se deseja imprimir as etiquetas.
WMS6358 - Conferência via coletor com montagem semi-automática de volumes
Ao acessar a rotina WMS6242, o sistema irá solicitar que o usuário informe o documento de expedição que será conferido.
Após selecionar o documento, caso atividade deste depositante seja conferência via coletor de dados com montagem semi-automática de volumes, o sistema irá apresentar a tela inicial da rotina WMS6358.
Após essa tela, o sistema irá solicitar que seja informado os produtos e quantidades. Durante abertura desta tela, será verificado se o usuário já possui configuração de impressão cadastrada. Caso não exista configuração cadastrada, o sistema irá abrir uma nova tela, conforme o protótipo 02.
Ao processar a conferência do produto, o sistema irá solicitar que o usuário informe o volume que será conferido.
Depois de concluir a conferência de um volume, o usuário deverá fechar este volume através do botão 'Fechar volume'.
Ao selecionar essa opção, o sistema deverá imprimir as etiquetas de volume e packing-list, conforme a parametrização do usuário. Caso os parâmetros estejam gravados com a opção Opcional, o sistema deverá questionar o usuário se deseja imprimir as etiquetas.
WMS6214 - Separação via coletor de dados com montagem de volumes
Ao acessar a rotina WMS6214, o sistema irá solicitar que o usuário informe a lista de separação que será expedida.
Depois de selecionar a lista de separação, o sistema solicita que o usuário selecione o processo de movimento que deseja separar. Durante abertura desta tela, será verificado se o usuário já possui configuração de impressão cadastrada. Caso não exista configuração cadastrada, o sistema irá abrir uma nova tela, conforme o protótipo 02.
Após selecionar o processo de movimento, é exibida uma tela com as informações do produto que será coletado.
Depois de exibir as informações do produto, o sistema solicita que o usuário informe a etiqueta que será separada.
Após informar a etiqueta, o sistema irá solicitar que o usuário digite o código do volume, aonde será armazenada a mercadoria coletada.
Depois de informar o código do volume, o sistema irá solicitar que o usuário confirme a quantidade que foi separada.
Após coletar uma etiqueta de separação, o usuário poderá efetuar o descarregamento desta mercadoria no endereço destino, concluído assim a conferência do volume.
Ao executar essa opção, o sistema deverá imprimir as etiquetas de volume e packing-list, conforme a parametrização do usuário. Caso os parâmetros estejam gravados com a opção Opcional, o sistema deverá questionar o usuário se deseja imprimir as etiquetas.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|