Exemplo de query para listar transferência de produtos | Ti Responde 0129

No vídeo de hoje, vamos demonstrar uma query para analisar transferência de produtos.

A dúvida de hoje, nos perguntaram, se seria possível através de uma query SQL, listar os produtos transferidos pela rotina MATA261, e identificar caso algum deles tenha sido transferido incorretamente, por exemplo, o produto era Caneta e foi transferido e o usuário colocou o código errado e virou uma Lapiseira no outro armazém.

 

Pensando nisso, montamos esse exemplo, onde vamos demonstrar em como fazer uma query relacionando a SD3 de saída (R) com a de entrada (D).

 

Segue abaixo o vídeo exemplificando:

 

E abaixo a query desenvolvida:

 SELECT TOP 10
     SD3R.D3_EMISSAO AS EMISSAO, 
	 SD3R.D3_DOC AS DOCUMENTO,
     SD3R.D3_COD AS R_CODIGO, 
     SB1R.B1_DESC AS R_DESCRI, 
     SD3R.D3_LOCAL AS R_LOCAL, 
     SD3R.D3_QUANT AS QUANTIDADE, 
     SD3D.D3_COD AS D_CODIGO, 
     SB1D.B1_DESC AS D_DESCRI, 
     SD3D.D3_LOCAL AS D_LOCAL,
	 CASE 
		WHEN SD3R.D3_COD = SD3D.D3_COD THEN 'Mesmo Produto'
		ELSE 'Produtos diferentes, verificar!'
	 END AS OBSERVACAO
 FROM 
     SD3990 SD3R 
     INNER JOIN SD3990 SD3D ON ( 
         SD3D.D3_FILIAL = SD3R.D3_FILIAL 
         AND SD3D.D3_NUMSEQ = SD3R.D3_NUMSEQ 
         AND SD3D.D3_DOC = SD3R.D3_DOC 
         AND SD3D.D3_CF = 'DE4' 
         AND SD3D.D_E_L_E_T_ = ' ' 
     ) 
     INNER JOIN SB1990 SB1R ON ( 
         SB1R.B1_FILIAL = ' '
         AND SB1R.B1_COD = SD3R.D3_COD 
         AND SB1R.D_E_L_E_T_ = ' ' 
     ) 
     INNER JOIN SB1990 SB1D ON ( 
         SB1D.B1_FILIAL = ' '
         AND SB1D.B1_COD = SD3D.D3_COD 
         AND SB1D.D_E_L_E_T_ = ' ' 
     ) 
 WHERE 
     SD3R.D3_FILIAL = '01'
     AND SD3R.D3_CF = 'RE4' 
     AND SD3R.D3_ESTORNO != 'S' 
     AND SD3R.D_E_L_E_T_ = ' '
     
     --AND SD3R.D3_COD != SD3D.D3_COD /* se quiser trazer apenas o que é diferente entre origem e destino */
 ORDER BY
	SD3R.R_E_C_N_O_ DESC

Bom pessoal, por hoje é só.

 

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

1 Response

  1. Top demais, é desses conteudos que gostamos rsrsr, por mais conteudos assim.

Deixe uma resposta

Terminal de Informação