Histórico da Página
CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Tela XXX
- Outras Ações / Ações relacionadas
- Outras Ações / Ações relacionadas
- Tela XXX
- Principais Campos e Parâmetros
- Principais Campos e Parâmetros
- Tabelas utilizadas
01. VISÃO GERAL
O seguinte manual apresenta as definições técnicas que garantem a integração entre o sistema de WMS da RMS e o sistema de separação via voz da Vocollect.
...
O script deve ser executado sempre que houve o cadastro de um novo operador no RMS. A senha segue um valor Default no Insert, pois esta é recadastrada diretamente no VL, após integração dos operadores:
-- INSERT OPERADORES >> CORE_OPERATOR_IMPORT_DATA << DECLARE V_IMPORTID NUMBER(19); BEGIN FOR REG IN (SELECT OPE_COD_OPER AS ID_OPERADOR, OPE_NOME_OPER AS NOME_OPERADOR, OPE_SENHA AS SENHA FROM AG3OPERF) LOOP V_IMPORTID := PC_DST_FORMACARGA_END.F_BUSCA_ATIVIDADE('RF'); INSERT INTO CORE_OPERATOR_IMPORT_DATA (IMPORTID, OPERATORNAME, OPERATORIDENTIFIER, OPERATORPASSWORD, IMPORTSTATUS, SITENAME) VALUES (V_IMPORTID, REG.NOME_OPERADOR, REG.ID_OPERADOR, 1234, 0, 'Default');
END LOOP; COMMIT; END; |
Importação dos Produtos (lê-se ‘itens’ no Voice)
A importação dos itens deve ser executada em um JOB ao final do dia:
-- INSERT PRODUTOS >> CORE_ITEM_IMPORT_DATA << V_IMPORTID NUMBER(19); BEGIN FOR REG IN (SELECT GIT_COD_ITEM||GIT_DIGITO AS COD_ITEM, GIT_DESCRICAO AS DESCRICAO, GIT_DESCRICAO AS DESC_FON, GIT_PESO AS PESO, GIT_CODIGO_EAN13 AS EAN FROM RMS.AA3CITEM) LOOP V_IMPORTID:=RMS.PC_DST_FORMACARGA_END.F_BUSCA_ATIVIDADE('RF'); UPDATE VOICELINKNOVO.CORE_ITEM_IMPORT_DATA SET ITEMDESCRIPTION = REG.DESCRICAO, PHONETICDESCRIPTION = REG.DESCRICAO WHERE ITEMNUMBER = REG.COD_ITEM; IF SQL%NOTFOUND THEN INSERT INTO VOICELINKNOVO.CORE_ITEM_IMPORT_DATA (IMPORTID, ITEMNUMBER, ITEMDESCRIPTION, PHONETICDESCRIPTION, WEIGHT, CUBE, ITEMSIZE, UPC, PACK, ISVARIABLEWEIGHTITEM, VARIABLEWEIGHTTOLERANCE, SCANVERIFICATIONCODE, SPOKENVERIFICATIONCODE, ISSERIALNUMBERITEM, IMPORTSTATUS, SITENAME) VALUES (V_IMPORTID, REG.COD_ITEM, REG.DESCRICAO, REG.DESC_FON, REG.PESO, 0, NULL, REG.EAN, NULL, 0, 0, NULL, NULL, 0, 0, 'Default'); END IF; END LOOP; COMMIT; END; |
Importação dos Endereços (lê-se ‘locais’ Voice)
A importação dos locais deve ser executada em um JOB ao final do dia, porém os dígitos verificadores dos endereços devem estar cadastrados previamente, caso contrário os locais não serão importados (vide Ponto 2 - Cadastro dos Dígitos Verificadores):
-- INSERT PRODUTOS >> CORE_LOCATION_IMPORT_DATA << DECLARE V_IMPORTID NUMBER(19); V_SLOT VARCHAR2(50); BEGIN
FOR REG IN (SELECT EES_GALPAO AS GALPAO, EES_RUA AS RUA, EES_NRO AS PREDIO, EES_APT AS APTO, TO_CHAR(NVL(ADE_DIGVERIFICADOR,0),'FM00') AS DIGITO FROM RMS.AG3CEEST, RMS.AG5ADEND WHERE ADE_DEPOSITO = EES_DEPOSITO AND ADE_GALPAO = EES_GALPAO AND ADE_RUA = EES_RUA AND ADE_NRO = EES_NRO AND ADE_APT = EES_APT) LOOP
V_IMPORTID:= RMS.PC_DST_FORMACARGA_END.F_BUSCA_ATIVIDADE('RF');
IF REG.APTO = 11 THEN V_SLOT := REG.PREDIO; ELSE V_SLOT := REG.PREDIO||'~ '||REG.APTO; END IF;
UPDATE VOICELINKNOVO.CORE_LOCATION_IMPORT_DATA SET SCANNEDVERIFICATION = REG.GALPAO || '.' || TO_CHAR(REG.RUA, 'FM000') || '.' || TO_CHAR(REG.PREDIO, 'FM000') || '.' || SUBSTR(TO_CHAR(REG.APTO, 'FM000'), 1, 2) || '-' || SUBSTR(TO_CHAR(REG.APTO, 'FM000'), 3, 1) WHERE SCANNEDVERIFICATION = REG.GALPAO || '.' || TO_CHAR(REG.RUA, 'FM000') || '.' || TO_CHAR(REG.PREDIO, 'FM000') || '.' || SUBSTR(TO_CHAR(REG.APTO, 'FM000'), 1, 2) || '-' || SUBSTR(TO_CHAR(REG.APTO, 'FM000'), 3, 1);
IF SQL%NOTFOUND THEN INSERT INTO VOICELINKNOVO.CORE_LOCATION_IMPORT_DATA (IMPORTID, PREAISLE, AISLE, POSTAISLE, SLOT, CHECKDIGITS, SPOKENVERIFICATION, SCANNEDVERIFICATION, IMPORTSTATUS, SITENAME) VALUES (V_IMPORTID, REG.GALPAO, REG.RUA, NULL, V_SLOT, REG.DIGITO, REG.GALPAO||'-'||REG.RUA||'-'||REG.PREDIO||'-'||REG.APTO, REG.GALPAO || '.' || TO_CHAR(REG.RUA, 'FM000') || '.' || TO_CHAR(REG.PREDIO, 'FM000') || '.' || SUBSTR(TO_CHAR(REG.APTO, 'FM000'), 1, 2) || '-' || SUBSTR(TO_CHAR(REG.APTO, 'FM000'), 3, 1), 0, 'Default'); END IF; END LOOP; COMMIT; END; |
Uma vez garantida as importações dos operadores, itens e locais, as atividades de separação podem ser geradas.
03. TELA XXXXXde Parâmetros
Para gerar as atividades e utilizar a separação via Sistema de Voz, existem algumas premissas:
- O cliente precisa utilizar o módulo da Convocação Ativa;
Principais Campos e Parâmetros
Campo | Descrição |
---|---|
Conteúdo = S (Depósito utiliza Voice Picking) | Cadastro do parâmetro para identificar o Depósito que utilizará o Sistema de Voz: Parâmetro. |
Card documentos | ||||
---|---|---|---|---|
|
04. TABELAS UTILIZADAS
Outras Ações / Ações relacionadas
...
- Cadastro da tabela 900 para indicar as filiais que serão separadas pelo Sistema de Voz;
05. CADASTRO DOS DÍGITOS VERIFICADORES
Os dígitos verificadores (DV) compõem parte do endereço. São 2 (dois) dígitos que devem ser informados pelo operador para confirmação da localização, garantindo a assertividade na coleta. Para gerar os dígitos, basta executar a função CtF6 – Voice Picking no Cadastro de Endereços (VGDUEEST), informar o range de endereços para os quais os dígitos serão gerados e confirmar:
Após gerados os DVs, deverá ser executada uma função randômica para garantir o cumprimento de algumas regras na geração dos dígitos no que tange à proximidade dos endereços. As regras são:
- Locais de mesmo galpão/rua/prédio/nível, mas com aptos diferentes, não podem ter mesmo DV;
- Locais de mesmo galpão/rua/prédio/apto, mas com níveis diferentes, não podem ter mesmo DV;
- Locais de mesmo galpão/rua/nível/apto, mas com prédios vizinhos (ou seja, lado a lado), não podem ter mesmo DV;
- Locais de mesmo galpão/rua/nível/apto, mas com prédios vizinhos (ou seja, lado a lado), não podem ter mesmo DV.
A função a ser executada é a seguinte: F_TESTE_DIGITO.fnc. Ela é responsável por gerar novamente os dígitos que não atenderem às validações supracitadas.
- Criação dos JOBs no Tarefas Agendadas (VGGMJOBS).
Os seguintes JOBs devem estar criados:
PC_RMS_RF_CONVOCACAO.PROC_MOTOR_CONVOCACAO com intervalo de execução de 5 à 7 segundos;
PROC_LIMPA_DADOS_VOICE, executar uma vez ao dia antes da formação de carga.
Observação: Os JOBs supracitados deverão ser criados diretamente no RMS, porém a Automatech – Empresa responsável em disponibilizar o serviço de voz – tem criado geralmente um schema específico no banco de dados para executar a aplicação do Voice, deste modo faz-se necessária a inclusão dos referidos JOBs diretamente no schema criado, bem como a compilação dos objetos responsáveis pela integração.
3 – Importações principais (Ponto 1) realizadas e premissas de integração (Ponto 2) atendidas, as atividades de separação podem ser geradas pelo RMS. Quando a carga é formada pela CA, o JOB da Convocação buscará todas as atividades e validará as filiais que serão atendidas pelo Sistema de Voz. Apenas as atividades para as filiais cadastradas na tabela 900 serão gravadas nas tabelas de importação do VL, que seguem:
SEL_ASSIGNMENT_IMPORT_DATA – Tabela de importação onde são gravadas as atividades (Cabeçalho);
SEL_PICK_IMPORT_DATA – Tabela de importação onde são gravados os itens, endereços e quantidades a separar de cada atividade (Detalhe).
Observação: A primeira etapa do WMS no que tange a importação é cumprida quando as tabelas de importação são gravadas corretamente. O próximo passo é de responsabilidade da aplicação do VL, onde o sistema deverá importar efetivamente os dados para as tabelas finais do Sistema de Voz. Em todas as tabelas de importação existe o campo EXPORTSTATUS, o qual indica se o VL executou ou não a importação. O Status 0 (zero), indica que não houve tentativa de importação. O Status 2 (dois) indica que houve tentativa de importação.
Do Processo de Exportação
Uma vez que as atividades estejam disponíveis no VL, os operadores iniciam a separação dos pickings via Sistema de Voz. Finalizadas as atividades, a responsabilidade de exportação dos dados retorna para o WMS, que deve executar uma rotina – já cadastrada em um dos JOBs – para efetuar a leitura das VIEWS disponibilizadas pelo Sistema de Voz e realizar o upload das separações para o RMS.
Observação: Apenas as atividades de separação que estiverem efetivamente finalizadas serão exportadas para o RMS. Caso exista mais de um pallet por atividade, apenas quando todos estiverem fechados e a atividade concluída, o WMS realizará a exportação.
Das Limpezas das Tabelas de Importação
Ao final do dia, um JOB é executado para realizar UPDATES e DELETES em algumas tabelas do VL, apenas com o objetivo de executar uma limpeza e não sobrecarregar o banco de dados.
TABELAS DE IMPORTAÇÃO
CORE_OPERATOR_IMPORT_DATA: Tabela de importação dos operadores;
CORE_ITEM_IMPORT_DATA: Tabela de importação dos itens;
CORE_LOCATION_IMPORT_DATA: Tabela de importação dos endereços;
SEL_ASSIGNMENT_IMPORT_DATA: Tabela de cabeçalho das atividades;
SEL_PICK_IMPORT_DATA: Tabela de detalhe das atividades contendo itens, endereços e quantidade a ser separada.
TABELAS E VIEWS PARA EXPORTAÇÃO
VW_EXPORT_PICKED: View para retornar os itens da atividade, as quantidades separadas e os endereços;
VW_EXPORT_COMPLETE: View para retornar todas as atividades concluídas;
SEL_PICK_DETAILS: Tabela final do voice com os itens separados;
SEL_CONTAINERS: Tabela final do voice para retornar o código dos containers (container = pallet).
OBJETOS DA INTEGRAÇÃO
PC_RMS_VOICE_PICKING: Package responsável pela integração do WMS com o Sistema de Voice da Vocollect;
PC_RMS_RF_CONVOCACAO: Package responsável pela geração de atividades na Convocação Ativa e pela chamada da PC_RMS_VOICE_PICKING.
Observação: A PC_RMS_RF_CONVOCACAO encontra-se específica devido ao schema de banco de dados criados para utilização do Sistema de Voz. Dessa forma, deve-se observar o alias dos objetos do RMS a depender do usuário de banco.
PC_DST_ENDERECAMENTO: Package responsável pelo endereçamento e pela geração dos dígitos verificadores;
PROC_LIMPA_DADOS_VOICE: Procedure responsável por efetuar a limpeza das tabelas do voice. Nela também, constam as chamadas para os objetos que geram diariamente a integração dos itens e endereços;
F_TESTE_DIGITO: Função responsável por gerar novos dígitos verificadores a partir dos critérios definidos pela Automatech.
JOBS
PC_RMS_RF_CONVOCACAO.PROC_MOTOR_CONVOCACAO: Executar em intervalo de 5 à 7 segundos;
PROC_LIMPA_DADOS_VOICE: Executar uma vez ao dia antes da formação de carga.
...