CREATE TABLE SERIALPRODSCNM
(
    CDFILIAL                   VARCHAR2(4)      NOT NULL,
    CDPRODUTO              VARCHAR2(10)    NOT NULL,
    NRLOTEESTQ             VARCHAR2(20)    NOT NULL,
    NRSUBLOTE               VARCHAR2(4)     NOT NULL,
    NRORDPROD              VARCHAR2(10)   NULL ,
    NRSUBORDPROD        VARCHAR2(1)     NULL,
    CDSERIALSCNM          VARCHAR2(20)   NOT NULL,
    CDGTIN                      VARCHAR2(14)  NULL,   
    NRREGISTROANVISA   VARCHAR2(20)  NULL,
    DTVALIDLOTE      VARCHAR2(6)           NULL,  
    CDIUMPROD      VARCHAR2(80)           NULL,
    IDSTATUSSCNM    VARCHAR2(20)        NULL,
    NRORG            NUMBER                 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO          VARCHAR2(1)            DEFAULT 'S' NOT NULL
        CONSTRAINT CKC_IDATIVO_SERIALSCNM CHECK (IDATIVO IN ('S','N')),
    DTINCLUSAO       DATE                   NULL,
    DTULTATU         DATE                   NULL,
    NRORGINCLUSAO    NUMBER                 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NULL,
    CDOPERINCLUSAO   VARCHAR2(12)           DEFAULT '1' NULL,
    NRORGULTATU      NUMBER                 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NULL,
    CDOPERULTATU     VARCHAR2(12)           DEFAULT '1',
		CONSTRAINT PK_SERIALPRODSCNM PRIMARY KEY  (CDFILIAL,CDPRODUTO,NRLOTEESTQ,NRSUBLOTE, CDSERIALSCNM)
)
/

ALTER TABLE SERIALPRODSCNM
   ADD CONSTRAINT FKCDP01001LOTE FOREIGN KEY ( CDFILIAL, NRLOTEESTQ, NRSUBLOTE, CDPRODUTO)
      REFERENCES LOTE ( CDFILIAL, NRLOTEESTQ, NRSUBLOTE, CDPRODUTO)
/

ALTER TABLE SERIALPRODSCNM
    ADD CONSTRAINT FKCDP01003ORDPRODU FOREIGN KEY  (CDFILIAL, NRORDPROD, NRSUBORDPROD)
       REFERENCES ORDPRODUCAO (CDFILIAL, NRORDPROD, NRSUBORDPROD) ON DELETE CASCADE
/

CREATE INDEX CDP00001_FK ON SERIALPRODSCNM (CDFILIAL ASC)
/

CREATE INDEX CDP00002_FK ON SERIALPRODSCNM (CDFILIAL ASC, NRORDPROD ASC, NRSUBORDPROD ASC)

/

CREATE INDEX CDP00003_FK ON SERIALPRODSCNM (CDPRODUTO ASC)
/

CREATE INDEX CDP00004_FK ON SERIALPRODSCNM (CDFILIAL ASC, NRLOTEESTQ ASC, NRSUBLOTE ASC, CDPRODUTO ASC)
/

    CREATE TABLE ORDPRODSNCM
(
    CDFILIAL                    VARCHAR2(4) NOT NULL ,
    CDPRODUTO            VARCHAR2(10) NOT NULL ,
    NRORDPROD           VARCHAR2(10) NOT NULL ,
    NRSUBORDPROD    VARCHAR2(1)  NOT NULL,
    NRLOTEESTQ            VARCHAR2(20)  NOT NULL, 
    NRSUBLOTE             VARCHAR2(4)  NOT NULL,
    DTINIORDPROD          DATE NULL,
    QTPRODACABADO  FLOAT DEFAULT 0 NOT NULL, 
    DTEXPORTA DATE NULL,
    NRORG            NUMBER                 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO          VARCHAR2(1)            DEFAULT 'S' NOT NULL
        CONSTRAINT CKC_IDATIVO_ORDPRODSNCM CHECK (IDATIVO IN ('S','N')),
    DTINCLUSAO       DATE                   NULL,
    DTULTATU         DATE                   NULL,
    NRORGINCLUSAO    NUMBER                 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NULL,
    CDOPERINCLUSAO   VARCHAR2(12)           DEFAULT '1' NULL,
    NRORGULTATU      NUMBER                 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NULL,
    CDOPERULTATU     VARCHAR2(12)           DEFAULT '1',
 CONSTRAINT PK_ORDPRODSNCM PRIMARY KEY  (CDFILIAL,CDPRODUTO,NRLOTEESTQ,NRSUBLOTE,NRORDPROD,NRSUBORDPROD)
)
/


ALTER TABLE ORDPRODSNCM
   ADD CONSTRAINT FKCDP01000PRODUTO FOREIGN KEY (CDPRODUTO)
      REFERENCES PRODUTO (CDPRODUTO)
/

ALTER TABLE ORDPRODSNCM
   ADD CONSTRAINT FKCDP01005LOTE FOREIGN KEY ( CDFILIAL, NRLOTEESTQ, NRSUBLOTE, CDPRODUTO)
      REFERENCES LOTE ( CDFILIAL, NRLOTEESTQ, NRSUBLOTE, CDPRODUTO)
/

ALTER TABLE ORDPRODSNCM
    ADD CONSTRAINT FKCDP01006ORDPRODU FOREIGN KEY  (CDFILIAL, NRORDPROD, NRSUBORDPROD)
       REFERENCES ORDPRODUCAO (CDFILIAL, NRORDPROD, NRSUBORDPROD) ON DELETE CASCADE
/

CREATE INDEX CDP00007_FK ON ORDPRODSNCM (CDFILIAL ASC)
/

CREATE INDEX CDP00008_FK ON ORDPRODSNCM (CDFILIAL ASC, NRORDPROD ASC, NRSUBORDPROD ASC)

/

CREATE INDEX CDP00009_FK ON ORDPRODSNCM (CDPRODUTO ASC)
/

CREATE INDEX CDP00010_FK ON ORDPRODSNCM (CDFILIAL ASC, NRLOTEESTQ ASC, NRSUBLOTE ASC, CDPRODUTO ASC)
/