CREATE TABLE TIPOARVOREPROD (
  NRTPARVPROD NUMBER(10) NOT NULL, 
  DSTPARVPROD VARCHAR2(50) NOT NULL, 
  NRORG NUMBER(10) DEFAULT 1 NOT NULL, 
  IDATIVO VARCHAR2(1) DEFAULT 'S' NOT NULL, 
  DTINCLUSAO DATE NOT NULL, 
  DTULTATU DATE NOT NULL, 
  NRORGINCLUSAO NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERINCLUSAO VARCHAR2(12) DEFAULT '1' NOT NULL, 
  NRORGULTATU NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERULTATU VARCHAR2(12) DEFAULT '1' NOT NULL,
  CONSTRAINT PK_TIPOARVOREPROD PRIMARY KEY(NRTPARVPROD, NRORG)
)
/
ALTER TABLE TIPOARVOREPROD ADD CONSTRAINT CKC_IDATIVO_TIPOARVOREPROD CHECK (IDATIVO IN ('S','N'))
/
CREATE TABLE ESTRUARVOREPROD (
  NRTPARVPROD NUMBER(10) NOT NULL, 
  NRARVOREPROD NUMBER(10) NOT NULL, 
  NMARVOREPROD VARCHAR2(50) NOT NULL, 
  NRTPARVPRODPAI NUMBER(10) DEFAULT NULL NULL, 
  NRARVOREPRODPAI NUMBER(10) DEFAULT NULL NULL, 
  NRORG NUMBER(10) DEFAULT 1 NOT NULL, 
  IDATIVO VARCHAR2(1) DEFAULT 'S' NOT NULL, 
  DTINCLUSAO DATE NOT NULL, 
  DTULTATU DATE NOT NULL, 
  NRORGINCLUSAO NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERINCLUSAO VARCHAR2(12) DEFAULT '1' NOT NULL, 
  NRORGULTATU NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERULTATU VARCHAR2(12) DEFAULT '1' NOT NULL, 
  CDPRODUTOAUX VARCHAR2(10) DEFAULT NULL NULL, 
  CDPRODNIVANTEAUX VARCHAR2(10) DEFAULT NULL NULL,
  CONSTRAINT PK_ESTRUARVOREPROD PRIMARY KEY(NRTPARVPROD, NRARVOREPROD, NRORG)
)
/
ALTER TABLE ESTRUARVOREPROD ADD CONSTRAINT CKC_IDATIVO_ESTRUARVOREPROD CHECK (IDATIVO IN ('S','N'))
/
CREATE INDEX GER00607_FK ON ESTRUARVOREPROD (NRTPARVPRODPAI ASC, NRARVOREPRODPAI ASC, NRORG ASC)
/
CREATE TABLE PRODARVOREPROD (
  NRTPARVPROD NUMBER(10) NOT NULL, 
  NRARVOREPROD NUMBER(10) NOT NULL, 
  CDPRODUTO VARCHAR2(10) NOT NULL, 
  NRORG NUMBER(10) DEFAULT 1 NOT NULL, 
  IDATIVO VARCHAR2(1) DEFAULT 'S' NOT NULL, 
  DTINCLUSAO DATE NOT NULL, 
  DTULTATU DATE NOT NULL, 
  NRORGINCLUSAO NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERINCLUSAO VARCHAR2(12) DEFAULT '1' NOT NULL, 
  NRORGULTATU NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERULTATU VARCHAR2(12) DEFAULT '1' NOT NULL,
  CONSTRAINT PK_PRODARVOREPROD PRIMARY KEY(NRTPARVPROD, NRARVOREPROD, CDPRODUTO, NRORG)
)
/
ALTER TABLE PRODARVOREPROD ADD CONSTRAINT FKGER00608ESTRUARVOREPROD FOREIGN KEY (NRTPARVPROD, NRARVOREPROD, NRORG) REFERENCES ESTRUARVOREPROD (NRTPARVPROD, NRARVOREPROD, NRORG)
/
ALTER TABLE PRODARVOREPROD ADD CONSTRAINT CKC_IDATIVO_PRODARVOREPROD CHECK (IDATIVO IN('S','N'))
/
ALTER TABLE ESTRUARVOREPROD
    ADD CONSTRAINT FKGER00607PRODARVOREPROD FOREIGN KEY  (NRTPARVPRODPAI, NRARVOREPRODPAI, NRORG)
       REFERENCES ESTRUARVOREPROD (NRTPARVPROD, NRARVOREPROD, NRORG)
/
ALTER TABLE ESTRUARVOREPROD
    ADD CONSTRAINT FKGER00609TIPOARVOREPROD FOREIGN KEY  (NRTPARVPROD, NRORG)
       REFERENCES TIPOARVOREPROD (NRTPARVPROD, NRORG)
/
CREATE TABLE PRODUTOAPM (
  CDCIA VARCHAR2(4) NOT NULL, 
  CDFILIAL VARCHAR2(4) NOT NULL, 
  NRORG NUMBER(10) DEFAULT 1 NOT NULL, 
  IDATIVO VARCHAR2(1) DEFAULT 'S' NOT NULL, 
  DTINCLUSAO DATE NOT NULL, 
  DTULTATU DATE NOT NULL, 
  NRORGINCLUSAO NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERINCLUSAO VARCHAR2(12) DEFAULT '1' NOT NULL, 
  NRORGULTATU NUMBER(10) DEFAULT 1 NOT NULL, 
  CDOPERULTATU VARCHAR2(12) DEFAULT '1' NOT NULL, 
  DTCUSTOAP DATE NOT NULL, 
  VRMEDLIQAP DOUBLE PRECISION NOT NULL, 
  VRMEDBRUAP DOUBLE PRECISION NOT NULL, 
  VRULTCLIQAP DOUBLE PRECISION NOT NULL, 
  VRULTCBRUAP DOUBLE PRECISION NOT NULL, 
  DTHRIMPCUSTO DATE NOT NULL, 
  CDOPIMPCUSTO VARCHAR2(12) NOT NULL,
  CONSTRAINT PK_PRODUTOAPM PRIMARY KEY(CDCIA, CDFILIAL, NRORG)
)
/
ALTER TABLE PRODUTOAPM ADD CONSTRAINT FKCOC00300CIAFILI FOREIGN KEY (CDFILIAL, CDCIA, NRORG) REFERENCES CIAFILI (CDFILIAL, CDCIA, NRORG)
/
ALTER TABLE PRODUTOAPM ADD CONSTRAINT CKC_IDATIVO_PRODUTOAPM CHECK (IDATIVO in ('S','N'))