CREATE TABLE CMSRANGOACUM
(
  DOCUMENTO   NUMBER(10)  NOT NULL,
  SUCURSAL    CHAR(3)     NOT NULL,
  CIA         CHAR(3)     NOT NULL,
  FECHAINI    DATE        NOT NULL,
  FECHAFIN    DATE        NOT NULL,
  OBSERVACION VARCHAR2(100),
  ESTADO      VARCHAR2(1) NOT NULL
  CONSTRAINT CMSRANGOACUM_ESTADO_CK check (estado in ('P', 'A', 'N')), 
  CONSTRAINT CMSRANGOACUM_PK primary key (DOCUMENTO, SUCURSAL, CIA)
);

CREATE TABLE CMSDETRANGOACUM
(
  DOCUMENTO   NUMBER(10)  NOT NULL,
  SUCURSAL    CHAR(3)     NOT NULL,
  CIA         CHAR(3)     NOT NULL,
  BODEGA      CHAR(3),
  CONSTRAINT CMSDETRANGOACUM_AK UNIQUE (DOCUMENTO, SUCURSAL, CIA, BODEGA)
);

ALTER TABLE CMSDETRANGOACUM 
   ADD CONSTRAINT CMSRANGOACUM_DETRANGOACUM_FK
    FOREIGN KEY(DOCUMENTO, SUCURSAL, CIA)
    REFERENCES CMSRANGOACUM(DOCUMENTO, SUCURSAL, CIA);