Browse Source

Drittmittelbericht

master
Meikel Bisping 1 month ago
parent
commit
64e3f0f23b
  1. 944
      masken/888880120-drittmittel.xml

944
masken/888880120-drittmittel.xml

@ -0,0 +1,944 @@
<?xml version="1.0" encoding="UTF-8"?>
<xupdate>
<!-- fuer Maske 888880120-->
<themenbaum maskentid="888880120" parentname="Drittmittel"/>
<!--Hier Themenbaumparent eintragen Name z.B: Haushalt-->
<sql>delete from maskeninfo where tid = 888880120;</sql>
<sql>delete from themenbaum where maskeninfo_id = 888880120;</sql>
<sql>delete from felderinfo where tid in (select felderinfo_id from masken_felder_bez where maskeninfo_id = 888880120);</sql>
<sql>delete from masken_felder_bez where maskeninfo_id = 888880120;</sql>
<sql>delete from sachgeb_maske_bez where maskeninfo_id = 888880120;</sql>
<sql>delete from maske_system_bez where maskeninfo_id = 888880120;</sql>
<sql><![CDATA[insert into maskeninfo (tid,name,chart_xtitel,chart_ytitel) values (888880120,'','','');]]></sql>
<sql><![CDATA[update maskeninfo set name='Drittmittelbericht' where tid=888880120;]]></sql>
<sql><![CDATA[update maskeninfo set cleanup_stmt='drop table tmp_erg2;', frontend=1, breite=750, hoehe=550, hilfe=1 where tid=888880120;]]></sql>
<sql>insert into maske_system_bez (maskeninfo_id,systeminfo_id) values (888880120,3);</sql>
<sql>insert into sachgeb_maske_bez (maskeninfo_id,sachgebiete_id) values (888880120,50);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880120);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880121);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880122);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880123);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880124);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880125);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880126);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880127);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880128);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880129);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880130);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880131);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880132);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880133);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880134);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880135);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880136);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880137);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880138);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880120,888880139);</sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880120,'',0,0,0,150,50,1,'integer',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880121,'',10,0,0,100,150,5,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880122,'',73,0,0,110,300,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880123,'',999,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880124,'',1,0,0,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880125,'',5,300,-1,100,100,1,'sql',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880126,'',30,0,0,100,250,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880127,'',40,0,0,100,300,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880128,'',50,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880129,'',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 (888880130,'',2,0,0,100,150,3,'char',200);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880131,'',22,300,-1,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880132,'',35,300,-1,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880133,'',45,300,-1,100,150,1,'char',20);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880134,'',3,0,0,150,150,1,'char',4);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880135,'',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 (888880136,'',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 (888880137,'',70,0,0,100,300,3,'char',4);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880138,'',55,300,-1,100,150,1,'sql',20);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880139,'',40,0,0,100,230,1,'char',20);]]></sql>
<sql><![CDATA[update felderinfo set name='Haushaltsjahr' where tid=888880120;]]></sql>
<sql><![CDATA[update felderinfo set name='SFB' where tid=888880121;]]></sql>
<sql><![CDATA[update felderinfo set name='Gruppierung' where tid=888880122;]]></sql>
<sql><![CDATA[update felderinfo set name='Einnahmen anzeigen' where tid=888880123;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenstelle' where tid=888880124;]]></sql>
<sql><![CDATA[update felderinfo set name='Zeitraum' where tid=888880125;]]></sql>
<sql><![CDATA[update felderinfo set name='Buchungsab_fb' where tid=888880126;]]></sql>
<sql><![CDATA[update felderinfo set name='Projnr_ins' where tid=888880127;]]></sql>
<sql><![CDATA[update felderinfo set name='ins2' where tid=888880128;]]></sql>
<sql><![CDATA[update felderinfo set name='ins3' where tid=888880129;]]></sql>
<sql><![CDATA[update felderinfo set name='Projektleiter' where tid=888880130;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenarten' where tid=888880131;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenträger' where tid=888880132;]]></sql>
<sql><![CDATA[update felderinfo set name='Budgetherkunft' where tid=888880133;]]></sql>
<sql><![CDATA[update felderinfo set name='Darstellung' where tid=888880134;]]></sql>
<sql><![CDATA[update felderinfo set name='Deckungsring' where tid=888880135;]]></sql>
<sql><![CDATA[update felderinfo set name='inaktive Projekte anzeigen' where tid=888880136;]]></sql>
<sql><![CDATA[update felderinfo set name='Finanzierungsquelle' where tid=888880137;]]></sql>
<sql><![CDATA[update felderinfo set name='Filter Finanzen' where tid=888880138;]]></sql>
<sql><![CDATA[update felderinfo set name='Sortierung' where tid=888880139;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880120;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880121;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='<<SQL>> select id,caption from sx_repository where art=''FIN_DRITTMITTELP_GRUPPE'' and sort1=2' where tid=888880122;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> select ''ja'',''ja'' from xdummy' where tid=888880123;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880124;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880125;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880126;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880127;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880128;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880129;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880130;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880131;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880132;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880133;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=999, attribut='', defaultwert='<<SQL>> select ''aufklapp'',''mit Aufklappfunktion'' from xdummy' where tid=888880134;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880135;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> select ''nein'',''nein'' from xdummy;' where tid=888880136;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880137;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880138;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> select ''jahr'',''Jahr'' from xdummy;' where tid=888880139;]]></sql>
<text table="maskeninfo" field="select_stmt" where="tid=888880120"><![CDATA[--Freemarker Template
-- Drittmittelbericht
-- 18.6.10 Option nur offene Festlegungen, neue Spalte ausstehende Einnahmen (OP) + Link daf?r
-- 6.10 option ZeigeSaldoEbene2
-- 7.10 mehrere Projekte
-- 8.10 Rechteerweiterung - ueber Hauptkostenstelle
-- 9.10 Anpassungen HFT
-- 19.10.10 drittmittelprojektebedingung ergaenzt (Projekt mit Haushalts und 92er DR)
-- 22.10.10 Filter bis Ebene, Anpassung Biberach Aufsummierung bei mehreren Jahren
-- 15.11.10 Vorjahresreste auch bei FHBC in Summe
-- 18.11.10 Biberach Vorjahresreste nicht null, damit Saldo geht
-- 8.12.10 Katsort fuer Gesamt auf 0 damit auf jeden Fall oben (Problem HSKA ohne Ausgabearten)
-- 11.2.11 Anpassungen Spezialbearbeitung Biberach
-- 18.4.11 Spezialbearbeitung HS Karlsruhe
-- 10.5.11 HFT Festlegung 0 wenn nicht aktuelles Haushaltsjahr
-- 30.6.11 Festlegungen/offSoll Links nur fuer aktuelles HJ bei HFT Stuttgart, Korrektur update tmp_erg(2) set name=
-- fuer projnr_ins nachtragen, ggfs. fuer zukuenftige Jahre nicht vorhanden
-- 11.7.11 Saldo nur bis Projektebene >projektebene nicht > 1
-- 25.3.12 aufteilung projekte/projektevoll, wegen Rechtekontrolle 2. Ebene
-- 12.12.12 bei <<Kostenstelle>> Problem wenn nicht Hauptbetreuungskostenstelle aktiv
--11.2.13 <#if berechtigung_via_hauptbetreuungskostenstellen&&projekteVOLL?is_sequence> auf VOLL geändert
--TODO Spezialberechung vojs Biberach nicht fest 2010 <<Haushaltsjahr>> abfangen
-- 05.04.13 Projektevoll völlig falsch, wenn keine Kostenstellenrechte vergeben
-- 3.6.13 bei Summenberechnung für kategorien fehlt noch /* and rechnungsjahr=<<Haushaltsjahr>> */
-- 24.6.15 Projektname möglichst aus aktuellem jahr sonst vorherige
-- 6/17 linkspezielleBuchungsberichte, verfügbar g. Geldein,Rest, offsoll_e
-- 4/18 vojs als Link
-- 6/18 Performance Verbesserung Projektnamen
-- 8/21 Spezialbearbeitung UNI Regensburg zs. Spalte Projektleiter, da Projektnamen gleich
-- 02/22 inaktive Projekte ausblenden
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
-- nicht mehr benoetigt in sqlvar, da schon in Rechtekontrolle ?ber proj_to_inst drin
--<#if "<<Kostenstelle>>"!="">
--and buchungsab_fb in (select projnr from fin_proj_to_inst P where haupt_kst_kz='1' and
--inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
--</#if>
<sqlvars>
<sqlvar name="gruppierung">CDATASTARTselect content from sx_repository where <#if Gruppierung?exists>id=<<Gruppierung>><#else>1=0</#if> and aktiv=1CDATAEND</sqlvar>
<sqlvar name="projekte">CDATASTART
<#assign berechtigung_via_hauptbetreuungskostenstellen=false/>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
select buchungsab_fb,min(ktobez) from fin_buchab_fb B where
( --(${SxFinRechte.getProjektRights})
<#if Kostenstelle.elementsMaxEbene&gt;1&&(K_hs_nr=6720||berechtigung_via_hauptbetreuungskostenstellen)>
buchungsab_fb in (select distinct projnr from fin_proj_to_inst where
(
<#if berechtigung_via_hauptbetreuungskostenstellen> haupt_kst_kz='1'</#if>
--bei Biberach "Projektleiterkostenstellen"
<#if K_hs_nr=6720> substring(inst_nr from 1 for 1) not in ('0','1','2','3','4','5','6','7','8','9') </#if>
)
and
inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
or
</#if>
(${SxFinRechte("K1","31.12.2010","","","","")}) )
and jahr>=${drittmittelprojektestartjahr}
and ${drittmittelprojektebedingung}
<#if "<<Kostenstelle>>"!="">
and B.buchungsab_fb in (select projnr from fin_proj_to_inst P where
<#if berechtigung_via_hauptbetreuungskostenstellen||K_hs_nr=6720>
(
<#if berechtigung_via_hauptbetreuungskostenstellen> haupt_kst_kz='1'</#if>
--bei Biberach "Projektleiterkostenstellen"
<#if K_hs_nr=6720> substring(inst_nr from 1 for 1) not in ('0','1','2','3','4','5','6','7','8','9') </#if>
) and
</#if>
inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
</#if>
<#if MaxJahreProjektAbgelaufen?exists>
and buchungsab_fb in (select projnr from fin_proj where ${ProjektAbgelaufenFeld} is null or year(${ProjektAbgelaufenFeld})>=(year(today())-${MaxJahreProjektAbgelaufen}))
</#if>
<#if "<<inaktive Projekte anzeigen>>"="'nein'">
<#if ProjektInaktivKeineBuchungenInJahren?exists>
and buchungsab_fb not in (select buchungsab_fb from fin_konto_aggr group by 1 having max(rechnungsjahr)<year(today())-${ProjektInaktivKeineBuchungenInJahren}+1 )
</#if>
</#if>
/* and buchungsab_fb in ( <<Buchungsab_fb>>) */
/* and buchungsab_fb in (select projnr from fin_proj where pjlname1 in ( <<Projektleiter>> )) */
/* and buchungsab_fb in (select projnr from fin_proj where lehr in ( <<SFB>> )) */
group by 1;
CDATAEND
</sqlvar>
--nicht sinnvolll, wenn keine Kostenstellenrechte angegeben
<sqlvar name="projektevoll">CDATASTART
<#assign berechtigung_via_hauptbetreuungskostenstellen=false/>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
select buchungsab_fb,min(ktobez) from fin_buchab_fb B where
( --(${SxFinRechte.getProjektRights})
<#if Kostenstelle.elementsMaxEbene&gt;1&&(K_hs_nr=6720||berechtigung_via_hauptbetreuungskostenstellen)>
buchungsab_fb in (select distinct projnr from fin_proj_to_inst where
(
<#if berechtigung_via_hauptbetreuungskostenstellen> haupt_kst_kz='1'</#if>
--bei Biberach "Projektleiterkostenstellen"
<#if K_hs_nr=6720> substring(inst_nr from 1 for 1) not in ('0','1','2','3','4','5','6','7','8','9') </#if>
)
and
inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
and
</#if>
not (${SxFinRechte("K1","31.12.2010","","","","")}) )
and jahr>=${drittmittelprojektestartjahr}
and ${drittmittelprojektebedingung}
<#if "<<Kostenstelle>>"!="">
and B.buchungsab_fb in (select projnr from fin_proj_to_inst P where
<#if berechtigung_via_hauptbetreuungskostenstellen||K_hs_nr=6720>
(
<#if berechtigung_via_hauptbetreuungskostenstellen> haupt_kst_kz='1'</#if>
--bei Biberach "Projektleiterkostenstellen"
<#if K_hs_nr=6720> substring(inst_nr from 1 for 1) not in ('0','1','2','3','4','5','6','7','8','9') </#if>
) and
</#if>
inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
</#if>
<#if MaxJahreProjektAbgelaufen?exists>
and buchungsab_fb in (select projnr from fin_proj where ${ProjektAbgelaufenFeld} is null or year(${ProjektAbgelaufenFeld})>=(year(today())-${MaxJahreProjektAbgelaufen}))
</#if>
<#if "<<inaktive Projekte anzeigen>>"="'nein'">
<#if ProjektInaktivKeineBuchungenInJahren?exists>
and buchungsab_fb not in (select buchungsab_fb from fin_konto_aggr group by 1 having max(rechnungsjahr)<year(today())-${ProjektInaktivKeineBuchungenInJahren}+1 )
</#if>
</#if>
/* and buchungsab_fb in ( <<Buchungsab_fb>>) */
/* and buchungsab_fb in (select projnr from fin_proj where pjlname1 in ( <<Projektleiter>> )) */
/* and buchungsab_fb in (select projnr from fin_proj where lehr in ( <<SFB>> )) */
group by 1;
CDATAEND
</sqlvar>
<sqlvar name="projektcount">CDATASTART
select count(distinct buchungsab_fb) from fin_buchab_fb where
<#if projekte?is_sequence> buchungsab_fb in ( <#foreach p in projekte> '${p.id}'<#if p_has_next>,</#if></#foreach>)<#else>1=0</#if>
CDATAEND
</sqlvar>
<sqlvar name="bewillsum">CDATASTART
select sum(hhans_dr) from fin_konto_aggr where
<#if projekte?is_sequence> buchungsab_fb in ( <#foreach p in projekte> '${p.id}'<#if p_has_next>,</#if></#foreach>)<#else>1=0</#if>
CDATAEND
</sqlvar>
<sqlvar name="ausgabeartcount">CDATASTART
select count(distinct projnr_ins) from fin_konto_aggr where projnr_ins!='' and
<#if projekte?is_sequence> buchungsab_fb in ( <#foreach p in projekte> '${p.id}'<#if p_has_next>,</#if></#foreach>)<#else>1=0</#if>
CDATAEND
</sqlvar>
<sqlvar name="yeartoday">select year(today()) from xdummy</sqlvar>
</sqlvars>
<#if bewillsum?is_string&&bewillsum=""><#assign bewillsum=0/></#if>
<#assign berechtigung_via_hauptbetreuungskostenstellen=false/>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<#if gruppierung!=''>
<#assign inlineTemplate=gruppierung?interpret>
<@inlineTemplate/>
</#if>
<#if CUSTOM_888880120?exists>
<#assign inlineTemplate=CUSTOM_888880120?interpret>
<@inlineTemplate/>
</#if>
--Biberach Projektleiter nachtragen in FIN_VERFUEGBAR_INDIV!
-- ##################################################
-- ##### Temp Tabelle wird erzeugt und gefuellt ######
-- ##################################################
create temp table tmp_erg
(
ebene smallint,
katsort integer,
key varchar(255), -- fuer Anzeige
buchungsab_fb char(12),
pjlname1 char(30),
projnr_ins varchar(255),
projnr_ins_sort varchar(255) default '' not null, --fuer Sortierung nach Namen, fuer HFT wird fuer E0001 00000 eingetragen damit ganz oben
name char(200),
jahr char(10),
jahrsort char(10) default '0' not null,
detail smallint default 1,
bewill decimal (14,2) ,
einnahmen decimal (14,2) ,
ausgaben decimal (14,2) ,
fest decimal (14,2) ,
rest decimal(14,2),
vojs decimal(14,2),
offsoll_e decimal(14,2),
verfuegbar decimal(14,2),--Bewilligung
verfuegbar_geld decimal(14,2),--Geldeingang
saldobewill decimal (14,2),
saldoeinnahme decimal (14,2),
linkkoa <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkkoa2 <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkbuchakts <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkbuchf <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkbuchein <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkbuchvojs <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkbuchoffsolle <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkbuchaus <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>,
linkbuchspezial <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if>, --Spezielle Variante des allgemeinen Buchungsbericht
linkspezialbuchungsb <#if SQLdialect='Postgres'>text<#else>lvarchar(1000)</#if> -- spezieller Bericht falls definiert
) <@informixnolog/>;
<#if projektcount==0>
insert into tmp_erg (name) values ('Kein Projekt gefunden');
<@selectintotmp source="tmp_erg" target="tmp_erg2" select="*"/>;
drop table tmp_erg;
<#else>
--falls es nur 1 Ausgabeart gibt, wird intern auf Sortierung Jahr umgestellt
<#if ausgabeartcount&lt;2><#assign Sortierung="jahr"/></#if>
<#assign zeigeSaldoEbene2='ja'>
<#if LinkFestlegung?exists&&LinkFestlegung='nur offene'>
<#assign bf="&Buchungsart=4b-ofest"/>
<#else>
<#assign bf="&Buchungsart=4-fest"/>
</#if>
<#assign koa2="&Art=FIN_KOSTENART2"/>
<#assign linkkoa="888880140&cachingcontrol=clearmask"/> --+"&closeHeader=5" kann nur nachtraeglich aufgerufen werden
<#assign linkkoa=linkkoa?replace("'","")> -- ' entfernen
--für Direktlink
<#assign linkbuch="SuperXmlTabelle?tid=888880160&cachingcontrol=clearmask&Sortierung%20nach=1-bdat&navi=true"/>
--#assign linkbuch="888880160&cachingcontrol=clearmask&Sortierung%20nach=1-bdat"
<#assign linkbuch=linkbuch?replace("'","")> -- ' entfernen
<#assign baus="&Buchungsart=6-aus"/>
<#assign bakts="&Buchungsart=3b-aks"/>
<#assign bein="&Buchungsart=7-ein"/>
<#assign boffsolle="&Buchungsart=8-offsolle"/>
<#assign bspezial="&Buchungsart=0-alle"/>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
<#assign katsort=1/>
--linkbuch vojs wird unten per replace gemacht
--Details pro Ausgabeart
<#assign params>'&Buchungsab_fb='||trim(buchungsab_fb)||'&Projnr_ins='||trim(projnr_ins)||'&ab Haushaltsjahr='||rechnungsjahr||'&bis Haushaltsjahr='||rechnungsjahr</#assign>
insert into tmp_erg (buchungsab_fb,projnr_ins,key,katsort,jahr,linkbuchakts,linkbuchf,linkbuchein,linkbuchoffsolle,linkbuchaus,
linkbuchspezial,
bewill,einnahmen,ausgaben,fest,vojs,rest,offsoll_e,verfuegbar,verfuegbar_geld)
select buchungsab_fb, projnr_ins,projnr_ins,${katsort},rechnungsjahr,
'${linkbuch}${bakts}'||${params},
'${linkbuch}${bf}'||${params},
'${linkbuch}${bein}'||${params},
'${linkbuch}${boffsolle}'||${params},
'${linkbuch}${baus}'||${params},
'${linkbuch}${bspezial}'||${params},
sum(hhans_dr),sum(einnahmen_dr),sum(ausgaben_dr),sum(festgelegt_dr),sum(vojs_dr),sum(reste_dr),sum(offsoll_e_dr),sum(verfuegbar_dr),sum(verfuegbar_geld)
from fin_konto_aggr
where rechnungsjahr>=${drittmittelprojektestartjahr}
/* and rechnungsjahr=<<Haushaltsjahr>> */
and ${drittmittelprojektebedingung}
and (
--hier stand Projektevoll
<#if berechtigung_via_hauptbetreuungskostenstellen&&projekte?is_sequence>
buchungsab_fb in ( <#foreach p in projekte> '${p.id}'<#if p_has_next>,</#if></#foreach>)
or
</#if>
(${SxFinRechte("K2","31.12.2010","","","","","")})
)
and rechnungsjahr>=${drittmittelprojektestartjahr}
and ${drittmittelprojektebedingung}
<#if "<<Kostenstelle>>"!="">
and buchungsab_fb in (select projnr from fin_proj_to_inst P where
<#if berechtigung_via_hauptbetreuungskostenstellen||K_hs_nr=6720>
(
<#if berechtigung_via_hauptbetreuungskostenstellen> haupt_kst_kz='1'</#if>
--bei Biberach "Projektleiterkostenstellen"
<#if K_hs_nr=6720> substring(inst_nr from 1 for 1) not in ('0','1','2','3','4','5','6','7','8','9') </#if>
) and
</#if>
inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
</#if>
<#if MaxJahreProjektAbgelaufen?exists>
and buchungsab_fb in (select projnr from fin_proj where ${ProjektAbgelaufenFeld} is null or year(${ProjektAbgelaufenFeld})>=(year(today())-${MaxJahreProjektAbgelaufen}))
</#if>
<#if "<<inaktive Projekte anzeigen>>"="'nein'">
<#if ProjektInaktivKeineBuchungenInJahren?exists>
and buchungsab_fb not in (select buchungsab_fb from fin_konto_aggr group by 1 having max(rechnungsjahr)<year(today())-${ProjektInaktivKeineBuchungenInJahren}+1 )
</#if>
</#if>
/* and buchungsab_fb in ( <<Buchungsab_fb>>) */
/* and buchungsab_fb in (select projnr from fin_proj where pjlname1 in ( <<Projektleiter>> )) */
/* and buchungsab_fb in (select projnr from fin_proj where lehr in ( <<SFB>> )) */
group by 1,2,3,4,5,6,7,8,9,10,11;
<#if K_hs_nr=6720>
--Spezialberechung Biberach z.B. Projekt 900300
create temp table tmp_vojs (buchungsab_fb char(10),vojs decimal(14,2));
insert into tmp_vojs
select buchungsab_fb,sum(vojs_dr) from fin_konto_aggr where
rechnungsjahr=2010 and (dr='92' or dr2='92')
and (
--hier stand projektevoll
<#if berechtigung_via_hauptbetreuungskostenstellen&&projekte?is_sequence>
buchungsab_fb in ( <#foreach p in projekte> '${p.id}'<#if p_has_next>,</#if></#foreach>)
or
</#if>
(${SxFinRechte("K2","31.12.2010","","","","")})
)
and rechnungsjahr>=${drittmittelprojektestartjahr}
and ${drittmittelprojektebedingung}
<#if "<<Kostenstelle>>"!="">
and B.buchungsab_fb in (select projnr from fin_proj_to_inst P where
(
<#if berechtigung_via_hauptbetreuungskostenstellen> haupt_kst_kz='1'</#if>
--bei Biberach "Projektleiterkostenstellen"
<#if K_hs_nr=6720> substring(inst_nr from 1 for 1) not in ('0','1','2','3','4','5','6','7','8','9') </#if>
) and
inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
</#if>
<#if MaxJahreProjektAbgelaufen?exists>
and buchungsab_fb in (select projnr from fin_proj where ${ProjektAbgelaufenFeld} is null or year(${ProjektAbgelaufenFeld})>=(year(today())-${MaxJahreProjektAbgelaufen}))
</#if>
/* and buchungsab_fb in ( <<Buchungsab_fb>>) */
/* and buchungsab_fb in (select projnr from fin_proj where pjlname1 in ( <<Projektleiter>> )) */
group by 1;
update tmp_erg set vojs=0; --vojs wird nur auf Projektebene fuer 2009 nachberechnet
update tmp_erg set fest=0 where jahr!=year(today()); --Festlegungen nur bei aktuellem Haushaltsjahr
</#if>
<#if K_hs_nr=6850> --HFT Stuttgart
update tmp_erg set fest=0 where jahr<year(today()); --Festlegungen nur bei aktuellem Haushaltsjahr
</#if>
-- ##################################################
-- ###### Daten der Tabelle werden verarbeitet ######
-- ##################################################
update tmp_erg set linkkoa='${linkkoa}&ab%20Haushaltsjahr='||trim(jahr)||'&bis%20Haushaltsjahr='||trim(jahr)||'&Buchungsab_fb='||trim(buchungsab_fb)||'&Projnr_ins='||trim(projnr_ins) where projnr_ins!='';
update tmp_erg set linkkoa2='${linkkoa}${koa2}&ab%20Haushaltsjahr='||trim(jahr)||'&bis%20Haushaltsjahr='||trim(jahr)||'&Buchungsab_fb='||trim(buchungsab_fb)||'&Projnr_ins='||trim(projnr_ins) where projnr_ins!='';
create temp table tmp_name (buchungsab_fb char(12),projnr_ins char(10),jahr char(4),ktobez varchar(255));
insert into tmp_name select buchungsab_fb,projnr_ins,jahr::char(4),min(ktobez) from fin_projnr_ins group by 1,2,3;
create index ix_tmp_name1 on tmp_name (buchungsab_fb,projnr_ins,jahr);
update tmp_erg set name=(select ktobez from tmp_name where tmp_erg.projnr_ins=tmp_name.projnr_ins
and tmp_erg.buchungsab_fb=tmp_name.buchungsab_fb
and tmp_erg.jahr=tmp_name.jahr) where projnr_ins is not null and projnr_ins!='';
drop table tmp_name;
--fuer Bewilligungen in der Zukunft noch keine Bezeichnung, nachtragen
update tmp_erg set name=(select min(ktobez) from fin_projnr_ins where tmp_erg.projnr_ins=fin_projnr_ins.projnr_ins
and tmp_erg.buchungsab_fb=fin_projnr_ins.buchungsab_fb) where projnr_ins is not null and projnr_ins!='' and name is null;
-- update tmp_erg2 set projnr_ins='-',name='ohne Ausgabeart' where projnr_ins='';
--delete from tmp_erg where projnr_ins='' or projnr_ins is null;
<@selectintotmp source="tmp_erg" target="tmp_erg2" select="*">
where projnr_ins!=''
</@selectintotmp> <@informixnolog/>;
--wenn es nur eine (Dummy)-Ausgabeart gibt, Details loeschen
<#if !(Haushaltsjahr?exists)||"<<Haushaltsjahr>>"="">
delete from tmp_erg2 where (select count(distinct projnr_ins) from tmp_erg where projnr_ins!='-' and projnr_ins!='')<2;
</#if>
-- ##################################################
-- ######## Gesamt und Kategorien########
-- ##################################################
<#assign ebene=1/>
<#if projektcount&gt;1>
insert into tmp_erg2 (ebene,katsort,projnr_ins,key,bewill,einnahmen,ausgaben,fest,vojs,rest,offsoll_e,verfuegbar,verfuegbar_geld)
select 1,0,'Gesamt','Gesamt',sum(bewill),sum(einnahmen),sum(ausgaben),sum(fest) ,sum(vojs),sum(rest),sum(offsoll_e),sum(verfuegbar),sum(verfuegbar_geld)
from tmp_erg
group by 1,2,3,4;
<#if K_hs_nr=6720>
--Spezialberechung Biberach z.B. Projekt 900300
update tmp_erg2 set vojs=(select sum(vojs) from tmp_vojs) where ebene=1 and katsort=0;
</#if>
<#assign ebene=2/>
<#if drittmittelprojektkategorien?exists>
create temp table tmp_fb (buchungsab_fb char(12)) <@informixnolog/>;
<#assign ebene=3/>
<#foreach k in drittmittelprojektkategorien>
<#assign katsort=katsort+1/>
delete from tmp_fb;
insert into tmp_fb
select distinct buchungsab_fb from fin_konto_aggr where rechnungsjahr>=${drittmittelprojektestartjahr}
/* and rechnungsjahr=<<Haushaltsjahr>> */
and ${drittmittelprojektebedingung}
and <#if k.bedingung!='rest'>${k.bedingung}
<#else>
<#foreach k2 in drittmittelprojektkategorien>
<#if k2.bedingung!='rest'>not (${k2.bedingung}) and </#if>
</#foreach>
1=1 --if Hochschule = Mannheim and zweckbestimmung_ut!=''
</#if>;
update tmp_erg set katsort=${katsort} where buchungsab_fb in (select buchungsab_fb from tmp_fb);
update tmp_erg2 set katsort=${katsort} where buchungsab_fb in (select buchungsab_fb from tmp_fb);
insert into tmp_erg2 (ebene,katsort,buchungsab_fb,projnr_ins,key,bewill,einnahmen,ausgaben,fest,vojs,rest,offsoll_e,verfuegbar,verfuegbar_geld)
select 2,${katsort},'-','${k.name}','${k.name}',sum(bewill),sum(einnahmen),sum(ausgaben),sum(fest) ,sum(vojs),sum(rest),sum(offsoll_e),sum(verfuegbar),sum(verfuegbar_geld)
from tmp_erg where
buchungsab_fb in (select buchungsab_fb from tmp_fb)
group by 1,2,3,4,5;
<#if K_hs_nr=6720>
--Spezialberechung Biberach z.B. Projekt 900300
update tmp_erg2 set vojs=(select sum(vojs) from tmp_vojs where buchungsab_fb in (select buchungsab_fb from tmp_fb))
where ebene=2 and katsort=${katsort};
</#if>
</#foreach>
drop table tmp_fb;
</#if>
<#else> -- nur ein Projekt ???
--geht nicht mit mehreren Projekten weil stylesheet mit | durcheinanderkommt
<#assign params><#if projekte?is_sequence>'&Buchungsab_fb=<#foreach p in projekte>${p.id}<#if p_has_next>X</#if></#foreach>'<#else>'&Buchungsab_fb=unbekannt'</#if>||'&ab Haushaltsjahr='||trim((select distinct min(jahr) from tmp_erg))</#assign>
<#if "<<Haushaltsjahr>>"!=""><#assign params=params+"||'&bis Haushaltsjahr=<<Haushaltsjahr>>'"/></#if>
update tmp_erg2 set
linkkoa='${linkkoa}'||${params},
linkkoa2='${linkkoa}${koa2}'||${params},
linkbuchakts='${linkbuch}${bakts}'||${params},
linkbuchf='${linkbuch}${bf}'||${params},
linkbuchein='${linkbuch}${bein}'||${params},
linkbuchoffsolle='${linkbuch}${boffsolle}'||${params},
linkbuchaus='${linkbuch}${baus}'||${params},
linkbuchspezial='${linkbuch}${bspezial}'||${params}
where katsort=1000;
</#if>
<#if !(Haushaltsjahr?exists)||"<<Haushaltsjahr>>"=""||K_hs_nr!=6760> --bei HS KA keine Projektsummenzeile wenn Haushaltsjahr gewaehlt
-- Summenzeilen auf Projektebene
<#assign projektebene=ebene/>
<#assign summenebene=ebene/>
insert into tmp_erg2 (ebene,katsort,buchungsab_fb,key,bewill,einnahmen,ausgaben,fest,vojs,rest,offsoll_e,verfuegbar,verfuegbar_geld)
select distinct ${ebene},katsort,buchungsab_fb,buchungsab_fb,sum(bewill),sum(einnahmen),sum(ausgaben),sum(fest),sum(vojs),sum(rest),sum(offsoll_e),sum(verfuegbar),sum(verfuegbar_geld)
from tmp_erg
group by 1,2,3,4;
--Spezialbearbeitung Uni Regensburg
<#if K_hs_nr=1341>
update tmp_erg2 set pjlname1=(select pjlname1 from fin_proj where projnr = tmp_erg2.buchungsab_fb and ebene=${projektebene});
</#if>
--Namen eintragen möglichst bezeichnung von aktuellem jahr, falls älteres projekt von vorjahren
create temp table tmp_projnames (key char(10),jahr smallint,name varchar(255)) <@informixnolog/>;
insert into tmp_projnames (key,jahr)
select buchungsab_fb,max(jahr) from fin_buchab_fb where buchungsab_fb in (select buchungsab_fb from tmp_erg2)
/* and jahr=<<Haushaltsjahr>> */
group by 1;
update tmp_projnames set name=(select min(ktobez) from fin_buchab_fb where tmp_projnames.key=fin_buchab_fb.buchungsab_fb and tmp_projnames.jahr=fin_buchab_fb.jahr);
update tmp_erg2 set name=(select min(name) from tmp_projnames where tmp_projnames.key=tmp_erg2.buchungsab_fb)
where ebene=${ebene} ;
drop table tmp_projnames;
create index ix_tmp_erg2a on tmp_erg2 (ebene);
create temp table tmp_minjahr (buchungsab_fb char(12),minjahr char(4)) <@informixnolog/>;
insert into tmp_minjahr (buchungsab_fb,minjahr) select buchungsab_fb,min(jahr) from tmp_erg group by 1;
<#assign params>'&Buchungsab_fb='||trim(buchungsab_fb)||'&ab Haushaltsjahr='||trim((select minjahr from tmp_minjahr where tmp_erg2.buchungsab_fb=tmp_minjahr.buchungsab_fb))</#assign>
<#assign paramsFestOffSoll=params/>
<#if K_hs_nr=6850> --HFT Stuttgart Festlegungen und offSoll nur ab aktuellem Haushaltsjahr
<#assign paramsFestOffSoll>'&Buchungsab_fb='||trim(buchungsab_fb)||'&ab Haushaltsjahr=${yeartoday}'</#assign>
</#if>
<#if "<<Haushaltsjahr>>"!=""><#assign params=params+"||'&bis Haushaltsjahr=<<Haushaltsjahr>>'"/></#if>
update tmp_erg2 set linkkoa='${linkkoa}'||${params},
linkkoa2='${linkkoa}${koa2}'||${params},
linkbuchakts='${linkbuch}${bakts}'||${params},
linkbuchf='${linkbuch}${bf}'||${paramsFestOffSoll},
linkbuchein='${linkbuch}${bein}'||${params},
linkbuchoffsolle='${linkbuch}${boffsolle}'||${paramsFestOffSoll},
linkbuchaus='${linkbuch}${baus}'||${params},
linkbuchspezial='${linkbuch}${bspezial}'||${params}
where ebene=${ebene};
<#assign ebene=ebene+1/>
<#else>
<#assign summenebene=ebene-1/>
</#if>
-- ##################################################
-- ########## Summenzeile fuer ausgabeart/jahr wird hinzugefuegt ##########
-- ##################################################
<#if Sortierung = "ausgabeart">
insert into tmp_erg2 (ebene,katsort,buchungsab_fb,projnr_ins,key,bewill,einnahmen,ausgaben,fest,vojs,rest,offsoll_e,verfuegbar,verfuegbar_geld)
select distinct ${ebene},katsort,buchungsab_fb,projnr_ins,projnr_ins,sum(bewill),sum(einnahmen),sum(ausgaben),sum(fest),sum(vojs),sum(rest),sum(offsoll_e),sum(verfuegbar),sum(verfuegbar_geld)
from tmp_erg where projnr_ins!=''
group by ebene,katsort,buchungsab_fb,projnr_ins,key;
--name besser nachtragen als group by wegen moeglicherweise unterschiedlichen Bezeichnungen
create temp table tmp_name (buchungsab_fb char(12),projnr_ins char(10),ktobez varchar(255));
insert into tmp_name select buchungsab_fb,projnr_ins,min(ktobez) from fin_projnr_ins group by 1,2;
create index ix_tmpname1 on tmp_name (buchungsab_fb,projnr_ins);
update tmp_erg2 set name=(select ktobez from tmp_name where tmp_erg2.projnr_ins=tmp_name.projnr_ins
and tmp_erg2.buchungsab_fb=tmp_name.buchungsab_fb) where projnr_ins is not null and projnr_ins!='' and name is null
and ebene=${ebene};
drop table tmp_name;
<#assign params>'&Buchungsab_fb='||trim(buchungsab_fb)||'&Projnr_ins='||trim(projnr_ins)||'&ab Haushaltsjahr='||trim((select minjahr from tmp_minjahr where tmp_minjahr.buchungsab_fb=tmp_erg2.buchungsab_fb))</#assign>
<#assign paramsFestOffSoll=params/>
<#if K_hs_nr=6850> --HFT Stuttgart Festlegungen und offSoll nur aktuelles Haushaltsjahr
<#assign paramsFestOffSoll>'&Buchungsab_fb='||trim(buchungsab_fb)||'&Projnr_ins='||trim(projnr_ins)||'&ab Haushaltsjahr=${yeartoday}'</#assign>
</#if>
<#if "<<Haushaltsjahr>>"!=""><#assign params=params+"||'&bis Haushaltsjahr=<<Haushaltsjahr>>'"/></#if>
update tmp_erg2 set linkkoa='${linkkoa}'||${params},
linkkoa2='${linkkoa}{koa2}'||${params},
linkbuchakts='${linkbuch}${bakts}'||${params},
linkbuchf='${linkbuch}${bf}'||${paramsFestOffSoll},
linkbuchein='${linkbuch}${bein}'||${params},
linkbuchoffsolle='${linkbuch}${boffsolle}'||${paramsFestOffSoll},
linkbuchaus='${linkbuch}${baus}'||${params},
linkbuchspezial='${linkbuch}${bspezial}'||${params}
where ebene=${ebene};
<#assign ebene=ebene+1/>
</#if>
<#if Sortierung = "jahr">
insert into tmp_erg2 (ebene,katsort,buchungsab_fb,projnr_ins,jahr,key,bewill,einnahmen,ausgaben,fest,vojs,rest,offsoll_e,verfuegbar,verfuegbar_geld)
select distinct ${ebene},katsort,buchungsab_fb,'Summe',jahr,jahr,sum(bewill),sum(einnahmen),sum(ausgaben),sum(fest),sum(vojs),sum(rest),sum(offsoll_e),sum(verfuegbar),sum(verfuegbar_geld)
from tmp_erg
group by 1,2,3,4,5,6;
<#assign params>'&Buchungsab_fb='||trim(buchungsab_fb)||'&ab Haushaltsjahr='||trim(jahr)||'&bis Haushaltsjahr='||trim(jahr)</#assign>
update tmp_erg2 set linkkoa='${linkkoa}'||${params},
linkkoa2='${linkkoa}${koa2}'||${params},
linkbuchakts='${linkbuch}${bakts}'||${params},
linkbuchf='${linkbuch}${bf}'||${params},
linkbuchein='${linkbuch}${bein}'||${params},
linkbuchoffsolle='${linkbuch}${boffsolle}'||${params},
linkbuchaus='${linkbuch}${baus}'||${params},
linkbuchspezial='${linkbuch}${bspezial}'||${params}
where projnr_ins='Summe'
and jahr != ''
and jahr is not null;
<#assign ebene=ebene+1/>
</#if>
update tmp_erg2 set ebene=${ebene} where detail=1;
update tmp_erg2 set vojs=0 where vojs is null;
update tmp_erg2 set linkbuchvojs=replace(linkbuchein,'7-ein','10-vojs');
-- bei allen ohne projnr_ins werden die Links geloescht
update tmp_erg2 set linkkoa='',linkbuchakts='',linkbuchf='',linkbuchein='',linkbuchaus='',linkbuchvojs='' where name='ohne Ausgabeart';
update tmp_erg2 set projnr_ins_sort=projnr_ins;
update tmp_erg2 set projnr_ins_sort='0000',linkkoa='' where projnr_ins='E0001';
<#if K_hs_nr=6720>
--Spezialberechung Biberach z.B. Projekt 900300
update tmp_erg2 set vojs=(
select sum(vojs) from tmp_vojs where tmp_vojs.buchungsab_fb=tmp_erg2.buchungsab_fb)
where ebene=${projektebene} and buchungsab_fb is not null;
update tmp_erg2 set vojs=0 where ebene=${projektebene} and buchungsab_fb is not null and vojs is null;
drop table tmp_vojs;
</#if>
update tmp_erg2 set saldobewill=bewill-ausgaben-fest,
saldoeinnahme=
-- HFT Stuttgart ohne Vojs
<#if K_hs_nr!=6850>vojs+</#if>einnahmen-ausgaben-fest;
<#if Sortierung = "ausgabeart">
--bei Darstellung nach ausgabeart saldo nur bei Gesamtzeile zeigen
update tmp_erg2 set saldoeinnahme=null where ebene>${projektebene};
</#if>
--wenn es nicht mehrere Ausgabearten gibt, wird nur die Bezeichnungspalte angezeigt
<#if ausgabeartcount&lt;2>
update tmp_erg2 set name=projnr_ins where projnr_ins!='' and projnr_ins is not null;
</#if>
drop table tmp_erg;
update tmp_erg2 set jahrsort=jahr;
update tmp_erg2 set jahrsort=0 where jahrsort is null;
update tmp_erg2 set projnr_ins_sort='' where projnr_ins_sort is null;
/*delete from tmp_erg2 where ebene> <<Filter bis Ebene>>; */
--Spezialbearbeitung Biberach z.B. Projekt 900300
<#if K_hs_nr=6720>
update tmp_erg2 set vojs=null where ebene>${summenebene};
update tmp_erg2 set fest=null,linkbuchf=null where ebene>${summenebene} and jahr!=year(today()); --Festlegungen nur bei aktuellem Haushaltsjahr
update tmp_erg2 set saldoeinnahme=null where ebene>${summenebene};
</#if>
--Spezialbearbeitung Hochschule Karlsruhe
<#if K_hs_nr=6760>
<#if Haushaltsjahr?exists&&"<<Haushaltsjahr>>"!="">
update tmp_erg2 set key=buchungsab_fb,name=(select min(ktobez) from fin_buchab_fb where tmp_erg2.buchungsab_fb=fin_buchab_fb.buchungsab_fb)
where ebene>${summenebene}; --in Karlsruhe nur Projekte keine Ausgabearten
<#else>
update tmp_erg2 set vojs=null,fest=null,linkbuchf=null,linkbuchvojs=null,saldoeinnahme=null where ebene<=${summenebene} ;
</#if>
</#if>
--Spezialbearbeitung HFT Stuttgart
<#if K_hs_nr=6850>
update tmp_erg2 set linkbuchf=null,linkbuchoffsolle=null where jahr<year(today());
</#if>
--Spezialbearbeitung HS Weingarten
<#if K_hs_nr=6820>
update tmp_erg2 set vojs=null,fest=null,linkbuchf=null,linkbuchvojs=null,saldoeinnahme=null where ebene<=${summenebene} ;
</#if>
-- Ö umkodieren
--update tmp_erg2 set linkkoa= replace(linkkoa,'Ö','%D6');
--update tmp_erg2 set linkkoa2=replace(linkkoa2,'Ö','%D6');
--update tmp_erg2 set linkbuchakts=replace(linkbuchakts,'Ö','%D6');
--update tmp_erg2 set linkbuchf=replace(linkbuchf,'Ö','%D6');
--update tmp_erg2 set linkbuchein=replace(linkbuchein,'Ö','%D6');
--update tmp_erg2 set linkbuchoffsolle=replace(linkbuchoffsolle,'Ö','%D6');
--update tmp_erg2 set linkbuchaus=replace(linkbuchaus,'Ö','%D6');
<#if speziellerBuchungsbericht?exists>
update tmp_erg2 set linkspezialbuchungsb=replace(linkbuchaus,'888880160','${speziellerBuchungsbericht}');
update tmp_erg2 set linkspezialbuchungsb=replace(linkspezialbuchungsb,'&Buchungsart=6-aus','');
update tmp_erg2 set linkspezialbuchungsb=replace(linkspezialbuchungsb,'SuperXmlTabelle?tid=','');
</#if>
drop table tmp_minjahr;
</#if>
-- ###### Funktion isWanted #########################
<#function isWanted field>
<#assign result=true>
<#if (field?index_of('bewill')&gt;-1 && bewillsum?is_number&&bewillsum=0) ><#assign result=false/></#if>
<#if field?starts_with('linkbuch')&&Einzelbuchrecht?exists&&Einzelbuchrecht?is_number&&Einzelbuchrecht=0><#assign result=false/></#if>
<#if (field='einnahmen'||field='offsoll_e'||field?starts_with('linkbuchein')||field?starts_with('linkbuchoffsolle'))&&"<<Einnahmen anzeigen>>"!="'ja'"><#assign result=false/></#if>
--<#if field='key'&&projektcount&lt;2&&ausgabeartcount&lt;2> <#assign result=false/> </#if>
<#return result>
</#function>
-- ##################################################
-- ########## Select fuer Ergebnistabelle ############
-- ##################################################
-- customize automatisch die felder aus...
<#if customize?exists>
select
<#foreach f in customize.resulttable>
<#if isWanted(f.field)>
${f.field} <#if f_has_next>,</#if>
</#if>
</#foreach>
from tmp_erg2 T
<#if Sortierung = "ausgabeart">
order by katsort,buchungsab_fb,projnr_ins_sort,ebene,jahrsort
<#elseif Sortierung = "jahr">
order by katsort,buchungsab_fb,jahrsort,ebene,projnr_ins_sort
</#if>;
<#else>
-- hier der uebliche select
select ebene ,
-- <#if projektcount&gt;1||ausgabeartcount&gt;1> key, </#if>
key,
name , jahr, vojs,
<#if isWanted("bewill")> bewill ,</#if>
<#if isWanted("einnahmen")> einnahmen ,</#if>
<#if isWanted("offsoll_e")> offsoll_e, </#if>
ausgaben,
fest ,--verfuegbar,
<#if isWanted("bewill")> saldobewill , </#if>
saldoeinnahme ,
linkkoa as nextwindowtable4,
<#if isWanted("bewill")> linkbuchakts as hidden_bewill, </#if>
linkbuchf as hidden_fest,
<#if isWanted("einnahmen")>linkbuchein as hidden_einnahmen,</#if>
<#if isWanted("linkbuchoffsolle")> linkbuchoffsolle as hidden_offsoll_e, </#if>
linkbuchaus as hidden_ausgaben
from tmp_erg2
<#if Sortierung = "ausgabeart">
order by katsort,buchungsab_fb,projnr_ins_sort,ebene,jahrsort
<#elseif Sortierung = "jahr">
order by katsort,buchungsab_fb,jahrsort,ebene,projnr_ins_sort
</#if>;
</#if>]]></text>
<text table="maskeninfo" field="xil_proplist" where="tid=888880120"><![CDATA[--freemarker template
<#function isWanted field>
<#assign result=true>
<#if (field?index_of('bewill')&gt;-1 && bewillsum?is_number&&bewillsum=0) ><#assign result=false/></#if>
<#if field?starts_with('linkbuch')&&Einzelbuchrecht?exists&&Einzelbuchrecht?is_number&&Einzelbuchrecht=0><#assign result=false/></#if>
<#if (field='einnahmen'||field='offsoll_e'||field?starts_with('linkbuchein')||field?starts_with('linkbuchoffsolle'))&&"<<Einnahmen anzeigen>>"!="'ja'"><#assign result=false/></#if>
--<#if field='key'&&projektcount&lt;2&&ausgabeartcount&lt;2> <#assign result=false/> </#if>
<#return result>
</#function>
XIL List
drop_and_delete movable_columns sizable_columns horizontal_scrolling white_space_color=COLOR_WHITE min_heading_height=35
fixed_columns=2
<#if CUSTOM_888880120?exists>
xxx
<#assign inlineTemplate=CUSTOM_888880120?interpret>
<@inlineTemplate/>
</#if>
<#if customize?exists>
<#foreach f in customize.resulttable>
<#if isWanted(f.field)>
Column CID=2 heading_text="${f.caption}" center_heading
row_selectable col_selectable heading_platform readonly width=${f.width}
</#if>
</#foreach>
<#else>
Column CID=0 heading_text="Gliederung" center_heading explanation="" row_selectable col_selectable heading_platform readonly width=10 text_size=10
<#if isWanted("key")>
Column CID=0 heading_text="<#if projektcount&gt;1||"<<Projektleiter>>"!=""||"<<Kostenstelle>>"!="">Projekt/</#if>Ausgabeart" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=9 text_size=0
</#if>
Column CID=0 heading_text="Bezeichnung" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=9 text_size=0
Column CID=0 heading_text="Jahr" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=50 text_size=50
Column CID=0 heading_text="Vorjahresrest" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=20
<#if isWanted("bewill")>
Column CID=0 heading_text="Bewilligung" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=20
</#if>
<#if isWanted("einnahmen")>
Column CID=0 heading_text="Einnahmen" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
</#if>
<#if isWanted("offsoll_e")>
Column CID=0 heading_text="ausstehende\nEinnahmen (OP)" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
</#if>
Column CID=0 heading_text="Ausgaben" explanation="@@@fin_ausgaben@@@" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=15
Column CID=0 heading_text="Festlegungen" explanation="@@@fin_festgelegt@@@" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=15
<#if isWanted("bewill")>
Column CID=0 heading_text="Saldo\ngegen Bewilligung" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
</#if>
Column CID=0 heading_text="Saldo\ngegen Einnahme" explanation="" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
Column CID=0 heading_text="Details Koa" explanation="Details nach Kostenarten - wenn Sie den Link anklicken erhalten Sie in einem neuen Fenster Details nach Kostenarten" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
<#if isWanted("bewill")>
Column CID=0 heading_text="Buchungen\nBewilligung" explanation="wenn Sie den Link anklicken, erscheinen Einzelbuchungen zu Bewilligungen in einem neuen Fenster" center_heading row_selectable col_selectable heading_platform readonly width=17
</#if>
Column CID=0 heading_text="Buchungen\nFestlegungen" explanation="wenn Sie den Link anklicken, erscheinen Einzelbuchungen zu Festlegungen in einem neuen Fenster" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
<#if isWanted("einnahmen")>
Column CID=0 heading_text="Buchungen\nEinnahmen" explanation="wenn Sie den Link anklicken, erscheinen Einzelbuchungen zu den Einnahmen in einem neuen Fenster" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
</#if>
<#if isWanted("linkbuchoffsolle")>
Column CID=0 heading_text="Buchungen\nausst.Einnahmen" explanation="wenn Sie den Link anklicken, erscheinen Einzelbuchungen zu den ausst. Einnahmen in einem neuen Fenster" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
</#if>
Column CID=0 heading_text="Buchungen\nAusgaben" explanation="wenn Sie den Link anklicken, erscheinen Einzelbuchungen zu den Ausgaben in einem neuen Fenster" center_heading row_selectable col_selectable heading_platform readonly width=17 text_size=8
</#if>
@@@]]></text>
<text table="maskeninfo" field="erlaeuterung" where="tid=888880120"><![CDATA[null]]></text>
<text table="maskeninfo" field="hinweis" where="tid=888880120"><![CDATA[null]]></text>
<text table="felderinfo" field="relation" where="tid=888880120"><![CDATA[<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' and ord>=2005 order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880121"><![CDATA[<<SQL>> select distinct lehr,lehr from fin_proj where lehr like 'SFB%' order by 1]]></text>
<text table="felderinfo" field="relation" where="tid=888880122"><![CDATA[<<SQL>> select id,caption from sx_repository where art='FIN_DRITTMITTELP_GRUPPE' and aktiv=1 order by sort1,caption]]></text>
<text table="felderinfo" field="relation" where="tid=888880123"><![CDATA[<<SQL>> select 'ja','ja' from xdummy union select 'nein','nein' from xdummy;]]></text>
<text table="felderinfo" field="relation" where="tid=888880124"><![CDATA[<<SQL>> select tid,type,name from sichten where art='FIN-Kostenstellen-Sicht' and aktiv=1 order by type,tid DESC]]></text>
<text table="felderinfo" field="relation" where="tid=888880125"><![CDATA[<<SQL>> select wert, name from aggregierung where kategorie = 'ZeitraumMonat';]]></text>
<text table="felderinfo" field="relation" where="tid=888880126"><![CDATA[<<SQL>>
--freemarker template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
--erwartet drittmittelstartjahr und drittmittelprojektebedingung
create temp table tmp_proj (key char(12),jahr smallint) <@informixnolog/>;
insert into tmp_proj (key,jahr) select buchungsab_fb,max(jahr) from fin_buchab_fb B
where
(
<#if berechtigung_via_hauptbetreuungskostenstellen&&Kostenstelle.elementsMaxEbene&gt;1>
buchungsab_fb in (select distinct projnr from fin_proj_to_inst where haupt_kst_kz='1' and inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
or
</#if>
(${SxFinRechte("K1","31.12.2010","","","","")})
)
<#if "<<Kostenstelle>>"!=""&&Kostenstelle.elementsMaxEbene&gt;1>
and buchungsab_fb in (select distinct projnr from fin_proj_to_inst where haupt_kst_kz='1' and inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
</#if>
and jahr>=${drittmittelprojektestartjahr}
and ${drittmittelprojektebedingung}
<#if Projektleiter?exists&&"<<Projektleiter>>"!="">
and buchungsab_fb in (select projnr from fin_proj where pjlname1 in (<<Projektleiter>>))
</#if>
<#if MaxJahreProjektAbgelaufen?exists>
and buchungsab_fb in (select projnr from fin_proj where ${ProjektAbgelaufenFeld} is null or year(${ProjektAbgelaufenFeld})>=(year(today())-${MaxJahreProjektAbgelaufen}))
</#if>
/* and jahr=<<Haushaltsjahr>> */
group by buchungsab_fb
;
select distinct key, trim(key)||'-'::char(1)||trim(ktobez) from fin_buchab_fb join tmp_proj
on fin_buchab_fb.buchungsab_fb = tmp_proj.key and fin_buchab_fb.jahr = tmp_proj.jahr
order by key;
drop table tmp_proj;]]></text>
<text table="felderinfo" field="relation" where="tid=888880127"><![CDATA[<<SQL>>
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<@procedure name='sp_fin_user_projnrins' paramlist='<<UserID>>,<<Haushaltsjahr>>'/>;
select distinct projnr_ins,trim(projnr_ins)||'-'||max(name) from tmp_projnr_ins where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
/* and titel in (<<Titel>>) */ /* and buchungsab_fb in (<<Buchungsab_fb>>) */ group by 1 order by 1;drop table tmp_projnr_ins;]]></text>
<text table="felderinfo" field="relation" where="tid=888880128"><![CDATA[<<SQL>> select distinct ins2,trim(ins2)||'-'||max(ktobez) from fin_ins2 where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel in (<<Kapitel>>) */
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
/* and titel in (<<Titel>>) */ /* 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=888880129"><![CDATA[<<SQL>> select distinct ins3,trim(ins3)||'-'||max(ktobez) from fin_ins3 where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
/* and titel=<<Titel>> */ /* 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=888880130"><![CDATA[<<SQL>>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
select distinct pjlname1,pjlname1 from fin_proj where pjlname1 is not null and pjlname1!=''
and projnr in (
select distinct buchungsab_fb from fin_buchab_fb where
(
<#if berechtigung_via_hauptbetreuungskostenstellen&&Kostenstelle.elementsMaxEbene&gt;1>
buchungsab_fb in (select distinct projnr from fin_proj_to_inst where haupt_kst_kz='1' and inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
or
</#if>
(${SxFinRechte("K1","31.12.2010","","","","")})
)
<#if "<<Kostenstelle>>"!=""&&Kostenstelle.elementsMaxEbene&gt;1>
and buchungsab_fb in (select distinct projnr from fin_proj_to_inst where haupt_kst_kz='1' and inst_nr in <@printkeys Kostenstelle.allNeededKeys/> )
</#if>
and jahr>=${drittmittelprojektestartjahr}
and ${drittmittelprojektebedingung}
) order by 1]]></text>
<text table="felderinfo" field="relation" where="tid=888880131"><![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=888880132"><![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=888880133"><![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=888880134"><![CDATA[<<SQL>> select 'aufklapp','mit Aufklappfunktion' from xdummy union select 'tab','Tabelle' from xdummy]]></text>
<text table="felderinfo" field="relation" where="tid=888880135"><![CDATA[<<SQL>> select distinct dr,ktobez from fin_dr where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */ order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880136"><![CDATA[<<SQL>> select 'ja','ja' from xdummy union select 'nein','nein' from xdummy;]]></text>
<text table="felderinfo" field="relation" where="tid=888880137"><![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=888880138"><![CDATA[<<SQL>> select content,caption from sx_repository where aktiv=1 and today() between gueltig_seit and gueltig_bis and art='FIN_Filter']]></text>
<text table="felderinfo" field="relation" where="tid=888880139"><![CDATA[<<SQL>> select 'jahr','Jahr' from xdummy union select 'ausgabeart','Ausgabeart' from xdummy;]]></text>
</xupdate>
Loading…
Cancel
Save