Processo automático 84 - WMS Senior
Toda a comunicação entre as soluções de Gestão Empresarial | ERP e WMS WIS acontece através de Processos Automáticos, cadastrados na tela Cadastro do Processo Automático
Antes de cadastrar qualquer processo, é necessário verificar todas as informações necessárias para que a integração funcione e também com qual periodicidade os processos automáticos devem ser executados.
Parametrizações
Existem informações que são comuns para todos os processos:
- Tipo do Processo: 4 - Rotina
- Rotina Sapiens: 84 - WMS Senior
Já a configuração Parâmetros Rotina indica qual o tipo de dado que será integrado entre as aplicações, sendo que para TIPO do parâmetro da rotina deve ser cadastrado um novo processo automático.
Parâmetros da Rotina
O tipo de integração realizado em cada processo automático é definido no campo Parâmetros Rotina. Estes são os parâmetros disponíveis:
Parâmetro | Obrigatório? | Usado para definir... | Exemplo |
---|---|---|---|
USUARIO | Sim | O usuário do banco de dados do WMS. | USUARIO=NomeDoUsuarioNoBD |
Não, caso o identificador de regras GER/000INTSY01 seja utilizado para integração desta informação. | |||
SENHA | Sim | A senha do banco de dados do WMS. | SENHA=SenhaDoUsuarioNoBD |
Não, caso o identificador de regras GER/000INTSY01 seja utilizado para integração desta informação. | |||
SERVICO | Sim | O serviço do banco de dados Oracle. | SERVICO=xe |
Não, caso o identificador de regras GER/000INTSY01 seja utilizado para integração desta informação. | |||
BANCO | Sim | Se o banco de dados do ERP é SQL Server e do WMS é Oracle, isso precisa ser informado através deste parâmetro. | BANCO=ORACLE11 ou BANCO=ORACLE12 Se algo diferente for informado, é exibida uma mensagem de "Banco desconhecido", pois somente as versões 11 e 12 estão homologadas. Nota Se algo diferente for informado, é exibida uma mensagem de "Banco desconhecido", pois somente as versões 11 e 12 estão homologadas. |
Não, caso o identificador de regras GER/000INTSY01 seja utilizado para integração desta informação. | |||
EMPRESA | Sim | O código da empresa em que o serviço deve ser executado. | EMPRESA=1 |
FILIAL | Não | Filiais específicas para as quais devem ser geradas as ordens de recebimento. Funciona assim:
Importante Este parâmetro não se aplica para a exportação de cadastros. |
FILIAL=2 |
TIPO | Sim | O tipo do processo de integração a ser realizado. | TIPO= |
TIPO=RETORNORECEBIMENTO | |||
TIPO= |
|||
TIPO=RETORNOEXPEDICAO | |||
TIPO=PRODUTO | |||
TIPO=PRODUTOCOMPLETA | |||
TIPO=ESTOQUEERPWMS | |||
TIPO=ESTOQUEWMSERP | |||
TIPO=INVENTARIO | |||
TIPO=INVENTARIOESTATICO | |||
TIPO=CLIENTE | |||
TIPO=FORNECEDOR | |||
TIPO=TRANSPORTADORA | |||
TIPO=EXPORTAFATURAMENTO | |||
TIPO=EXPORTAFATURAMENTOESTRUTURADO | |||
TIPO=EMBALAGEM | |||
TIPO=ESTOQUEBLOQUEIODESBLOQUEIO | |||
TIPO=NOTIFICACAO | |||
DEBUG | Não | Se o sistema deve gerar um log detalhado da execução do processo. | DEBUG=SIM |
FATURAR_PEDIDO | Não | Que o sistema deve emitir a nota fiscal de saída do pedido. Só pode ser usado quando o parâmetro TIPO for igual a RETORNOEXPEDICAO. | FATURAR_PEDIDO=SIM |
EMITIR_NFE | Não | Se deve ser gerado um documento eletrônico para ser enviado à solução de Documentos Eletrônicos, que o enviará ao SEFAZ. Só pode ser usado quando o parâmetro TIPO for igual a RETORNOEXPEDICAO. | EMITIR_NFE=SIM |
FATURAR_PRE_FATURA | Não | Se a pré-fatura deve ou não ser faturada após o retorno da separação. | FATURAR_PRE_FATURA=SIM |
FILTRO | Não | Se permite adicionar alguma cláusula SQL adicional na busca do retorno de separação do WMS WIS. Sempre deve ser iniciada com “AND”. Ficam disponíveis os campos da tabela de integração INT_S_CAB_PEDIDO_SAIDA. O filtro está disponível para quando o parâmetro "TIPO" for igual a "RETORNOEXPEDICAO". | FILTRO = AND CD_CLIENTE NOT IN ('10') |
ACAO | NÃO |
Permite a separação entre notas faturadas e notas canceladas, oferecendo maior controle sobre os documentos a serem exportados. Isso facilita a diferenciação e o gerenciamento dos diferentes tipos de registros.
Observação A funcionalidade está disponível apenas quando o parâmetro TIPO estiver preenchido com "EXPORTAFATURAMENTOESTRUTURADO". Funcionamento:
Observação Este parâmetro permite a separação entre os processos de exportação de notas autorizadas e notas canceladas, sendo possível acriação de dois processos agendados, um para cada tipo de ação. |
ACAO=FATURAR ACAO=CANCELAR |
Detalhes sobre o parâmetro TIPO
Os parâmetros da rotina indicam o tipo de envio ou retorno de dados entre o ERP e o WMS:
Parâmetros da Rotina | Finalidade |
---|---|
RECEBIMENTO | Gera ordens de recebimento para o WMS WIS Select do processo: Select realizado para buscar ordens de recebimento pendentes de integração com o WMS WIS: "SELECT E000ODW.CODEMP, E000ODW.CODFIL, E000ODW.NUMORD, E000ODW.PRDORD FROM E000ODW INNER JOIN E070INT ON E070INT.CODEMP = E000ODW.CODEMP AND E070INT.CODFIL = E000ODW.CODFIL WHERE E000ODW.CODEMP = {CODEMP} AND E000ODW.CODFIL = {CODFIL} AND E000ODW.SITORD = 3 AND E000ODW.TIPORD IN (1, 3) AND E070INT.INTSAG = 'S' " |
RETORNORECEBIMENTO | Obtem o retorno de ordens de recebimento do WMS WIS Select do processo: Select realizado para buscar ordens de recebimento pendentes de retorno no WMS WIS: "SELECT NU_NOTA, NU_SERIE_NOTA, CD_FORNECEDOR, NU_DOC_ERP, CD_AGENDA, CD_SITUACAO, CD_TIPO_NOTA FROM INT_S_CAB_NOTA_FISCAL WHERE CD_EMPRESA = :CD_EMPRESA AND CD_DEPOSITO = :CD_DEPOSITO AND ID_PROCESSADO = 'N' AND CD_SITUACAO IN (9, 28) ORDER BY NU_INTERFACE " |
EXPEDICAO | Gera ordens de separação Select do processo: Select realizado para buscar ordens de separação pendentes de integração com o WMS WIS: "SELECT E000ODW.NUMORD, E000ODW.PRDORD, E000ODW.TIPORD FROM E000ODW WHERE E000ODW.CODEMP = :CODEMP AND E000ODW.CODEMP = :CODEMP AND E000ODW.CODFIL = :CODFIL AND E000ODW.SITORD = 3 AND E000ODW.TIPORD IN (2, 6) AND NOT EXISTS ( SELECT 1 FROM E000EIW WHERE E000EIW.CODEMP = E000ODW.CODEMP AND E000EIW.CODFIL = E000ODW.CODFIL AND E000EIW.NUMORD = E000ODW.NUMORD) ORDER BY NUMORD" |
RETORNOEXPEDICAO | Importa o retorno de separação do WMS WIS Select do processo: Select realizado para buscar ordens de separação pendentes de retorno no WMS WIS: "SELECT CD_EMPRESA, CD_DEPOSITO, NU_PEDIDO_ORIGEM, CD_CLIENTE, CD_CNPJ_CLIENTE, CD_SITUACAO, CD_TRANSPORTADORA, CD_CNPJ_TRANSPORTADORA, NU_DOC_ERP, DS_CLIENTE_ENTREGA, DS_ENDERECO_ENTREGA, NU_ENDERECO, DS_COMPLEMENTO_ENTREGA, DS_BAIRRO_ENTREGA, DS_MUNICIPIO_ENTREGA, CD_UF_ENTREGA, CD_CEP_ENTREGA, NU_TELEFONE_ENTREGA, DT_ENTREGA, VL_NOTA, ID_PROCESSADO, TP_PEDIDO, DT_ADDROW, NU_SEQ_INTERFACE FROM INT_S_CAB_PEDIDO_SAIDA WHERE ID_PROCESSADO = 'N' AND CD_EMPRESA = :CD_EMPRESA AND CD_DEPOSITO = :CD_DEPOSITO AND CD_SITUACAO IN (57, 68) FILTRO* ORDER BY NU_INTERFACE * Essa informação irá depender do que for inserido no parâmetro "FILTRO" no processo agendado. |
ESTOQUEWMSERP | Importa transferências de estoque do WMS WIS |
ESTOQUEERPWMS | Exporta transferências de estoque para o WMS WIS Nota Este parâmetro foi descontinuado. |
INVENTARIO | Importa movimentos de inventário |
INVENTARIOESTATICO | Importa movimentos de inventário estático do WMS WIS. |
CLIENTE | Exporta novos clientes e alterações nos dados cadastrais de clientes para o WMS WIS |
FORNECEDOR | Exporta novos fornecedores e alterações nos dados cadastrais de fornecedores para o WMS WIS |
TRANSPORTADORA | Exporta novas transportadoras e alterações nos dados cadastrais de transportadoras para o WMS WIS |
EXPORTAFATURAMENTO | Notifica o WMS WIS que:
Uma vez que essa notificação tenha ocorrido, a mercadoria pode ser embarcada para entrega. Select do processo: SELECT DISTINCT E000ODW.NUMORD AS NUMORD, E140NFV.NUMNFV AS NUMNFV, E140NFV.CODSNF AS CODSNF, E140IDE.CHVDOE AS CHVDOE, E140IDE.NUMPRT AS NUMPRT, 'N' GEREXC FROM E000ODW INNER JOIN E000IOW ON (E000ODW.CODEMP = E000IOW.CODEMP AND E000ODW.CODFIL = E000IOW.CODFIL AND E000ODW.NUMORD = E000IOW.NUMORD) INNER JOIN E140IPV ON (E140IPV.CODEMP = E000IOW.CODEMP AND E140IPV.FILPED = E000IOW.CODFIL AND E140IPV.NUMPED = E000IOW.NUMPED AND E140IPV.SEQIPD = E000IOW.SEQIPD) INNER JOIN E140NFV ON (E140NFV.CODEMP = E140IPV.CODEMP AND E140NFV.CODFIL = E140IPV.CODFIL AND E140NFV.CODSNF = E140IPV.CODSNF AND E140NFV.NUMNFV = E140IPV.NUMNFV) INNER JOIN E020SNF ON (E140NFV.CODEMP = E020SNF.CODEMP AND E140NFV.CODFIL = E020SNF.CODFIL AND E140NFV.CODSNF = E020SNF.CODSNF) LEFT JOIN E140IDE ON (E140IDE.CODEMP = E140NFV.CODEMP AND E140IDE.CODFIL = E140NFV.CODFIL AND E140IDE.CODSNF = E140NFV.CODSNF AND E140IDE.NUMNFV = E140NFV.NUMNFV) WHERE E000ODW.CODEMP = X AND E000ODW.CODFIL = X AND E000IOW.NUMPED > 0 AND E140NFV.SITNFV = '2' AND E000ODW.INDPRO = 'N' AND E000ODW.TIPORD = 2 AND E000ODW.SITORD = 5 AND ((E020SNF.DISAUT <> 6) OR (E020SNF.DISAUT = 6 AND E140IDE.SITDOE = 3)) UNION SELECT DISTINCT E000ODW.NUMORD AS NUMORD, E140NFV.NUMNFV AS NUMNFV, E140NFV.CODSNF AS CODSNF, E140IDE.CHVDOE AS CHVDOE, E140IDE.NUMPRT AS NUMPRT, 'N' GEREXC FROM E000ODW INNER JOIN E000IOW ON (E000ODW.CODEMP = E000IOW.CODEMP AND E000ODW.CODFIL = E000IOW.CODFIL AND E000ODW.NUMORD = E000IOW.NUMORD) INNER JOIN E140NFV ON (E140NFV.CODEMP = E000IOW.CODEMP AND E140NFV.CODFIL = E000IOW.CODFIL AND E140NFV.CODSNF = E000IOW.SNFNFV AND E140NFV.NUMNFV = E000IOW.NUMNFV) INNER JOIN E020SNF ON (E140NFV.CODEMP = E020SNF.CODEMP AND E140NFV.CODFIL = E020SNF.CODFIL AND E140NFV.CODSNF = E020SNF.CODSNF) LEFT JOIN E140IDE ON (E140IDE.CODEMP = E140NFV.CODEMP AND E140IDE.CODFIL = E140NFV.CODFIL AND E140IDE.CODSNF = E140NFV.CODSNF AND E140IDE.NUMNFV = E140NFV.NUMNFV) WHERE E000ODW.CODEMP = X AND E000ODW.CODFIL = X AND E000IOW.NUMPED = 0 AND E000IOW.NUMNFV > 0 AND E140NFV.SITNFV = '2' AND E000ODW.INDPRO = 'N' AND E000ODW.TIPORD = 2 AND E000ODW.SITORD = 5 AND ((E020SNF.DISAUT <> 6) OR (E020SNF.DISAUT = 6 AND E140IDE.SITDOE = 3)) UNION SELECT DISTINCT E000ODW.NUMORD AS NUMORD, E140IPV.NUMNFV AS NUMNFV, E140IPV.CODSNF AS CODSNF, E140IDE.CHVDOE AS CHVDOE, E140IDE.NUMPRT AS NUMPRT, 'N' GEREXC FROM E000ODW INNER JOIN E180ITO ON (E180ITO.CODEMP = E000ODW.CODEMP AND E180ITO.CODFIL = E000ODW.CODFIL AND E180ITO.NUMORD = E000ODW.NUMORD) INNER JOIN E180IPF ON (E180IPF.CODEMP = E180ITO.CODEMP AND E180IPF.CODFIL = E180ITO.CODFIL AND E180IPF.NUMORD = E180ITO.NUMORD AND E180IPF.SEQITO = E180ITO.SEQITO) INNER JOIN E135PES ON (E135PES.CODEMP = E180IPF.CODEMP AND E135PES.CODFIL = E180IPF.CODFIL AND E135PES.NUMANE = E180IPF.NUMANE AND E135PES.NUMPFA = E180IPF.NUMPFA AND E135PES.SEQPES = E180IPF.SEQPES) INNER JOIN E140IPV ON (E140IPV.CODEMP = E135PES.CODEMP AND E140IPV.CODFIL = E135PES.CODFIL AND E140IPV.NUMNFV = E135PES.NUMNFV AND E140IPV.CODSNF = E135PES.SNFNFV AND E140IPV.SEQIPV = E135PES.SEQIPV) INNER JOIN E140NFV ON (E140NFV.CODEMP = E140IPV.CODEMP AND E140NFV.CODFIL = E140IPV.CODFIL AND E140NFV.NUMNFV = E140IPV.NUMNFV AND E140NFV.CODSNF = E140IPV.CODSNF) INNER JOIN E020SNF ON (E020SNF.CODEMP = E140IPV.CODEMP AND E020SNF.CODFIL = E140IPV.CODFIL AND E020SNF.CODSNF = E140IPV.CODSNF) LEFT JOIN E140IDE ON (E140IDE.CODEMP = E140IPV.CODEMP AND E140IDE.CODFIL = E140IPV.CODFIL AND E140IDE.NUMNFV = E140IPV.NUMNFV AND E140IDE.CODSNF = E140IPV.CODSNF) WHERE E000ODW.CODEMP = X AND E000ODW.CODFIL = X AND E000ODW.INDPRO = 'N' AND E000ODW.TIPORD = 2 AND E000ODW.SITORD = 5 AND E140NFV.SITNFV = '2' AND ((E020SNF.DISAUT <> 6) OR (E020SNF.DISAUT = 6 AND E140IDE.SITDOE = 3)) UNION SELECT DISTINCT E000ODW.NUMORD AS NUMORD, E140NFV.NUMNFV AS NUMNFV, E140NFV.CODSNF AS CODSNF, E140IDE.CHVDOE AS CHVDOE, E140IDE.NUMPRT AS NUMPRT, 'S' GEREXC FROM E000ODW INNER JOIN E000IOW ON (E000ODW.CODEMP = E000IOW.CODEMP AND E000ODW.CODFIL = E000IOW.CODFIL AND E000ODW.NUMORD = E000IOW.NUMORD) INNER JOIN E180CFW ON (E180CFW.NUMORD = E000IOW.NUMORD AND E180CFW.CODEMP = E000IOW.CODEMP AND E180CFW.FILPED = E000IOW.CODFIL AND E180CFW.NUMPED = E000IOW.NUMPED) INNER JOIN E140NFV ON (E140NFV.CODEMP = E180CFW.CODEMP AND E140NFV.CODFIL = E180CFW.CODFIL AND E140NFV.CODSNF = E180CFW.CODSNF AND E140NFV.NUMNFV = E180CFW.NUMNFV) INNER JOIN E020SNF ON (E140NFV.CODEMP = E020SNF.CODEMP AND E140NFV.CODFIL = E020SNF.CODFIL AND E140NFV.CODSNF = E020SNF.CODSNF) LEFT JOIN E140IDE ON (E140IDE.CODEMP = E140NFV.CODEMP AND E140IDE.CODFIL = E140NFV.CODFIL AND E140IDE.CODSNF = E140NFV.CODSNF AND E140IDE.NUMNFV = E140NFV.NUMNFV) WHERE E000ODW.CODEMP = X AND E000ODW.CODFIL = X AND E000IOW.NUMPED > 0 AND E180CFW.INDPRO = 'N' AND E140NFV.SITNFV = '3' AND E000ODW.INDPRO = 'S' AND E000ODW.TIPORD = 2 AND E000ODW.SITORD = 5 AND ((E020SNF.DISAUT <> 6) OR (E020SNF.DISAUT = 6 AND E140IDE.SITDOE IN (8, 9))) UNION SELECT DISTINCT E000ODW.NUMORD AS NUMORD, E140NFV.NUMNFV AS NUMNFV, E140NFV.CODSNF AS CODSNF, E140IDE.CHVDOE AS CHVDOE, E140IDE.NUMPRT AS NUMPRT, 'S' GEREXC FROM E000ODW INNER JOIN E180ITO ON (E180ITO.CODEMP = E000ODW.CODEMP AND E180ITO.CODFIL = E000ODW.CODFIL AND E180ITO.NUMORD = E000ODW.NUMORD) INNER JOIN E180IPF ON (E180IPF.CODEMP = E180ITO.CODEMP AND E180IPF.CODFIL = E180ITO.CODFIL AND E180IPF.NUMORD = E180ITO.NUMORD AND E180IPF.SEQITO = E180ITO.SEQITO) INNER JOIN E180CFW ON (E180CFW.NUMORD = E180IPF.NUMORD AND E180CFW.CODEMP = E180IPF.CODEMP AND E180CFW.FILANE = E180IPF.CODFIL AND E180CFW.NUMANE = E180IPF.NUMANE AND E180CFW.NUMPFA = E180IPF.NUMPFA) INNER JOIN E140NFV ON (E140NFV.CODEMP = E180CFW.CODEMP AND E140NFV.CODFIL = E180CFW.CODFIL AND E140NFV.NUMNFV = E180CFW.NUMNFV AND E140NFV.CODSNF = E180CFW.CODSNF) INNER JOIN E020SNF ON (E020SNF.CODEMP = E140NFV.CODEMP AND E020SNF.CODFIL = E140NFV.CODFIL AND E020SNF.CODSNF = E140NFV.CODSNF) LEFT JOIN E140IDE ON (E140IDE.CODEMP = E140NFV.CODEMP AND E140IDE.CODFIL = E140NFV.CODFIL AND E140IDE.NUMNFV = E140NFV.NUMNFV AND E140IDE.CODSNF = E140NFV.CODSNF) WHERE E000ODW.CODEMP = X AND E000ODW.CODFIL = X AND E000ODW.INDPRO = 'S' AND E180CFW.INDPRO = 'N' AND E000ODW.TIPORD = 2 AND E000ODW.SITORD = 5 AND E140NFV.SITNFV = '3' AND ((E020SNF.DISAUT <> 6) OR (E020SNF.DISAUT = 6 AND E140IDE.SITDOE = 9)) Observação: O CodEmp e CodFil são preenchidos dinamicamente pelo sistema conforme a Empresa e Filial onde a Ordem de Separação/Recebimento foi gerada. |
EXPORTAFATURAMENTOESTRUTURADO |
Notifica o WMS WIS que:
Uma vez que essa notificação tenha ocorrido, a mercadoria pode ser embarcada para entrega. Observação 1.Neste processo agendado considera-se o campo Documento para Separação cadastrado na tela Cadastros - Filiais - Parâmetros de Integração (F070INT). Caso o valor desse campo seja "2 - PEDIDO", o processo agendado verificará apenas se há faturamento/cancelamento de notas de pedidos ou notas de devolução a serem exportados para o WMS. Importante destacar que a exportação de notas de devolução ocorre independentemente dessa parametrização. Se o parâmetro Documento para Separação for alterado, recomenda-se utilizar o processo agendado com o parâmetro EXPORTAFATURAMENTO até que todos os faturamentos configurados com a parametrização anterior sejam exportados para o WMS. |
EMBALAGEM | Exporta para o WMS o cadastro de embalagens do ERP. |
ESTOQUEBLOQUEIODESBLOQUEIO | Realiza operações de bloqueio e desbloqueio de estoque. |
NOTIFICACAO |
Emitir notificação dos erros encontrados no processo de integração das ordens de separação entre ERP x WMS WIS, através da XPlatform. Notas
|
Observação
Não é permitido que os processos agendados de EXPORTAFATURAMENTO e EXPORTAFATURAMENTOESTRUTURADO estejam habilitados simultaneamente para a mesma Empresa/Filial, pois isso poderia gerar inconsistências nos processos de exportação.
Há duas formas de exportação de produtos que podem ser feitas através do parâmetro TIPO:
Parâmetros Globais
Nome | Descrição |
---|---|
QtdMaxEnv | Indica a quantidade máxima de ordens de separação que serão enviadas ao WMS WIS através deste processo automático. |