Criar uma constante ou variavel de periodo no ibexpert

29/06/2018

0

BOA TARDE
A TODOS

Sou iniciante no ibexpert

Montei um select muito complexo para gestao de pedido
aonde tenho que ficar repetindo o periodo de vendas constantemente em
varios sub select

exemplo

select P.descricao,
(SELECT FIRST 1 cb.codigo_barra FROM cod_barras cb WHERE cb.produto=p.codigo) AS BARRA,
f.codigo,left(f.razao_social,15)as NOME,
CASE when T.porc_icms = 0
then
''''ST''''
ELSE
t.porc_icms
end
as ICMS,
CAST(REPLACE(P.valor_custo,'''','''',''''.'''') AS DECIMAL(8,2)) AS PC,
CAST(REPLACE(P.valor_venda,'''','''',''''.'''') AS DECIMAL(8,2)) AS PV,


-- ESTOQUE DAS FILIAS

CAST(el.loja2 AS DECIMAL(8,0)) as LIM,
CAST(el.loja3 AS DECIMAL(8,0)) AS PIR,
CAST(el.loja4 AS DECIMAL(8,0)) AS VIE,

-- QUANTIDADES VENDIDAS NAS FILIAIS

CAST((select sum(RV.quantidade_vendida) FROM resumo_venda_lojas RV WHERE RV.produto=me.produto
and RV.data between ''''2018-03-01'''' AND ''''2018-06-29''''
AND RV.loja = 2) AS DECIMAL(8,0)) AS VD_L,
CAST((select sum(RV.quantidade_vendida) FROM resumo_venda_lojas RV WHERE RV.produto=me.produto
and RV.data between ''''2018-03-01'''' AND ''''2018-06-29''''
AND RV.loja = 3) AS DECIMAL(8,0)) AS VD_P,
CAST((select sum(RV.quantidade_vendida) FROM resumo_venda_lojas RV WHERE RV.produto=me.produto
and RV.data between ''''2018-03-01'''' AND ''''2018-06-29''''
AND RV.loja = 4) AS DECIMAL(8,0)) AS VD_V,


-- QUANIDADE DE TROCAS APENAS NOTAS EMITIDAS

CAST(( select sum(nfp.quantidade) from nota_fiscal_produtos nfp,nota_fiscal nf where nfp.produto=me.produto
and nfp.nat_operacao in (''''5.202'''',''''5.411'''',''''5.949'''',''''6.202'''',''''6.411'''',''''6.949'''')
and nfp.id = nf.id
and nf.data_emissao between ''''2018-03-01'''' AND ''''2018-06-29'''') AS DECIMAL(8,0)) as TR_NF,

-- FORMULA MEDIA ENTRADA
-- TOTAL QUANTIDADE ENTRADA NO PERIODO / TOTAL DE VEZES QUE ENTROU

CAST(ROUND(((SELECT SUM(MV.QUANTIDADE) FROM mov_estoque MV WHERE MV.e_s = ''''E'''' AND MV.produto=P.CODIGO
AND MV.data between ''''2018-03-01'''' AND ''''2018-06-29'''')
/
(SELECT count(MV.QUANTIDADE) FROM mov_estoque MV WHERE MV.e_s = ''''E'''' AND MV.produto=P.CODIGO
AND MV.data between ''''2018-03-01'''' AND ''''2018-06-29'''')),0) AS DECIMAL(8,0)) as MD_ENT,

-- FORMULA CONSUMO MEDIO
-- TOTAL QUANTIDADE SAIDAS NO PERIODO / TOTAL DE VEZES QUE SAIU

(CAST(ROUND(((SELECT SUM(MV.QUANTIDADE) FROM mov_estoque MV WHERE MV.e_s = ''''S'''' AND MV.produto=P.CODIGO
AND MV.data between''''2018-03-01'''' AND ''''2018-06-29'''')
/
(SELECT count(MV.QUANTIDADE) FROM mov_estoque MV WHERE MV.e_s = ''''S'''' AND MV.produto=P.CODIGO
AND MV.data between ''''2018-03-01'''' AND ''''2018-06-29'''')),0) AS DECIMAL(8,0))) as MD_SAI,

etc...

tem varios formulas

from mov_estoque me

Existe uma solução para criar uma constante ou variavel para este periodo

no ibexpert

tipo MV.data between &INICIO AND &FIM

Desde já muito obrigado
Paulo Agnezze

Paulo Agnezze

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar