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

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

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

Loading…
Cancel
Save