delete from maskeninfo where tid = 888880080; delete from themenbaum where maskeninfo_id = 888880080; delete from felderinfo where tid in (select felderinfo_id from masken_felder_bez where maskeninfo_id = 888880080); delete from masken_felder_bez where maskeninfo_id = 888880080; delete from sachgeb_maske_bez where maskeninfo_id = 888880080; delete from maske_system_bez where maskeninfo_id = 888880080; insert into maske_system_bez (maskeninfo_id,systeminfo_id) values (888880080,3); insert into sachgeb_maske_bez (maskeninfo_id,sachgebiete_id) values (888880080,50); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880080); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880081); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880082); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880083); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880084); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880085); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880086); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880087); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880088); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880089); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880090); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880091); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880092); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880093); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880094); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880095); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880096); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880097); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880098); insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880099); > SELECT year(today()) FROM xdummy;' where tid=888880080;]]> > select ''FIN_KOSTENART'',''FIN_KOSTENART'' from xdummy' where tid=888880098;]]> <#include "SuperX_general"/> select month(today()) from xdummy where year(today())=<> union select 12 from xdummy where year(today())!=<> CDATASTARTselect id,caption,content as strukturstr from sx_repository where aktiv=1 and <#if "<>"!='FIN_KOSTENART'> art=<> <#else> art='FIN_KOSTENART' and gueltig_seit<=date_val('1.1.<>') and gueltig_bis>=('1.1.<>') order by sort1CDATAEND select id,caption,content from sx_repository where aktiv=1 /* and id in (<>) */ and gueltig_seit<=date_val('1.1.<>') and gueltig_bis>=('1.1.<>') select min(name_intern) from sichten where name = 'KST_Budgetbericht_<>' and systeminfoid=3 --FIN-Kopie select count(*) from user_institution where userid=<> --<#if KST_SICHT?length<2> --Keine Kostenstellensicht KST_Budgetbericht_<> gefunden -- <#assign linkbuchstart=""/> -- bei altem Kernmodul SuperXmlTabelle?tid= <#assign verfuegbar_misch_aktiv=false/> <#if CUSTOM_888880080?exists> <#assign inlineTemplate=CUSTOM_888880080?interpret> <@inlineTemplate/> <#assign linkbuch="SuperXmlTabelle?tid=888880040&Haushaltsjahr=<>&navi=true"/> <#if .vars['Kostenstelle-Sicht']?exists><#assign linkbuch=linkbuch+"&Kostenstelle-Sicht=${.vars['Kostenstelle-Sicht']}"/> --Referenz auf erste Kostenstelle wird fuer FREIES benoetigt --<#assign kstelle='-999'> --<#if anzahl_klr_rechte>0> --<#assign kstelle=Kostenstelle.elements?first/> --<#assign linkbuch=linkbuch+"&Kostenstelle="+kstelle.key> --&+"Kostenstelle-Sicht="+KST_SICHT/> --<#else> --TODO klappt noch nicht als Fehlermeldung - verbessern --<#if Finanzierungsquelle?index_of("FREIES")>-1> FEHLER FueR FREIES BUDGET MUSS EINE KOSTENSTELLE AUSGEWaeHLT SEIN -- <#assign linkbuch=linkbuch+"&cachingcontrol=clearmask&Finanzierungsquelle="/> --Finanzierungsquelle obligatorisch vorausgesetzt <#assign baus="&Buchungsart=6-aus"/> <#if LinkFestlegung?exists&&LinkFestlegung='nur offene'> <#assign bf="&Buchungsart=4b-ofest"/> <#else> <#assign bf="&Buchungsart=4-fest"/> <#assign bakts="&Buchungsart=3b-aks"/> <#assign bhhans="&Buchungsart=9-hhans"/> <#assign bhhans_reste="&Buchungsart=9b-hhans-reste"/> <#assign bein="&Buchungsart=7-ein"/> <#foreach finanzierungsquelle in TMP_FINANZIERUNGSQUELLEN> <#assign linkbuch=linkbuch+finanzierungsquelle.id/> <#if finanzierungsquelle_has_next> <#assign linkbuch=linkbuch+","/> <#if "<>"!=""> <#assign linkbuch=linkbuch+"&Buchungsab_fb="+Buchungsab_fb?replace("'","")?replace("|",",")/> <#if "<>"!=""> <#assign linkbuch=linkbuch+"&Projnr_ins="+Projnr_ins?replace("'","")?replace("|",",")/> <#if "<>"!=""&&ins2?exists> <#assign linkbuch=linkbuch+"&ins2="+ins2?replace("'","")?replace("|",",")/> <#if "<>"!=""&&ins3?exists> <#assign linkbuch=linkbuch+"&ins3="+ins3?replace("'","")?replace("|",",")/> <#if "<>"!=""&&FB_INS?exists> <#assign linkbuch=linkbuch+"&FB_INS="+FB_INS?replace("'","")?replace("|",",")/> <#if "<>"!=""&&Titel?exists> <#assign linkbuch=linkbuch+"&Titel="+Titel?replace("'","")?replace("|",",")/> <#if "<>"!=""&&Deckungsring?exists> <#assign linkbuch=linkbuch+"&Deckungsring="+Deckungsring?replace("'","")?replace("|",",")/> <#if sx_butype?exists&&"<>"!=""> <#assign linkbuch=linkbuch+"&sx_butype="+sx_butype/> <#if Kostenstelle?exists&&"<>"!=""><#assign linkbuch=linkbuch+"&Kostenstelle=<>"?replace("'","")> <#assign linkbuchspezKoa=linkbuch/> <#if (Kostenarten.selectionCount>0)> <#assign linkbuch=linkbuch+"&Kostenarten=<>"?replace("'","")/> <#macro kamrights> --( --(select count(*) from userinfo where tid=<> and administration=1)>0 or --(select count(*) from fin_user_kam where buchungsab_fb='0' and projnr_ins='0' and userid=<>)>0 --or --( --buchungsab_fb in (select buchungsab_fb from fin_user_kam where projnr_ins='0' and userid=<> ) --or --projnr_ins in (select projnr_ins from fin_user_kam where buchungsab_fb='0' and userid=<> ) --or --'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins in (select 'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins from fin_user_kam --where userid=<> ) --) --) --kst_sql wird momentan nicht gebraucht <#assign kst_sql>ch110_institut in <@printkeys Kostenstelle.allNeededKeysList /> ${SxFinRechte(kst_sql,'31.12.<>')} create temp table tmp_roh ( koa char(100), dritt smallint, titel char(10), monat smallint, fikr char(12), hhans decimal (14,2) default 0, reste decimal (14,2) default 0, akt_soll decimal (14,2) default 0, akts_plus_vojs decimal(14,2) default 0, sperr decimal (14,2) default 0, ausgaben decimal (14,2) default 0, einnahmen decimal(14,2) default 0, fest decimal (14,2) default 0, verfuegbar decimal (14,2) default 0, verfuegbar_geld decimal (14,2) default 0, verfuegbar_misch decimal (14,2) default 0 -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln ) <@informixnolog/>; create temp table tmp_fikrsum ( koa char(100), monat smallint, fikr char(12), ausgaben decimal (14,2) default 0, einnahmen decimal (14,2) default 0 ) <@informixnolog/>; create temp table tmp_erg ( ebene smallint default 1, koa char(100), fikr char(12), name char(100), sortnr integer default 0, sort2 integer default 0, hhans decimal (14,2) default 0, reste decimal(14,2) default 0, hhans_reste decimal(14,2) default 0, akt_soll decimal (14,2) default 0, sperr decimal (14,2) default 0, akts_plus_vojs decimal(14,2) default 0, ausgaben decimal (14,2) default 0, prozent decimal(14,2), gesamtausgaben decimal(16,6), einnahmen decimal (14,2) default 0, <#list 1..maxmonat as i> aus${i} decimal(14,2) default 0, linkbuchaus${i} <#if SQLdialect='Postgres'>text<#else>lvarchar, fest decimal (14,2) default 0, verfuegbar decimal (14,2) default 0, verfuegbar_geld decimal (14,2) default 0, verfuegbar_misch decimal (14,2) default 0, -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln verfuegbar_misch_of decimal (14,2) default 0, -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln --linkbuchhhans <#if SQLdialect='Postgres'>text<#else>lvarchar, gibt's nicht im Buchungsbericht linkbuchakts <#if SQLdialect='Postgres'>text<#else>lvarchar, linkbuchhhans <#if SQLdialect='Postgres'>text<#else>lvarchar, linkbuchhhans_reste <#if SQLdialect='Postgres'>text<#else>lvarchar, linkbuchf <#if SQLdialect='Postgres'>text<#else>lvarchar, linkbuchaus <#if SQLdialect='Postgres'>text<#else>lvarchar, linkbuchein <#if SQLdialect='Postgres'>text<#else>lvarchar ) <@informixnolog/>; -- left outer join auf xdummy fügt gegenfalls null als Werte ein, daher kommt unten noch mal update -- das Makro <#macro insert koa> <#assign koaTemplate = koa.strukturStr?interpret> <#assign showKLRKostenarten='nein'> --defaultwert wird ggfs. im folgenden Schritt ueberschriebenen select count(*) from fin_konto_aggr where 1=0 and <@koaTemplate/>; <#foreach finanzierungsquelle in TMP_FINANZIERUNGSQUELLEN> --defaults <#assign drtitparam='dr'/> <#assign aktsollausdruck="sum(akt_soll_"+drtitparam+")"/> <#assign verfuegbarausdruck="sum(verfuegbar_"+drtitparam+")"/> <#assign drtit="dr"/> --default kann von FInanzierungsquelle überschrieben werden <#assign inlineTemplate = finanzierungsquelle.strukturStr?interpret> select 0 from fin_konto_aggr where 1=0 and <@inlineTemplate />; <#if koa.id!='FIN_KSONSTIGES'&&koa.strukturStr?index_of("titel")>-1||"<>"="'no_dr'"><#assign drtit="tit"/> <#if drtit="tit"||("<>"!=""&&Titel?exists)||(koa.id!='FIN_KSONSTIGES'&&koa.strukturStr?index_of("titel")>1)> <#assign drtitparam='tit'/> <#assign aktsollausdruck=aktsollausdruck?replace("_dr","_tit")/> <#assign verfuegbarausdruck=verfuegbarausdruck?replace("_dr","_tit")/> insert into tmp_roh (koa,titel,monat <#if showKLRKostenarten!='nein'>,fikr <#if verfuegbar_misch_aktiv>, dritt, hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld) select '${koa.id}'::char(100),titel,monat <#if showKLRKostenarten!='nein'>,fikr <#if verfuegbar_misch_aktiv>, dritt, sum(hhans_${drtitparam}),sum(reste_${drtitparam}),${aktsollausdruck},sum(akt_soll_${drtitparam})+sum(vojs_${drtitparam}),sum(sperr_${drtitparam}),sum(ausgaben_${drtitparam}), sum(einnahmen_${drtitparam}),sum(festgelegt_${drtitparam}),${verfuegbarausdruck},sum(verfuegbar_geld) from fin_konto_aggr where rechnungsjahr=<> /* and buchungsab_fb in (<>) */ /* and projnr_ins in (<>) */ /* and ins2 in (<>) */ /* and ins3 in (<>) */ /* and (buchungsab_fb in (<>) */ /* or projnr_ins in (<>) ) */ /* and titel in (<>) */ <#if "<>"="'no_dr'"> and (dr='' or dr is null) <#else> /* and (dr in (<>) */ /* or dr2 in (<>)) */ /* and zweckbestimmung_ut in (<>) */ /* and sx_butype in (<>) */ <#if (Kostenarten.selectionCount>0)> and fikr in <@printkeys Kostenarten.allNeededKeys /> --Kostenstellenrechte brauchen nicht abgefragt zu werden, wird ggfs. ber Finanzierungsquelle gemacht and (<@inlineTemplate />) and <@koaTemplate/> group by 1,2,3 <#if showKLRKostenarten!='nein'>,fikr <#if verfuegbar_misch_aktiv>,dritt; <#if verfuegbar_misch_aktiv> update tmp_roh set verfuegbar_misch=verfuegbar where dritt=0; update tmp_roh set verfuegbar_misch=verfuegbar_geld where dritt=1; <#foreach koa in finkostenarten> <#if koa.strukturStr?length<2>Achtung - fuer ${koa.id} kein SQL definiert <@insert koa=koa/> create index tmp_ixroh on tmp_roh(fikr); <#assign sort=1/> <#foreach koa in finkostenarten> --defaultwerte falls nicht gewuenscht anders in repository definieren <#assign showAnsatz='ja'> <#assign showSperre='ja'> <#assign showFestgelegt='ja'> <#assign showVerfuegbar='ja'> <#assign showKLRKostenart=''/> <#assign showEinzeltitel='nein'/> --Variablen ggfs. durch repository Wert ueberschreiben <#assign inlineTemplate = koa.strukturStr?interpret> select count(*) from fin_konto_aggr where 1=0 and <@inlineTemplate />; <#assign sort=sort+1/> insert into tmp_erg (koa,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch, linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein) select '${koa.id}'::char(100),'${koa.name}'::char(100),${sort},0, --hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable sum(hhans),sum(reste), <#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2), <#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2),sum(ausgaben),sum(einnahmen), <#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2), <#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2), '${linkbuch}&FIN-Kostenart=${koa.id}${bhhans}','${linkbuch}&FIN-Kostenart=${koa.id}${bhhans_reste}', <#if showAnsatz!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bakts}'<#else>null::char(255), <#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}'<#else>null::char(255), '${linkbuch}&FIN-Kostenart=${koa.id}${baus}', '${linkbuch}&FIN-Kostenart=${koa.id}${bein}' from xdummy left outer join tmp_roh on (koa='${koa.id}'::char(100)) group by 1,2,3,4; <#if showEinzeltitel!='nein'> <#assign sort=sort+1/> insert into tmp_erg (ebene,koa,fikr,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch, linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein) select 2, '${koa.id}'::char(100),'titel',titel,${sort},titel::integer, --hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable sum(hhans),sum(reste), <#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2), <#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2), sum(ausgaben), sum(einnahmen), <#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2), <#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2), '${linkbuch}&FIN-Kostenart=${koa.id}${bhhans}&Titel='||trim(titel),'${linkbuch}&FIN-Kostenart=${koa.id}${bhhans_reste}&Titel='||trim(titel), <#if showAnsatz!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bakts}&Titel='||trim(titel)<#else>null::char(255), <#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}&Titel='||trim(titel)<#else>null::char(255), '${linkbuch}&FIN-Kostenart=${koa.id}${baus}&Titel='||trim(titel), '${linkbuch}&FIN-Kostenart=${koa.id}${bein}&Titel='||trim(titel) from tmp_roh where koa='${koa.id}'::char(100) and titel!='' group by 1,2,3,4,5,6; -- KLR-Kostenarten muessen jetzt auf Ebene zwei sein, unter Titel nicht vorgesehen <#if showKLRKostenarten!='nein'> <#assign sort=sort+1/> <#assign sort2=1/> <#foreach klrkoa in Kostenarten.elements> <#if (Kostenarten.selectionCount==0)> <#assign klrkoa_ebene=klrkoa.level/> <#else> <#assign klrkoa_ebene=klrkoa.levelFromSelection+2/> <#if klrkoa.level>=2> insert into tmp_erg (ebene,koa,fikr,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch, linkbuchakts,linkbuchf,linkbuchaus,linkbuchein) select ${klrkoa_ebene}, '${koa.id}'::char(100),'${klrkoa.key}'::char(12),'${klrkoa.name}'::char(150),${sort},${sort2}, --hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable sum(hhans),sum(reste), <#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2), <#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2), sum(ausgaben), sum(einnahmen), <#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2), <#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2), <#if showAnsatz!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bakts}'<#else>null::char(255), <#if showFestgelegt!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bf}'<#else>null::char(255), '${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${baus}', '${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bein}' from tmp_roh where koa='${koa.id}'::char(100) and fikr in <@printkeys klrkoa.subkeys/> group by 1,2,3,4,5,6; <#assign sort2=sort2+1/> --Summe fuer KLR_kostenarten einschliesslich untergeordneter <#foreach klrkoa in Kostenarten.elements> insert into tmp_fikrsum (koa,fikr,monat,ausgaben,einnahmen) select koa,'${klrkoa.key}'::char(12),monat,sum(ausgaben),sum(einnahmen) from tmp_roh where fikr in <@printkeys klrkoa.subkeys/> group by 1,2,3; create index tmp_ix1 on tmp_fikrsum (koa,monat); create index tmp_ix2 on tmp_fikrsum (fikr,monat); <#list 1..maxmonat as i> update tmp_erg set aus${i}=(select sum(ausgaben) from tmp_roh where monat=${i} and tmp_erg.koa=tmp_roh.koa) where ebene=1; --fuer KLR-Koa update tmp_erg set aus${i}= (select sum(ausgaben) from tmp_fikrsum where monat=${i} and tmp_erg.koa=tmp_fikrsum.koa and tmp_erg.fikr=tmp_fikrsum.fikr) where ebene>1; -- für Einzeltitel update tmp_erg set aus${i}= (select sum(ausgaben) from tmp_roh where monat=${i} and tmp_erg.koa=tmp_roh.koa and tmp_erg.name=tmp_roh.titel) where fikr='titel' and ebene>1; update tmp_erg set aus${i}=0 where aus${i} is null; drop table tmp_fikrsum; drop table tmp_roh; --update tmp_erg set akt_soll=0 where akt_soll is null; --update tmp_erg set sperr=0 where sperr is null; update tmp_erg set ausgaben=0 where ausgaben is null; --update tmp_erg set fest=0 where fest is null; --update tmp_erg set verfuegbar=0 where verfuegbar is null; update tmp_erg set name=(select max(ktobez) from fin_titel where tmp_erg.name=fin_titel.titel and fin_titel.jahr=<>) where fikr='titel'; <@selectintotmp source="tmp_erg" target="tmp_erg2" select="*"/><@informixnolog/>; <#if finkostenarten?size>1> insert into tmp_erg2 (name,sortnr,linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein,hhans, akt_soll,akts_plus_vojs,sperr,<#list 1..maxmonat as i>aus${i},ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld, verfuegbar_misch) select 'Summe'::char(5),${sort+1}, <#if showAnsatz!='nein'>'${linkbuch}${bhhans}'<#else>null::char(255), <#if showAnsatz!='nein'>'${linkbuch}${bhhans_reste}'<#else>null::char(255), <#if showAnsatz!='nein'>'${linkbuch}${bakts}'<#else>null::char(255), <#if showFestgelegt!='nein'>'${linkbuch}${bf}'<#else>null::char(255), '${linkbuch}${baus}', '${linkbuch}${bein}' ,sum(hhans),sum(akt_soll),sum(akts_plus_vojs),sum(sperr), <#list 1..maxmonat as i>sum(aus${i}),sum(ausgaben),sum(einnahmen),sum(fest),sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch) from tmp_erg where ebene=1 group by 1,2,3,4,5,6; update tmp_erg2 set gesamtausgaben=(select sum(ausgaben) from tmp_erg where ebene=1); update tmp_erg2 set prozent=(ausgaben/gesamtausgaben)*100 where gesamtausgaben is not null and gesamtausgaben!=0; drop table tmp_erg; update tmp_erg2 set verfuegbar_misch_of=verfuegbar_misch+fest; update tmp_erg2 set hhans=0 where hhans is null; update tmp_erg2 set reste=0 where reste is null; update tmp_erg2 set hhans_reste=hhans+reste; update tmp_erg2 set akt_soll=0 where akt_soll is null; update tmp_erg2 set sperr=0 where sperr is null; update tmp_erg2 set akts_plus_vojs=0 where akts_plus_vojs is null; update tmp_erg2 set ausgaben=0 where ausgaben is null; update tmp_erg2 set einnahmen=0 where einnahmen is null; update tmp_erg2 set fest=0 where fest is null; update tmp_erg2 set verfuegbar=0 where verfuegbar is null; update tmp_erg2 set verfuegbar_geld=0 where verfuegbar_geld is null; update tmp_erg2 set verfuegbar_misch=0 where verfuegbar_misch is null; update tmp_erg2 set verfuegbar_misch_of=0 where verfuegbar_misch_of is null; <#if Username?starts_with("demo")> <#function rand min max> <#assign objectConstructor = "freemarker.template.utility.ObjectConstructor"?new()> <#local n1 = objectConstructor("java.util.Date")> <#local n2 = n1.getTime()/> <#local now=n2?string /> <#local leng=now?length/> <#local randomNum=0.36+("0."+now[(leng-1)]+now[(leng-2)..(leng-1)])?number/> <#if (randomNum > 1)> <#assign _rand = randomNum % 1 /> <#else> <#assign _rand = randomNum /> <#return (min + ((max - min) * _rand))/> <#assign zufall=rand(3,9)?string?replace(",",".")/> update tmp_erg2 set hhans=hhans*${zufall} , sperr=sperr*${zufall} , akt_soll=akt_soll*${zufall} , akts_plus_vojs=akts_plus_vojs*${zufall} , einnahmen =einnahmen*${zufall}, ausgaben=ausgaben*${zufall}, <#list 1..maxmonat as i>aus${i}=aus${i}*${zufall}, verfuegbar=verfuegbar*${zufall} , verfuegbar_geld=verfuegbar_geld*${zufall}, verfuegbar_misch=verfuegbar_misch*${zufall}, verfuegbar_misch_of=verfuegbar_misch_of*${zufall}; <#list 1..maxmonat as i> update tmp_erg2 set linkbuchaus${i}=linkbuchaus||'&Monat=${i}'; <#if customize?exists> -- wenn das Feld nicht versteckt ist, muss Link gekürzt werden <#foreach f in customize.resulttable> <#if f.field?index_of("linkbuchhhans")>-1&&f.field?index_of("hidden")==-1> update tmp_erg2 set linkbuchhhans=replace(linkbuchhhans,'SuperXmlTabelle?tid=',''); update tmp_erg2 set linkbuchhhans_reste=replace(linkbuchhhans_reste,'SuperXmlTabelle?tid=',''); <#if f.field?index_of("linkbuchakts")>-1&&f.field?index_of("hidden")==-1> update tmp_erg2 set linkbuchakt=replace(linkbuchakts,'SuperXmlTabelle?tid=',''); <#if f.field?index_of("linkbuchf")>-1&&f.field?index_of("hidden")==-1> update tmp_erg2 set linkbuchf=replace(linkbuchf,'SuperXmlTabelle?tid=',''); <#if f.field?index_of("linkbuchaus")>-1&&f.field?index_of("hidden")==-1> update tmp_erg2 set linkbuchaus=replace(linkbuchaus,'SuperXmlTabelle?tid=',''); <#if f.field?index_of("linkbuchein")>-1&&f.field?index_of("hidden")==-1> update tmp_erg2 set linkbuchein=replace(linkbuchein,'SuperXmlTabelle?tid=',''); select <#foreach f in customize.resulttable> <#if f.caption='Ausgaben'> <#if Finanzierungsquelle!='FIN_EINNAHMEN'> <#list 1..maxmonat as i>aus${i}, ausgaben, <#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i}, linkbuchaus as hidden_ausgaben, <#else> <#if !f.field?starts_with("linkbuchaus")||Finanzierungsquelle!='FIN_EINNAHMEN'> ${f.field} <#if f_has_next>, from tmp_erg2 order by sortnr,sort2,name; <#else> select ebene,name,akt_soll,einnahmen,sperr, <#if Finanzierungsquelle!='FIN_EINNAHMEN'> <#list 1..maxmonat as i>aus${i}, ausgaben, <#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i}, linkbuchaus as hidden_ausgaben, fest, verfuegbar, linkbuchakts as hidden_akt_soll, linkbuchf as hidden_fest, linkbuchein as hidden_einnahmen from tmp_erg2 order by sortnr,sort2,name; ]]> <#include "SuperX_general"/> <#assign monate=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]/> select month(today()) from xdummy where year(today())=<> union select 12 from xdummy where year(today())!=<> sizable_columns horizontal_scrolling white_space_color=COLOR_WHITE fixed_columns=2 min_heading_height=35 <#if CUSTOM_888880080?exists> <#assign inlineTemplate=CUSTOM_888880080?interpret> <@inlineTemplate/> <#if customize?exists> <#foreach f in customize.resulttable> <#if f.caption='Ausgaben'> <#if Finanzierungsquelle!='FIN_EINNAHMEN'> <#list 1..maxmonat as i> Column CID=0 heading_text="Ausgaben\000${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 Column CID=0 heading_text="Ausgaben\000GESAMT" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 <#list 1..maxmonat as i> Column CID=0 heading_text="hidden_Ausgaben${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=1 text_size=10 Column CID=0 heading_text="hidden_Ausgaben" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=1 <#else> <#if !f.field?starts_with("linkbuchaus")||Finanzierungsquelle!='FIN_EINNAHMEN'> Column CID=2 heading_text="${f.caption}" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=${f.width} <#else> Column CID=0 heading_text="Ebene" explanation="" center_heading row_selectable heading_platform readonly width=8 text_size=8 Column CID=0 heading_text="Kostenart" explanation="" center_heading row_selectable heading_platform readonly width=30 text_size=30 Column CID=0 heading_text="Ansatz inkl.Reste" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 Column CID=0 heading_text="Einnahmen" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 Column CID=0 heading_text="Sperre" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 <#if Finanzierungsquelle!='FIN_EINNAHMEN'> <#list 1..maxmonat as i> Column CID=0 heading_text="Ausgaben\000${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 Column CID=0 heading_text="Ausgaben\000GESAMT" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10 <#list 1..maxmonat as i> Column CID=0 heading_text="hidden_Ausgaben${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=1 text_size=10 Column CID=0 heading_text="hidden_Ausgaben" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=1 Column CID=0 heading_text="Festgelegt" explanation="" center_heading row_selectable heading_platform readonly width=12 text_size=12 Column CID=0 heading_text="Verfügbar" explanation="" center_heading row_selectable heading_platform readonly width=12 text_size=12 Column CID=0 heading_text="Buchungen\nAnsatz" explanation="" center_heading row_selectable heading_platform readonly width=12 text_size=12 Column CID=0 heading_text="Buchungen\nFestgelegt" explanation="" center_heading row_selectable heading_platform readonly width=12 text_size=12 <#if Finanzierungsquelle!='FIN_EINNAHMEN'> Column CID=0 heading_text="Buchungen\nAusgaben" explanation="" center_heading row_selectable heading_platform readonly width=12 text_size=12 Column CID=0 heading_text="Buchungen\nEinnahmen" explanation="" center_heading row_selectable heading_platform readonly width=12 text_size=12 ]]> > --freemarker template select 'Achtung Demodaten' from xdummy where 1=0 <#if Username?starts_with("demo")> or 1=1]]> > SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' and ord>=2020 order by 1 DESC;]]> > select kapitel,ktobez from fin_kapitel where 1=1 /* and jahr=<> */ order by ktobez]]> > select id,caption from sx_repository where art='FIN_FINANZIERUNGSQUELLE' and aktiv=1 and gueltig_seit<=date_val('1.1.<>') and gueltig_bis>=date_val('31.12.<>')]]> > --freemarker template select distinct titel,ktobez from fin_titel where 1=1 /* and jahr=<> */ /* and kapitel=<> */ <#if "<>"="'no_dr'"> and (dr='' or dr is null) <#else> /* and (dr in (<>) */ /* or dr2 in (<>)) */ order by ktobez]]> > select tid,type,name from sichten where art='FIN-Kostenstellen-Sicht' and aktiv=1 order by type,tid]]> > <#assign template = FIN_DRITTMITTELPROJEKTE?interpret> <@template/> --erwartet drittmittelstartjahr und drittmittelprojektebedingung select distinct buchungsab_fb,trim(buchungsab_fb)||'-'||max(ktobez) from fin_buchab_fb where jahr=<> /* and kapitel in (<>) */ <#if "<>"="'no_dr'"> and (dr='' or dr is null) <#else> /* and (dr in (<>) */ /* or dr2 in (<>)) */ /* and titel in (<>) */ /* and zweckbestimmung_ut in (<>) */ and ${SxFinRechte("K1","31.12.<>","","","","")} and not (${drittmittelprojektebedingung}) group by 1 union select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<> /* and kapitel in (<>) */ /* and (dr in (<>) */ /* or dr2 in (<>)) */ /* and titel in (<>) */ /* and zweckbestimmung_ut in (<>) */ and ${SxFinRechte("K2","31.12.<>","","","","","")} and not (${drittmittelprojektebedingung}) group by 1 order by 1;]]> > --freemarker template select distinct buchungsab_fb,trim(buchungsab_fb)||'-'||max(ktobez) from fin_buchab_fb where jahr=<> /* and kapitel in (<>) */ <#if "<>"="'no_dr'"> and (dr='' or dr is null) <#else> /* and (dr in (<>) */ /* or dr2 in (<>)) */ and ${SxFinRechte("K1","31.12.<>","","","","")} group by 1 order by 1]]> > --Freemarker Template <#include "SQL_lingua_franca"/> select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<> /* and kapitel in (<>) */ /* and (dr in (<>) */ /* or dr2 in (<>)) */ /* and buchungsab_fb in (<>) */ and ${SxFinRechte("K2","31.12.<>","","","","","")} group by 1 order by 1;]]> > --Freemarker Template select ins2,trim(ins2)||'-'||max(ktobez) from fin_ins2 where ${SxFinRechte("K3","31.12.<>","","","","","")} /* and jahr=<> */ /* and kapitel in (<>) */ <#if "<>"="'no_dr'"> and (dr='' or dr is null) <#else> /* and (dr in (<>) */ /* or dr2 in (<>)) */ /* and buchungsab_fb in (<>) */ /* and projnr_ins in (<>) */ group by 1 order by 1;]]> > --Freemarker Template select ins3,trim(ins3)||'-'||max(ktobez) from fin_ins3 where ${SxFinRechte("K4","31.12.<>","","","","","")} /* and jahr=<> */ /* and kapitel=<> */ <#if "<>"="'no_dr'"> and (dr='' or dr is null) <#else> /* and (dr in (<>) */ /* or dr2 in (<>)) */ /* and titel in (<>) */ /* and zweckbestimmung_ut in (<>) */ /* and buchungsab_fb in (<>) */ /* and projnr_ins in (<>) */ /* and ins2 in (<>) */ group by 1 order by 1]]> > --freemarker template select distinct zweckbestimmung_ut,ktobez from fin_zweck_ut where 1=1 /* and jahr=<> */ /* and kapitel=<> */ <#if "<>"="'no_dr'"> and (dr='' or dr is null) <#else> /* and (dr in (<>) */ /* or dr2 in (<>)) */ /* and titel in (<>) */ order by ktobez]]> > select tid,type,name,sortnr from sichten where art='FIN-Kosten-/Erlösarten-Sicht' and aktiv=1 order by sortnr,type,name]]> > select tid,type,name,sortnr from sichten where art='FIN-Kostenträger-Sicht' and aktiv=1 order by sortnr,type,name]]> >select tid,type,name,sortnr from sichten where art ='Geldgeber-Sicht (FIN)' and aktiv=1 order by sortnr,type,name;]]> > select distinct kapitel,ktobez from fin_kapitel where jahr=<> order by ktobez]]> > select distinct dr,ktobez from fin_dr where 1=1 /* and jahr=<> */ /* and kapitel=<> */ union select 'no_dr','Keine Titelgruppe' from xdummy order by ktobez]]> > select tid,name,sortnr from sichten where art='Buchungstyp-Sicht' and aktiv=1 order by sortnr,name]]> > select 'FIN_KOSTENART','FIN_KOSTENART' from xdummy union select 'FIN_KOSTENART2','FIN_KOSTENART2' from xdummy]]>