MCP - View de Preços

1. Introdução

Nessa seção de preços será abordado como é a criação e as informações que retornarão referente a controle de preços, tanto preço normal quanto promocional:

  • V_VT_PRECO - Informação de Preço

 

2. Informação de Preço

Os preços serão obtidos a partir da View V_VT_PRECO, onde a mesa conterá as seguintes informações:

Campo

Tipo

Obr.

Informação

Campo

Tipo

Obr.

Informação

dataInicio

DATE

N

Data inicial da promoção

dataFim

DATE

N

Data final da promoção

valorPrecoPromocional

NUMBER

N

Valor da promoção

valorPreco

NUMBER

S

Valor do Preço

dtAlteracaoSinc

TIMESTAMP(6)

S

Data da última sincronização

idBandeiraPreco

NUMBER(38)

S

Código da bandeira de preço

erpId

VARCHAR2(20 CHAR)

S

Id do Item no ERP

 

CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_PRECO ("dataInicio", "dataFim", "valorPrecoPromocional", "valorPreco", "dtAlteracaoSinc", "idBandeiraPreco", "erpId") AS SELECT ITEPRV.WECPROMODTINI "dataInicio", CASE WHEN COALESCE(ITEPRV.WECTIPOPRESP,'0') = '0' AND ITEPRV.WECPRECOESPECIAL = 0 THEN NULL WHEN COALESCE(ITEPRV.WECTIPOPRESP,'0') = '1' AND (ITEPRV.OFERTA = 0 OR ITEPRV.WECPERCPRECOESP = 0) THEN NULL WHEN COALESCE(ITEPRV.WECTIPOPRESP,'0') = '2' AND COALESCE(ITEPRV.WECPRECONORMAL,0) = 0 AND ITEPRV.WECPERCPRECO = 0 THEN NULL ELSE ITEPRV.WECPROMODTFIN END "dataFim", CASE WHEN ITEPRV.WECPROMODTINI IS NOT NULL AND ITEPRV.WECPROMODTFIN IS NOT NULL THEN CASE COALESCE(ITEPRV.WECTIPOPRESP,'0') WHEN '0' THEN ITEPRV.WECPRECOESPECIAL WHEN '1' THEN VIASOFTSYS.ARREDONDAR(ITEPRV.OFERTA * (ITEPRV.WECPERCPRECOESP /100), 2) WHEN '2' THEN VIASOFTSYS.ARREDONDAR( CASE WHEN ITEPRV.WECPERCPRECOESP = 0 THEN 0 WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100), 2) END * (ITEPRV.WECPERCPRECOESP /100), 2) END ELSE 0 END "valorPrecoPromocional", CASE WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100), 2) END "valorPreco", ITEPRV.DTALTERACAOSINC "dtAlteracaoSinc", ITEPRV.IDBANDEIRA "idBandeiraPreco", ITEEST.IDITEM "erpId" FROM VIASOFTMCP.ITEMESTAB ITEEST LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCON ON FILCON.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMPRVDA ITEPRV ON ITEPRV.IDBANDEIRA = FILCON.IDBANPRECO AND ITEPRV.ESTAB = ITEEST.ESTABITEM AND ITEPRV.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.ITEMMCP ITEMCP ON ITEMCP.ESTAB = ITEEST.ESTABITEM AND ITEMCP.IDITEM = ITEEST.IDITEM WHERE COALESCE(ITEMCP.TINTA, 'X') <> 'P';