VERS='5.68.02'

echo "Mise a jour de la base de donnees pour Version $VERS"

isql - - <<EOT

database gc;

UPDATE 
  gc_parsys 
SET 
  version='$VERS'
WHERE
  version<'$VERS';

ALTER TABLE
  gc_facveh
ADD (
  objprof   char(15)
);

CREATE TABLE
  gc_unit
(
  code		CHAR(12),
  numlig	SMALLINT,
  nuref		SMALLINT,
  unite		CHAR(15),
  colis		FLOAT,
  codtar	SMALLINT
);

CREATE UNIQUE INDEX
  ix_unit01
ON
  gc_unit (code, numlig);

ALTER TABLE
  gc_art
ADD
(
  unitalt	CHAR(7),
  colisalt	FLOAT
);

UPDATE
  gc_art
SET
  unitalt=' ',
  colisalt=colis
WHERE
  unitalt IS NULL;

UPDATE
  gc_art
SET
  unite=' '
WHERE
  unite IS NULL;

UPDATE
  gc_art
SET
  unitach=' '
WHERE
  unitach IS NULL;

ALTER TABLE
  gc_lgf2
ADD
  (
    codart	CHAR(12)
  );   

create index ix_lgf202 on gc_lgf2 (codart);

ALTER TABLE
  gc_stkart
ADD
  (
    stkalloc float
  );   

UPDATE
  gc_stkart
SET
  stkalloc = 0
WHERE
  stkalloc IS NULL;

CREATE TABLE
  gc_tabsyn
(
  annee  SMALLINT,
  mois	 SMALLINT,
  numdep SMALLINT,
  nbj 	 SMALLINT,
  obj    FLOAT
);

CREATE UNIQUE INDEX
  ix_tabsyn01
ON
  gc_tabsyn (annee, mois, numdep);

ALTER TABLE 
 gc_entt
ADD
 (
   numpiec smallint before enttick0
 ); 

UPDATE 
  gc_entt
SET
  numpiec = 7
WHERE
  numpiec IS NULL;

DELETE FROM
  gc_entt
WHERE
  numpiec = 0;

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  0, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc00 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  1, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc01 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  2, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc02 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  3, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc03 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  4, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc04 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  5, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc05 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  6, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc06 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  7, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc07 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  8, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc08 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  9, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc09 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  10, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc10 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  11, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc11 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  12, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc12 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  13, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc13 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  14, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc14 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  15, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc15 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  16, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc16 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  17, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc17 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  18, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc18 from gc_parsys);

INSERT INTO
  gc_entt (
    num, numpiec,
    enttick0, enttick1,
    enttick2, enttick3,
    enttick4, enttick5
  )
SELECT
  19, 0,
  rg0, rg1, rg2, rg3, rg4, rg5
FROM
  gc_soc WHERE numsoc=(select numsoc19 from gc_parsys);

create table gc_grspfam (
  nom     char(10),
  numsoc  smallint,
  fam     char(4),
  progr	  float);

create index ix_grspfam01 on gc_grspfam (nom, numsoc);

CLOSE DATABASE;

EOT

chmod 666 $DBPATH/gc.dbs/*.idx
chmod 666 $DBPATH/gc.dbs/*.dat

echo "Mise a jour terminee"
