You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
6.8 KiB
202 lines
6.8 KiB
48310^Übergang Bachelor-Master bzw. vorheriger Abschluss bei Master-Studienbeginn^--Freemarker Template\ |
|
<#include "SQL_lingua_franca"/>\ |
|
<#include "SuperX_general"/>\ |
|
--\ |
|
--Autor D. Quathamer 2024\ |
|
<sqlvars>\ |
|
<sqlvar name="my_base_rs"><![CDATA[\ |
|
select R.uniquename\ |
|
from rpta_resultset R, rpta_column_layout L\ |
|
where L.resultset_id=R.tid\ |
|
and L.uniquename=<<Spaltenlayout>>;]]>\ |
|
</sqlvar>\ |
|
<sqlvar name="basetable" type="hash"><![CDATA[\ |
|
SELECT distinct T.name,\ |
|
R.is_virtual,\ |
|
name as runtime_tablename\ |
|
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,\ |
|
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>\ |
|
<sqlvar name="rpta_resultset" type="hash"><![CDATA[\ |
|
select caption,\ |
|
uniquename,\ |
|
fieldclause,\ |
|
joinclause,\ |
|
whereclause,\ |
|
systeminfo_id\ |
|
from rpta_resultset\ |
|
where uniquename='${basetable.name}';\ |
|
\ |
|
]]></sqlvar>\ |
|
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\ |
|
select L.uniquename,\ |
|
L.caption,\ |
|
L.whereclause,\ |
|
R.is_virtual,\ |
|
L.sortclause\ |
|
from rpta_resultset R, rpta_column_layout L\ |
|
where L.resultset_id=R.tid\ |
|
and R.uniquename='${basetable.name}'\ |
|
and L.uniquename=<<Spaltenlayout>>;\ |
|
\ |
|
]]></sqlvar>\ |
|
<sqlvar name="columns" type="hashsequence"><![CDATA[\ |
|
SELECT C.srcfieldname,\ |
|
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\ |
|
T.uniquename as coltype,\ |
|
C.is_aggregate,\ |
|
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\ |
|
CL.is_visible,\ |
|
CL.visible_size as visible_width,\ |
|
F.sql_code as format_sql,\ |
|
F.uniquename as format_uniquename,\ |
|
C.col_function as colfunction,\ |
|
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\ |
|
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \ |
|
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\ |
|
where L.tid=CL.layout_id\ |
|
and C.tid=CL.column_id\ |
|
and T.tid=C.column_type\ |
|
and L.uniquename=<<Spaltenlayout>>\ |
|
/* and C.uniquename in (<<Spalten>>) */\ |
|
order by CL.sortnr\ |
|
;\ |
|
]]></sqlvar>\ |
|
<sqlvar name="endsemester"><![CDATA[\ |
|
SELECT max(tid)\ |
|
from semester \ |
|
where 1=1\ |
|
/* and tid >= <<Seit Semester>> */\ |
|
/* and tid <= <<Bis Semester>> */\ |
|
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\ |
|
and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ |
|
</#if>\ |
|
;\ |
|
\ |
|
]]></sqlvar>\ |
|
<sqlvar name="SOS_MTKNR_EXT">\ |
|
select 1 from xdummy where 0 != (select \ |
|
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
|
and apnr=1)\ |
|
union select 0 from xdummy where 0 = (select \ |
|
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
|
and apnr=1)\ |
|
;\ |
|
</sqlvar>\ |
|
\ |
|
</sqlvars>\ |
|
\ |
|
<#assign richtung="" />\ |
|
/* <#assign richtung=<<Richtung>> />*/\ |
|
<#if richtung="" && rpta_column_layout.whereclause?index_of("gw") != -1>\ |
|
<#assign richtung="gw" />\ |
|
<#elseif richtung="" && rpta_column_layout.whereclause?index_of("wg") != -1>\ |
|
<#assign richtung="wg" />\ |
|
<#else>\ |
|
<#assign richtung="gw" />\ |
|
</#if>\ |
|
\ |
|
\ |
|
<#assign mtknr_filter=basetable.name+".matrikel_nr::varchar(255)" />\ |
|
<#if SOS_MTKNR_EXT=1>\ |
|
<#assign mtknr_filter=basetable.name+".pseudonym" />\ |
|
</#if>\ |
|
<#if richtung="gw" >\ |
|
<#assign tid_stg_col="abschluss_vorher_tid_stg" />\ |
|
<#assign stg_col="abschluss_vorher_stg" />\ |
|
<#assign abschluss_col="abschluss_vorher_abschluss" />\ |
|
<#assign semester_col="abschluss_vorher_semester" />\ |
|
</#if>\ |
|
<#if richtung="wg" >\ |
|
<#assign tid_stg_col="einschr_nachher_tid_stg" />\ |
|
<#assign stg_col="einschr_nachher_stg" />\ |
|
<#assign abschluss_col="einschr_nachher_abschluss" />\ |
|
<#assign semester_col="einschr_nachher_semester" />\ |
|
</#if>\ |
|
<#assign filter="1=1" />\ |
|
/* <#assign filter=filter+" and richtung='"+richtung+"'" /> --<<Richtung>> */\ |
|
\ |
|
<#assign studiengang_filter = "" />\ |
|
/* <#assign studiengang_filter = Studiengang.allNeededKeysList /> --<<Studiengang>> */ \ |
|
<#if studiengang_filter != "" >\ |
|
<#assign filter=filter + " and ('s_' || erfolg_ba_ma_uebergang."+tid_stg_col+"_1 in "+ studiengang_filter/> \ |
|
<#list 2..5 as fachnr>\ |
|
<#assign filter=filter + " or 's_' || erfolg_ba_ma_uebergang."+tid_stg_col+"_"+fachnr+" in "+ studiengang_filter /> \ |
|
</#list>\ |
|
<#assign filter=filter + ")" />\ |
|
</#if>\ |
|
\ |
|
<#assign fach_filter = "" />\ |
|
/* <#assign fach_filter = Fächer.allNeededKeysList /> --<<Fächer>> */ \ |
|
<#if fach_filter != "" >\ |
|
<#assign filter=filter + " and (erfolg_ba_ma_uebergang."+stg_col+"_1 in "+ fach_filter/> \ |
|
<#list 2..5 as fachnr>\ |
|
<#assign filter=filter + " or erfolg_ba_ma_uebergang."+stg_col+"_"+fachnr+" in "+ fach_filter /> \ |
|
</#list>\ |
|
<#assign filter=filter + ")" />\ |
|
</#if>\ |
|
\ |
|
/* \ |
|
<#assign filter = filter + " and " +abschluss_col+" in "+Studienabschluss.allNeededKeysList /> --<<Studienabschluss>> */\ |
|
\ |
|
\ |
|
/* <#assign filter=filter+" and "+ semester_col+" >=" + "<<Seit Semester>>" /> */\ |
|
/* <#assign filter=filter+" and "+ semester_col+" <=" + "<<Bis Semester>>" /> */\ |
|
\ |
|
<#assign filter=filter+" \ |
|
/* and geschlecht = <<Geschlecht>> */\ |
|
/* and einschr_nachher_<<Hörerstatus>>*/\ |
|
/* and <<Matrikel-Nr.>>=${mtknr_filter} */\ |
|
" />\ |
|
\ |
|
\ |
|
/* \ |
|
<#assign filter = filter + " and '' || "+basetable.name+".ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\ |
|
\ |
|
<#if columns?has_content>\ |
|
\ |
|
<#if basetable.is_virtual==1>\ |
|
\ |
|
create temp table ${basetable.runtime_tablename} as\ |
|
select ${rpta_resultset.fieldclause} \ |
|
from ${rpta_resultset.joinclause} \ |
|
where 1=1\ |
|
<#if rpta_resultset.whereclause != ""> \ |
|
${rpta_resultset.whereclause} </#if>\ |
|
and ${filter}\ |
|
;\ |
|
</#if>\ |
|
\ |
|
\ |
|
<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\ |
|
\ |
|
</#if> --wenn columns?has_content^--Freemarker Template\ |
|
XIL List\ |
|
sizable_columns horizontal_scrolling\ |
|
drop_and_delete movable_columns \ |
|
white_space_color=COLOR_WHITE fixed_columns=1\ |
|
min_heading_height=55\ |
|
<#foreach column in columns>\ |
|
<#if column.is_visible!=0>\ |
|
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\ |
|
row_selectable heading_platform readonly\ |
|
width=${column.visible_width} text_size=60\ |
|
</#if>\ |
|
</#foreach>\ |
|
<#if 1=0>\ |
|
Column CID=0 heading_text="sortnr" center_heading explanation=""\ |
|
row_selectable heading_platform readonly\ |
|
width=5 text_size=60\ |
|
</#if>\ |
|
@@@^Studienfach^Anzahl bzw. Anteil^Übergang nach Abschluss zu einem neuen Studiengang oder vorheriger Abschluss bei Studienbeginn^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^
|
|
|