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.

808 lines
44 KiB

<?xml version="1.0" encoding="UTF-8"?>
<xupdate>
<!-- fuer Maske 888880080-->
<themenbaum maskentid="888880080" parentname="Haushalt"/>
<!--Hier Themenbaumparent eintragen Name z.B: Haushalt-->
<sql>delete from maskeninfo where tid = 888880080;</sql>
<sql>delete from themenbaum where maskeninfo_id = 888880080;</sql>
<sql>delete from felderinfo where tid in (select felderinfo_id from masken_felder_bez where maskeninfo_id = 888880080);</sql>
<sql>delete from masken_felder_bez where maskeninfo_id = 888880080;</sql>
<sql>delete from sachgeb_maske_bez where maskeninfo_id = 888880080;</sql>
<sql>delete from maske_system_bez where maskeninfo_id = 888880080;</sql>
<sql><![CDATA[insert into maskeninfo (tid,name,chart_xtitel,chart_ytitel) values (888880080,'','','');]]></sql>
<sql><![CDATA[update maskeninfo set name='Kostenartenbericht' where tid=888880080;]]></sql>
<sql><![CDATA[update maskeninfo set cleanup_stmt='drop table tmp_erg2;', frontend=1, breite=750, hoehe=550, hilfe=1 where tid=888880080;]]></sql>
<sql>insert into maske_system_bez (maskeninfo_id,systeminfo_id) values (888880080,3);</sql>
<sql>insert into sachgeb_maske_bez (maskeninfo_id,sachgebiete_id) values (888880080,50);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880080);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880081);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880082);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880083);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880084);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880085);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880086);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880087);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880088);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880089);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880090);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880091);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880092);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880093);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880094);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880095);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880096);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880097);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880098);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880099);</sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880080,'',0,0,0,100,50,1,'integer',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880081,'',10,0,0,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880082,'',15,0,0,100,400,3,'char',150);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880083,'',21,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880084,'',1020,0,0,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880085,'',26,0,0,100,150,3,'char',50);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880086,'',30,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880087,'',60,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880088,'',70,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880089,'',60,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880090,'',25,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880091,'',1016,300,-1,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880092,'',1035,300,-1,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880093,'',1045,300,-1,100,150,1,'char',20);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880094,'',10,0,0,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880095,'',19,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880096,'',11,300,-1,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880097,'',70,300,-1,100,30,1,'integer',5);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880098,'',55,0,0,100,150,1,'char',20);]]></sql>
<sql><![CDATA[update felderinfo set name='Haushaltsjahr' where tid=888880080;]]></sql>
<sql><![CDATA[update felderinfo set name='Kapitel' where tid=888880081;]]></sql>
<sql><![CDATA[update felderinfo set name='Finanzierungsquelle' where tid=888880082;]]></sql>
<sql><![CDATA[update felderinfo set name='Titel' where tid=888880083;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenstelle' where tid=888880084;]]></sql>
<sql><![CDATA[update felderinfo set name='FB_INS' where tid=888880085;]]></sql>
<sql><![CDATA[update felderinfo set name='Buchungsab_fb' where tid=888880086;]]></sql>
<sql><![CDATA[update felderinfo set name='Projnr_ins' where tid=888880087;]]></sql>
<sql><![CDATA[update felderinfo set name='ins2' where tid=888880088;]]></sql>
<sql><![CDATA[update felderinfo set name='ins3' where tid=888880089;]]></sql>
<sql><![CDATA[update felderinfo set name='Untertitel' where tid=888880090;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenarten' where tid=888880091;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenträger' where tid=888880092;]]></sql>
<sql><![CDATA[update felderinfo set name='Budgetherkunft' where tid=888880093;]]></sql>
<sql><![CDATA[update felderinfo set name='Kapitel' where tid=888880094;]]></sql>
<sql><![CDATA[update felderinfo set name='Deckungsring' where tid=888880095;]]></sql>
<sql><![CDATA[update felderinfo set name='Budgettyp' where tid=888880096;]]></sql>
<sql><![CDATA[update felderinfo set name='Filter bis Ebene' where tid=888880097;]]></sql>
<sql><![CDATA[update felderinfo set name='Art' where tid=888880098;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> SELECT year(today()) FROM xdummy;' where tid=888880080;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880081;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='' where tid=888880082;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880083;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='hidden', defaultwert='' where tid=888880084;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880085;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880086;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880087;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880088;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880089;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880090;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880091;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880092;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880093;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880094;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880095;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880096;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880097;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='hidden', defaultwert='<<SQL>> select ''FIN_KOSTENART'',''FIN_KOSTENART'' from xdummy' where tid=888880098;]]></sql>
<text table="maskeninfo" field="select_stmt" where="tid=888880080"><![CDATA[--Freemarker Template
--15.6.10 in Link Kostenstellensicht (tid) eingebaut
--29.6.10 sx_butype eingebaut- FELDERINFO sx_butype EINBAUEN
-- 21.7.10 SxFinRechte replace * %
-- 16.9.10 sx_butype?exists
-- 8.10.10 bei FIN_EINNAHMEN keine Ausgaben anzeigen
-- 21.12.10 nur XIL: Spaltenfixierung auf 2
-- 3.8.11 Einstellungsmöglichkeit ${drtit}
-- 25.8.11 Kostenstelle-Sicht nur wenn existiert
-- 6.10.11/27.2.12 4. Ebene
-- 4.12.12 link params replace angepasst
-- 8/13 koa2 sowie showEinzelTitel
-- 4.11.13 titel auf 10stellig
-- 6/17 prozentualer Anteil
-- 9/17 AKtuelles soll inklreste und geldreste, verfuegbar_geld
-- 10/17 hhans, akts_plus_vojs
-- 4/18 hhans_reste
-- 6/22 LInks für Monate
-- 10/24 Einschränkungsmöglichkeit auf bestimmte KLR-Kostenarten
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<sqlvars>
<sqlvar name="maxmonat">select month(today()) from xdummy where year(today())=<<Haushaltsjahr>> union select 12 from xdummy where year(today())!=<<Haushaltsjahr>></sqlvar>
<sqlvar name="finkostenarten">CDATASTARTselect id,caption,content as strukturstr from sx_repository where aktiv=1 and
<#if "<<Art>>"!='FIN_KOSTENART'> art=<<Art>> <#else> art='FIN_KOSTENART'</#if> and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=('1.1.<<Haushaltsjahr>>') order by sort1CDATAEND</sqlvar>
<sqlvar name="TMP_FINANZIERUNGSQUELLEN">select id,caption,content from sx_repository where aktiv=1
/* and id in (<<Finanzierungsquelle>>) */
and gueltig_seit&lt;=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis&gt;=('1.1.<<Haushaltsjahr>>')
</sqlvar>
<sqlvar name="KST_SICHT">select min(name_intern) from sichten where
name = 'KST_Budgetbericht_<<Haushaltsjahr>>' and systeminfoid=3 --FIN-Kopie
</sqlvar>
<sqlvar name="anzahl_klr_rechte">select count(*) from user_institution where userid=<<UserID>>
</sqlvar>
</sqlvars>
--<#if KST_SICHT?length<2>
--Keine Kostenstellensicht KST_Budgetbericht_<<Haushaltsjahr>> gefunden
--</#if>
<#assign linkbuchstart=""/> -- bei altem Kernmodul SuperXmlTabelle?tid=
<#assign verfuegbar_misch_aktiv=false/>
<#if CUSTOM_888880080?exists>
<#assign inlineTemplate=CUSTOM_888880080?interpret>
<@inlineTemplate/>
</#if>
<#assign linkbuch="SuperXmlTabelle?tid=888880040&Haushaltsjahr=<<Haushaltsjahr>>&navi=true"/>
<#if .vars['Kostenstelle-Sicht']?exists><#assign linkbuch=linkbuch+"&Kostenstelle-Sicht=${.vars['Kostenstelle-Sicht']}"/></#if>
--Referenz auf erste Kostenstelle wird fuer FREIES benoetigt
--<#assign kstelle='-999'>
--<#if anzahl_klr_rechte&gt;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")&gt;-1> FEHLER FueR FREIES BUDGET MUSS EINE KOSTENSTELLE AUSGEWaeHLT SEIN</#if>
--</#if>
<#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"/>
</#if>
<#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>
</#foreach>
<#if "<<Buchungsab_fb>>"!="">
<#assign linkbuch=linkbuch+"&Buchungsab_fb="+Buchungsab_fb?replace("'","")?replace("|",",")/>
</#if>
<#if "<<Projnr_ins>>"!="">
<#assign linkbuch=linkbuch+"&Projnr_ins="+Projnr_ins?replace("'","")?replace("|",",")/>
</#if>
<#if "<<ins2>>"!=""&&ins2?exists>
<#assign linkbuch=linkbuch+"&ins2="+ins2?replace("'","")?replace("|",",")/>
</#if>
<#if "<<ins3>>"!=""&&ins3?exists>
<#assign linkbuch=linkbuch+"&ins3="+ins3?replace("'","")?replace("|",",")/>
</#if>
<#if "<<FB_INS>>"!=""&&FB_INS?exists>
<#assign linkbuch=linkbuch+"&FB_INS="+FB_INS?replace("'","")?replace("|",",")/>
</#if>
<#if "<<Titel>>"!=""&&Titel?exists>
<#assign linkbuch=linkbuch+"&Titel="+Titel?replace("'","")?replace("|",",")/>
</#if>
<#if "<<Deckungsring>>"!=""&&Deckungsring?exists>
<#assign linkbuch=linkbuch+"&Deckungsring="+Deckungsring?replace("'","")?replace("|",",")/>
</#if>
<#if sx_butype?exists&&"<<sx_butype>>"!="">
<#assign linkbuch=linkbuch+"&sx_butype="+sx_butype/>
</#if>
<#if Kostenstelle?exists&&"<<Kostenstelle>>"!=""><#assign linkbuch=linkbuch+"&Kostenstelle=<<Kostenstelle>>"?replace("'","")></#if>
<#assign linkbuchspezKoa=linkbuch/>
<#if (Kostenarten.selectionCount>0)>
<#assign linkbuch=linkbuch+"&Kostenarten=<<Kostenarten>>"?replace("'","")/>
</#if>
<#macro kamrights>
--(
--(select count(*) from userinfo where tid=<<UserID>> and administration=1)>0 or
--(select count(*) from fin_user_kam where buchungsab_fb='0' and projnr_ins='0' and userid=<<UserID>>)>0
--or
--(
--buchungsab_fb in (select buchungsab_fb from fin_user_kam where projnr_ins='0' and userid=<<UserID>> )
--or
--projnr_ins in (select projnr_ins from fin_user_kam where buchungsab_fb='0' and userid=<<UserID>> )
--or
--'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins in (select 'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins from fin_user_kam --where userid=<<UserID>> )
--)
--)
--kst_sql wird momentan nicht gebraucht
<#assign kst_sql>ch110_institut in <@printkeys Kostenstelle.allNeededKeysList /></#assign>
${SxFinRechte(kst_sql,'31.12.<<Haushaltsjahr>>')}
</#macro>
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</#if>,
</#list>
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</#if>, gibt's nicht im Buchungsbericht
linkbuchakts <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
linkbuchhhans <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
linkbuchhhans_reste <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
linkbuchf <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
linkbuchaus <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
linkbuchein <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>
) <@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")&gt;-1||"<<Deckungsring>>"="'no_dr'"><#assign drtit="tit"/></#if>
<#if drtit="tit"||("<<Titel>>"!=""&&Titel?exists)||(koa.id!='FIN_KSONSTIGES'&&koa.strukturStr?index_of("titel")&gt;1)>
<#assign drtitparam='tit'/>
<#assign aktsollausdruck=aktsollausdruck?replace("_dr","_tit")/>
<#assign verfuegbarausdruck=verfuegbarausdruck?replace("_dr","_tit")/>
</#if>
insert into tmp_roh (koa,titel,monat <#if showKLRKostenarten!='nein'>,fikr</#if> <#if verfuegbar_misch_aktiv>, dritt</#if>,
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> <#if verfuegbar_misch_aktiv>, dritt</#if>,
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=<<Haushaltsjahr>>
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
/* and projnr_ins in (<<Projnr_ins>>) */
/* and ins2 in (<<ins2>>) */
/* and ins3 in (<<ins3>>) */
/* and (buchungsab_fb in (<<FB_INS>>) */
/* or projnr_ins in (<<FB_INS>>) ) */
/* and titel in (<<Titel>>) */
<#if "<<Deckungsring>>"="'no_dr'">
and (dr='' or dr is null)
<#else>
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
</#if>
/* and zweckbestimmung_ut in (<<Untertitel>>) */
/* and sx_butype in (<<sx_butype>>) */
<#if (Kostenarten.selectionCount>0)>
and fikr in <@printkeys Kostenarten.allNeededKeys />
</#if>
--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> <#if verfuegbar_misch_aktiv>,dritt</#if>;
</#foreach>
<#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;
</#if>
</#macro>
<#foreach koa in finkostenarten>
<#if koa.strukturStr?length<2>Achtung - fuer ${koa.id} kein SQL definiert</#if>
<@insert koa=koa/>
</#foreach>
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>,
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>,sum(ausgaben),sum(einnahmen),
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>,
<#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>,
'${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>,
<#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}'<#else>null::char(255)</#if>,
'${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>,
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>,
sum(ausgaben),
sum(einnahmen),
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>,
<#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>,
'${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>,
<#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}&Titel='||trim(titel)<#else>null::char(255)</#if>,
'${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;
</#if>
-- 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>
<#if klrkoa.level&gt;=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>,
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>,
sum(ausgaben),
sum(einnahmen),
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>,
<#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>,
<#if showAnsatz!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bakts}'<#else>null::char(255)</#if>,
<#if showFestgelegt!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bf}'<#else>null::char(255)</#if>,
'${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/>
</#if>
</#foreach>
</#if>
</#foreach>
--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;
</#foreach>
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;
</#list>
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=<<Haushaltsjahr>>)
where fikr='titel';
<@selectintotmp source="tmp_erg" target="tmp_erg2" select="*"/><@informixnolog/>;
<#if finkostenarten?size&gt;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},</#list>ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,
verfuegbar_misch)
select 'Summe'::char(5),${sort+1},
<#if showAnsatz!='nein'>'${linkbuch}${bhhans}'<#else>null::char(255)</#if>,
<#if showAnsatz!='nein'>'${linkbuch}${bhhans_reste}'<#else>null::char(255)</#if>,
<#if showAnsatz!='nein'>'${linkbuch}${bakts}'<#else>null::char(255)</#if>,
<#if showFestgelegt!='nein'>'${linkbuch}${bf}'<#else>null::char(255)</#if>,
'${linkbuch}${baus}',
'${linkbuch}${bein}'
,sum(hhans),sum(akt_soll),sum(akts_plus_vojs),sum(sperr),
<#list 1..maxmonat as i>sum(aus${i}),</#list>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;
</#if>
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 />
</#if>
<#return (min + ((max - min) * _rand))/>
</#function>
<#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},</#list>
verfuegbar=verfuegbar*${zufall} ,
verfuegbar_geld=verfuegbar_geld*${zufall},
verfuegbar_misch=verfuegbar_misch*${zufall},
verfuegbar_misch_of=verfuegbar_misch_of*${zufall};
</#if>
<#list 1..maxmonat as i>
update tmp_erg2 set linkbuchaus${i}=linkbuchaus||'&Monat=${i}';
</#list>
<#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")&gt;-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>
<#if f.field?index_of("linkbuchakts")&gt;-1&&f.field?index_of("hidden")==-1>
update tmp_erg2 set linkbuchakt=replace(linkbuchakts,'SuperXmlTabelle?tid=','');
</#if>
<#if f.field?index_of("linkbuchf")&gt;-1&&f.field?index_of("hidden")==-1>
update tmp_erg2 set linkbuchf=replace(linkbuchf,'SuperXmlTabelle?tid=','');
</#if>
<#if f.field?index_of("linkbuchaus")&gt;-1&&f.field?index_of("hidden")==-1>
update tmp_erg2 set linkbuchaus=replace(linkbuchaus,'SuperXmlTabelle?tid=','');
</#if>
<#if f.field?index_of("linkbuchein")&gt;-1&&f.field?index_of("hidden")==-1>
update tmp_erg2 set linkbuchein=replace(linkbuchein,'SuperXmlTabelle?tid=','');
</#if>
</#foreach>
select <#foreach f in customize.resulttable>
<#if f.caption='Ausgaben'>
<#if Finanzierungsquelle!='FIN_EINNAHMEN'>
<#list 1..maxmonat as i>aus${i},</#list> ausgaben,
<#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i},</#list> linkbuchaus as hidden_ausgaben,
</#if>
<#else>
<#if !f.field?starts_with("linkbuchaus")||Finanzierungsquelle!='FIN_EINNAHMEN'>
${f.field} <#if f_has_next>,</#if>
</#if>
</#if>
</#foreach>
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},</#list> ausgaben,
<#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i},</#list> linkbuchaus as hidden_ausgaben,
</#if>
fest, verfuegbar,
linkbuchakts as hidden_akt_soll, linkbuchf as hidden_fest,
linkbuchein as hidden_einnahmen
from tmp_erg2 order by sortnr,sort2,name;
</#if>]]></text>
<text table="maskeninfo" field="xil_proplist" where="tid=888880080"><![CDATA[XIL List
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#assign monate=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]/>
<sqlvars>
<sqlvar name="maxmonat">select month(today()) from xdummy where year(today())=<<Haushaltsjahr>> union select 12 from xdummy where year(today())!=<<Haushaltsjahr>></sqlvar>
</sqlvars>
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>
<#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
</#list>
Column CID=0 heading_text="Ausgaben\000GESAMT" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10
</#if>
<#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
</#list>
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}
</#if>
</#if>
</#foreach>
<#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
</#list>
</#if>
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
</#list>
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
</#if>
Column CID=0 heading_text="Buchungen\nEinnahmen" explanation="" center_heading
row_selectable heading_platform readonly
width=12 text_size=12
</#if>]]></text>
<text table="maskeninfo" field="erlaeuterung" where="tid=888880080"><![CDATA[Übersicht über Verteilung nach Kostenarten für Haushaltsbudgets]]></text>
<text table="maskeninfo" field="hinweis" where="tid=888880080"><![CDATA[<<SQL>>
--freemarker template
select 'Achtung Demodaten' from xdummy where 1=0 <#if Username?starts_with("demo")> or 1=1</#if>]]></text>
<text table="felderinfo" field="relation" where="tid=888880080"><![CDATA[<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' and ord>=2020 order by 1 DESC;]]></text>
<text table="felderinfo" field="relation" where="tid=888880081"><![CDATA[<<SQL>> select kapitel,ktobez from fin_kapitel where 1=1 /* and jahr=<<Haushaltsjahr>> */ order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880082"><![CDATA[<<SQL>> select id,caption from sx_repository where art='FIN_FINANZIERUNGSQUELLE' and aktiv=1 and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=date_val('31.12.<<Haushaltsjahr>>')]]></text>
<text table="felderinfo" field="relation" where="tid=888880083"><![CDATA[<<SQL>>
--freemarker template
select distinct titel,ktobez from fin_titel where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
<#if "<<Deckungsring>>"="'no_dr'">
and (dr='' or dr is null)
<#else>
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
</#if>
order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880084"><![CDATA[<<SQL>> select tid,type,name from sichten where art='FIN-Kostenstellen-Sicht' and aktiv=1 order by type,tid]]></text>
<text table="felderinfo" field="relation" where="tid=888880085"><![CDATA[<<SQL>>
<#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=<<Haushaltsjahr>>
/* and kapitel in (<<Kapitel>>) */
<#if "<<Deckungsring>>"="'no_dr'">
and (dr='' or dr is null)
<#else>
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
</#if>
/* and titel in (<<Titel>>) */
/* and zweckbestimmung_ut in (<<Untertitel>>) */
and ${SxFinRechte("K1","31.12.<<Haushaltsjahr>>","","","","")}
and not (${drittmittelprojektebedingung})
group by 1
union
select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<<Haushaltsjahr>>
/* and kapitel in (<<Kapitel>>) */
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
/* and titel in (<<Titel>>) */
/* and zweckbestimmung_ut in (<<Untertitel>>) */
and ${SxFinRechte("K2","31.12.<<Haushaltsjahr>>","","","","","")}
and not (${drittmittelprojektebedingung})
group by 1 order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880086"><![CDATA[<<SQL>>
--freemarker template
select distinct buchungsab_fb,trim(buchungsab_fb)||'-'||max(ktobez) from fin_buchab_fb where jahr=<<Haushaltsjahr>>
/* and kapitel in (<<Kapitel>>) */
<#if "<<Deckungsring>>"="'no_dr'">
and (dr='' or dr is null)
<#else>
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
</#if>
and ${SxFinRechte("K1","31.12.<<Haushaltsjahr>>","","","","")}
group by 1 order by 1]]></text>
<text table="felderinfo" field="relation" where="tid=888880087"><![CDATA[<<SQL>>
--Freemarker Template
<#include "SQL_lingua_franca"/>
select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<<Haushaltsjahr>>
/* and kapitel in (<<Kapitel>>) */
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
and ${SxFinRechte("K2","31.12.<<Haushaltsjahr>>","","","","","")}
group by 1 order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880088"><![CDATA[<<SQL>>
--Freemarker Template
select ins2,trim(ins2)||'-'||max(ktobez) from fin_ins2 where
${SxFinRechte("K3","31.12.<<Haushaltsjahr>>","","","","","")}
/* and jahr=<<Haushaltsjahr>> */
/* and kapitel in (<<Kapitel>>) */
<#if "<<Deckungsring>>"="'no_dr'">
and (dr='' or dr is null)
<#else>
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
</#if>
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
/* and projnr_ins in (<<Projnr_ins>>) */
group by 1 order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880089"><![CDATA[<<SQL>>
--Freemarker Template
select ins3,trim(ins3)||'-'||max(ktobez) from fin_ins3
where
${SxFinRechte("K4","31.12.<<Haushaltsjahr>>","","","","","")}
/* and jahr=<<Haushaltsjahr>> */
/* and kapitel=<<Kapitel>> */
<#if "<<Deckungsring>>"="'no_dr'">
and (dr='' or dr is null)
<#else>
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
</#if>
/* and titel in (<<Titel>>) */
/* and zweckbestimmung_ut in (<<Untertitel>>) */
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
/* and projnr_ins in (<<Projnr_ins>>) */
/* and ins2 in (<<ins2>>) */
group by 1 order by 1]]></text>
<text table="felderinfo" field="relation" where="tid=888880090"><![CDATA[<<SQL>>
--freemarker template
select distinct zweckbestimmung_ut,ktobez from fin_zweck_ut where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
<#if "<<Deckungsring>>"="'no_dr'">
and (dr='' or dr is null)
<#else>
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
</#if>
/* and titel in (<<Titel>>) */ order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880091"><![CDATA[<<SQL>> select tid,type,name,sortnr from sichten where art='FIN-Kosten-/Erlösarten-Sicht' and aktiv=1 order by sortnr,type,name]]></text>
<text table="felderinfo" field="relation" where="tid=888880092"><![CDATA[<<SQL>> select tid,type,name,sortnr from sichten where art='FIN-Kostenträger-Sicht' and aktiv=1 order by sortnr,type,name]]></text>
<text table="felderinfo" field="relation" where="tid=888880093"><![CDATA[<<SQL>>select tid,type,name,sortnr from sichten where art ='Geldgeber-Sicht (FIN)' and aktiv=1 order by sortnr,type,name;]]></text>
<text table="felderinfo" field="relation" where="tid=888880094"><![CDATA[<<SQL>> select distinct kapitel,ktobez from fin_kapitel where jahr=<<Haushaltsjahr>> order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880095"><![CDATA[<<SQL>> select distinct dr,ktobez from fin_dr where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
union select 'no_dr','Keine Titelgruppe' from xdummy
order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880096"><![CDATA[<<SQL>> select tid,name,sortnr from sichten where art='Buchungstyp-Sicht' and aktiv=1 order by sortnr,name]]></text>
<text table="felderinfo" field="relation" where="tid=888880097"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880098"><![CDATA[<<SQL>> select 'FIN_KOSTENART','FIN_KOSTENART' from xdummy union select 'FIN_KOSTENART2','FIN_KOSTENART2' from xdummy]]></text>
</xupdate>