
/*------ ATD 442323 ------*/
DECLARE v_count NUMBER:=0;

BEGIN

SELECT Count(1) INTO v_count FROM USER_TABLES WHERE UPPER(table_name) = 'PROMOCAOCLIENTE';

IF v_count = 0 THEN

EXECUTE IMMEDIATE 'CREATE TABLE PROMOCAOCLIENTE(
		ID INT IDENTITY NOT NULL,
		RPROMOCAO INT NOT NULL,
		OIDCLIENTE INT NOT NULL)';
EXECUTE IMMEDIATE 'ALTER TABLE PROMOCAOCLIENTE ADD CONSTRAINT PK_POLITICA_COMERCIAL_ECOMMERCE PRIMARY KEY (ID)';
EXECUTE IMMEDIATE 'CREATE PROMOCAOCLIENTE_IDX1 ON POLITICA_COMERCIAL_ECOMMERCE(RPROMOCAO)';
EXECUTE IMMEDIATE 'CREATE SEQUENCE PROMOCAOCLIENTE_SEQ MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 NOCYCLE NOORDER' ;
EXECUTE IMMEDIATE 'CREATE OR REPLACE TRIGGER PROMOCAOCLIENTE_I
BEFORE INSERT ON PROMOCAOCLIENTE FOR EACH ROW
WHEN (new.ID IS NULL)
BEGIN
SELECT PROMOCAOCLIENTE_SEQ.NEXTVAL INTO :new.ID FROM dual;
END;';

END IF;

SELECT Count(1) INTO v_count FROM USER_TAB_COLUMNS WHERE UPPER(table_name) = 'PROMOCAO' and UPPER(column_name) = 'HORARIOINICIO';

IF v_count = 0 THEN

EXECUTE IMMEDIATE 'ALTER TABLE PROMOCAO ADD HORARIOINICIO VARCHAR2(5) DEFAULT '''' NOT NULL ';

ENDIF

SELECT Count(1) INTO v_count FROM USER_TAB_COLUMNS WHERE UPPER(table_name) = 'PROMOCAO' and UPPER(column_name) = 'HORARIOTERMINO';

IF v_count = 0 THEN

EXECUTE IMMEDIATE 'ALTER TABLE PROMOCAO ADD HORARIOTERMINO VARCHAR2(5) DEFAULT '''' NOT NULL ';

ENDIF

SELECT Count(1) INTO v_count FROM USER_TAB_COLUMNS WHERE UPPER(table_name) = 'PROMOCAO' and UPPER(column_name) = 'VENDAIDENTIFICADA';

IF v_count = 0 THEN

EXECUTE IMMEDIATE 'ALTER TABLE PROMOCAO ADD VENDAIDENTIFICADA NUMBER(1) DEFAULT 0 NOT NULL';

END IF;

SELECT Count(1) INTO v_count FROM USER_TAB_COLUMNS WHERE UPPER(table_name) = 'PRODUTOPROMOCAO' and UPPER(column_name) = 'PERCDESCONTO';

IF v_count = 0 THEN

EXECUTE IMMEDIATE 'ALTER TABLE PRODUTOPROMOCAO ADD PERCDESCONTO NUMBER(8,5) DEFAULT 0 NOT NULL';

END IF;


END;
/

create or replace view PROMOCAO_R (
    COR,
    INICIO,
    TERMINO,
    VALORMINIMO,
    DESCONTOGERENTE,
    DESCONTOVENDEDOR,
    NUMEROPARCELAS,
    CARENCIA,
    FATORPROMOCAO,
    TAXAPROMOCAO,
    BRINDEUNICO,
    CONDICAOPARCELA,
    CONDICAOCARENCIA,
    FATORENTRADA,
    ENTRADA,
    PERMITIDOECOMMERCE,
    CLIENTECADASTRADO,
    HORARIOINICIO,
    HORARIOTERMINO,
    VENDAIDENTIFICADA,
    RTIPOPROMOCAO,
    RTIPOPLANO,
    RTIPOPRODUTO,
    CRIADOEM,
    CID,
    ATUALIZADOEM,
    CODIGO,
    OBSERVACAO,
    NOME,
    OID,
    RESCOPO,
    CRIADOPOR,
    ATUALIZADOPOR)
as select
    PROMOCAO.COR,
    PROMOCAO.INICIO,
    PROMOCAO.TERMINO,
    PROMOCAO.VALORMINIMO,
    PROMOCAO.DESCONTOGERENTE,
    PROMOCAO.DESCONTOVENDEDOR,
    PROMOCAO.NUMEROPARCELAS,
    PROMOCAO.CARENCIA,
    PROMOCAO.FATORPROMOCAO,
    PROMOCAO.TAXAPROMOCAO,
    PROMOCAO.BRINDEUNICO,
    PROMOCAO.CONDICAOPARCELA,
    PROMOCAO.CONDICAOCARENCIA,
    PROMOCAO.FATORENTRADA,
    PROMOCAO.ENTRADA,
    PROMOCAO.PERMITIDOECOMMERCE,
    PROMOCAO.CLIENTECADASTRADO,
    PROMOCAO.HORARIOINICIO,
    PROMOCAO.HORARIOTERMINO,
    PROMOCAO.VENDAIDENTIFICADA,
    PROMOCAO.RTIPOPROMOCAO,
    PROMOCAO.RTIPOPLANO,
    PROMOCAO.RTIPOPRODUTO,
    ITEM.CRIADOEM,
    ITEM.CID,
    ITEM.ATUALIZADOEM,
    ITEM.CODIGO,
    ITEM.OBSERVACAO,
    ITEM.NOME,
    ITEM.OID,
    ITEM.RESCOPO,
    ITEM.CRIADOPOR,
    ITEM.ATUALIZADOPOR
from
    PROMOCAO,ITEM
where (ITEM.EXCLUIDO = 0) AND
    PROMOCAO.OID = ITEM.OID;
/

create or replace view PRODUTOPROMOCAO_R (
    CODIGOEXTERNO1,
    CODIGOEXTERNO2,
    PRECO,
    DESCONTO,
    PRECO2,
    EMITENF,
    AREAVEND,
    OBSERVACAO,
    QTDEOFERTADA,
    QTDERESEVADA,
    QTDEVENDIDA,
    PERMITEDESCONTO,
    PERCDESCONTO,
    RPROMOCAO,
    OID)
as select
    PRODUTOPROMOCAO.CODIGOEXTERNO1,
    PRODUTOPROMOCAO.CODIGOEXTERNO2,
    PRODUTOPROMOCAO.PRECO,
    PRODUTOPROMOCAO.DESCONTO,
    PRODUTOPROMOCAO.PRECO2,
    PRODUTOPROMOCAO.EMITENF,
    PRODUTOPROMOCAO.AREAVEND,
    PRODUTOPROMOCAO.OBSERVACAO,
    PRODUTOPROMOCAO.QTDEOFERTADA,
    PRODUTOPROMOCAO.QTDERESERVADA,
    PRODUTOPROMOCAO.QTDEVENDIDA,
    PRODUTOPROMOCAO.PERMITEDESCONTO,
    PRODUTOPROMOCAO.PERCDESCONTO,
    PRODUTOPROMOCAO.RPROMOCAO,
    PRODUTOPROMOCAO.OID
from
    PRODUTOPROMOCAO;
/