Files
Database/FAC/FAC_TAB.SRC
Peter Feij 6d785ce4ca typo
svn path=/Database/trunk/; revision=9123
2005-12-02 14:26:50 +00:00

367 lines
10 KiB
Plaintext

#ifdef FAC // 13-03-96 AH
/*
* $Revision: 49 $
* $Modtime: 2-12-05 16:24 $
*/
#include "comsql.h"
CREATE_TABLE(fac_volgnrs, FAC_BASIS_PRIVILEGE)
(
fac_volgnr_srt
VARCHAR2(30)
CONSTRAINT fac_k_fac_volgnr_srt PRIMARY KEY,
fac_volgnr
NUMBER
DEFAULT 0
CONSTRAINT fac_c_fac_volgnr NOT NULL,
fac_volgnr_periode
VARCHAR2(10)
DEFAULT 'YYYY'
CONSTRAINT fac_c_fac_volgnr_periode NOT NULL,
fac_volgnr_laatste_datum
DATE
DEFAULT SYSDATE
CONSTRAINT fac_c_fac_volgnr_laatste_datum NOT NULL
);
/*
* AH/Debug logging voor Triggers
*/
#ifdef FAC_LOG
#include "fac_log.h"
CREATE_TABLE(fac_log, FAC_BASIS_PRIVILEGE)
(
fac_log_key
NUMBER(10)
CONSTRAINT fac_k_fac_log_key PRIMARY KEY,
fac_log_datum
VARCHAR2(20)
DEFAULT DATE_TO_CHAR(SYSDATE, 'DD-MM-YYYY HH:MI.SS'),
fac_log_message
VARCHAR2(80)
);
#endif // FAC_LOG
/* Translation for application messages like ALG_M_01 */
CREATE_TABLE (fac_message,FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_message_code
VARCHAR2(30)
CONSTRAINT fac_k_fac_message_code PRIMARY KEY,
fac_message_text
VARCHAR2(80)
NOT_NULL(fac_message_text, fac_c_fac_message_text)
);
/* Translation from system entity names like REGIO to user names */
CREATE_TABLE (fac_entity_name,FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_entity_system_name
VARCHAR2(30)
CONSTRAINT fac_k_fac_entity_system_name PRIMARY KEY,
fac_entity_user_name
VARCHAR2(15),
fac_entity_user_name_m
VARCHAR2(20),
fac_entity_user_name_pre
VARCHAR2(5)
);
/* Translation from system entity names like REGIO to user names */
CREATE_TABLE (fac_module,FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_module_name
VARCHAR2(30)
CONSTRAINT fac_k_fac_module_name PRIMARY KEY,
fac_module_version
VARCHAR2(10),
fac_module_date
VARCHAR2(8),
fac_module_remark
VARCHAR2(50),
fac_module_extern
NUMBER(1)
);
/* Temporary location of print-outs
* FAC_RAPPORT_SOORT: 0 - Header, 1 - Body, 2 - Footer.
*/
CREATE_TABLE (fac_rapport,FAC_BASIS_PRIVILEGE)
(
fac_rapport_node
VARCHAR2(12),
fac_rapport_volgnr
NUMBER(10),
fac_rapport_regel
VARCHAR2(2000),
fac_rapport_soort
NUMBER(1),
CONSTRAINT fac_u_fac_rapport UNIQUE(fac_rapport_node, fac_rapport_volgnr, fac_rapport_soort)
);
CREATE_TABLE (fac_error,FAC_BASIS_PRIVILEGE)
(
fac_error_code
NUMBER
);
/* Used for reporting system procedure errorlogging (for conversions, imports etc)*/
CREATE_TABLE(fac_errorlog,FAC_BASIS_PRIVILEGE)
(
recno NUMBER (10),
rec_table VARCHAR2 (32),
descript VARCHAR2 (1024)
);
/* Tabel waarin de keys voor de multi_selectie worden bewaard. */
CREATE_TABLE(fac_selectie, FAC_BASIS_PRIVILEGE)
(
fac_selectie_node
VARCHAR2(12),
fac_selectie_tabel
VARCHAR2(30),
fac_selectie_key
NUMBER(10),
fac_selectie_datum
DATE
);
// Tabel voor de autorisatie van voorgedefinieerde functionaliteit in Forms
CREATE_TABLE(fac_functie, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_functie_key
NUMBER(10)
CONSTRAINT fac_k_fac_functie_key PRIMARY KEY,
fac_functie_code
VARCHAR2(10)
NOT_NULL(fac_functie_code, fac_c_fac_functie_code),
fac_functie_omschrijving
VARCHAR2(30)
NOT_NULL(fac_functie_omschrijving, fac_c_fac_functie_omschrijving),
fac_functie_module
VARCHAR2(3),
fac_functie_min_level
NUMBER(2),
fac_functie_discipline
NUMBER(1)
DEFAULT 0
NOT_NULL(fac_functie_discipline, fac_c_fac_functie_discipline),
fac_functie_info
VARCHAR2(100),
CONSTRAINT fac_u_fac_functie UNIQUE(fac_functie_code)
);
// Tabellen voor autorisatie van gebruikers
CREATE_TABLE(fac_groep, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_groep_key
NUMBER(10)
CONSTRAINT fac_k_fac_groep_key PRIMARY KEY,
fac_groep_omschrijving
VARCHAR2(30)
CONSTRAINT fac_c_fac_groep_omschrijving CHECK(fac_groep_omschrijving IS NOT NULL),
fac_groep_upper
VARCHAR2(30),
-- CONSTRAINT fac_c_fac_groep_upper CHECK(fac_groep_upper IS NOT NULL),
fac_groep_aanmaak
DATE
DEFAULT SYSDATE
CONSTRAINT fac_c_fac_groep_aanmaak NOT NULL,
fac_groep_verwijder
DATE
DEFAULT NULL,
CONSTRAINT fac_u_fac_groep_upper UNIQUE(fac_groep_upper, fac_groep_verwijder)
);
CREATE_TABLE(fac_gebruikersgroep, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_gebruikersgroep_key
NUMBER(10)
CONSTRAINT fac_k_fac_gebruikersgroep_key PRIMARY KEY,
fac_groep_key
NUMBER(10)
CONSTRAINT fac_r_fac_groep_key REFERENCES fac_groep(fac_groep_key) ON DELETE CASCADE
CONSTRAINT fac_c_fac_groep_key CHECK(fac_groep_key IS NOT NULL)
// Note: this column is defined in PRS_TAB.SRC
// ,prs_perslid_key
// NUMBER(10)
// CONSTRAINT fac_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
// CONSTRAINT fac_c_prs_perslid_key CHECK(prs_perslid_key IS NOT NULL)
);
CREATE_TABLE(fac_groeprechten, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_groeprechten_key
NUMBER(10)
CONSTRAINT fac_k_groeprechten_key PRIMARY KEY,
fac_groep_key
NUMBER(10)
NOT_NULL(fac_groep_key, fac_c_fac_groep_key2)
CONSTRAINT fac_r_groeprechten_groep REFERENCES fac_groep(fac_groep_key) ON DELETE CASCADE,
fac_functie_key
NUMBER(10)
NOT_NULL(fac_functie_key, fac_c_fac_functie_key1)
CONSTRAINT fac_r_groeprechten_functie REFERENCES fac_functie(fac_functie_key) ON DELETE CASCADE,
ins_discipline_key
NUMBER(10)
/* defined in ins_tab.src: CONSTRAINT fac_r_groeprechten_disc REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE */,
fac_gebruiker_prs_level_read NUMBER(1),
fac_gebruiker_alg_level_read NUMBER(1),
fac_gebruiker_prs_level_write NUMBER(1),
fac_gebruiker_alg_level_write NUMBER(1),
CONSTRAINT fac_u_fac_groeprechten UNIQUE(FAC_GROEP_KEY, FAC_FUNCTIE_KEY, INS_DISCIPLINE_KEY)
);
CREATE_TABLE(fac_usrtab, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_usrtab_key
NUMBER(10)
CONSTRAINT fac_k_fac_usrtab_key PRIMARY KEY,
fac_usrtab_naam
VARCHAR2(16)
NOT_NULL(fac_usrtab_naam, fac_c_fac_usrtab_naam),
fac_usrtab_object
VARCHAR2(20)
#ifndef MS_SQL
NOT_NULL(fac_usrtab_object, fac_c_fac_usrtab_object)
#endif
,
fac_usrtab_omschrijving
VARCHAR2(30),
fac_usrtab_viewdef
VARCHAR2(512),
fac_usrtab_view
VARCHAR2(1),
fac_usrtab_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(fac_usrtab_aanmaak, fac_c_fac_usrtab_aanmaak),
CONSTRAINT fac_u_fac_usrtab_object UNIQUE(fac_usrtab_object)
);
CREATE_TABLE(fac_usrdata, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_usrdata_key
NUMBER(10)
CONSTRAINT fac_k_fac_usrdata_key PRIMARY KEY,
fac_usrtab_key
NUMBER(10)
NOT_NULL(fac_usrtab_key, fac_c_fac_usrtab_key)
CONSTRAINT fac_r_fac_usrtab_key REFERENCES fac_usrtab(fac_usrtab_key) ON DELETE CASCADE,
fac_usrdata_code
VARCHAR2(20)
NOT_NULL(fac_usrdata_code, fac_c_fac_usrdata_code),
fac_usrdata_upper
VARCHAR2(20)
#ifndef MS_SQL
NOT_NULL(fac_usrdata_upper, fac_c_fac_usrdata_upper)
#endif
,
fac_usrdata_omschr
VARCHAR2(60),
fac_usrdata_prijs
NUMBER(8,2),
fac_usrdata_volgnr
NUMBER(3),
fac_usrdata_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(fac_usrdata_aanmaak, fac_c_fac_usrdata_aanmaak),
fac_usrdata_verwijder
DATE,
CONSTRAINT fac_u_fac_usrdata_upper UNIQUE(fac_usrdata_upper, fac_usrtab_key, fac_usrdata_verwijder)
);
CREATE_TABLE(fac_usrrap, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_usrrap_key
NUMBER(10)
CONSTRAINT fac_k_fac_usrrap_key PRIMARY KEY,
fac_usrrap_omschrijving
VARCHAR2(60),
fac_usrrap_view_name
VARCHAR2(32)
NOT_NULL(fac_usrrap_view_name, fac_c_fac_usrrap_view_name),
fac_usrrap_in_huidige_locatie
VARCHAR2(1)
CONSTRAINT fac_c_fac_usrrap_locatie CHECK (fac_usrrap_in_huidige_locatie = 0
OR fac_usrrap_in_huidige_locatie = 1),
fac_usrrap_aanmaak
DATE
DEFAULT SYSDATE,
fac_usrrap_template
VARCHAR2(32)
DEFAULT NULL,
fac_usrrap_macro
VARCHAR2(32)
DEFAULT NULL,
fac_usrrap_vraagbegindatum
NUMBER(1)
DEFAULT 0,
fac_usrrap_vraageinddatum
NUMBER(1)
DEFAULT 0,
fac_usrrap_functie
NUMBER(1)
DEFAULT 0,
fac_usrrap_info
VARCHAR2(100),
CONSTRAINT fac_u_fac_usrrap UNIQUE(fac_usrrap_omschrijving),
fac_usrrap_autorefresh
NUMBER(1)
DEFAULT 0
CONSTRAINT fac_c_fac_usrrap_refresh CHECK (fac_usrrap_autorefresh IN (0,1)),
FAC_FUNCTIE_KEY
NUMBER(10)
CONSTRAINT fac_r_fac_usrrap_functie_key REFERENCES fac_functie(fac_functie_key)
);
// Since 4.49 we have standard Import tools
CREATE_TABLE(imp_log, 0)
(
imp_log_applicatie VARCHAR2(50)
, imp_log_run VARCHAR2(30)
, imp_log_datum DATE
, imp_log_status VARCHAR2(1)
, imp_log_omschrijving VARCHAR2(1000)
, imp_log_hint VARCHAR2(1000)
);
CREATE_TABLE(imp_schedule, 0)
(
imp_schedule_key NUMBER(10)
, imp_schedule_name VARCHAR2(20)
, imp_schedule_aanmaak DATE DEFAULT SYSDATE
, imp_schedule_done DATE
);
CREATE_TABLE(fac_profiel, 0) (
fac_profiel_key
NUMBER(10) PRIMARY KEY,
fac_profiel_omschrijving
VARCHAR2(30) NOT NULL,
fac_profiel_limiet
NUMBER(8)
);
CREATE_TABLE(fac_profielwaarde, 0) (
fac_profielwaarde_key
NUMBER(10) PRIMARY KEY,
fac_profiel_key
NUMBER(10)
CONSTRAINT fac_r_fac_profiel_key REFERENCES fac_profiel(fac_profiel_key) ON DELETE CASCADE,
-- ins_discipline_key
-- NUMBER(10)
-- REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE,
fac_profielwaarde_limiet
NUMBER(8)
NOT NULL
);
#endif // FAC