Merge branch 'DEVELOP_BE' of ssh://172.18.22.160:29418/oK/PlannedGridMeasures/mics-backend into DEVELOP_BE
diff --git a/db/migrations/V0_42__CREATE_PLGM_DB.sql b/db/migrations/V0_42__CREATE_PLGM_DB.sql
new file mode 100644
index 0000000..495876f
--- /dev/null
+++ b/db/migrations/V0_42__CREATE_PLGM_DB.sql
@@ -0,0 +1,3664 @@
+/*
+**********
+********************************************************************
+* Copyright © 2018 PTA GmbH.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+*
+*     http://www.eclipse.org/legal/epl-v10.html
+*
+******************************************************************************
+*/
+--Field COLOR_CODE added in Table REF_GM_STATUS, HREF_GM_STATUS, Insert-, Delete-, and Update-Triggers
+
+-- ---------------------------------------------
+-- DROPS
+-- ---------------------------------------------
+DROP TABLE IF EXISTS public.TBL_STEPS;
+DROP SEQUENCE IF EXISTS public.TBL_STEPS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_SINGLE_GRIDMEASURE;
+DROP SEQUENCE IF EXISTS public.TBL_SINGLE_GRIDMEASURE_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_LOCK CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_LOCK_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_USER_SETTINGS CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_USER_SETTINGS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_USER_SETTINGS CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_USER_SETTINGS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_USER_DEPARTMENT CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_USER_DEPARTMENT_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_COST_CENTER CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_COST_CENTER_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_GRIDMEASURE CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_GRIDMEASURE_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_BRANCH CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_BRANCH_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_BRANCH_LEVEL CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_BRANCH_LEVEL_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_GM_STATUS CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_GM_STATUS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.tbl_documents CASCADE;
+DROP SEQUENCE IF EXISTS public.tbl_documents_id_seq;
+
+DROP TABLE IF EXISTS public.tbl_measure_documents CASCADE;
+DROP SEQUENCE IF EXISTS public.tbl_measure_documents_id_seq;
+
+DROP TABLE IF EXISTS public.tbl_id_counter CASCADE;
+DROP SEQUENCE IF EXISTS public.tbl_id_counter_id_seq;
+
+DROP TABLE IF EXISTS public.REF_TERRITORY CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_TERRITORY_ID_SEQ;
+
+
+DROP INDEX IF EXISTS public.huser_index;
+
+-- ---------------------------------------------
+-- TABLE REF_TERRITORY
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.REF_TERRITORY_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.REF_TERRITORY_ID_SEQ
+  OWNER TO plgm_service;
+
+
+CREATE TABLE public.REF_TERRITORY
+(
+  id integer NOT NULL DEFAULT nextval('REF_TERRITORY_ID_SEQ'::regclass),
+  name character varying(50) NOT NULL,
+  description character varying(255),
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT REF_TERRITORY_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.REF_TERRITORY
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.REF_TERRITORY TO plgm_service;
+
+INSERT INTO public.REF_TERRITORY(
+            name, description, create_user, create_date, mod_user, mod_date)
+    VALUES ('Nord', 'Region Nord', 'testuser','12.04.2018','testuser','12.04.2018');
+INSERT INTO public.REF_TERRITORY(
+            name, description, create_user, create_date, mod_user, mod_date)
+    VALUES ('Ost', 'Region Ost', 'testuser','12.04.2018','testuser','12.04.2018');
+INSERT INTO public.REF_TERRITORY(
+            name, description, create_user, create_date, mod_user, mod_date)
+    VALUES ('SUED', 'Region SUED', 'testuser','12.04.2018','testuser','12.04.2018');
+
+
+
+-- ---------------------------------------------
+-- TABLE TBL_LOCK
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.TBL_LOCK_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_LOCK_ID_SEQ
+  OWNER TO plgm_service;
+
+CREATE TABLE public.tbl_lock
+(
+  id integer NOT NULL DEFAULT nextval('TBL_LOCK_ID_SEQ'::regclass),
+  key integer NOT NULL, -- Id from tbl_gridmeasure
+  username character varying(50) NOT NULL,
+  info character varying(256),
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_lock_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_lock
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_lock TO plgm_service;
+
+CREATE UNIQUE INDEX tbl_lock_unique_key ON public.tbl_lock (key ASC, info ASC );
+
+-- ---------------------------------------------
+-- TABLE TBL_USER_SETTINGS
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.tbl_user_settings_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_user_settings_id_seq
+  OWNER TO plgm_service;
+
+CREATE TABLE public.tbl_user_settings
+(
+  id integer NOT NULL DEFAULT nextval('tbl_user_settings_id_seq'::regclass),
+  username character varying(50) NOT NULL,
+  setting_type character varying(50),
+  value character varying(4096),
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_user_settings_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_user_settings
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_user_settings TO plgm_service;
+
+CREATE UNIQUE INDEX tbl_user_set_unique_key ON public.tbl_user_settings (username ASC, setting_type ASC );
+
+
+
+-- ---------------------------------------------
+-- TABLE TBL_ID_COUNTER
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.tbl_id_counter_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_id_counter_id_seq
+  OWNER TO plgm_service;
+
+CREATE TABLE public.tbl_id_counter
+(
+  id integer NOT NULL DEFAULT nextval('tbl_id_counter_id_seq'::regclass),
+  counter integer NOT NULL,
+  counter_type character varying(256),
+  info character varying(256),
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_id_counter_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_id_counter
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_id_counter TO plgm_service;
+
+
+-- ---------------------------------------------
+-- TABLE REF_USER_DEPARTMENT
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.REF_USER_DEPARTMENT_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 3
+  CACHE 1;
+ALTER TABLE public.REF_USER_DEPARTMENT_ID_SEQ
+  OWNER TO plgm_service;
+
+
+CREATE TABLE public.REF_USER_DEPARTMENT
+(
+  id integer NOT NULL DEFAULT nextval('REF_USER_DEPARTMENT_ID_SEQ'::regclass),
+  name character varying(50) NOT NULL,
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT ref_user_department_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.REF_USER_DEPARTMENT
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.REF_USER_DEPARTMENT TO plgm_service;
+
+
+INSERT INTO public.ref_user_department(
+            name, create_user, create_date, mod_user, mod_date)
+    VALUES ('Schnelle Truppe', 'testuser', '12.04.2018','testuser', '12.04.2018');
+INSERT INTO public.ref_user_department(
+            name, create_user, create_date, mod_user, mod_date)
+    VALUES ('Abt. Aufsicht', 'testuser', '12.04.2018','testuser', '12.04.2018');
+INSERT INTO public.ref_user_department(
+            name, create_user, create_date, mod_user, mod_date)
+    VALUES ('Abt. Wartung', 'testuser', '12.04.2018','testuser', '12.04.2018');
+
+-- ---------------------------------------------
+-- TABLE REF_COST_CENTER
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.REF_COST_CENTER_ID_SEQ
+   INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.REF_COST_CENTER_ID_SEQ
+  OWNER TO plgm_service;
+
+
+CREATE TABLE public.REF_COST_CENTER
+(
+  id integer NOT NULL DEFAULT nextval('REF_COST_CENTER_id_seq'::regclass),
+  name character varying(50) NOT NULL,
+  description character varying(255),
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT REF_COST_CENTER_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.REF_COST_CENTER
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.REF_COST_CENTER TO plgm_service;
+
+INSERT INTO public.ref_cost_center(
+            name, description, create_user, create_date, mod_user, mod_date)
+    VALUES ('K-155', 'Kostenstelle der Abteilung abc', 'testuser','12.04.2018','testuser','12.04.2018');
+INSERT INTO public.ref_cost_center(
+            name, description, create_user, create_date, mod_user, mod_date)
+    VALUES ('K-004', 'Kostenstelle der Abteilung xyz', 'testuser','12.04.2018','testuser','12.04.2018');
+INSERT INTO public.ref_cost_center(
+            name, description, create_user, create_date, mod_user, mod_date)
+    VALUES ('K-222', 'Kostenstelle der Abteilung hij', 'testuser','12.04.2018','testuser','12.04.2018');
+
+-- ---------------------------------------------
+-- TABLE REF_BRANCH
+-- ---------------------------------------------
+CREATE SEQUENCE public.REF_BRANCH_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE public.REF_BRANCH_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE public.REF_BRANCH
+(
+  ID integer NOT NULL DEFAULT nextval('REF_BRANCH_ID_SEQ'::regclass),
+  NAME character varying(50) NOT NULL,
+  DESCRIPTION character varying(255),
+  COLOR_CODE character varying(20),
+  CREATE_USER character varying(100) NOT NULL,
+  CREATE_DATE timestamp without time zone  NOT NULL,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT REF_BRANCH_PKEY PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE public.REF_BRANCH
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE public.REF_BRANCH TO PLGM_SERVICE;
+
+INSERT INTO public.ref_branch(name, description, color_code, create_user, create_date, mod_user, mod_date)
+    VALUES ('S', 'Strom', '#fc6042','testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.ref_branch(name, description, color_code, create_user, create_date, mod_user, mod_date)
+    VALUES ('G', 'Gas', '#fdea64', 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.ref_branch(name, description, color_code, create_user, create_date, mod_user, mod_date)
+    VALUES ('F', 'Fernwärme', '#2cc990', 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.ref_branch(name, description, color_code, create_user, create_date, mod_user, mod_date)
+    VALUES ('W', 'Wasser', '#2c82c9', 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+-- ---------------------------------------------
+-- TABLE REF_BRANCH_LEVEL
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_branch_level_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_branch_level_id_seq
+  OWNER TO plgm_service;
+
+CREATE TABLE public.ref_branch_level
+(
+  id integer NOT NULL DEFAULT nextval('ref_branch_level_id_seq'::regclass),
+  name character varying(50) NOT NULL,
+  description character varying(255),
+  fk_ref_branch integer NULL,
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT ref_branch_level_pkey PRIMARY KEY (id),
+  CONSTRAINT FK_REF_BRANCH_LEVEL__REF_BRANCH FOREIGN KEY (FK_REF_BRANCH)
+      REFERENCES public.REF_BRANCH (ID) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.ref_branch_level
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.ref_branch_level TO plgm_service;
+
+INSERT INTO public.REF_BRANCH_LEVEL(
+            name, description, fk_ref_branch, create_user, create_date, mod_user, mod_date)
+    VALUES ('Strom Level1', 'eine Beschreibung', 1, 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.REF_BRANCH_LEVEL(
+            name, description, fk_ref_branch, create_user, create_date, mod_user, mod_date)
+    VALUES ('Strom Level2', 'eine Beschreibung', 1, 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.REF_BRANCH_LEVEL(
+            name, description, fk_ref_branch, create_user, create_date, mod_user, mod_date)
+    VALUES ('Strom Level3', 'eine Beschreibung', 1, 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.REF_BRANCH_LEVEL(
+            name, description, fk_ref_branch, create_user, create_date, mod_user, mod_date)
+    VALUES ('Gas Level1', 'eine Beschreibung', 2, 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.REF_BRANCH_LEVEL(
+            name, description, fk_ref_branch, create_user, create_date, mod_user, mod_date)
+    VALUES ('Gas Level2', 'noch eine Beschreibung', 2, 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+INSERT INTO public.REF_BRANCH_LEVEL(
+            name, description, fk_ref_branch, create_user, create_date, mod_user, mod_date)
+    VALUES ('Fernwärme Level3', 'und noch eine Beschreibung', 3, 'testuser', '12.04.2018', 'testuser', '12.04.2018');
+
+-- ---------------------------------------------
+-- TABLE REF_GM_STATUS
+-- ---------------------------------------------
+CREATE SEQUENCE public.REF_GM_STATUS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE public.REF_GM_STATUS_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE public.REF_GM_STATUS
+(
+  ID integer NOT NULL DEFAULT nextval('REF_GM_STATUS_ID_SEQ'::regclass),
+  NAME character varying(50) NOT NULL,
+  COLOR_CODE character varying(20),
+  CREATE_USER character varying(100) NOT NULL,
+  CREATE_DATE timestamp without time zone NOT NULL,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT REF_GM_STATUS_PKEY PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE public.REF_GM_STATUS
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE public.REF_GM_STATUS TO PLGM_SERVICE;
+
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (0,'Neu','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (1,'Beantragt','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (2,'Storniert','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (3,'Zur Genehmigung','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (4,'Genehmigt','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (5,'Angefordert','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (6,'Freigegeben','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (7,'Schalten aktiv','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (8,'In Arbeit','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (9,'Arbeit beendet','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (10,'Maßnahme beendet','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (11,'Geschlossen','system','09.04.2018','system','09.04.2018');
+INSERT INTO
+  public.REF_GM_STATUS(id, name, create_user, create_date, mod_user, mod_date)
+VALUES
+  (12,'Abgelehnt','system','17.06.2018','system','17.06.2018');
+
+
+
+-- ---------------------------------------------
+-- TABLE TBL_GRIDMEASURE
+-- ---------------------------------------------
+-- REQUESTER_NAME COLUMN DELETED--
+CREATE SEQUENCE public.TBL_GRIDMEASURE_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE public.TBL_GRIDMEASURE_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE public.tbl_gridmeasure
+(
+  id integer NOT NULL DEFAULT nextval('tbl_gridmeasure_id_seq'::regclass),
+  id_descriptive character varying(50),
+  title character varying(256),
+  affected_resource character varying(256),
+  remark character varying(1024),
+  email_addresses character varying(1024),
+  fk_ref_gm_status integer,
+  switching_object character varying(256),
+  cost_center character varying(50),
+  approval_by character varying(256),
+  area_of_switching character varying(256),
+  appointment_repetition character varying(100),
+  appointment_startdate timestamp without time zone,
+  appointment_numberof integer,
+  planned_starttime_first_sequence timestamp without time zone,
+  planned_starttime_first_singlemeasure timestamp without time zone,
+  planned_endtime_last_singlemeasure timestamp without time zone,
+  planned_endtime_gridmeasure timestamp without time zone,
+  starttime_first_sequence timestamp without time zone,
+  starttime_first_singlemeasure timestamp without time zone,
+  endtime_last_singlemeasure timestamp without time zone,
+  endtime_gridmeasure timestamp without time zone,
+  time_of_reallocation character varying(100),
+  description character varying(1024),
+  fk_ref_branch integer,
+  fk_ref_branch_level integer,
+  create_user character varying(100) NOT NULL,
+  create_user_department character varying(100),
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_user_department character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_gridmeasure_pkey PRIMARY KEY (id),
+  CONSTRAINT fk_gridmeasure__gm_status FOREIGN KEY (fk_ref_gm_status)
+      REFERENCES public.ref_gm_status (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+  CONSTRAINT fk_gridmeasure__branch FOREIGN KEY (fk_ref_branch)
+      REFERENCES public.ref_branch (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+  CONSTRAINT fk_gridmeasure__branch_level FOREIGN KEY (fk_ref_branch_level)
+      REFERENCES public.ref_branch_level (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_gridmeasure
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_gridmeasure TO plgm_service;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_1', 'Kabel erneuern', 'Kabel', 'Kabel defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 0,
+            'Kabel', 'K-155',
+            'otto', 'Frankfurt', 'einmalig', '2018-06-14 15:15:00',
+            7, '2018-06-09 15:00:00', '2018-06-10 16:30:00',
+            '2018-06-11 14:00:00', '2018-06-17 20:15:00',
+            '2018-06-14 15:15:00', '2018-06-15 15:45:00', '2018-06-16 13:00:00',
+            '2018-06-18 16:00:00', 'in zwei Tagen', 'Das Kabel austauschen', 1,
+            1, 'otto', 4, '2018-06-09 15:00:00',
+            'otto', 3, '2018-06-14 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_2', 'Lampe erneuern', 'Lampe', 'Lampe defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 1,
+            'Lampe', 'K-004',
+            'jasper', 'Mannheim', 'einmalig', '2018-06-16 15:15:00',
+            3, '2018-06-11 15:00:00', '2018-06-12 16:30:00',
+            '2018-06-13 14:00:00', '2018-06-19 20:15:00',
+            '2018-06-16 15:15:00', '2018-06-17 15:45:00', '2018-06-18 13:00:00',
+            '2018-06-20 16:00:00', 'in zwei Tagen', 'Die Lampe austauschen', 2,
+            1, 'jasper', 3, '2018-06-11 15:00:00',
+            'jasper', 4, '2018-06-14 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_3', 'Transformator erneuern', 'Transformator', 'Transformator defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 2,
+            'Transformator', 'K-222',
+            'hugo', 'Murr', 'täglich', '2018-06-17 15:15:00',
+            6, '2018-06-12 15:00:00', '2018-06-13 16:30:00',
+            '2018-06-14 14:00:00', '2018-06-20 20:15:00',
+            '2018-06-17 15:15:00', '2018-06-18 15:45:00', '2018-06-19 13:00:00',
+            '2018-06-21 16:00:00', 'in 8 Tagen', 'Den Transformator austauschen', 4,
+            1, 'hugo', 4, '2018-06-12 15:00:00',
+            'otto', 4, '2018-06-17 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_4', 'Transformator ersetzen', 'Transformator', 'Transformator kaputt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 3,
+            'Transformator', 'K-155',
+            'otto', 'Stuttgart', 'einmalig', '2018-06-18 15:15:00',
+            3, '2018-06-13 15:00:00', '2018-06-14 16:30:00',
+            '2018-06-15 14:00:00', '2018-06-21 20:15:00',
+            '2018-06-18 15:15:00', '2018-06-19 15:45:00', '2018-06-20 13:00:00',
+            '2018-06-22 16:00:00', 'in 9 Tagen', 'Den Transformator austauschen', 3,
+            1, 'otto', 4, '2018-06-13 15:00:00',
+            'otto', 5, '2018-06-18 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_5', 'Gas Station', 'Station', 'Station defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 4,
+            'Station', 'K-004',
+            'otto', 'Ludwigsburg', 'wöchentlich', '2018-07-14 15:15:00',
+            1, '2018-07-09 15:00:00', '2018-07-10 16:30:00',
+            '2018-07-11 14:00:00', '2018-07-17 20:15:00',
+            '2018-07-14 15:15:00', '2018-07-15 15:45:00', '2018-07-16 13:00:00',
+            '2018-07-18 16:00:00', 'in zwei Wochen', 'Die Gas Station untersuchen', 2,
+            1, 'otto', 5, '2018-07-09 15:00:00',
+            'otto', 3, '2018-07-14 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_6', 'Stuhl mit drei Beinen', 'Stuhl', 'Stuhl kaputt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 5,
+            'Stuhl', 'K-155',
+            'otto', 'Hamburg', 'einmalig', '2018-06-12 15:15:00',
+            3, '2018-06-07 15:00:00', '2018-06-08 16:30:00',
+            '2018-06-09 14:00:00', '2018-06-15 20:15:00',
+            '2018-06-12 15:15:00', '2018-06-13 15:45:00', '2018-06-14 13:00:00',
+            '2018-06-16 16:00:00', 'in zwei Tagen', 'Den Stuhl austauschen', 4,
+            1, 'claudio', 4, '2018-06-07 15:00:00',
+            'claudio', 3, '2018-06-12 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_7', 'Kabel vergrößern', 'Kabel', 'Kabel zu kurz', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 6,
+            'Kabel', 'K-222',
+            'dagmar', 'Steinheim', 'einmalig', '2018-08-14 15:15:00',
+            27, '2018-08-09 15:00:00', '2018-08-10 16:30:00',
+            '2018-08-11 14:00:00', '2018-08-17 20:15:00',
+            '2018-08-14 15:15:00', '2018-08-15 15:45:00', '2018-06-16 13:00:00',
+            '2018-08-18 16:00:00', 'in zwei Wochen', 'Das Kabel vergrößern', 3,
+            1, 'claudio', 3, '2018-08-09 15:00:00',
+            'bruno', 5, '2018-08-14 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_8', 'Transformator austauschen', 'Transformator', 'Transformator 160 Grads', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 7,
+            'Transformator', 'K-155',
+            'dagmar', 'Murr', 'täglich', '2018-06-14 15:15:00',
+            6, '2018-06-09 15:00:00', '2018-06-10 16:30:00',
+            '2018-06-11 14:00:00', '2018-06-17 20:15:00',
+            '2018-06-14 15:15:00', '2018-06-15 15:45:00', '2018-06-16 13:00:00',
+            '2018-06-18 16:00:00', 'in zwei Tagen', 'Den Transformator austauschen', 1,
+            1, 'dagmar', 4, '2018-06-09 15:00:00',
+            'dagmar', 3, '2018-06-14 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_9', 'Alles kaputt', 'Alles', 'Alles defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 8,
+            'Alles', 'K-222',
+            'otto', 'Berlin', 'einmalig', '2018-06-15 15:15:00',
+            2, '2018-06-10 15:00:00', '2018-06-11 16:30:00',
+            '2018-06-12 14:00:00', '2018-06-18 20:15:00',
+            '2018-06-15 15:15:00', '2018-06-16 15:45:00', '2018-06-17 13:00:00',
+            '2018-06-19 16:00:00', 'in zwei Jahren', 'Alles wegwerfen', 2,
+            3, 'bruno', 5, '2018-06-10 15:00:00',
+            'claudio', 5, '2018-06-15 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_10', 'Schalter erneuern', 'Schalter', 'Schalter defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 9,
+            'Schalter', 'K-004',
+            'hugo', 'Kassel', 'einmalig', '2018-08-14 15:15:00',
+            9, '2018-08-09 15:00:00', '2018-08-10 16:30:00',
+            '2018-08-11 14:00:00', '2018-08-17 20:15:00',
+            '2018-08-14 15:15:00', '2018-08-15 15:45:00', '2018-08-16 13:00:00',
+            '2018-08-18 16:00:00', 'in 6 Tagen', 'Den Schalter austauschen', 1,
+            1, 'dagmar', 3, '2018-08-09 15:00:00',
+            'otto', 3, '2018-08-14 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_11', 'Rechner austauschen', 'Rechner', 'Rechner defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 10,
+            'Rechner', 'K-155',
+            'claudio', 'Murr', 'einmalig', '2018-06-12 15:15:00',
+            3, '2018-06-07 15:00:00', '2018-06-08 16:30:00',
+            '2018-06-09 14:00:00', '2018-06-15 20:15:00',
+            '2018-06-12 15:15:00', '2018-06-13 15:45:00', '2018-06-14 13:00:00',
+            '2018-06-16 16:00:00', 'in zwei Tagen', 'Den Rechner austauschen', 4,
+            1, 'hugo', 5, '2018-06-07 15:00:00',
+            'otto', 3, '2018-06-12 15:15:00');
+
+INSERT INTO public.tbl_gridmeasure(
+            id_descriptive, title, affected_resource, remark, email_addresses, fk_ref_gm_status,
+            switching_object, cost_center,
+            approval_by, area_of_switching, appointment_repetition, appointment_startdate,
+            appointment_numberof, planned_starttime_first_sequence, planned_starttime_first_singlemeasure,
+            planned_endtime_last_singlemeasure, planned_endtime_gridmeasure,
+            starttime_first_sequence, starttime_first_singlemeasure, endtime_last_singlemeasure,
+            endtime_gridmeasure, time_of_reallocation, description, fk_ref_branch,
+            fk_ref_branch_level, create_user, create_user_department, create_date,
+            mod_user, mod_user_department, mod_date)
+    VALUES ('2018_12', 'Maschine untersuchen', 'Maschine', 'Maschine defekt', 'mailingListRecipient@test.de; mailingList2Recipient@test.de', 11,
+            'Maschine', 'K-004',
+            'otto', 'Ludwigsburg', 'einmalig', '2018-06-20 15:15:00',
+            5, '2018-06-15 15:00:00', '2018-06-16 16:30:00',
+            '2018-06-17 14:00:00', '2018-06-23 20:15:00',
+            '2018-06-20 15:15:00', '2018-06-21 15:45:00', '2018-06-22 13:00:00',
+            '2018-06-24 16:00:00', 'in 8 Tagen', 'Die Maschine austauschen', 1,
+            1, 'bruno', 4, '2018-06-15 15:00:00',
+            'bruno', 3, '2018-06-20 15:15:00');
+
+
+
+
+-- ---------------------------------------------
+-- TABLE TBL_SINGLE_GRIDMEASURE
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.tbl_single_gridmeasure_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_single_gridmeasure_id_seq
+  OWNER TO plgm_service;
+
+CREATE TABLE public.tbl_single_gridmeasure
+(
+  id integer NOT NULL DEFAULT nextval('tbl_single_gridmeasure_id_seq'::regclass),
+  sortorder integer NOT NULL,
+  title character varying(256),
+  switching_object character varying(256),
+  cim_id character varying(256),
+  cim_name character varying(256),
+  cim_description character varying(1024),
+  planned_starttime_singlemeasure timestamp without time zone,
+  planned_endtime_singlemeasure timestamp without time zone,
+  description character varying(1024),
+  responsible_onsite_name character varying(256),
+  responsible_onsite_department character varying(256),
+  network_control character varying(256),
+  fk_tbl_gridmeasure integer NOT NULL,
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_single_gridmeasure_pkey PRIMARY KEY (id),
+  CONSTRAINT fk_single_gridmeasure__gridmeasure FOREIGN KEY (fk_tbl_gridmeasure)
+      REFERENCES public.tbl_gridmeasure (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_single_gridmeasure
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_single_gridmeasure TO plgm_service;
+
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Lampe ausschalten', 'Lampe', '2', 'cim', 'cim Beschreibung',
+            '2018-06-10 16:30:00', '2018-06-11 14:00:00',
+            'Beschreibung', 1, 'Otto', '01.07.2018', 'Otto',
+            '01.07.2018');
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (2, 'Kabel kürzen', 'Kabel', '2', 'cim', 'cim Beschreibung',
+            '2018-06-10 16:30:00', '2018-06-11 14:00:00',
+            'Beschreibung', 1, 'Otto', '01.07.2018', 'Otto',
+            '01.07.2018');
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (3, 'Transformator tauschen', 'Transformator', '2', 'cim', 'cim Beschreibung',
+            '2018-06-10 16:30:00', '2018-06-11 14:00:00',
+            'Beschreibung', 1, 'Otto', '01.07.2018', 'Otto',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Lampe erneuern', 'Lampe', '2', 'cim', 'cim Beschreibung',
+            '2018-06-12 16:30:00', '2018-06-13 14:00:00',
+            'Beschreibung', 2, 'Hugo', '01.07.2018', 'Hugo',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Transformator', 'Transformator', '2', 'cim', 'cim Beschreibung',
+            '2018-06-13 16:30:00', '2018-06-14 14:00:00',
+            'Beschreibung', 3, 'Hugo', '01.07.2018', 'Hugo',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Transformator', 'Transformator', '2', 'cim', 'cim Beschreibung',
+            '2018-06-14 16:30:00', '2018-06-15 14:00:00',
+            'Beschreibung', 4, 'Hugo', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Gas', 'Gas', '2', 'cim', 'cim Beschreibung',
+            '2018-07-10 16:30:00', '2018-07-11 14:00:00',
+            'Beschreibung', 5, 'Jasper', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (2, 'Gas 2', 'Gas', '2', 'cim', 'cim Beschreibung',
+            '2018-07-10 16:30:00', '2018-07-11 14:00:00',
+            'Beschreibung', 5, 'Jasper', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Stuhl', 'Stuhl', '2', 'cim', 'cim Beschreibung',
+            '2018-06-08 16:30:00', '2018-06-09 14:00:00',
+            'Beschreibung', 6, 'Otto', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Kabel', 'Kabel', '2', 'cim', 'cim Beschreibung',
+            '2018-08-10 16:30:00', '2018-08-11 14:00:00',
+            'Beschreibung', 7, 'Otto', '01.07.2018', 'Hugo',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Transformator', 'Transformator', '2', 'cim', 'cim Beschreibung',
+            '2018-06-10 16:30:00', '2018-06-11 14:00:00',
+            'Beschreibung', 8, 'Hugo', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (2, 'Transformator 2', 'Transformator', '2', 'cim', 'cim Beschreibung',
+            '2018-06-10 16:30:00', '2018-06-11 14:00:00',
+            'Beschreibung', 8, 'Hugo', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Alles', 'Alles', '2', 'cim', 'cim Beschreibung',
+            '2018-06-11 16:30:00', '2018-06-12 14:00:00',
+            'Beschreibung', 9, 'Otto', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Schalter', 'Schalter', '2', 'cim', 'cim Beschreibung',
+            '2018-08-10 16:30:00', '2018-08-11 14:00:00',
+            'Beschreibung', 10, 'Otto', '01.07.2018', 'Hugo',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (2, 'Schalter 2', 'Schalter', '2', 'cim', 'cim Beschreibung',
+            '2018-08-10 16:30:00', '2018-08-11 14:00:00',
+            'Beschreibung', 10, 'Otto', '01.07.2018', 'Hugo',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Rechner', 'Rechner', '2', 'cim', 'cim Beschreibung',
+            '2018-06-08 16:30:00', '2018-06-09 14:00:00',
+            'Beschreibung', 11, 'Jasper', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+INSERT INTO public.tbl_single_gridmeasure(
+            sortorder, title, switching_object, cim_id, cim_name, cim_description,
+            planned_starttime_singlemeasure, planned_endtime_singlemeasure,
+            description, fk_tbl_gridmeasure, create_user, create_date, mod_user,
+            mod_date)
+    VALUES (1, 'Maschine', 'Maschine', '2', 'cim', 'cim Beschreibung',
+            '2018-06-16 16:30:00', '2018-06-17 14:00:00',
+            'Beschreibung', 12, 'Hugo', '01.07.2018', 'Jasper',
+            '01.07.2018');
+
+
+-- ---------------------------------------------
+-- TABLE TBL_STEPS
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.tbl_steps_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_steps_id_seq
+  OWNER TO plgm_service;
+
+CREATE TABLE public.tbl_steps
+(
+  id integer NOT NULL DEFAULT nextval('tbl_steps_id_seq'::regclass),
+  sortorder integer NOT NULL,
+  switching_object character varying(256),
+  type character varying(256),
+  present_time character varying(256),
+  present_state character varying(256),
+  target_state character varying(256),
+  operator character varying(256),
+  fk_tbl_single_gridmeasure integer NOT NULL,
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_steps_pkey PRIMARY KEY (id),
+  CONSTRAINT fk_steps__single_gridmeasure FOREIGN KEY (fk_tbl_single_gridmeasure)
+      REFERENCES public.tbl_single_gridmeasure (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_steps
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_steps TO plgm_service;
+
+
+-- ---------------------------------------------
+-- TABLE REF_VERSION
+-- ---------------------------------------------
+
+DROP TABLE IF EXISTS public.REF_VERSION;
+
+CREATE TABLE public.REF_VERSION
+(
+  id integer NOT NULL,
+  version character varying(100) NOT NULL,
+  CONSTRAINT ref_version_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.REF_VERSION
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE public.REF_VERSION TO PLGM_SERVICE;
+
+INSERT INTO REF_VERSION VALUES (1, '0.0.1_PG');
+
+-- ---------------------------------------------
+-- TABLE TBL_DOCUMENTS
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.tbl_documents_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_documents_id_seq
+  OWNER TO plgm_service;
+
+CREATE TABLE public.tbl_documents
+(
+  id integer NOT NULL DEFAULT nextval('tbl_documents_id_seq'::regclass),
+  document_name character varying(260),
+  document bytea,
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_documents_pkey PRIMARY KEY (id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_documents
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_documents TO plgm_service;
+
+
+-- ---------------------------------------------
+-- TABLE TBL_MEASURE_DOCUMENTS
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.tbl_measure_documents_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_measure_documents_id_seq
+  OWNER TO plgm_service;
+
+CREATE TABLE public.tbl_measure_documents
+(
+  id integer NOT NULL DEFAULT nextval('tbl_measure_documents_id_seq'::regclass),
+  fk_tbl_measure integer,
+  fk_tbl_documents integer,
+  create_user character varying(100) NOT NULL,
+  create_date timestamp without time zone NOT NULL,
+  mod_user character varying(100),
+  mod_date timestamp without time zone,
+  CONSTRAINT tbl_measure_documents_pkey PRIMARY KEY (id),
+  CONSTRAINT fk_tbl_measure_documents_measure FOREIGN KEY (fk_tbl_measure)
+      REFERENCES public.tbl_gridmeasure (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE CASCADE,
+  CONSTRAINT fk_tbl_measure_documents_documents FOREIGN KEY (fk_tbl_documents)
+      REFERENCES public.tbl_documents (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_measure_documents
+  OWNER TO plgm_service;
+GRANT ALL ON TABLE public.tbl_measure_documents TO plgm_service;
+
+
+
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- HISTORY-TABLES
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+
+-- PUBLIC.HREF_TERRITORY Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HREF_TERRITORY;
+DROP SEQUENCE IF EXISTS PUBLIC.HREF_TERRITORY_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HREF_TERRITORY_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HREF_TERRITORY_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HREF_TERRITORY
+(
+  HID integer NOT NULL DEFAULT nextval('HREF_TERRITORY_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  NAME character varying (50),
+  DESCRIPTION character varying (255),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HREF_TERRITORY_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HREF_TERRITORY
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HREF_TERRITORY TO PLGM_SERVICE;
+
+
+
+-- PUBLIC.HTBL_LOCK Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_LOCK;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_LOCK_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_LOCK_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_LOCK_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HTBL_LOCK
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_LOCK_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  KEY integer,
+  USERNAME character varying (50),
+  INFO character varying (256),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_LOCK_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_LOCK
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_LOCK TO PLGM_SERVICE;
+
+
+
+
+-- PUBLIC.HTBL_USER_SETTINGS Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_USER_SETTINGS;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_USER_SETTINGS_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_USER_SETTINGS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_USER_SETTINGS_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HTBL_USER_SETTINGS
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_USER_SETTINGS_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  USERNAME character varying (50),
+  SETTING_TYPE character varying (50),
+  VALUE character varying(4096),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_USER_SETTINGS_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_USER_SETTINGS
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_USER_SETTINGS TO PLGM_SERVICE;
+
+
+-- PUBLIC.HREF_USER_DEPARTMENT Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HREF_USER_DEPARTMENT;
+DROP SEQUENCE IF EXISTS PUBLIC.HREF_USER_DEPARTMENT_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HREF_USER_DEPARTMENT_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HREF_USER_DEPARTMENT_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HREF_USER_DEPARTMENT
+(
+  HID integer NOT NULL DEFAULT nextval('HREF_USER_DEPARTMENT_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  NAME character varying (50),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HREF_USER_DEPARTMENT_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HREF_USER_DEPARTMENT
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HREF_USER_DEPARTMENT TO PLGM_SERVICE;
+
+
+-- PUBLIC.HREF_COST_CENTER Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HREF_COST_CENTER;
+DROP SEQUENCE IF EXISTS PUBLIC.HREF_COST_CENTER_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HREF_COST_CENTER_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HREF_COST_CENTER_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HREF_COST_CENTER
+(
+  HID integer NOT NULL DEFAULT nextval('HREF_COST_CENTER_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  NAME character varying (50),
+  DESCRIPTION character varying (255),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HREF_COST_CENTER_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HREF_COST_CENTER
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HREF_COST_CENTER TO PLGM_SERVICE;
+
+-- PUBLIC.HREF_BRANCH Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HREF_BRANCH;
+DROP SEQUENCE IF EXISTS PUBLIC.HREF_BRANCH_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HREF_BRANCH_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HREF_BRANCH_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HREF_BRANCH
+(
+  HID integer NOT NULL DEFAULT nextval('HREF_BRANCH_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  NAME character varying (50),
+  DESCRIPTION character varying (255),
+  COLOR_CODE character varying (20),
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HREF_BRANCH_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HREF_BRANCH
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HREF_BRANCH TO PLGM_SERVICE;
+
+-- PUBLIC.HREF_BRANCH_LEVEL Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HREF_BRANCH_LEVEL;
+DROP SEQUENCE IF EXISTS PUBLIC.HREF_BRANCH_LEVEL_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HREF_BRANCH_LEVEL_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HREF_BRANCH_LEVEL_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HREF_BRANCH_LEVEL
+(
+  HID integer NOT NULL DEFAULT nextval('HREF_BRANCH_LEVEL_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  NAME character varying (50),
+  DESCRIPTION character varying (255),
+  FK_REF_BRANCH integer,
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HREF_BRANCH_LEVEL_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HREF_BRANCH_LEVEL
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HREF_BRANCH_LEVEL TO PLGM_SERVICE;
+
+
+-- PUBLIC.HREF_GM_STATUS Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HREF_GM_STATUS;
+DROP SEQUENCE IF EXISTS PUBLIC.HREF_GM_STATUS_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HREF_GM_STATUS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HREF_GM_STATUS_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HREF_GM_STATUS
+(
+  HID integer NOT NULL DEFAULT nextval('HREF_GM_STATUS_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  NAME character varying(50),
+  COLOR_CODE character varying(20),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HREF_GM_STATUS_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HREF_GM_STATUS
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HREF_GM_STATUS TO PLGM_SERVICE;
+
+
+-- PUBLIC.HTBL_GRIDMEASURE Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+-- REQUESTER_NAME COLUMN DELETED--
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_GRIDMEASURE;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_GRIDMEASURE_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_GRIDMEASURE_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_GRIDMEASURE_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HTBL_GRIDMEASURE
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_GRIDMEASURE_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  ID_DESCRIPTIVE character varying (50),
+  TITLE character varying (256),
+  AFFECTED_RESOURCE character varying (256),
+  REMARK character varying (1024),
+  EMAIL_ADDRESSES character varying(1024),
+  FK_REF_GM_STATUS integer,
+  SWITCHING_OBJECT character varying (256),
+  COST_CENTER character varying (50),
+  APPROVAL_BY character varying (256),
+  AREA_OF_SWITCHING character varying (256),
+  APPOINTMENT_REPETITION character varying (100),
+  APPOINTMENT_STARTDATE timestamp without time zone,
+  APPOINTMENT_NUMBEROF integer,
+  PLANNED_STARTTIME_FIRST_SEQUENCE timestamp without time zone,
+  PLANNED_STARTTIME_FIRST_SINGLEMEASURE timestamp without time zone,
+  PLANNED_ENDTIME_LAST_SINGLEMEASURE timestamp without time zone,
+  PLANNED_ENDTIME_GRIDMEASURE timestamp without time zone,
+  STARTTIME_FIRST_SEQUENCE timestamp without time zone,
+  STARTTIME_FIRST_SINGLEMEASURE timestamp without time zone,
+  ENDTIME_LAST_SINGLEMEASURE timestamp without time zone,
+  ENDTIME_GRIDMEASURE timestamp without time zone,
+  TIME_OF_REALLOCATION character varying (100),
+  DESCRIPTION character varying (1024),
+  FK_REF_BRANCH integer,
+  FK_REF_BRANCH_LEVEL integer,
+  CREATE_USER_DEPARTMENT character varying (100),
+  MOD_USER_DEPARTMENT character varying (100),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_GRIDMEASURE_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_GRIDMEASURE
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_GRIDMEASURE TO PLGM_SERVICE;
+
+CREATE INDEX HUSER_INDEX ON PUBLIC.HTBL_GRIDMEASURE (HUSER);
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'otto',12,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'otto',12,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'otto',12,3, 'admin', '2018-06-11 14:03:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:04:00', 'otto',12,4, 'admin', '2018-06-11 14:04:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:05:00', 'otto',12,5, 'admin', '2018-06-11 14:05:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:06:00', 'otto',12,6, 'admin', '2018-06-11 14:06:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:07:00', 'otto',12,7, 'admin', '2018-06-11 14:07:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:08:00', 'otto',12,8, 'admin', '2018-06-11 14:08:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:09:00', 'otto',12,9, 'admin', '2018-06-11 14:09:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:10:00', 'otto',12,10, 'admin', '2018-06-11 14:10:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:11:00', 'otto',12,11, 'admin', '2018-06-11 14:11:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-07-01 14:55:00', 'admin',13,0, 'admin', '2018-07-01 14:55:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-07-01 14:56:00', 'admin',13,1, 'admin', '2018-07-01 14:56:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-07-01 14:57:00', 'admin',13,3, 'admin', '2018-07-01 14:57:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-07-01 14:57:00', 'admin',13,12, 'admin', '2018-07-01 14:57:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:00:00', 'admin',11,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:01:00', 'admin',11,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:02:00', 'admin',11,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:03:00', 'admin',11,4, 'admin', '2018-06-11 14:03:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:04:00', 'admin',11,5, 'admin', '2018-06-11 14:04:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:05:00', 'admin',11,6, 'admin', '2018-06-11 14:05:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:06:00', 'admin',11,7, 'admin', '2018-06-11 14:06:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:07:00', 'admin',11,8, 'admin', '2018-06-11 14:07:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:08:00', 'admin',11,9, 'admin', '2018-06-11 14:08:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (1, '2018-06-11 14:09:00', 'admin',11,10, 'admin', '2018-06-11 14:09:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',10,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',10,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',10,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'admin',10,4, 'admin', '2018-06-11 14:03:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:04:00', 'admin',10,5, 'admin', '2018-06-11 14:04:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:05:00', 'admin',10,6, 'admin', '2018-06-11 14:05:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:06:00', 'admin',10,7, 'admin', '2018-06-11 14:06:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:07:00', 'admin',10,8, 'admin', '2018-06-11 14:07:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:08:00', 'admin',10,9, 'admin', '2018-06-11 14:08:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',9,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',9,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',9,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'admin',9,4, 'admin', '2018-06-11 14:03:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:04:00', 'admin',9,5, 'admin', '2018-06-11 14:04:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:05:00', 'admin',9,6, 'admin', '2018-06-11 14:05:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:06:00', 'admin',9,7, 'admin', '2018-06-11 14:06:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:07:00', 'admin',9,8, 'admin', '2018-06-11 14:07:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',8,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',8,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',8,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'admin',8,4, 'admin', '2018-06-11 14:03:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:04:00', 'admin',8,5, 'admin', '2018-06-11 14:04:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:05:00', 'admin',8,6, 'admin', '2018-06-11 14:05:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:06:00', 'admin',8,7, 'admin', '2018-06-11 14:06:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',7,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',7,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',7,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'admin',7,4, 'admin', '2018-06-11 14:03:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:04:00', 'admin',7,5, 'admin', '2018-06-11 14:04:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:05:00', 'admin',7,6, 'admin', '2018-06-11 14:05:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',6,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',6,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',6,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'admin',6,4, 'admin', '2018-06-11 14:03:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:04:00', 'admin',6,5, 'admin', '2018-06-11 14:04:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',5,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',5,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',5,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'admin',5,4, 'admin', '2018-06-11 14:03:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',4,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',4,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',4,3, 'admin', '2018-06-11 14:02:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',3,0, 'admin', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',3,1, 'admin', '2018-06-11 14:01:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:02:00', 'admin',3,3, 'admin', '2018-06-11 14:02:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:03:00', 'admin',3,2, 'admin', '2018-06-11 14:03:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:00:00', 'admin',2,0, 'jasper', '2018-06-11 14:00:00');
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',2,1, 'jasper', '2018-06-11 14:01:00');
+
+
+INSERT INTO public.htbl_gridmeasure(haction, hdate, huser, id, fk_ref_gm_status, mod_user, mod_date)
+VALUES (2, '2018-06-11 14:01:00', 'admin',1,0, 'otto', '2018-06-11 14:01:00');
+
+-- PUBLIC.HTBL_ID_COUNTER Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_ID_COUNTER;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_ID_COUNTER_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_ID_COUNTER_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_ID_COUNTER_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HTBL_ID_COUNTER
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_ID_COUNTER_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  COUNTER integer,
+  COUNTER_TYPE character varying (256),
+  INFO character varying (256),
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_ID_COUNTER_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_ID_COUNTER
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_ID_COUNTER TO PLGM_SERVICE;
+
+
+
+-- PUBLIC.HTBL_SINGLE_GRIDMEASURE Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_SINGLE_GRIDMEASURE;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_SINGLE_GRIDMEASURE_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_SINGLE_GRIDMEASURE_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_SINGLE_GRIDMEASURE_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+
+
+CREATE TABLE PUBLIC.HTBL_SINGLE_GRIDMEASURE
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_SINGLE_GRIDMEASURE_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  SORTORDER integer,
+  TITLE character varying (256),
+  SWITCHING_OBJECT character varying (256),
+  CIM_ID character varying (256),
+  CIM_NAME character varying (256),
+  CIM_DESCRIPTION character varying (1024),
+  RESPONSIBLE_ONSITE_NAME character varying(256),
+  RESPONSIBLE_ONSITE_DEPARTMENT character varying(256),
+  NETWORK_CONTROL character varying (256),
+  PLANNED_STARTTIME_SINGLEMEASURE timestamp without time zone,
+  PLANNED_ENDTIME_SINGLEMEASURE timestamp without time zone,
+  DESCRIPTION character varying (1024),
+  FK_TBL_GRIDMEASURE integer,
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_SINGLE_GRIDMEASURE_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_SINGLE_GRIDMEASURE
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_SINGLE_GRIDMEASURE TO PLGM_SERVICE;
+
+
+
+
+-- PUBLIC.HTBL_STEPS Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_STEPS;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_STEPS_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_STEPS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_STEPS_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HTBL_STEPS
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_STEPS_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  SORTORDER integer,
+  SWITCHING_OBJECT character varying (256),
+  TYPE character varying(256),
+  PRESENT_TIME character varying(256),
+  PRESENT_STATE character varying(256),
+  TARGET_STATE character varying (256),
+  OPERATOR character varying(256),
+  FK_TBL_SINGLE_GRIDMEASURE integer,
+  CREATE_USER character varying (100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying (100),
+  MOD_DATE timestamp without time zone,
+
+  CONSTRAINT HTBL_STEPS_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_STEPS
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_STEPS TO PLGM_SERVICE;
+
+
+-- PUBLIC.HTBL_DOCUMENTS Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_DOCUMENTS;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_DOCUMENTS_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_DOCUMENTS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_DOCUMENTS_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HTBL_DOCUMENTS
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_DOCUMENTS_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  DOCUMENT_NAME character varying (260),
+  DOCUMENT bytea,
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_DOCUMENTS_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_DOCUMENTS
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_DOCUMENTS TO PLGM_SERVICE;
+
+-- PUBLIC.HTBL_MEASURE_DOCUMENTS Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_MEASURE_DOCUMENTS;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_MEASURE_DOCUMENTS_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_MEASURE_DOCUMENTS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_MEASURE_DOCUMENTS_ID_SEQ
+  OWNER TO PLGM_SERVICE;
+
+CREATE TABLE PUBLIC.HTBL_MEASURE_DOCUMENTS
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_MEASURE_DOCUMENTS_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  FK_TBL_MEASURE integer,
+  FK_TBL_DOCUMENTS integer,
+
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_MEASURE_DOCUMENTS_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_MEASURE_DOCUMENTS
+  OWNER TO PLGM_SERVICE;
+GRANT ALL ON TABLE PUBLIC.HTBL_MEASURE_DOCUMENTS TO PLGM_SERVICE;
+
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- TRIGGER
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+
+-- ---------------------------------------------
+-- TRIGGER REF_TERRITORY
+-- ---------------------------------------------
+
+
+-- PUBLIC.REF_TERRITORY INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.REF_TERRITORY_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_TERRITORY (
+						  ID,NAME,DESCRIPTION,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_TERRITORY_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS REF_TERRITORY_INSERT_TRG ON PUBLIC.REF_TERRITORY;
+
+CREATE TRIGGER REF_TERRITORY_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.REF_TERRITORY
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_TERRITORY_INSERT_TRG();
+
+
+
+-- PUBLIC.REF_TERRITORY UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_TERRITORY_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_TERRITORY (
+						  ID,NAME,DESCRIPTION,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_TERRITORY_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_TERRITORY_UPDATE_TRG ON PUBLIC.REF_TERRITORY;
+
+CREATE TRIGGER REF_TERRITORY_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.REF_TERRITORY
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_TERRITORY_UPDATE_TRG();
+
+
+
+-- PUBLIC.REF_TERRITORY DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_TERRITORY_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HREF_TERRITORY (
+
+						  ID,NAME,DESCRIPTION,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.NAME,OLD.DESCRIPTION,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_TERRITORY_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_TERRITORY_DELETE_TRG ON PUBLIC.REF_TERRITORY;
+
+CREATE TRIGGER REF_TERRITORY_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.REF_TERRITORY
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_TERRITORY_DELETE_TRG();
+
+
+
+-- PUBLIC.TBL_ID_COUNTER INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_ID_COUNTER_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_ID_COUNTER (
+						  ID,COUNTER,COUNTER_TYPE,INFO,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.COUNTER,NEW.COUNTER_TYPE,NEW.INFO,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_ID_COUNTER_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS TBL_ID_COUNTER_INSERT_TRG ON PUBLIC.TBL_ID_COUNTER;
+
+CREATE TRIGGER TBL_ID_COUNTER_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_ID_COUNTER
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_ID_COUNTER_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_ID_COUNTER UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_ID_COUNTER_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_ID_COUNTER (
+						  ID,COUNTER,COUNTER_TYPE,INFO,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.COUNTER,NEW.COUNTER_TYPE,NEW.INFO,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_ID_COUNTER_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_ID_COUNTER_UPDATE_TRG ON PUBLIC.TBL_ID_COUNTER;
+
+CREATE TRIGGER TBL_ID_COUNTER_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_ID_COUNTER
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_ID_COUNTER_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_ID_COUNTER DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_ID_COUNTER_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_ID_COUNTER (
+
+						  ID,COUNTER,COUNTER_TYPE,INFO,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.COUNTER,OLD.COUNTER_TYPE,OLD.INFO,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_ID_COUNTER_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_ID_COUNTER_DELETE_TRG ON PUBLIC.TBL_ID_COUNTER;
+
+CREATE TRIGGER TBL_ID_COUNTER_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_ID_COUNTER
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_ID_COUNTER_DELETE_TRG();
+
+
+
+-- PUBLIC.TBL_SINGLE_GRIDMEASURE INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_SINGLE_GRIDMEASURE_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_SINGLE_GRIDMEASURE (
+						  ID,SORTORDER,TITLE,SWITCHING_OBJECT,CIM_ID,CIM_NAME,CIM_DESCRIPTION,PLANNED_STARTTIME_SINGLEMEASURE,PLANNED_ENDTIME_SINGLEMEASURE,DESCRIPTION, RESPONSIBLE_ONSITE_NAME, RESPONSIBLE_ONSITE_DEPARTMENT,NETWORK_CONTROL,FK_TBL_GRIDMEASURE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.SORTORDER,NEW.TITLE,NEW.SWITCHING_OBJECT,NEW.CIM_ID,NEW.CIM_NAME,NEW.CIM_DESCRIPTION,NEW.PLANNED_STARTTIME_SINGLEMEASURE,NEW.PLANNED_ENDTIME_SINGLEMEASURE,NEW.DESCRIPTION, NEW.RESPONSIBLE_ONSITE_NAME, NEW.RESPONSIBLE_ONSITE_DEPARTMENT,NEW.NETWORK_CONTROL,NEW.FK_TBL_GRIDMEASURE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_SINGLE_GRIDMEASURE_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS TBL_SINGLE_GRIDMEASURE_INSERT_TRG ON PUBLIC.TBL_SINGLE_GRIDMEASURE;
+
+CREATE TRIGGER TBL_SINGLE_GRIDMEASURE_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_SINGLE_GRIDMEASURE
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_SINGLE_GRIDMEASURE_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_SINGLE_GRIDMEASURE UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_SINGLE_GRIDMEASURE_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_SINGLE_GRIDMEASURE (
+						  ID,SORTORDER,TITLE,SWITCHING_OBJECT,CIM_ID,CIM_NAME,CIM_DESCRIPTION,PLANNED_STARTTIME_SINGLEMEASURE,PLANNED_ENDTIME_SINGLEMEASURE,DESCRIPTION,RESPONSIBLE_ONSITE_NAME, RESPONSIBLE_ONSITE_DEPARTMENT,NETWORK_CONTROL,FK_TBL_GRIDMEASURE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.SORTORDER,NEW.TITLE,NEW.SWITCHING_OBJECT,NEW.CIM_ID,NEW.CIM_NAME,NEW.CIM_DESCRIPTION,NEW.PLANNED_STARTTIME_SINGLEMEASURE,NEW.PLANNED_ENDTIME_SINGLEMEASURE,NEW.DESCRIPTION,NEW.RESPONSIBLE_ONSITE_NAME, NEW.RESPONSIBLE_ONSITE_DEPARTMENT,NEW.NETWORK_CONTROL,NEW.FK_TBL_GRIDMEASURE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_SINGLE_GRIDMEASURE_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_SINGLE_GRIDMEASURE_UPDATE_TRG ON PUBLIC.TBL_SINGLE_GRIDMEASURE;
+
+CREATE TRIGGER TBL_SINGLE_GRIDMEASURE_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_SINGLE_GRIDMEASURE
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_SINGLE_GRIDMEASURE_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_SINGLE_GRIDMEASURE DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_SINGLE_GRIDMEASURE_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_SINGLE_GRIDMEASURE (
+
+						  ID,SORTORDER,TITLE,SWITCHING_OBJECT,CIM_ID,CIM_NAME,CIM_DESCRIPTION,PLANNED_STARTTIME_SINGLEMEASURE,PLANNED_ENDTIME_SINGLEMEASURE,DESCRIPTION,RESPONSIBLE_ONSITE_NAME, RESPONSIBLE_ONSITE_DEPARTMENT, NETWORK_CONTROL,FK_TBL_GRIDMEASURE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.SORTORDER,OLD.TITLE,OLD.SWITCHING_OBJECT,OLD.CIM_ID,OLD.CIM_NAME,OLD.CIM_DESCRIPTION,OLD.PLANNED_STARTTIME_SINGLEMEASURE,OLD.PLANNED_ENDTIME_SINGLEMEASURE,OLD.DESCRIPTION,OLD.RESPONSIBLE_ONSITE_NAME, OLD.RESPONSIBLE_ONSITE_DEPARTMENT,OLD.NETWORK_CONTROL,OLD.FK_TBL_GRIDMEASURE,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_SINGLE_GRIDMEASURE_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_SINGLE_GRIDMEASURE_DELETE_TRG ON PUBLIC.TBL_SINGLE_GRIDMEASURE;
+
+CREATE TRIGGER TBL_SINGLE_GRIDMEASURE_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_SINGLE_GRIDMEASURE
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_SINGLE_GRIDMEASURE_DELETE_TRG();
+
+
+
+
+
+-- PUBLIC.TBL_STEPS INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_STEPS_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_STEPS (
+						  ID,SORTORDER,SWITCHING_OBJECT,TYPE,PRESENT_TIME, PRESENT_STATE, TARGET_STATE, OPERATOR, FK_TBL_SINGLE_GRIDMEASURE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.SORTORDER,NEW.SWITCHING_OBJECT,NEW.TYPE, NEW.PRESENT_TIME, NEW.PRESENT_STATE, NEW.TARGET_STATE, NEW.OPERATOR, NEW.FK_TBL_SINGLE_GRIDMEASURE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_STEPS_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_STEPS_INSERT_TRG ON PUBLIC.TBL_STEPS;
+
+CREATE TRIGGER TBL_STEPS_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_STEPS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_STEPS_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_STEPS UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_STEPS_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_STEPS (
+						  ID,SORTORDER,SWITCHING_OBJECT,TYPE,PRESENT_TIME, PRESENT_STATE, TARGET_STATE, OPERATOR,FK_TBL_SINGLE_GRIDMEASURE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.SORTORDER,NEW.SWITCHING_OBJECT,NEW.TYPE,NEW.PRESENT_TIME, NEW.PRESENT_STATE, NEW.TARGET_STATE, NEW.OPERATOR,NEW.FK_TBL_SINGLE_GRIDMEASURE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_STEPS_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_STEPS_UPDATE_TRG ON PUBLIC.TBL_STEPS;
+
+CREATE TRIGGER TBL_STEPS_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_STEPS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_STEPS_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_STEPS DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_STEPS_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_STEPS (
+
+						  ID,SORTORDER,SWITCHING_OBJECT,TYPE,PRESENT_TIME, PRESENT_STATE, TARGET_STATE, OPERATOR,FK_TBL_SINGLE_GRIDMEASURE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.SORTORDER,OLD.SWITCHING_OBJECT,OLD.TYPE,OLD.PRESENT_TIME, OLD.PRESENT_STATE, OLD.TARGET_STATE, OLD.OPERATOR,OLD.FK_TBL_SINGLE_GRIDMEASURE,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_STEPS_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_STEPS_DELETE_TRG ON PUBLIC.TBL_STEPS;
+
+CREATE TRIGGER TBL_STEPS_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_STEPS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_STEPS_DELETE_TRG();
+
+
+-- PUBLIC.TBL_LOCK INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_LOCK_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_LOCK (
+						  ID,KEY,USERNAME,INFO,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.KEY,NEW.USERNAME,NEW.INFO,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_LOCK_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS TBL_LOCK_INSERT_TRG ON PUBLIC.TBL_LOCK;
+
+CREATE TRIGGER TBL_LOCK_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_LOCK
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_LOCK_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_LOCK UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_LOCK_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_LOCK (
+						  ID,KEY,USERNAME,INFO,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.KEY,NEW.USERNAME,NEW.INFO,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_LOCK_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_LOCK_UPDATE_TRG ON PUBLIC.TBL_LOCK;
+
+CREATE TRIGGER TBL_LOCK_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_LOCK
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_LOCK_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_LOCK DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_LOCK_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_LOCK (
+
+						  ID,KEY,USERNAME,INFO,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.KEY,OLD.USERNAME,OLD.INFO,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_LOCK_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_LOCK_DELETE_TRG ON PUBLIC.TBL_LOCK;
+
+CREATE TRIGGER TBL_LOCK_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_LOCK
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_LOCK_DELETE_TRG();
+
+
+
+
+-- PUBLIC.TBL_USER_SETTINGS INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_USER_SETTINGS_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_USER_SETTINGS (
+						  ID,USERNAME,SETTING_TYPE,VALUE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.USERNAME,NEW.SETTING_TYPE,NEW.VALUE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_USER_SETTINGS_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS TBL_USER_SETTINGS_INSERT_TRG ON PUBLIC.TBL_USER_SETTINGS;
+
+CREATE TRIGGER TBL_USER_SETTINGS_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_USER_SETTINGS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_USER_SETTINGS_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_USER_SETTINGS UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_USER_SETTINGS_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_USER_SETTINGS (
+						  ID,USERNAME,SETTING_TYPE,VALUE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.USERNAME,NEW.SETTING_TYPE,NEW.VALUE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_USER_SETTINGS_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_USER_SETTINGS_UPDATE_TRG ON PUBLIC.TBL_USER_SETTINGS;
+
+CREATE TRIGGER TBL_USER_SETTINGS_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_USER_SETTINGS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_USER_SETTINGS_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_USER_SETTINGS DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_USER_SETTINGS_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_USER_SETTINGS (
+
+						  ID,USERNAME,SETTING_TYPE,VALUE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.USERNAME,OLD.SETTING_TYPE,OLD.VALUE,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_USER_SETTINGS_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_USER_SETTINGS_DELETE_TRG ON PUBLIC.TBL_USER_SETTINGS;
+
+CREATE TRIGGER TBL_USER_SETTINGS_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_USER_SETTINGS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_USER_SETTINGS_DELETE_TRG();
+
+
+
+-- PUBLIC.REF_USER_DEPARTMENT INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.REF_USER_DEPARTMENT_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_USER_DEPARTMENT (
+						  ID,NAME,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.NAME,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_USER_DEPARTMENT_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS REF_USER_DEPARTMENT_INSERT_TRG ON PUBLIC.REF_USER_DEPARTMENT;
+
+CREATE TRIGGER REF_USER_DEPARTMENT_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.REF_USER_DEPARTMENT
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_USER_DEPARTMENT_INSERT_TRG();
+
+
+
+-- PUBLIC.REF_USER_DEPARTMENT UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_USER_DEPARTMENT_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_USER_DEPARTMENT (
+						  ID,NAME,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.NAME,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_USER_DEPARTMENT_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_USER_DEPARTMENT_UPDATE_TRG ON PUBLIC.REF_USER_DEPARTMENT;
+
+CREATE TRIGGER REF_USER_DEPARTMENT_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.REF_USER_DEPARTMENT
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_USER_DEPARTMENT_UPDATE_TRG();
+
+
+
+-- PUBLIC.REF_USER_DEPARTMENT DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_USER_DEPARTMENT_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HREF_USER_DEPARTMENT (
+
+						  ID,NAME,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.NAME,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_USER_DEPARTMENT_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_USER_DEPARTMENT_DELETE_TRG ON PUBLIC.REF_USER_DEPARTMENT;
+
+CREATE TRIGGER REF_USER_DEPARTMENT_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.REF_USER_DEPARTMENT
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_USER_DEPARTMENT_DELETE_TRG();
+
+
+-- PUBLIC.HREF_COST_CENTER INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.HREF_COST_CENTER_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HHREF_COST_CENTER (
+						  HID,HACTION,HDATE,HUSER,ID,NAME,DESCRIPTION,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.HID,NEW.HACTION,NEW.HDATE,NEW.HUSER,NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.HREF_COST_CENTER_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS HREF_COST_CENTER_INSERT_TRG ON PUBLIC.HREF_COST_CENTER;
+
+CREATE TRIGGER HREF_COST_CENTER_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.HREF_COST_CENTER
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.HREF_COST_CENTER_INSERT_TRG();
+
+
+
+-- PUBLIC.HREF_COST_CENTER UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.HREF_COST_CENTER_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HHREF_COST_CENTER (
+						  HID,HACTION,HDATE,HUSER,ID,NAME,DESCRIPTION,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.HID,NEW.HACTION,NEW.HDATE,NEW.HUSER,NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.HREF_COST_CENTER_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS HREF_COST_CENTER_UPDATE_TRG ON PUBLIC.HREF_COST_CENTER;
+
+CREATE TRIGGER HREF_COST_CENTER_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.HREF_COST_CENTER
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.HREF_COST_CENTER_UPDATE_TRG();
+
+
+
+-- PUBLIC.HREF_COST_CENTER DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.HREF_COST_CENTER_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HHREF_COST_CENTER (
+
+						  HID,HACTION,HDATE,HUSER,ID,NAME,DESCRIPTION,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.HID,OLD.HACTION,OLD.HDATE,OLD.HUSER,OLD.ID,OLD.NAME,OLD.DESCRIPTION,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.HREF_COST_CENTER_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS HREF_COST_CENTER_DELETE_TRG ON PUBLIC.HREF_COST_CENTER;
+
+CREATE TRIGGER HREF_COST_CENTER_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.HREF_COST_CENTER
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.HREF_COST_CENTER_DELETE_TRG();
+
+
+
+-- PUBLIC.REF_BRANCH INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.REF_BRANCH_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_BRANCH (
+
+						  ID,NAME,DESCRIPTION,COLOR_CODE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.COLOR_CODE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_BRANCH_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS REF_BRANCH_INSERT_TRG ON PUBLIC.REF_BRANCH;
+
+CREATE TRIGGER REF_BRANCH_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.REF_BRANCH
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_BRANCH_INSERT_TRG();
+
+
+
+-- PUBLIC.REF_BRANCH UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_BRANCH_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_BRANCH (
+						  ID,NAME,DESCRIPTION,COLOR_CODE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.COLOR_CODE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_BRANCH_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_BRANCH_UPDATE_TRG ON PUBLIC.REF_BRANCH;
+
+CREATE TRIGGER REF_BRANCH_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.REF_BRANCH
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_BRANCH_UPDATE_TRG();
+
+
+
+-- PUBLIC.REF_BRANCH DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_BRANCH_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HREF_BRANCH (
+						  ID,NAME,DESCRIPTION,COLOR_CODE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.NAME,OLD.DESCRIPTION,OLD.COLOR_CODE,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_BRANCH_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_BRANCH_DELETE_TRG ON PUBLIC.REF_BRANCH;
+
+CREATE TRIGGER REF_BRANCH_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.REF_BRANCH
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_BRANCH_DELETE_TRG();
+
+
+
+-- PUBLIC.REF_BRANCH_LEVEL INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.REF_BRANCH_LEVEL_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_BRANCH_LEVEL (
+						  ID,NAME,DESCRIPTION,FK_REF_BRANCH,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.FK_REF_BRANCH,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_BRANCH_LEVEL_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS REF_BRANCH_LEVEL_INSERT_TRG ON PUBLIC.REF_BRANCH_LEVEL;
+
+CREATE TRIGGER REF_BRANCH_LEVEL_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.REF_BRANCH_LEVEL
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_BRANCH_LEVEL_INSERT_TRG();
+
+
+
+-- PUBLIC.REF_BRANCH_LEVEL UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_BRANCH_LEVEL_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_BRANCH_LEVEL (
+						  ID,NAME,DESCRIPTION,FK_REF_BRANCH,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.NAME,NEW.DESCRIPTION,NEW.FK_REF_BRANCH,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_BRANCH_LEVEL_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_BRANCH_LEVEL_UPDATE_TRG ON PUBLIC.REF_BRANCH_LEVEL;
+
+CREATE TRIGGER REF_BRANCH_LEVEL_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.REF_BRANCH_LEVEL
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_BRANCH_LEVEL_UPDATE_TRG();
+
+
+
+-- PUBLIC.REF_BRANCH_LEVEL DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_BRANCH_LEVEL_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HREF_BRANCH_LEVEL (
+
+						  ID,NAME,DESCRIPTION,FK_REF_BRANCH,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.NAME,OLD.DESCRIPTION,OLD.FK_REF_BRANCH,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_BRANCH_LEVEL_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_BRANCH_LEVEL_DELETE_TRG ON PUBLIC.REF_BRANCH_LEVEL;
+
+CREATE TRIGGER REF_BRANCH_LEVEL_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.REF_BRANCH_LEVEL
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_BRANCH_LEVEL_DELETE_TRG();
+
+
+
+
+
+-- PUBLIC.REF_GM_STATUS INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.REF_GM_STATUS_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_GM_STATUS (
+						  ID,NAME,COLOR_CODE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.NAME,NEW.COLOR_CODE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_GM_STATUS_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS REF_GM_STATUS_INSERT_TRG ON PUBLIC.REF_GM_STATUS;
+
+CREATE TRIGGER REF_GM_STATUS_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.REF_GM_STATUS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_GM_STATUS_INSERT_TRG();
+
+
+
+-- PUBLIC.REF_GM_STATUS UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_GM_STATUS_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HREF_GM_STATUS (
+						  ID,NAME,COLOR_CODE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.NAME,NEW.COLOR_CODE,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_GM_STATUS_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_GM_STATUS_UPDATE_TRG ON PUBLIC.REF_GM_STATUS;
+
+CREATE TRIGGER REF_GM_STATUS_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.REF_GM_STATUS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_GM_STATUS_UPDATE_TRG();
+
+
+
+-- PUBLIC.REF_GM_STATUS DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.REF_GM_STATUS_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HREF_GM_STATUS (
+
+						  ID,NAME,COLOR_CODE,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.NAME,OLD.COLOR_CODE,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.REF_GM_STATUS_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS REF_GM_STATUS_DELETE_TRG ON PUBLIC.REF_GM_STATUS;
+
+CREATE TRIGGER REF_GM_STATUS_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.REF_GM_STATUS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.REF_GM_STATUS_DELETE_TRG();
+
+
+
+
+
+
+
+
+-- PUBLIC.TBL_GRIDMEASURE INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_GRIDMEASURE_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_GRIDMEASURE (
+						  ID,ID_DESCRIPTIVE,TITLE,AFFECTED_RESOURCE,REMARK,EMAIL_ADDRESSES,FK_REF_GM_STATUS,SWITCHING_OBJECT,COST_CENTER,APPROVAL_BY,AREA_OF_SWITCHING,APPOINTMENT_REPETITION,APPOINTMENT_STARTDATE,APPOINTMENT_NUMBEROF,PLANNED_STARTTIME_FIRST_SEQUENCE,PLANNED_STARTTIME_FIRST_SINGLEMEASURE,PLANNED_ENDTIME_LAST_SINGLEMEASURE,PLANNED_ENDTIME_GRIDMEASURE,STARTTIME_FIRST_SEQUENCE,STARTTIME_FIRST_SINGLEMEASURE,ENDTIME_LAST_SINGLEMEASURE,ENDTIME_GRIDMEASURE,TIME_OF_REALLOCATION,DESCRIPTION,FK_REF_BRANCH,FK_REF_BRANCH_LEVEL,CREATE_USER,CREATE_USER_DEPARTMENT,CREATE_DATE,MOD_USER,MOD_USER_DEPARTMENT,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.ID_DESCRIPTIVE,NEW.TITLE,NEW.AFFECTED_RESOURCE,NEW.REMARK,NEW.EMAIL_ADDRESSES,NEW.FK_REF_GM_STATUS,NEW.SWITCHING_OBJECT,NEW.COST_CENTER,NEW.APPROVAL_BY,NEW.AREA_OF_SWITCHING,NEW.APPOINTMENT_REPETITION,NEW.APPOINTMENT_STARTDATE,NEW.APPOINTMENT_NUMBEROF,NEW.PLANNED_STARTTIME_FIRST_SEQUENCE,NEW.PLANNED_STARTTIME_FIRST_SINGLEMEASURE,NEW.PLANNED_ENDTIME_LAST_SINGLEMEASURE,NEW.PLANNED_ENDTIME_GRIDMEASURE,NEW.STARTTIME_FIRST_SEQUENCE,NEW.STARTTIME_FIRST_SINGLEMEASURE,NEW.ENDTIME_LAST_SINGLEMEASURE,NEW.ENDTIME_GRIDMEASURE,NEW.TIME_OF_REALLOCATION,NEW.DESCRIPTION,NEW.FK_REF_BRANCH,NEW.FK_REF_BRANCH_LEVEL,NEW.CREATE_USER,NEW.CREATE_USER_DEPARTMENT,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_USER_DEPARTMENT,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_GRIDMEASURE_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS TBL_GRIDMEASURE_INSERT_TRG ON PUBLIC.TBL_GRIDMEASURE;
+
+CREATE TRIGGER TBL_GRIDMEASURE_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_GRIDMEASURE
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_GRIDMEASURE_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_GRIDMEASURE UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_GRIDMEASURE_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_GRIDMEASURE (
+						  ID,ID_DESCRIPTIVE,TITLE,AFFECTED_RESOURCE,REMARK,EMAIL_ADDRESSES,FK_REF_GM_STATUS,SWITCHING_OBJECT,COST_CENTER,APPROVAL_BY,AREA_OF_SWITCHING,APPOINTMENT_REPETITION,APPOINTMENT_STARTDATE,APPOINTMENT_NUMBEROF,PLANNED_STARTTIME_FIRST_SEQUENCE,PLANNED_STARTTIME_FIRST_SINGLEMEASURE,PLANNED_ENDTIME_LAST_SINGLEMEASURE,PLANNED_ENDTIME_GRIDMEASURE,STARTTIME_FIRST_SEQUENCE,STARTTIME_FIRST_SINGLEMEASURE,ENDTIME_LAST_SINGLEMEASURE,ENDTIME_GRIDMEASURE,TIME_OF_REALLOCATION,DESCRIPTION,FK_REF_BRANCH,FK_REF_BRANCH_LEVEL,CREATE_USER,CREATE_USER_DEPARTMENT,CREATE_DATE,MOD_USER,MOD_USER_DEPARTMENT,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.ID_DESCRIPTIVE,NEW.TITLE,NEW.AFFECTED_RESOURCE,NEW.REMARK,NEW.EMAIL_ADDRESSES,NEW.FK_REF_GM_STATUS,NEW.SWITCHING_OBJECT,NEW.COST_CENTER,NEW.APPROVAL_BY,NEW.AREA_OF_SWITCHING,NEW.APPOINTMENT_REPETITION,NEW.APPOINTMENT_STARTDATE,NEW.APPOINTMENT_NUMBEROF,NEW.PLANNED_STARTTIME_FIRST_SEQUENCE,NEW.PLANNED_STARTTIME_FIRST_SINGLEMEASURE,NEW.PLANNED_ENDTIME_LAST_SINGLEMEASURE,NEW.PLANNED_ENDTIME_GRIDMEASURE,NEW.STARTTIME_FIRST_SEQUENCE,NEW.STARTTIME_FIRST_SINGLEMEASURE,NEW.ENDTIME_LAST_SINGLEMEASURE,NEW.ENDTIME_GRIDMEASURE,NEW.TIME_OF_REALLOCATION,NEW.DESCRIPTION,NEW.FK_REF_BRANCH,NEW.FK_REF_BRANCH_LEVEL,NEW.CREATE_USER,NEW.CREATE_USER_DEPARTMENT,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_USER_DEPARTMENT,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_GRIDMEASURE_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_GRIDMEASURE_UPDATE_TRG ON PUBLIC.TBL_GRIDMEASURE;
+
+CREATE TRIGGER TBL_GRIDMEASURE_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_GRIDMEASURE
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_GRIDMEASURE_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_GRIDMEASURE DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_GRIDMEASURE_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_GRIDMEASURE (
+
+						  ID,ID_DESCRIPTIVE,TITLE,AFFECTED_RESOURCE,REMARK,EMAIL_ADDRESSES,FK_REF_GM_STATUS,SWITCHING_OBJECT,COST_CENTER,APPROVAL_BY,AREA_OF_SWITCHING,APPOINTMENT_REPETITION,APPOINTMENT_STARTDATE,APPOINTMENT_NUMBEROF,PLANNED_STARTTIME_FIRST_SEQUENCE,PLANNED_STARTTIME_FIRST_SINGLEMEASURE,PLANNED_ENDTIME_LAST_SINGLEMEASURE,PLANNED_ENDTIME_GRIDMEASURE,STARTTIME_FIRST_SEQUENCE,STARTTIME_FIRST_SINGLEMEASURE,ENDTIME_LAST_SINGLEMEASURE,ENDTIME_GRIDMEASURE,TIME_OF_REALLOCATION,DESCRIPTION,FK_REF_BRANCH,FK_REF_BRANCH_LEVEL,CREATE_USER,CREATE_USER_DEPARTMENT,CREATE_DATE,MOD_USER,MOD_USER_DEPARTMENT,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.ID_DESCRIPTIVE,OLD.TITLE,OLD.AFFECTED_RESOURCE,OLD.REMARK,OLD.EMAIL_ADDRESSES,OLD.FK_REF_GM_STATUS,OLD.SWITCHING_OBJECT,OLD.COST_CENTER,OLD.APPROVAL_BY,OLD.AREA_OF_SWITCHING,OLD.APPOINTMENT_REPETITION,OLD.APPOINTMENT_STARTDATE,OLD.APPOINTMENT_NUMBEROF,OLD.PLANNED_STARTTIME_FIRST_SEQUENCE,OLD.PLANNED_STARTTIME_FIRST_SINGLEMEASURE,OLD.PLANNED_ENDTIME_LAST_SINGLEMEASURE,OLD.PLANNED_ENDTIME_GRIDMEASURE,OLD.STARTTIME_FIRST_SEQUENCE,OLD.STARTTIME_FIRST_SINGLEMEASURE,OLD.ENDTIME_LAST_SINGLEMEASURE,OLD.ENDTIME_GRIDMEASURE,OLD.TIME_OF_REALLOCATION,OLD.DESCRIPTION,OLD.FK_REF_BRANCH,OLD.FK_REF_BRANCH_LEVEL,OLD.CREATE_USER,OLD.CREATE_USER_DEPARTMENT,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_USER_DEPARTMENT,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_GRIDMEASURE_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_GRIDMEASURE_DELETE_TRG ON PUBLIC.TBL_GRIDMEASURE;
+
+CREATE TRIGGER TBL_GRIDMEASURE_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_GRIDMEASURE
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_GRIDMEASURE_DELETE_TRG();
+
+
+-- PUBLIC.TBL_DOCUMENTS INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_DOCUMENTS_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_DOCUMENTS (
+						  ID,DOCUMENT_NAME,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.DOCUMENT_NAME,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_DOCUMENTS_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS TBL_DOCUMENTS_INSERT_TRG ON PUBLIC.TBL_DOCUMENTS;
+
+CREATE TRIGGER TBL_DOCUMENTS_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_DOCUMENTS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_DOCUMENTS_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_DOCUMENTS UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_DOCUMENTS_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_DOCUMENTS (
+						  ID,DOCUMENT_NAME,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.DOCUMENT_NAME,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_DOCUMENTS_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_DOCUMENTS_UPDATE_TRG ON PUBLIC.TBL_DOCUMENTS;
+
+CREATE TRIGGER TBL_DOCUMENTS_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_DOCUMENTS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_DOCUMENTS_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_DOCUMENTS DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_DOCUMENTS_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_DOCUMENTS (
+
+						  ID,DOCUMENT_NAME,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.DOCUMENT_NAME,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_DOCUMENTS_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_DOCUMENTS_DELETE_TRG ON PUBLIC.TBL_DOCUMENTS;
+
+CREATE TRIGGER TBL_DOCUMENTS_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_DOCUMENTS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_DOCUMENTS_DELETE_TRG();
+
+
+
+
+
+
+-- PUBLIC.TBL_MEASURE_DOCUMENTS INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_MEASURE_DOCUMENTS_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_MEASURE_DOCUMENTS (
+						  ID,FK_TBL_MEASURE,FK_TBL_DOCUMENTS,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.FK_TBL_MEASURE,NEW.FK_TBL_DOCUMENTS,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_MEASURE_DOCUMENTS_INSERT_TRG()
+  OWNER TO PLGM_SERVICE;
+
+
+DROP TRIGGER IF EXISTS TBL_MEASURE_DOCUMENTS_INSERT_TRG ON PUBLIC.TBL_MEASURE_DOCUMENTS;
+
+CREATE TRIGGER TBL_MEASURE_DOCUMENTS_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_MEASURE_DOCUMENTS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_MEASURE_DOCUMENTS_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_MEASURE_DOCUMENTS UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_MEASURE_DOCUMENTS_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_MEASURE_DOCUMENTS (
+						  ID,FK_TBL_MEASURE,FK_TBL_DOCUMENTS,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.FK_TBL_MEASURE,NEW.FK_TBL_DOCUMENTS,NEW.CREATE_USER,NEW.CREATE_DATE,NEW.MOD_USER,NEW.MOD_DATE,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_MEASURE_DOCUMENTS_UPDATE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_MEASURE_DOCUMENTS_UPDATE_TRG ON PUBLIC.TBL_MEASURE_DOCUMENTS;
+
+CREATE TRIGGER TBL_MEASURE_DOCUMENTS_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_MEASURE_DOCUMENTS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_MEASURE_DOCUMENTS_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_MEASURE_DOCUMENTS DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_MEASURE_DOCUMENTS_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_MEASURE_DOCUMENTS (
+
+						  ID,FK_TBL_MEASURE,FK_TBL_DOCUMENTS,CREATE_USER,CREATE_DATE,MOD_USER,MOD_DATE,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.FK_TBL_MEASURE,OLD.FK_TBL_DOCUMENTS,OLD.CREATE_USER,OLD.CREATE_DATE,OLD.MOD_USER,OLD.MOD_DATE,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_MEASURE_DOCUMENTS_DELETE_TRG()
+  OWNER TO PLGM_SERVICE;
+
+DROP TRIGGER IF EXISTS TBL_MEASURE_DOCUMENTS_DELETE_TRG ON PUBLIC.TBL_MEASURE_DOCUMENTS;
+
+CREATE TRIGGER TBL_MEASURE_DOCUMENTS_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_MEASURE_DOCUMENTS
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_MEASURE_DOCUMENTS_DELETE_TRG();
diff --git a/src/main/java/org/eclipse/openk/api/Calender.java b/src/main/java/org/eclipse/openk/api/Calender.java
new file mode 100644
index 0000000..9225e67
--- /dev/null
+++ b/src/main/java/org/eclipse/openk/api/Calender.java
@@ -0,0 +1,68 @@
+/**
+ ******************************************************************************
+ * Copyright © 2018 PTA GmbH.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ *     http://www.eclipse.org/legal/epl-v10.html
+ *
+ ******************************************************************************
+ */
+package org.eclipse.openk.api;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Date;
+
+public class Calender {
+
+    @JsonProperty
+    private Integer gridMeasureId;
+
+    @JsonProperty
+    private String gridMeasureTitle;
+
+    @JsonProperty
+    private Integer gridMeasureStatusId;
+
+    @JsonProperty
+    private Integer singleGridMeasureId;
+
+    @JsonProperty
+    private String singleGridMeasureTitle;
+
+    @JsonProperty
+    private Date plannedStarttimSinglemeasure;
+
+    @JsonProperty
+    private Date plannedEndtimeSinglemeasure;
+
+
+    public Integer getGridMeasureId() { return gridMeasureId; }
+
+    public void setGridMeasureId(Integer gridMeasureId) { this.gridMeasureId = gridMeasureId; }
+
+    public Integer getSingleGridMeasureId() { return singleGridMeasureId; }
+
+    public void setSingleGridMeasureId(Integer singleGridMeasureId) { this.singleGridMeasureId = singleGridMeasureId; }
+
+    public String getGridMeasureTitle() { return gridMeasureTitle; }
+
+    public void setGridMeasureTitle(String gridMeasureTitle) { this.gridMeasureTitle = gridMeasureTitle; }
+
+    public Integer getGridMeasureStatusId() { return gridMeasureStatusId; }
+
+    public void setGridMeasureStatusId(Integer gridMeasureStatusId) { this.gridMeasureStatusId = gridMeasureStatusId; }
+
+    public String getSingleGridMeasureTitle() { return singleGridMeasureTitle; }
+
+    public void setSingleGridMeasureTitle(String singleGridMeasureTitle) { this.singleGridMeasureTitle = singleGridMeasureTitle; }
+
+    public Date getPlannedStarttimSinglemeasure() { return plannedStarttimSinglemeasure; }
+
+    public void setPlannedStarttimSinglemeasure(Date plannedStarttimSinglemeasure) { this.plannedStarttimSinglemeasure = plannedStarttimSinglemeasure; }
+
+    public Date getPlannedEndtimeSinglemeasure() { return plannedEndtimeSinglemeasure; }
+
+    public void setPlannedEndtimeSinglemeasure(Date plannedEndtimeSinglemeasure) { this.plannedEndtimeSinglemeasure = plannedEndtimeSinglemeasure; }
+}
diff --git a/src/main/java/org/eclipse/openk/api/GmStatus.java b/src/main/java/org/eclipse/openk/api/GmStatus.java
index 7565dff..0e78a89 100644
--- a/src/main/java/org/eclipse/openk/api/GmStatus.java
+++ b/src/main/java/org/eclipse/openk/api/GmStatus.java
@@ -27,6 +27,10 @@
     @MapDbModelField
     private String name;
 
+    @JsonProperty
+    @MapDbModelField
+    private String colorCode;
+
 
     public Integer getId() { return id; }
 
@@ -35,4 +39,8 @@
     public String getName() { return name; }
 
     public void setName(String name) { this.name = name; }
+
+    public String getColorCode() { return colorCode; }
+
+    public void setColorCode(String colorCode) { this.colorCode = colorCode; }
 }
diff --git a/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java b/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
index db422f9..05f10fe 100644
--- a/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
+++ b/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
@@ -14,14 +14,7 @@
 import org.apache.commons.codec.binary.Base64;
 import org.apache.log4j.Logger;
 import org.eclipse.jetty.http.HttpStatus;
-import org.eclipse.openk.api.BackendSettings;
-import org.eclipse.openk.api.Document;
-import org.eclipse.openk.api.FilterObject;
-import org.eclipse.openk.api.GridMeasure;
-import org.eclipse.openk.api.HGridMeasure;
-import org.eclipse.openk.api.Lock;
-import org.eclipse.openk.api.RoleAccessDefinitionApi;
-import org.eclipse.openk.api.VersionInfo;
+import org.eclipse.openk.api.*;
 import org.eclipse.openk.common.mapper.GridMeasureMapper;
 import org.eclipse.openk.common.mapper.generic.GenericApiToDbMapper;
 import org.eclipse.openk.common.util.DateUtils;
@@ -793,6 +786,41 @@
         return new ArrayList<>(networkControlsUniqueSet);
     }
 
+    public List<Calender> getCalender() {
+
+        List<TblGridMeasure> mList;
+        List<TblSingleGridmeasure> sgmList;
+        List<Calender> calenderList = new ArrayList<>();
+
+        try (AutoCloseEntityManager em = createEm()) {
+            TblGridMeasureDao gmDao = createTblGridMeasureDao(em);
+            TblSingleGridmeasureDao sgmDao = createTblSingleGridmeasureDao(em);
+            mList = gmDao.getGridMeasuresExcludingStatusInTx(PlgmProcessState.CLOSED.getStatusValue(), PlgmProcessState.CANCELED.getStatusValue());
+
+            for (TblGridMeasure m : mList) {
+                sgmList = sgmDao.getSingleGridmeasuresByGmIdInTx(m.getId());
+
+                for (TblSingleGridmeasure sgm : sgmList) {
+
+                    Calender calenderItem = new Calender();
+
+                    calenderItem.setGridMeasureId(m.getId());
+                    calenderItem.setGridMeasureTitle(m.getTitle());
+                    calenderItem.setGridMeasureStatusId(m.getFkRefGmStatus());
+                    calenderItem.setSingleGridMeasureId(sgm.getId());
+                    calenderItem.setSingleGridMeasureTitle(sgm.getTitle());
+                    calenderItem.setPlannedStarttimSinglemeasure(sgm.getPlannedStarttimeSinglemeasure());
+                    calenderItem.setPlannedEndtimeSinglemeasure(sgm.getPlannedEndtimeSinglemeasure());
+
+                    calenderList.add(calenderItem);
+                }
+            }
+        }
+        return calenderList;
+    }
+
+
+
     protected TblSingleGridmeasureDao createTblSingleGridmeasureDao(EntityManager em) { return new TblSingleGridmeasureDao(em); }
 
     protected TblGridMeasureDao createTblGridMeasureDao(EntityManager em) { return new TblGridMeasureDao(em); }
diff --git a/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java b/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java
index e01adcd..dba9c14 100644
--- a/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java
+++ b/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java
@@ -22,8 +22,6 @@
 
 public class TblGridMeasureDao extends GenericDaoJpa<TblGridMeasure, Integer>{
     public static final String FK_REF_GM_STATUS = "fkRefGmStatus";
-    //public static final String MODIFIER_NAME = "modUser";
-    //public static final String CREATOR_NAME = "createUser";
 
     public TblGridMeasureDao() {
         super();
@@ -144,7 +142,6 @@
 
     public List<TblGridMeasure> getGridMeasuresByUserNameExcludingStatus(String username, Integer statusId1, Integer statusId2) {
         try {
-            //String selectString = "from TblGridMeasure t WHERE t.fkRefGmStatus NOT IN (:fkRefGmStatus1, :fkRefGmStatus2)";
             String selectString = "from TblGridMeasure t where t.id IN (select distinct t.id from TblGridMeasure t INNER JOIN HTblGridMeasure h ON t.id = h.id WHERE h.hUser = :UserName) AND t.fkRefGmStatus NOT IN (:fkRefGmStatus1, :fkRefGmStatus2)";
             Query q = getEM().createQuery(selectString);
             q.setParameter("UserName", username);
diff --git a/src/main/java/org/eclipse/openk/db/model/RefGmStatus.java b/src/main/java/org/eclipse/openk/db/model/RefGmStatus.java
index e702d8b..7c9eadc 100644
--- a/src/main/java/org/eclipse/openk/db/model/RefGmStatus.java
+++ b/src/main/java/org/eclipse/openk/db/model/RefGmStatus.java
@@ -39,6 +39,9 @@
     @Column(name = "name")
     private String name;
 
+    @Column(name = "color_code")
+    private String colorCode;
+
     @Column(name = "create_user")
     private String createUser;
 
@@ -60,6 +63,10 @@
 
     public void setName(String name) { this.name = name; }
 
+    public String getColorCode() { return colorCode; }
+
+    public void setColorCode(String colorCode) { this.colorCode = colorCode; }
+
     public String getCreateUser() { return createUser; }
 
     public void setCreateUser(String createUser) { this.createUser = createUser; }
diff --git a/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java b/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java
index 4b12506..33bc97b 100644
--- a/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java
+++ b/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java
@@ -138,6 +138,19 @@
                 .getGridMeasureById(Integer.parseInt(id)));
     }
 
+    @ApiOperation(value = "Get Calender", notes = "This service gets single gridmeasures for the calender view")
+    @ApiResponses( value ={ @ApiResponse(code = 200, message = "OK", response = GridMeasure.class,reference = "#/definitions/Calender") } )
+    @GET
+    @Path("/getCalender")
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.APPLICATION_JSON)
+    @Timed
+    public Response getCalender(@ApiParam(name ="Authorization", value ="JWT Token", required =true)
+                                    @HeaderParam(Globals.KEYCLOAK_AUTH_TAG) String jwt) {
+        return invokeRunnable(jwt, SecureType.NORMAL, modusr -> new GridMeasureBackendController()
+                .getCalender());
+    }
+
 
     @ApiOperation(value = "Get Current Reminders", notes = "This service retrieves a list of Gridmeasure-Ids")
     @ApiResponses( value ={ @ApiResponse(code = 200, message = "OK", response = GridMeasure.class,reference = "#/definitions/GridMeasure") } )
diff --git a/src/test/java/org/eclipse/openk/api/CalenderTest.java b/src/test/java/org/eclipse/openk/api/CalenderTest.java
new file mode 100644
index 0000000..53831e8
--- /dev/null
+++ b/src/test/java/org/eclipse/openk/api/CalenderTest.java
@@ -0,0 +1,121 @@
+/**
+ ******************************************************************************
+ * Copyright © 2018 PTA GmbH.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ *     http://www.eclipse.org/legal/epl-v10.html
+ *
+ ******************************************************************************
+ */
+package org.eclipse.openk.api;
+
+import static org.junit.Assert.assertEquals;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.IOException;
+import java.util.Date;
+
+import org.junit.Test;
+
+public class CalenderTest {
+
+    @Test
+    public void testGetGridMeasureId()throws IOException {
+        Calender calender = new Calender();
+        calender.setGridMeasureId(5);
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(calender);
+
+        Calender calender2 = om.readValue(jsonString, Calender.class);
+
+        assertEquals(calender.getGridMeasureId(), calender2.getGridMeasureId());
+    }
+
+    @Test
+    public void testGetGridMeasureTitle()throws IOException {
+        Calender calender = new Calender();
+        calender.setGridMeasureTitle("Test 5");
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(calender);
+
+        Calender calender2 = om.readValue(jsonString, Calender.class);
+
+        assertEquals(calender.getGridMeasureTitle(), calender2.getGridMeasureTitle());
+    }
+
+    @Test
+    public void testGetGridMeasureStatusId()throws IOException {
+        Calender calender = new Calender();
+        calender.setGridMeasureStatusId(3);
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(calender);
+
+        Calender calender2 = om.readValue(jsonString, Calender.class);
+
+        assertEquals(calender.getGridMeasureStatusId(), calender2.getGridMeasureStatusId());
+    }
+
+    @Test
+    public void testGetSingleGridMeasureId()throws IOException {
+        Calender calender = new Calender();
+        calender.setSingleGridMeasureId(2);
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(calender);
+
+        Calender calender2 = om.readValue(jsonString, Calender.class);
+
+        assertEquals(calender.getSingleGridMeasureId(), calender2.getSingleGridMeasureId());
+    }
+
+    @Test
+    public void testGetSingleGridMeasureTitle()throws IOException {
+        Calender calender = new Calender();
+        calender.setSingleGridMeasureTitle("Test Single 2");
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(calender);
+
+        Calender calender2 = om.readValue(jsonString, Calender.class);
+
+        assertEquals(calender.getSingleGridMeasureTitle(), calender2.getSingleGridMeasureTitle());
+    }
+
+    @Test
+    public void testGetPlannedStarttimSinglemeasure()throws IOException {
+        Calender calender = new Calender();
+
+        java.util.Date plannedStarttimeSinglemeasure = new Date(System.currentTimeMillis());
+        calender.setPlannedStarttimSinglemeasure(plannedStarttimeSinglemeasure);
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(calender);
+
+        Calender calender2 = om.readValue(jsonString, Calender.class);
+
+        assertEquals(calender.getPlannedStarttimSinglemeasure(), calender2.getPlannedStarttimSinglemeasure());
+    }
+
+    @Test
+    public void testGetPlannedEndtimeSinglemeasure()throws IOException {
+        Calender calender = new Calender();
+
+        java.util.Date plannedEndtimeSinglemeasure = new Date(System.currentTimeMillis());
+        calender.setPlannedEndtimeSinglemeasure(plannedEndtimeSinglemeasure);
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(calender);
+
+        Calender calender2 = om.readValue(jsonString, Calender.class);
+
+        assertEquals(calender.getPlannedEndtimeSinglemeasure(), calender2.getPlannedEndtimeSinglemeasure());
+    }
+
+
+}
+
diff --git a/src/test/java/org/eclipse/openk/api/GmStatusTest.java b/src/test/java/org/eclipse/openk/api/GmStatusTest.java
index fe2d75e..a1047b5 100644
--- a/src/test/java/org/eclipse/openk/api/GmStatusTest.java
+++ b/src/test/java/org/eclipse/openk/api/GmStatusTest.java
@@ -45,4 +45,17 @@
         assertEquals(status.getName(), status2.getName());
     }
 
+    @Test
+    public void testGetColorCode()throws IOException {
+        GmStatus status = new GmStatus();
+        status.setColorCode("#222222");
+
+        ObjectMapper om = new ObjectMapper();
+        String jsonString = om.writeValueAsString(status);
+
+        GmStatus status2 = om.readValue(jsonString, GmStatus.class);
+
+        assertEquals(status.getColorCode(), status2.getColorCode());
+    }
+
 }
\ No newline at end of file
diff --git a/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java b/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java
index eb0337b..1f2217d 100644
--- a/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java
+++ b/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java
@@ -380,7 +380,7 @@
         TblSingleGridmeasureDao dao = EasyMock.createMock(TblSingleGridmeasureDao.class);
         expect( dao.findByIdInTx(anyObject(), anyInt())).andReturn(mList.get(0)).anyTimes();
         expect( dao.findById(anyObject(), anyInt())).andReturn(mList.get(0)).anyTimes();
-        expect( dao.getSingleGridmeasuresByGmIdInTx(1)).andReturn(mList).anyTimes();
+        expect( dao.getSingleGridmeasuresByGmIdInTx(anyInt())).andReturn(mList).anyTimes();
         expect( dao.getSingleGridmeasuresInTx()).andReturn(mList).anyTimes();
         replay( dao );
         verify( dao );
@@ -1246,4 +1246,22 @@
         be.tblSingleGridmeasureDao = daoMock;
         assertEquals( be.getResponsiblesOnSiteFromSingleGridmeasures().size(), 3 );
     }
+
+
+    @Test
+    public void testGetCalender() {
+
+        TestableGridMeasureBackendController be = new TestableGridMeasureBackendController();
+
+        TblGridMeasureDao mockedGmDao = createTblGridMeasureDao();
+        be.tblGridMeasureDao = mockedGmDao;
+
+        TblSingleGridmeasureDao mockedSgmDao = createTblSingleGridmeasureDao();
+        be.tblSingleGridmeasureDao = mockedSgmDao;
+
+        assertEquals( be.getCalender().size(),5);
+
+    }
+
+
 }
diff --git a/src/test/java/org/eclipse/openk/db/model/RefGmStatusTest.java b/src/test/java/org/eclipse/openk/db/model/RefGmStatusTest.java
index ff41fa1..5b43609 100644
--- a/src/test/java/org/eclipse/openk/db/model/RefGmStatusTest.java
+++ b/src/test/java/org/eclipse/openk/db/model/RefGmStatusTest.java
@@ -30,6 +30,9 @@
         refGmStatus.setName("Statusname");
         assertEquals("Statusname", refGmStatus.getName());
 
+        refGmStatus.setColorCode("#111111");
+        assertEquals("#111111", refGmStatus.getColorCode());
+
         java.time.LocalDateTime ldtCreated = java.time.LocalDateTime.parse("2018-03-20T15:00:00");
         java.sql.Timestamp tsCreated = java.sql.Timestamp.valueOf(ldtCreated);
         refGmStatus.setCreateDate(tsCreated);
diff --git a/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java b/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java
index d7b1877..4579c6c 100644
--- a/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java
+++ b/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java
@@ -183,4 +183,12 @@
         assertNotNull( r );
     }
 
+    @Test
+    public void testGetCalender()  {
+        Response r = new PlannedGridMeasuresResource().getCalender("LET_ME_IN");
+        assertNotNull( r );
+    }
+
+
+
 }