CREATE TABLE TBFICHA_CUSTO_MP (
    ID INTEGER NOT NULL,
    FICHA_CUSTO_ID INTEGER,
    SEQUENCIA INTEGER,
    FAMILIA_ID INTEGER,
    FAMILIA_DESCRICAO VARCHAR(200),
    PRODUTO_ID INTEGER,
    PRODUTO_DESCRICAO VARCHAR(200),
    CONSUMO NUMERIC(15,8),
    UM VARCHAR(10),
    DOC_FISCAL_DESCRICAO VARCHAR(200),
    DATA_FORMATADA VARCHAR(45),
    EMPRESA_DESCRICAO VARCHAR(200),
    VALOR_UNITARIO NUMERIC(15,4),
    VALOR_TRIBUTOS NUMERIC(15,2),
    VALOR_FRETE NUMERIC(15,4),
    CALC_CUSTO_UNITARIO_PADRAO INTEGER,
    CUSTO_MEDIO_PRODUTO NUMERIC(15,4),
    CUSTO_UNITARIO_NF NUMERIC(15,4),
    CUSTO_UNITARIO_PONDERADO NUMERIC(15,4),
    CUSTO_UNITARIO NUMERIC(15,4),
    TIPO_CUSTO INTEGER);


ALTER TABLE TBFICHA_CUSTO_MP
ADD CONSTRAINT PK_TBFICHA_CUSTO_MP
PRIMARY KEY (ID);

COMMENT ON COLUMN TBFICHA_CUSTO_MP.CALC_CUSTO_UNITARIO_PADRAO IS
'CUSTO UNITÁRIO BASEADO EM:
0 - PRODUTO;
1 - ULTIMA NF;
2 - ESTOQUE MENSAL;';

COMMENT ON COLUMN TBFICHA_CUSTO_MP.TIPO_CUSTO IS
'INDICAR O CUSTO UTILIZADO NA FICHA DE CUSTO MP
0 - PRODUTO;
1 - ULTIMA NF;
2 - ESTOQUE MENSAL;';


CREATE SEQUENCE GTBFICHA_CUSTO_MP;

CREATE TRIGGER TBFICHA_CUSTO_MP_B01I FOR TBFICHA_CUSTO_MP
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(GTBFICHA_CUSTO_MP,1);
END;