Browse Source

Füllen von fester Tabelle sos_stud_astat_dashboard zus. mit logischen Feldern

master
Marlies Winterstein 1 month ago
parent
commit
7f9c1b58cb
  1. 26
      src-modules/module/rpta/hilfstabellen/fill_rpta_resultset.sql
  2. 25
      src-modules/module/rpta/masken/48000_maskeninfo.unl

26
src-modules/module/rpta/hilfstabellen/fill_rpta_resultset.sql

@ -23,7 +23,8 @@ R.systeminfo_id @@ -23,7 +23,8 @@ R.systeminfo_id
<sqlvar name="basetable_columns" type="hashsequence"><![CDATA[
SELECT distinct T.name as table_name,
F.name,
F.is_sum
F.is_sum,
R.uniquename as rpta_name
from sx_tables T, rpta_resultset R , sx_fields F
where T.name=R.uniquename
and R.is_virtual=0
@ -33,23 +34,32 @@ F.is_sum @@ -33,23 +34,32 @@ F.is_sum
]]>
</sqlvar>
<sqlvar name="rpta_clauses" type="hashsequence"><![CDATA[
select distinct R.uniquename as rpta_uniquename, R.fieldclause, R.joinclause, R.whereclause from sx_tables T, rpta_resultset R
where T.name=R.uniquename
and R.is_virtual=0
]]>
</sqlvar>
</sqlvars>
<#if basetables?has_content>
<#foreach basetable in basetables>
<#if basetable.is_virtual==0>
<#if basetable.is_virtual==0>
<#foreach rpta_clause in rpta_clauses>
<#if rpta_clause.rpta_uniquename=basetable.uniquename>
<#assign sqlString = "select current_timestamp as creation_date, " + rpta_clause.fieldclause + " from " + rpta_clause.joinclause + " where 1=1" + rpta_clause.whereclause />
drop table if exists ${basetable.runtime_tablename};
create temp table tmp_${basetable.runtime_tablename} as
select ${basetable.fieldclause} ,
today() as creation_date
from ${basetable.joinclause}
where 1=1
<#if basetable.whereclause != "">
${basetable.whereclause} </#if>
${sqlString}
;
</#if>
</#foreach>
--Summierung:
<#if basetable_columns?has_content>
<#assign groupby=0 />

25
src-modules/module/rpta/masken/48000_maskeninfo.unl

@ -11,17 +11,20 @@ select R.uniquename\ @@ -11,17 +11,20 @@ select R.uniquename\
and L.uniquename=<<Spaltenlayout>>;]]>\
</sqlvar>\
<sqlvar name="basetable" type="hash"><![CDATA[\
SELECT distinct name,\
0::smallint as is_virtual,\
SELECT distinct T.name,\
R.is_virtual,\
name as runtime_tablename\
from sx_tables\
where name in ('${my_base_rs}')\
and 0=(select count(*) from rpta_resultset R where R.uniquename='${my_base_rs}')\
from sx_tables T, rpta_resultset R \
where T.name=R.uniquename\
and T.name='${my_base_rs}'\
and R.is_virtual=0\
\
union\
select R.uniquename,\
1::smallint as is_virtual,\
R.is_virtual,\
'tmp_' || R.uniquename as runtime_tablename\
from rpta_resultset R where R.uniquename='${my_base_rs}'\
and R.is_virtual=1\
;\
]]>\
</sqlvar>\
@ -39,7 +42,8 @@ select caption,\ @@ -39,7 +42,8 @@ select caption,\
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\
select L.uniquename,\
L.caption,\
L.whereclause\
L.whereclause,\
R.is_virtual\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
@ -157,9 +161,14 @@ null::decimal(19,6) as ${column.targetfieldname},\ @@ -157,9 +161,14 @@ null::decimal(19,6) as ${column.targetfieldname},\
null::char(1) as dummycol\
into temp tmp_stud\
from ${basetable.runtime_tablename}\
where 1=1\
<#if rpta_column_layout.whereclause !="">\
where ${rpta_column_layout.whereclause}\
and ${rpta_column_layout.whereclause}\
</#if>\
<#if rpta_column_layout.is_virtual ==0>\
and ${filter}\
</#if>\
\
;\
\
\

Loading…
Cancel
Save