UFN_ENVIOS

download UFN_ENVIOS

If you can't read please download the document

description

envios

Transcript of UFN_ENVIOS

ALTER FUNCTION [dbo].[UFN_ENVIOS] (@COMPETENCIA VARCHAR(4), @FILIAL VARCHAR(6), @CLIENTE VARCHAR(6), @BLOQ VARCHAR(1)) RETURNS TABLE AS RETURN SELECT SZ2.Z2_MSFIL AS 'FILIAL' ,ISNULL(V2.EMPRESA,E.M0_NOMECOM) AS 'NOME_EMP' ,SZ1.Z1_ANOCOP AS 'COMPETENCIA' ,SZ2.Z2_CONTRAT AS 'CONTRATO' ,SZ1.Z1_CLIENTE AS 'CODIGO' ,Z1_NOME AS 'NOME' ,SZ2.Z2_PRODUTO AS 'COD_PROD' ,SZ2.Z2_DESC AS 'DESCRICAO' ,ISNULL(V2.DESCRI,Z2_DESC) AS 'DESC_KIT' , DESCRI AS 'DESCRI' ,S.X5_DESCRI AS 'SERIE' ,V.X5_DESCRI AS 'VOLUMES' ,SZ2.Z2_QUANT AS 'QTDE' ,Z2_QTDMED AS 'QTDEMEDIDA' ,ISNULL(V2.QUANT,0) AS 'QTD_FAT' ,ISNULL(CASE WHEN LTRIM(RTRIM(SZ2.Z2_YGRUKIT))='' THEN CASE WHEN S.X5_DESCRI ='PRE-UNIVERSITARIO' AND V.X5_DESCRI IN ('V1','V2') THEN ((Z2_VLRLIQ/Z2_QUANT)/2) ELSE (Z2_VLRLIQ/Z2_QUANT) END ELSE CASE WHEN S.X5_DESCRI ='PRE-UNIVERSITARIO' AND V.X5_DESCRI IN ('V1','V2') THEN ((VRLLIQ)/2) ELSE (T2.VRLLIQ) END END,0) AS 'VRL_UNIT' ,ISNULL(ADITIVO,0) AS 'ADITIVO' ,SZ2.Z2_YGRUKIT AS 'GRUPOKIT' ,ISNULL(V2.QTDDEV,0) QTDDEV ,A1_YBLOQ ,A1_YCODTCF AS COD_TCF ,A1_YTPCLIE AS DESC_TCF ,ISNULL(ENVIO , CASE WHEN V.X5_DESCRI = 'V1' THEN '1' WHEN V.X5_DESCRI = 'V2' THEN '2' WHEN V.X5_DESCRI = 'V3' THEN '3' WHEN V.X5_DESCRI = 'V4' THEN '4' WHEN V.X5_DESCRI = 'V5' THEN '5' ELSE '6' END) AS ENVIO FROM SZ1010 SZ1 (NOLOCK) JOIN EMPRESA E (NOLOCK) ON (E.M0_CODFIL = SZ1.Z1_MSFIL) JOIN SZ2010 SZ2 (NOLOCK) ON (SZ1.Z1_FILIAL = SZ2.Z2_FILIAL AND SZ1.Z1_CONTRAT=SZ2.Z2_CONTRAT AND SZ1.D_E_L_E_T_='') JOIN SB1010 B (NOLOCK) ON (SZ2.Z2_PRODUTO = B.B1_COD) JOIN SX5010 S (NOLOCK) ON (B.B1_YSERIE = S.X5_CHAVE AND S.X5_TABELA='Z1') JOIN SX5010 V (NOLOCK) ON (B.B1_YVOL = V.X5_CHAVE AND V.X5_TABELA='Z3') LEFT JOIN SA1010 A (NOLOCK) ON (A.A1_COD = SZ1.Z1_CLIENTE) LEFT JOIN (SELECT Z4_FILIAL, Z4_CONTRAT, Z4_PRODUTO, Z4_ITEM, ISNULL(SUM(ISNULL(Z4_QTDADT,0)),0) AS ADITIVO FROM SZ4010 (NOLOCK) WHERE D_E_L_E_T_ = '' GROUP BY Z4_FILIAL, Z4_CONTRAT, Z4_PRODUTO, Z4_ITEM) SZ4 ON (SZ2.Z2_FILIAL = SZ4.Z4_FILIAL AND SZ2.Z2_CONTRAT = SZ4.Z4_CONTRAT AND SZ2.Z2_PRODUTO = SZ4.Z4_PRODUTO AND SZ2.Z2_ITEM = SZ4.Z4_ITEM ) LEFT JOIN ( select FILIAL, EMPRESA, COMPETENCIA, CONTRATO, CLIENTE, LOJA, TES, PRODUTO, DESCRI, SUM(QUANT) QUANT, ENVIO, QTDDEV, GRUPO_KIT from ( select FILIAL, EMPRESA, COMPETENCIA, CONTRATO, CLIENTE, LOJA, TES, PRODUTO, DESCRI, SUM(QUANT) QUANT, ENVIO, ISNULL(SUM(ISNULL(QTDDEV,0)),0) QTDDEV ,GRUPO_KIT FROM VW_FATURADOS_REL_OFICIAL -- VW_FATURADOS_22_REL_21 -- GROUP BY FILIAL, EMPRESA, COMPETENCIA, CONTRATO, CLIENTE, LOJA, TES, PRODUTO, DESCRI, --SUM(QUANT) QUANT, --QUANT, ENVIO, --NOTADEV, --ISNULL(SUM(ISNULL(QTDDEV,0)),0) QTDDEV GRUPO_KIT --,QUANT ) T group by FILIAL, EMPRESA, COMPETENCIA, CONTRATO, CLIENTE, LOJA, TES, PRODUTO, DESCRI, ENVIO, QTDDEV, GRUPO_KIT , ENVIO ) V2 ON( SZ2.Z2_MSFIL = V2.FILIAL AND Z1_LOJA = V2.LOJA AND Z1_CLIENTE = V2.CLIENTE AND Z2_CONTRAT = V2.CONTRATO AND SZ2.Z2_PRODUTO = V2.PRODUTO AND SZ2.Z2_TES = V2.TES AND SZ2.Z2_YGRUKIT = V2.GRUPO_KIT ) LEFT JOIN ( SELECT Z1_FILIAL, Z1_ANOCOP, Z1_CONTRAT, Z1_CLIENTE, Z1_LOJA, S.X5_DESCRI AS 'SERIE', Z2_YGRUKIT, CAST(SUM(Z2_VLRLIQ)/sum(CASE WHEN S.X5_DESCRI = 'PRE-UNIVERSITARIO' AND V.X5_DESCRI IN ('V1','V2') THEN Z2_QUANT*2 ELSE Z2_QUANT END) AS NUMERIC(18,2)) VRLLIQ FROM SZ1010 (NOLOCK) JOIN SZ2010 (NOLOCK) ON (Z1_FILIAL = Z2_FILIAL AND Z1_CONTRAT = Z2_CONTRAT AND SZ1010.D_E_L_E_T_ = '' AND SZ2010.D_E_L_E_T_ = '' ) JOIN SB1010 B (NOLOCK) ON (Z2_PRODUTO = B.B1_COD) JOIN SX5010 S (NOLOCK) ON (B.B1_YSERIE = S.X5_CHAVE AND S.X5_TABELA='Z1') JOIN SX5010 V (NOLOCK) ON (B.B1_YVOL = V.X5_CHAVE AND V.X5_TABELA='Z3') LEFT JOIN (SELECT Z4_FILIAL, Z4_CONTRAT, Z4_PRODUTO, Z4_ITEM, ISNULL(SUM(ISNULL(Z4_QTDADT,0)),0) AS ADITIVO FROM SZ4010 (NOLOCK) WHERE D_E_L_E_T_ = '' GROUP BY Z4_FILIAL, Z4_CONTRAT, Z4_PRODUTO, Z4_ITEM) SZ4 ON (Z2_FILIAL = SZ4.Z4_FILIAL AND Z2_CONTRAT = SZ4.Z4_CONTRAT AND Z2_PRODUTO = SZ4.Z4_PRODUTO AND Z2_ITEM = SZ4.Z4_ITEM ) WHERE LTRIM(RTRIM(Z2_YGRUKIT)) '' AND (@CLIENTE = 0 OR Z1_CLIENTE = @CLIENTE) AND Z1_ANOCOP = @COMPETENCIA --AND Z1_CONTRAT = @CONTRATO AND Z2_MSFIL LIKE @FILIAL AND Z2_TES in ('502') --AND Z2_TES IN ( '502', '509' ) AND SZ1010.D_E_L_E_T_ = '' AND SZ2010.D_E_L_E_T_ = '' AND B.D_E_L_E_T_ = '' AND S.D_E_L_E_T_ = '' AND V.D_E_L_E_T_ = '' GROUP BY Z1_FILIAL, Z1_ANOCOP, Z1_CONTRAT, Z1_CLIENTE, Z1_LOJA, S.X5_DESCRI, Z2_YGRUKIT ) T2 ON T2.Z1_FILIAL = SZ1.Z1_FILIAL AND T2.Z1_CLIENTE = SZ1.Z1_CLIENTE AND T2.Z1_LOJA = SZ1.Z1_LOJA AND T2.Z1_CONTRAT = SZ2.Z2_CONTRAT AND T2.Z2_YGRUKIT = SZ2.Z2_YGRUKIT WHERE SZ2.D_E_L_E_T_ = '' AND B.D_E_L_E_T_ = '' AND S.D_E_L_E_T_ = '' AND V.D_E_L_E_T_ = '' AND SZ1.D_E_L_E_T_ = '' AND SZ2.Z2_TES in ('502') AND SZ1.Z1_ANOCOP = @COMPETENCIA --AND SZ2.Z2_CONTRAT = @CONTRATO and ISNULL(A1_YBLOQ,'N') LIKE @BLOQ AND SZ2.Z2_MSFIL LIKE @FILIAL AND (@CLIENTE = 0 OR SZ1.Z1_CLIENTE = @CLIENTE ) --ORDER BY -- SZ2.Z2_DESC AND CASE WHEN ABS(ISNULL(ADITIVO,0))