Processo automático 103 - Armazenamento da posição de estoques para integração
A rotina tem por objetivo avaliar a posição de estoque dos produtos nos depósitos em determinado momento e, armazenar essa posição de estoque. Com isto, na próxima vez que a rotina é executada ela avalia novamente a posição de estoque e compara com o que está armazenado. Caso existam alterações no estoque dos produtos, será gerada uma pendência de exportação desse produto para a filial, desde que esteja configurada para gerar pendências de posição de estoque.
Através do web service com.senior.g5.co.int.varejo.produto, porta Posicaoestoquerede, serão exportados todos os produtos, de todos os depósitos, com sua respectiva quantidade, sendo que será apresentada a quantidade disponível no depósito distribuidor e a soma das quantidades disponíveis nos demais depósitos.
Quando houver a necessidade de tornar visível o estoque de um depósito de uma filial que possui integração com o Gestão de Supermercados com uma filial que possui integração do Gestão de Lojas, é necessário:
- configurar na tela Configuração de Tipos de Informação (F000SXT) a opção Posição de Estoque de Produtos para ficar ativa;
- para os produto que necessitarem ser vistos em ambas as filiais, fazer a ligação ao depósito compartilhado;
- através da tela Cadastro de Processo Automático (F000AGE), cadastrar esta rotina (103 - Armazenamento da posição de estoques para integração) com o valor CODIGOINTEGRACAO="código_da_integração_GL_cadastrado_na_F000SIS,código_da_integração_GS_cadastrado_na_F000SIS".
Observação
A integração com o Gestão de Supermercados, em sua totalidade, não utiliza a rotina 103 - Armazenamento da posição de estoques para integração.
Processo
A avaliação da posição do estoque se dá em 2 esferas.
1 - Depósito distribuidor - É avaliada a modificação da posição de estoque do(s) depósito(s) distribuidor(es).
2 - Depósitos de filiais - é avaliada a posição do estoque dos depósitos que não são distribuidores.
Parâmetros da rotina
Parâmetros | Descrição |
---|---|
CODIGOINTEGRACAO | Representa o código do sistema de integração, conforme cadastrado na tela F000SIS. Possibilita informar mais de uma integração separado por vírgula. |
FORMAAVALIACAO | De que forma deve ser avaliada a modificação de estoques: 0 = Sempre que o saldo de estoque no depósito chegar a 0 ou sair de 0; |
FILTROINTEGRACAO | Permite adicionar um filtro personalizado ao comando SQL: Comando: SELECT ROW_NUMBER() OVER (ORDER BY PAT.CODEMP) + :NUMSEQ , PAT.CODEMP, PAT.CODFIL, PAT.CODPRO, PAT.CODDER, PAT.CODDEP, PAT.QTDEST, CASE WHEN PAT.QTDEST > 0 THEN 1 ELSE 0 END AS TEMEST FROM ( SELECT A.CODEMP, A.CODPRO, A.CODDER, G.CODFIL, CASE WHEN G.CRIFED = 2 THEN (A.QTDEST - A.QTDBLO) WHEN G.CRIFED = 3 THEN (A.QTDEST - A.QTDRES) WHEN G.CRIFED = 4 THEN (A.QTDEST - A.QTDRES - A.QTDBLO) WHEN G.CRIFED = 5 THEN (A.QTDEST - A.QTDRAE) WHEN G.CRIFED = 6 THEN (A.QTDEST - A.QTDRAE - A.QTDBLO) WHEN G.CRIFED = 7 THEN (A.QTDEST - A.QTDRAE - A.QTDRES) WHEN G.CRIFED = 8 THEN (A.QTDEST - A.QTDRAE - A.QTDRES - A.QTDBLO) ELSE A.QTDEST END AS QTDEST, A.CODDEP FROM E210EST A INNER JOIN E205DEP B ON (A.CODEMP = B.CODEMP AND A.CODDEP = B.CODDEP) INNER JOIN E075DER C ON (B.CODEMP = C.CODEMP AND A.CODPRO = C.CODPRO AND A.CODDER = C.CODDER) INNER JOIN E075PRO D ON (C.CODEMP = D.CODEMP AND C.CODPRO = D.CODPRO) INNER JOIN E070FIL G ON (B.CODEMP = G.CODEMP AND B.CODFIL = G.CODFIL)
/* FILTROINTEGRACAO não terá acesso as tabela E070VAR e E070EST pois o comando varia, sendo esta a versão mais completa INNER JOIN E070VAR E ON (B.CODEMP = E.CODEMP AND B.CODFIL = E.CODFIL) INNER JOIN E070EST F ON (B.CODEMP = F.CODEMP AND B.CODFIL = F.CODFIL)
WHERE B.CODEMP = :CODEMP AND B.DEPVEN = 'S' AND C.SITDER = 'A' AND D.SITPRO = 'A' AND E.CODINT in (1,3) AND E.INDINT = 'S' AND ((FILTROINTEGRACAO)) ) PAT LEFT JOIN E000PPD PANT ON (PAT.CODEMP = PANT.CODEMP AND PAT.CODPRO = PANT.CODPRO AND PAT.CODDER = PANT.CODDER AND PAT.CODDEP = PANT.CODDEP) WHERE COALESCE (PANT.QTDEST, -1) <> PAT.QTDEST |