Histórico da Página
...
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.
Tipo da Integração
A integração entre as plataformas foi desenvolvida no modelo TABELA X TABELA. Em suma, os processos de importação e exportação dos dados acontecem exclusivamente via banco de dados a partir da execução de JOBs tanto do lado do WMS quanto do Sistema de Voz.
Funcionamento Geral
A aplicação do Sistema de Voz está responsável apenas pela separação de picking. O processo de atendimento, formação de carga, conferência de expedição e faturamento, ainda acontecem do lado do RMS.
- O WMS gera as atividades de separação via Convocação Ativa (CA);
- O Voice Link (VL) importa as atividades;
- Os operadores realizam a separação via Sistema de Voz;
- O WMS exporta os dados gerados na coleta para o RMS e o fluxo da expedição segue pelo Painel de Expedição da CA.
Do Processo de Importação
É de responsabilidade do WMS gerar todas as atividades de separação na formação de carga, como é feito hoje na CA. Após as atividades geradas, os dados são gravados nas tabelas de importação do (VL) para que este, realize de fato a importação para as tabelas finais do Sistema de Voz.
A Responsabilidade do WMS neste momento é apenas gravar as tabelas de importação com as atividades de separação geradas. Não temos acesso à todas as tabelas finais do VL, apenas às de importação e às Views utilizadas no processo de exportação.
02. EXEMPLO DE UTILIZAÇÃO
03. TELA XXXXX
Outras Ações / Ações relacionadas
...
04. TELA XXXXX
Principais Campos e Parâmetros
...
Card documentos | ||||
---|---|---|---|---|
|
05. TABELAS UTILIZADAS
...
Pré-Requisitos de Importação para Integração
1 - Existem 3 (três) importações que precisam ser realizadas antes da geração das atividades para que as integrações das atividades de separação ocorram com sucesso, são elas:
Importação dos Operadores
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 XXXXX
Principais Campos e Parâmetros
Campo | Descrição |
---|---|
Card documentos | ||||
---|---|---|---|---|
|
04. TABELAS UTILIZADAS
Outras Ações / Ações relacionadas
Ação Descrição
...