Daniel Quathamer
8 months ago
16 changed files with 1117 additions and 49 deletions
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
45040^Benutzer/in^50^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,nvl(name,benutzer) from userinfo order by 2;^hidden^^ |
||||
45041^Spaltenlayout^10^0^0^150^80^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_column_layout where 1=1 /* and resultset_id=<<Virtuelle Tabelle>> */ order by 2;^^^ |
||||
45042^Spaltenlayouts verwalten^110^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_column_layout_list.jsp' from xdummy;^ |
||||
45043^Stichwort^20^0^0^150^150^1^sql^50^0^0^^^^ |
||||
45044^Komponente^1^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,name from systeminfo order by 2;^ ^^ |
||||
45045^Virtuelle Tabellen bearbeiten^100^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/rpta/rpta_resultset_list.jsp' from xdummy;^ |
||||
45046^Virtuelle Tabelle^5^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_resultset where 1=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^ |
||||
45047^Spaltentyp^200^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,caption from rpta_column_type order by 2;^^ ^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
45040^330^ |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
45040^45040^ |
||||
45040^45041^ |
||||
45040^45042^ |
||||
45040^45043^ |
||||
45040^45044^ |
||||
45040^45045^ |
||||
45040^45046^ |
||||
45040^45047^ |
@ -0,0 +1,121 @@
@@ -0,0 +1,121 @@
|
||||
45040^Spalten und Spaltenlayouts verwalten^--Autor: D. Quathamer\ |
||||
--Datum: 15.3.2024\ |
||||
--freemarker template\ |
||||
create temp table tmp_rpta_column (\ |
||||
ord smallint,\ |
||||
tid INTEGER , \ |
||||
uniquename varchar(255),\ |
||||
caption varchar(255),\ |
||||
srcfieldname varchar(255),\ |
||||
column_type integer,\ |
||||
column_type_str varchar(255),\ |
||||
col_function text,\ |
||||
is_aggregate smallint,\ |
||||
resultset_id integer,\ |
||||
resultset_str varchar(255),\ |
||||
systeminfo_str varchar(255),\ |
||||
custom integer ,\ |
||||
description text,\ |
||||
targetfieldname varchar(255),\ |
||||
nextedit varchar(255)\ |
||||
);\ |
||||
insert into tmp_rpta_column (ord,\ |
||||
tid,\ |
||||
uniquename,\ |
||||
caption,\ |
||||
srcfieldname,\ |
||||
column_type_str,\ |
||||
col_function,\ |
||||
is_aggregate,\ |
||||
resultset_id,\ |
||||
custom,\ |
||||
description,\ |
||||
targetfieldname,\ |
||||
nextedit) \ |
||||
select 1 as ord,\ |
||||
C.tid,\ |
||||
C.uniquename,\ |
||||
C.caption,\ |
||||
C.srcfieldname,\ |
||||
T.caption as column_type,\ |
||||
C.col_function,\ |
||||
C.is_aggregate,\ |
||||
C.resultset_id,\ |
||||
C.custom,\ |
||||
C.description,\ |
||||
C.targetfieldname,\ |
||||
('../edit/rpta/rpta_column_edit.jsp|tid=' || C.tid)::varchar(255)\ |
||||
FROM rpta_column C, rpta_column_type T\ |
||||
where T.tid=C.column_type\ |
||||
/* and C.resultset_id=<<Virtuelle Tabelle>> */\ |
||||
/* and C.caption like '%<<Stichwort>>%' */\ |
||||
/* and C.tid in (select P.column_id from rpta_column2layout P where P.layout_id=<<Spaltenlayout>> )*/\ |
||||
/* and C.resultset_id in (select R.tid from rpta_resultset R where R.systeminfo_id=<<Komponente>> )*/\ |
||||
/* and C.column_type=<<Spaltentyp>> */\ |
||||
;\ |
||||
\ |
||||
\ |
||||
\ |
||||
update tmp_rpta_column set resultset_str=R.caption\ |
||||
from rpta_resultset R\ |
||||
where R.tid=tmp_rpta_column.resultset_id;\ |
||||
\ |
||||
\ |
||||
\ |
||||
insert into tmp_rpta_column (ord,\ |
||||
caption, \ |
||||
nextedit) \ |
||||
select 10, --ord\ |
||||
'Neuer Eintrag',\ |
||||
nvl(('../edit/qa/rpta_column_edit.jsp|tid=' || max(tid)+1)::varchar(255),'../edit/qa/rpta_column_edit.jsp'::varchar(255))\ |
||||
from rpta_column\ |
||||
;\ |
||||
\ |
||||
\ |
||||
\ |
||||
\ |
||||
\ |
||||
select \ |
||||
caption,\ |
||||
uniquename,\ |
||||
resultset_str,\ |
||||
srcfieldname,\ |
||||
column_type_str,\ |
||||
-- col_function,\ |
||||
is_aggregate,\ |
||||
custom,\ |
||||
-- description,\ |
||||
-- targetfieldname\ |
||||
nextedit \ |
||||
\ |
||||
from tmp_rpta_column\ |
||||
order by ord,caption ,uniquename\ |
||||
;^XIL List\ |
||||
drop_and_delete movable_columns sizable_columns horizontal_scrolling\ |
||||
white_space_color=COLOR_WHITE fixed_columns=2\ |
||||
min_heading_height=35\ |
||||
Column CID=0 heading_text="Name" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=50 text_size=100\ |
||||
Column CID=0 heading_text="Schlüssel" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=50 text_size=100\ |
||||
Column CID=1 heading_text="Virtuelle Tabelle" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=150 text_size=200\ |
||||
Column CID=1 heading_text="Quellfeld" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=10 text_size=200\ |
||||
Column CID=1 heading_text="Spaltentyp" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=5 text_size=200\ |
||||
Column CID=1 heading_text="Ist Aggregat?" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=5 text_size=200\ |
||||
Column CID=1 heading_text="Individuelle Spalte" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=5 text_size=200\ |
||||
Column CID=1 heading_text="Bearbeiten" center_heading\ |
||||
row_selectable col_selectable heading_platform readonly\ |
||||
width=5 text_size=200\ |
||||
@@@^^^Spaltendefinitionen und deren Zuordnung zu Berichten verwalten.^drop table tmp_rpta_column;^^1^440^360^0^1^^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
331^45040^ |
@ -0,0 +1,256 @@
@@ -0,0 +1,256 @@
|
||||
--freemarker template |
||||
<sqlvars> |
||||
<sqlvar name="sos_stud_astat_exists"> |
||||
select count(*) from rpta_resultset where uniquename='sos_stud_astat'; |
||||
</sqlvar> |
||||
</sqlvars> |
||||
<#assign rpta_column_layout = {"uniquename":"sos_stud_astat_rsz", |
||||
"caption":"MKW-Abfrage_Studierende_RSZ", |
||||
"rpta_resultset":"sos_stud_astat", |
||||
"whereclause":"fach_sem_zahl <= dim_studiengang_regel and dim_studiengang_regel between 1 and 20 and studiengang_nr <=2 and fach_nr <=4", |
||||
"description":"Fachbelegungen: 1. & 2. Studiengang; 1.-4. Fach; nur Studiengänge mit Angabe einer Regelstudienzeit" |
||||
} |
||||
/> |
||||
|
||||
<#assign rpta_columns = [ |
||||
{"uniquename":"sos_k_stort_astat", |
||||
"caption":"Hochschulnummer Statistik", |
||||
"srcfieldname":"sos_k_stort_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtliche Standortnummer" |
||||
}, |
||||
{"uniquename":"dim_studiengang_stg_astat", |
||||
"caption":"HSF-Schlüssel", |
||||
"srcfieldname":"dim_studiengang_stg_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtliches Fach" |
||||
}, |
||||
{"uniquename":"sos_k_stufrm_astat", |
||||
"caption":"Art des Studiums", |
||||
"srcfieldname":"sos_k_stufrm_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtliche Studienform" |
||||
}, |
||||
{"uniquename":"dim_studiengang_abschluss_astat", |
||||
"caption":"Abschlussschlüssel Statistik NRW", |
||||
"srcfieldname":"dim_studiengang_abschluss_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtlicher Abschluss" |
||||
}, |
||||
{"uniquename":"sos_k_stutyp_astat", |
||||
"caption":"Vollzeit / Teilzeit / ausbildungsintegriert / praxisintegriert / berufsintegriert", |
||||
"srcfieldname":"sos_k_stutyp_astat", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Amtlicher Studiumstyp" |
||||
}, |
||||
{"uniquename":"dim_studiengang_regel", |
||||
"caption":"Angabe der Regelstudienzeit", |
||||
"srcfieldname":"dim_studiengang_regel", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"", |
||||
"is_visible":"1", |
||||
"visible_size":"10", |
||||
"is_aggregate":"0", |
||||
"description":"Regelstudienzeit in Semestern" |
||||
}, |
||||
{"uniquename":"summe", |
||||
"caption":"Anzahl der Studierenden in der Regelstudienzeit", |
||||
"srcfieldname":"summe", |
||||
"column_type":"physicalColumn", |
||||
"col_function":"sum", |
||||
"is_visible":"1", |
||||
"visible_size":"5", |
||||
"is_aggregate":"1", |
||||
"description":"Summe der Studierenden mit Fachsemester kleiner oder gleich der Regelstudienzeit" |
||||
} |
||||
] |
||||
/> |
||||
|
||||
---ab hier nicht mehr ändern: |
||||
|
||||
CREATE temp TABLE tmp_rpta_column |
||||
( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
srcfieldname varchar(255), |
||||
targetfieldname varchar(255), |
||||
column_type integer, |
||||
col_function text, |
||||
is_visible smallint, |
||||
visible_size smallint, |
||||
is_aggregate smallint, |
||||
resultset_id integer, |
||||
sortnr integer, |
||||
description TEXT |
||||
); |
||||
|
||||
CREATE temp TABLE tmp_rpta_column_layout |
||||
( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
resultset_id integer, |
||||
whereclause text, |
||||
description text |
||||
); |
||||
|
||||
insert into tmp_rpta_column_layout( |
||||
resultset_id, |
||||
uniquename, |
||||
caption, |
||||
whereclause, |
||||
description |
||||
) |
||||
select tid, |
||||
'${rpta_column_layout.uniquename}', |
||||
'${rpta_column_layout.caption}', |
||||
'${rpta_column_layout.whereclause}', |
||||
'${rpta_column_layout.description}' |
||||
FROM rpta_resultset |
||||
where uniquename='${rpta_column_layout.rpta_resultset}'; |
||||
|
||||
<#assign sortnr=0 /> |
||||
<#foreach column in rpta_columns> |
||||
<#assign sortnr=sortnr +1 /> |
||||
|
||||
INSERT INTO tmp_rpta_column |
||||
(resultset_id, |
||||
uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_visible, |
||||
visible_size, |
||||
is_aggregate, |
||||
sortnr, |
||||
description |
||||
) |
||||
select R.tid, |
||||
'${column.uniquename}', |
||||
'${column.caption}', |
||||
'${column.srcfieldname}', |
||||
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>, |
||||
T.tid as column_type, |
||||
'${column.col_function}', |
||||
${column.is_visible}, |
||||
${column.visible_size}, |
||||
${column.is_aggregate}, |
||||
${sortnr*10}, |
||||
'${column.description}' |
||||
FROM rpta_resultset R, rpta_column_type T |
||||
where R.uniquename='${rpta_column_layout.rpta_resultset}' |
||||
and T.uniquename='${column.column_type}'; |
||||
|
||||
</#foreach> |
||||
|
||||
|
||||
|
||||
delete from rpta_column2layout |
||||
where layout_id in (select L.tid |
||||
from rpta_column_layout L,rpta_resultset R |
||||
where R.tid=L.resultset_id |
||||
and R.uniquename='${rpta_column_layout.rpta_resultset}' |
||||
and L.uniquename='${rpta_column_layout.uniquename}' |
||||
) |
||||
; |
||||
|
||||
delete from rpta_column_layout |
||||
where resultset_id in (select tid |
||||
FROM rpta_resultset |
||||
where uniquename='${rpta_column_layout.rpta_resultset}') |
||||
and uniquename in (select uniquename from tmp_rpta_column_layout) |
||||
; |
||||
|
||||
insert into rpta_column_layout |
||||
(uniquename, |
||||
caption, |
||||
resultset_id, |
||||
whereclause, |
||||
description) |
||||
select uniquename, |
||||
caption, |
||||
resultset_id, |
||||
whereclause, |
||||
description |
||||
FROM tmp_rpta_column_layout; |
||||
|
||||
|
||||
select * into temp tmp_rpta_column2 from rpta_column ; |
||||
|
||||
INSERT INTO rpta_column |
||||
(resultset_id, |
||||
uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
description, |
||||
custom |
||||
) |
||||
select |
||||
resultset_id, |
||||
uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
targetfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
description, |
||||
0 as custom |
||||
from tmp_rpta_column |
||||
where (resultset_id,uniquename) not in |
||||
(select T.resultset_id,T.uniquename |
||||
from tmp_rpta_column2 T) |
||||
; |
||||
|
||||
drop table tmp_rpta_column2; |
||||
|
||||
insert into rpta_column2layout(column_id, |
||||
layout_id, |
||||
sortnr, |
||||
is_visible, |
||||
visible_size, |
||||
caption, |
||||
description) |
||||
select C.tid as column_id, |
||||
L.tid as layout_id, |
||||
T.sortnr, |
||||
T.is_visible, |
||||
T.visible_size, |
||||
T.caption, |
||||
T.description |
||||
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T |
||||
where C.uniquename=T.uniquename |
||||
and C.resultset_id=T.resultset_id |
||||
and L.uniquename='${rpta_column_layout.uniquename}' |
||||
and L.resultset_id=T.resultset_id |
||||
; |
||||
drop table tmp_rpta_column; |
||||
drop TABLE tmp_rpta_column_layout; |
||||
|
||||
|
||||
|
@ -1,3 +1,4 @@
@@ -1,3 +1,4 @@
|
||||
1^physicalColumn^Physische Spalte^ |
||||
2^logicalColumn^Logische Spalte^ |
||||
3^lookupColumn^Lookup-Spalte^ |
||||
4^computedColumn^Berechnete Spalte^ |
||||
|
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
1^INTEGER^Ganzzahlig^::integer^ |
||||
2^INT_NO_SEP^Ganzzahlig ohne 1000er Trenner^::varchar^ |
||||
3^INT_PERCENT^Ganzzahlig %^::integer || ' %'^ |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
--Das Sachgebiet 331 (RPTA Administr.) wird installiert |
||||
|
||||
|
||||
delete from sachgebiete where tid in (331); |
||||
insert into sachgebiete(tid,name) values (331,'Qualitätssicherung Administr.'); |
||||
|
||||
delete from group_sachgeb_bez where sachgebiete_id in (330,331) |
||||
and groupinfo_id in (select G.tid from groupinfo G where G.name='Administratoren' or G.name='superx') ; |
||||
|
||||
insert into group_sachgeb_bez |
||||
select G.tid,330 from groupinfo G where G.name='Administratoren' or G.name='superx'; |
||||
insert into group_sachgeb_bez |
||||
select G.tid,331 from groupinfo G where G.name='Administratoren' or G.name='superx'; |
||||
|
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
delete from sachgebiete where tid in (330,331); |
||||
delete from group_sachgeb_bez where sachgebiete_id in (330,331); |
||||
delete from user_sachgeb_bez where sachgebiete_id in (330,331); |
@ -0,0 +1,449 @@
@@ -0,0 +1,449 @@
|
||||
--freemarker template |
||||
<sqlvars> |
||||
<sqlvar name="sos_stg_aggr_exists"> |
||||
select sp_table_exists('sos_stg_aggr') from xdummy; |
||||
</sqlvar> |
||||
<sqlvar name="fact_table_source" type="hash"> |
||||
select name |
||||
from sx_tables where name ='sos_stg_aggr' |
||||
|
||||
</sqlvar> |
||||
<sqlvar name="added_tables" type="hashsequence"> |
||||
select 1::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'dim_studiengang.tid=sos_stg_aggr.tid_stg' as joinclause |
||||
from sx_tables where name in ('dim_studiengang') |
||||
union |
||||
select 10::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'dim_studiengang.stort=sos_k_stort.apnr' as joinclause |
||||
from sx_tables where name in ('sos_k_stort') |
||||
union |
||||
select 20::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'sos_stg_aggr.stutyp=sos_k_stutyp.apnr' as joinclause |
||||
from sx_tables where name in ('sos_k_stutyp') |
||||
union |
||||
select 30::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'sos_stg_aggr.stuart=sos_k_stuart.apnr' as joinclause |
||||
from sx_tables where name in ('sos_k_stuart') |
||||
union |
||||
select 40::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'sos_stg_aggr.stufrm=sos_k_stufrm.apnr' as joinclause |
||||
from sx_tables where name in ('sos_k_stufrm') |
||||
union |
||||
select 50::smallint as sortnr, |
||||
name, trim(name) ||'_' as prefix, |
||||
caption, |
||||
'sos_stg_aggr.hrst=sos_k_hrst.apnr' as joinclause |
||||
from sx_tables where name in ('sos_k_hrst') |
||||
order by 1 |
||||
</sqlvar> |
||||
<sqlvar name="fields_target" type="hashsequence"><![CDATA[ |
||||
select tid, table_name, |
||||
name, |
||||
name as targetname |
||||
from sx_fields where table_name ='${fact_table_source.name}' |
||||
and currentlyused=1 |
||||
<#foreach added_table in added_tables> |
||||
union |
||||
select tid,table_name, |
||||
name, |
||||
'${added_table.prefix}' || name as targetname |
||||
from sx_fields where table_name ='${added_table.name}' |
||||
and currentlyused=1 |
||||
|
||||
</#foreach> |
||||
order by 1 |
||||
|
||||
]]> |
||||
</sqlvar> |
||||
</sqlvars> |
||||
|
||||
<#if sos_stg_aggr_exists==1> |
||||
|
||||
<#assign fact_table_target = {"name":"sos_stud_astat", "caption":"Studierende (intern und amtlich)"} |
||||
/> |
||||
|
||||
|
||||
CREATE temp table tmp_tables( |
||||
name CHAR(255) , |
||||
caption CHAR(255) , |
||||
description CHAR(255) , |
||||
table_type CHAR(255) , |
||||
systeminfo_id INTEGER , |
||||
systeminfo_orig INTEGER , |
||||
thema CHAR(255) , |
||||
sachgebiete_id CHAR(255) |
||||
); |
||||
CREATE temp TABLE tmp_fields( |
||||
tid serial NOT NULL, |
||||
table_name VARCHAR(255) not null, |
||||
name VARCHAR(255) not null, |
||||
caption VARCHAR(255) , |
||||
description VARCHAR(255) , |
||||
field_type VARCHAR(255) not null, |
||||
field_size VARCHAR(255) , |
||||
field_not_null smallint, |
||||
currentlyused SMALLINT , |
||||
is_primarykey SMALLINT default 0 , |
||||
foreignkey_tab VARCHAR(255) , |
||||
foreignkey_col VARCHAR(255) , |
||||
foreignkey_int VARCHAR(255) , |
||||
foreignkey_cap VARCHAR(255) , |
||||
foreignkey_cond VARCHAR(255) , |
||||
foreignkey_func VARCHAR(255) , |
||||
check_integrity SMALLINT, |
||||
is_sum SMALLINT default 1, |
||||
foreignkey_uniquename VARCHAR(255) |
||||
|
||||
); |
||||
|
||||
|
||||
--Vorbereitung: |
||||
UPDATE sx_tables |
||||
SET caption = 'Standorte' |
||||
WHERE name='sos_k_stort'; |
||||
UPDATE sx_tables |
||||
SET caption = 'Studienart' |
||||
WHERE name = 'sos_k_stuart'; |
||||
UPDATE sx_tables |
||||
SET caption = 'Studiumstyp' |
||||
WHERE name = 'sos_k_stutyp'; |
||||
UPDATE sx_tables |
||||
SET caption = 'Studienform' |
||||
WHERE name = 'sos_k_stufrm'; |
||||
UPDATE sx_tables |
||||
SET caption = 'Hörerstatus' |
||||
WHERE name = 'sos_k_hrst'; |
||||
|
||||
|
||||
|
||||
--drop view if exists sos_stud_astat; |
||||
|
||||
|
||||
drop VIEW sos_k_stutyp; |
||||
|
||||
CREATE VIEW sos_k_stutyp |
||||
( |
||||
apnr, |
||||
druck, |
||||
astat |
||||
) |
||||
AS |
||||
SELECT cifx.apnr, |
||||
cifx.druck, |
||||
astat |
||||
FROM cifx |
||||
WHERE cifx.key = 40; |
||||
|
||||
|
||||
update sx_fields set |
||||
is_sum=0 |
||||
where table_name='sos_stg_aggr' |
||||
and name!='summe'; |
||||
update sx_fields set |
||||
is_sum=1 |
||||
where table_name='sos_stg_aggr' |
||||
and name='summe'; |
||||
|
||||
|
||||
insert into tmp_tables ( |
||||
name, |
||||
caption, |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
) |
||||
select |
||||
'${fact_table_target.name}', |
||||
'${fact_table_target.caption}', |
||||
description, |
||||
table_type, |
||||
systeminfo_id, |
||||
thema, |
||||
sachgebiete_id |
||||
from sx_tables where name='${fact_table_source.name}' |
||||
; |
||||
|
||||
|
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${fact_table_source.name}' |
||||
and currentlyused=1; |
||||
<#foreach added_table in added_tables> |
||||
insert into tmp_fields (table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename) |
||||
select '${fact_table_target.name}' as table_name, |
||||
'${added_table.prefix}' || name, |
||||
'${added_table.caption}: ' || caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
from sx_fields where table_name ='${added_table.name}' |
||||
and currentlyused=1; |
||||
</#foreach> |
||||
|
||||
CREATE temp TABLE tmp_rpta_resultset |
||||
( |
||||
caption varchar(255), |
||||
uniquename varchar(255), |
||||
fieldclause text, |
||||
joinclause text, |
||||
whereclause text, |
||||
systeminfo_id integer |
||||
); |
||||
|
||||
insert into tmp_rpta_resultset(caption, |
||||
uniquename, |
||||
systeminfo_id) |
||||
select '${fact_table_target.caption}', |
||||
'${fact_table_target.name}', |
||||
7 |
||||
; |
||||
|
||||
|
||||
update tmp_rpta_resultset set fieldclause=' |
||||
<#foreach field_target in fields_target> |
||||
${field_target.table_name}.${field_target.name} as ${field_target.targetname}, |
||||
</#foreach> |
||||
null::varchar as dummy', |
||||
joinclause='${fact_table_source.name} |
||||
<#foreach added_table in added_tables> |
||||
left outer join ${added_table.name} on (${added_table.joinclause}) |
||||
</#foreach>'; |
||||
|
||||
select * into temp tmp_rs1 |
||||
from rpta_resultset |
||||
; |
||||
|
||||
update rpta_resultset set caption=T.caption, |
||||
fieldclause=T.fieldclause, |
||||
joinclause=T.joinclause, |
||||
whereclause=T.whereclause |
||||
from tmp_rpta_resultset T |
||||
where T.systeminfo_id=rpta_resultset.systeminfo_id |
||||
and T.uniquename=rpta_resultset.uniquename |
||||
; |
||||
|
||||
insert into rpta_resultset(caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id) |
||||
select caption, |
||||
uniquename, |
||||
fieldclause, |
||||
joinclause, |
||||
whereclause, |
||||
systeminfo_id |
||||
from tmp_rpta_resultset |
||||
where 0=(select count(*) |
||||
from tmp_rs1 T |
||||
where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id |
||||
and T.uniquename=tmp_rpta_resultset.uniquename) |
||||
; |
||||
drop table tmp_rpta_resultset; |
||||
drop table tmp_rs1; |
||||
|
||||
delete from sx_tables where name |
||||
in (select T.name from tmp_tables T); |
||||
|
||||
insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id) |
||||
select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id |
||||
from tmp_tables; |
||||
|
||||
|
||||
delete from sx_fields where table_name |
||||
in (select T.table_name from tmp_fields T); |
||||
|
||||
insert into sx_fields (table_name,name,caption,description,field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyUsed, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_cap, |
||||
foreignkey_int, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
) |
||||
select |
||||
F.table_name,F.name,F.caption,F.description,F.field_type, |
||||
F.field_size, |
||||
F.field_not_null, |
||||
F.currentlyUsed, |
||||
F.foreignkey_tab, |
||||
F.foreignkey_col, |
||||
F.foreignkey_cap, |
||||
F.foreignkey_int, |
||||
F.foreignkey_cond, |
||||
F.foreignkey_func, |
||||
F.check_integrity, |
||||
F.is_sum, |
||||
F.foreignkey_uniquename |
||||
|
||||
from tmp_fields F; |
||||
|
||||
|
||||
drop table tmp_fields; |
||||
drop table tmp_tables; |
||||
|
||||
|
||||
--rpta_column füllen: |
||||
select * into temp tmp_rc1 |
||||
from rpta_column; |
||||
|
||||
|
||||
create temp table tmp_rpta_column( |
||||
uniquename varchar(255) NOT NULL, |
||||
caption varchar(255), |
||||
srcfieldname varchar(255), |
||||
column_type integer, |
||||
col_function text, |
||||
is_aggregate smallint, |
||||
resultset_id integer, |
||||
description text, |
||||
custom integer default 0 |
||||
); |
||||
|
||||
insert into tmp_rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description) |
||||
select F.name as uniquename, |
||||
F.caption, |
||||
F.name as srcfieldname, |
||||
1 as column_type, |
||||
(case when F.is_sum=1 then 'sum' else null::varchar end) as col_function, |
||||
(case when F.is_sum=1 then 1 else 0 end) as is_aggregate, |
||||
R.tid as resultset_id, |
||||
F.description |
||||
from sx_fields F, rpta_resultset R |
||||
where F.table_name='${fact_table_target.name}' |
||||
and R.uniquename='${fact_table_target.name}' |
||||
and F.currentlyused=1 |
||||
; |
||||
|
||||
update rpta_column set |
||||
caption=T.caption, |
||||
srcfieldname=T.srcfieldname, |
||||
column_type=T.column_type, |
||||
col_function=T.col_function, |
||||
is_aggregate=T.is_aggregate, |
||||
resultset_id=R.tid, |
||||
description=T.description, |
||||
custom=T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where T.uniquename=rpta_column.uniquename |
||||
and rpta_column.resultset_id=R.tid |
||||
and R.uniquename='${fact_table_target.name}' |
||||
; |
||||
insert into rpta_column( uniquename, |
||||
caption, |
||||
srcfieldname, |
||||
column_type, |
||||
col_function, |
||||
is_aggregate, |
||||
resultset_id, |
||||
description, |
||||
custom) |
||||
select T.uniquename, |
||||
T.caption, |
||||
T.srcfieldname, |
||||
T.column_type, |
||||
T.col_function, |
||||
T.is_aggregate, |
||||
R.tid as resultset_id, |
||||
T.description, |
||||
T.custom |
||||
from tmp_rpta_column T, rpta_resultset R |
||||
where R.uniquename='${fact_table_target.name}' |
||||
and 0=(select count(*) from tmp_rc1 C |
||||
where C.uniquename=T.uniquename |
||||
and C.resultset_id=R.tid) |
||||
; |
||||
|
||||
drop table tmp_rpta_column; |
||||
drop table tmp_rc1; |
||||
|
||||
</#if> --wenn sos_stg_aggr_exists=1 |
@ -0,0 +1,95 @@
@@ -0,0 +1,95 @@
|
||||
|
||||
--Freemarker Template |
||||
<#if '${SQLdialect}'='Postgres' > |
||||
|
||||
alter table rpta_resultset alter column fieldclause type text; |
||||
alter table rpta_resultset alter column joinclause type text; |
||||
alter table rpta_resultset alter column whereclause type text; |
||||
|
||||
</#if> |
||||
|
||||
--update current sos module to most recent version: |
||||
|
||||
update sx_fields set is_sum=0 |
||||
where table_name in ('dim_studiengang','sos_stg_aggr','sos_k_stort','sos_k_stuart','sos_k_stutyp','sos_k_stufrm') |
||||
and name !='summe'; |
||||
|
||||
|
||||
UPDATE sx_tables |
||||
SET caption = 'Standorte' |
||||
WHERE name='sos_k_stort'; |
||||
UPDATE sx_tables |
||||
SET caption = 'Studienart' |
||||
WHERE name = 'sos_k_stuart'; |
||||
UPDATE sx_tables |
||||
SET caption = 'Studiumstyp' |
||||
WHERE name = 'sos_k_stutyp'; |
||||
UPDATE sx_tables |
||||
SET caption = 'Studienform' |
||||
WHERE name = 'sos_k_stufrm'; |
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW sos_k_stutyp |
||||
( |
||||
apnr, |
||||
druck, |
||||
astat |
||||
) |
||||
AS |
||||
SELECT cifx.apnr, |
||||
cifx.druck, |
||||
astat |
||||
FROM cifx |
||||
WHERE cifx.key = 40; |
||||
|
||||
select * into temp tmp_sos_k_stutyp_astat |
||||
from sx_fields where table_name='sos_k_stutyp' |
||||
and name='astat'; |
||||
|
||||
INSERT INTO sx_fields |
||||
( |
||||
table_name, |
||||
name, |
||||
caption, |
||||
description, |
||||
field_type, |
||||
field_size, |
||||
field_not_null, |
||||
currentlyused, |
||||
is_primarykey, |
||||
foreignkey_tab, |
||||
foreignkey_col, |
||||
foreignkey_int, |
||||
foreignkey_cap, |
||||
foreignkey_cond, |
||||
foreignkey_func, |
||||
check_integrity, |
||||
is_sum, |
||||
foreignkey_uniquename |
||||
) |
||||
select |
||||
'sos_k_stutyp', |
||||
'astat', |
||||
'astat', |
||||
'', |
||||
'CHAR', |
||||
'150', |
||||
0, |
||||
1, |
||||
0, |
||||
NULL, |
||||
NULL, |
||||
NULL, |
||||
NULL, |
||||
NULL, |
||||
NULL, |
||||
0, |
||||
1, |
||||
NULL |
||||
from xdummy |
||||
where 0=(select count(*) |
||||
from tmp_sos_k_stutyp_astat); |
||||
|
||||
drop table tmp_sos_k_stutyp_astat; |
||||
|
Loading…
Reference in new issue