Browse Source

Buchungen Drittmittel

master
Meikel Bisping 1 month ago
parent
commit
b2a0b16df3
  1. 862
      masken/888880160-buchungsbericht-drittmittel.xml

862
masken/888880160-buchungsbericht-drittmittel.xml

@ -0,0 +1,862 @@ @@ -0,0 +1,862 @@
<?xml version="1.0" encoding="UTF-8"?>
<xupdate>
<!-- fuer Maske 888880160-->
<themenbaum maskentid="888880160" parentname="Drittmittel"/>
<!--Hier Themenbaumparent eintragen Name z.B: Haushalt-->
<sql>delete from maskeninfo where tid = 888880160;</sql>
<sql>delete from themenbaum where maskeninfo_id = 888880160;</sql>
<sql>delete from felderinfo where tid in (select felderinfo_id from masken_felder_bez where maskeninfo_id = 888880160);</sql>
<sql>delete from masken_felder_bez where maskeninfo_id = 888880160;</sql>
<sql>delete from sachgeb_maske_bez where maskeninfo_id = 888880160;</sql>
<sql>delete from maske_system_bez where maskeninfo_id = 888880160;</sql>
<sql><![CDATA[insert into maskeninfo (tid,name,chart_xtitel,chart_ytitel) values (888880160,'','Titel','');]]></sql>
<sql><![CDATA[update maskeninfo set name='Einzelbuchungen Drittmittel' where tid=888880160;]]></sql>
<sql><![CDATA[update maskeninfo set cleanup_stmt='drop table tmp_erg;', frontend=1, breite=510, hoehe=360, hilfe=0 where tid=888880160;]]></sql>
<sql>insert into maske_system_bez (maskeninfo_id,systeminfo_id) values (888880160,3);</sql>
<sql>insert into sachgeb_maske_bez (maskeninfo_id,sachgebiete_id) values (888880160,50);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880160);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880161);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880162);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880163);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880164);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880165);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880166);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880167);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880168);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880169);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880170);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880171);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880172);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880173);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880174);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880175);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880176);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880177);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880178);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880179);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880180);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880181);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880182);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880183);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880184);</sql>
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880160,888880185);</sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880160,'',20,0,0,130,80,1,'date',10);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880161,'',25,250,-1,150,80,1,'date',10);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880162,'',70,0,0,130,80,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880163,'',75,0,0,130,80,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880164,'',1080,250,-1,150,80,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880165,'',1018,0,0,130,80,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880166,'',100,0,0,130,80,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880167,'',60,0,0,130,80,1,'char',10);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880168,'',90,0,0,130,80,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880169,'',40,0,0,130,80,1,'decimal',10);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880170,'',45,250,-1,150,80,1,'decimal',10);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880171,'',101,0,0,150,150,1,'char',100);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880172,'',0,0,0,130,50,1,'integer',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880173,'',10,0,0,130,80,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880174,'',59,0,0,130,80,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880175,'',30,0,0,130,80,1,'date',10);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880176,'',35,250,-1,150,80,1,'date',10);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880177,'',73,250,-1,150,80,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880178,'',62,250,-1,150,80,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880179,'',15,250,-1,150,80,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880180,'',1051,0,0,100,150,1,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880181,'',2,150,-1,130,50,1,'integer',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880182,'',52,250,-1,150,150,1,'char',250);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880183,'',1053,0,0,100,150,3,'char',30);]]></sql>
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880184,'',3,0,0,100,10,1,'integer',30);]]></sql>
<sql><![CDATA[update felderinfo set name='Buchungsdatum (von)' where tid=888880160;]]></sql>
<sql><![CDATA[update felderinfo set name='Buchungsdatum (bis)' where tid=888880161;]]></sql>
<sql><![CDATA[update felderinfo set name='Kapitel' where tid=888880162;]]></sql>
<sql><![CDATA[update felderinfo set name='Titel' where tid=888880163;]]></sql>
<sql><![CDATA[update felderinfo set name='Budgetherkunft' where tid=888880164;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenstelle' where tid=888880165;]]></sql>
<sql><![CDATA[update felderinfo set name='Projnr_ins' where tid=888880166;]]></sql>
<sql><![CDATA[update felderinfo set name='HÜL-Nr' where tid=888880167;]]></sql>
<sql><![CDATA[update felderinfo set name='Buchungsab_fb' where tid=888880168;]]></sql>
<sql><![CDATA[update felderinfo set name='Betrag (von)' where tid=888880169;]]></sql>
<sql><![CDATA[update felderinfo set name='Betrag (bis)' where tid=888880170;]]></sql>
<sql><![CDATA[update felderinfo set name='Zahlungspartnername' where tid=888880171;]]></sql>
<sql><![CDATA[update felderinfo set name='ab Haushaltsjahr' where tid=888880172;]]></sql>
<sql><![CDATA[update felderinfo set name='Buchungsart' where tid=888880173;]]></sql>
<sql><![CDATA[update felderinfo set name='Zahlungspartnername' where tid=888880174;]]></sql>
<sql><![CDATA[update felderinfo set name='Rechnungsdatum (von)' where tid=888880175;]]></sql>
<sql><![CDATA[update felderinfo set name='Rechnungsdatum (bis)' where tid=888880176;]]></sql>
<sql><![CDATA[update felderinfo set name='Deckungsring' where tid=888880177;]]></sql>
<sql><![CDATA[update felderinfo set name='Rechnungs-Nr' where tid=888880178;]]></sql>
<sql><![CDATA[update felderinfo set name='Sortierung nach' where tid=888880179;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenträger' where tid=888880180;]]></sql>
<sql><![CDATA[update felderinfo set name='bis Haushaltsjahr' where tid=888880181;]]></sql>
<sql><![CDATA[update felderinfo set name='FIN-Kostenart' where tid=888880182;]]></sql>
<sql><![CDATA[update felderinfo set name='Kostenarten' where tid=888880183;]]></sql>
<sql><![CDATA[update felderinfo set name='Monat' where tid=888880184;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=0, attribut='', defaultwert='' where tid=888880160;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=0, attribut='', defaultwert='' where tid=888880161;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880162;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880163;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880164;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880165;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880166;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=0, attribut='', defaultwert='' where tid=888880167;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880168;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=0, attribut='', defaultwert='' where tid=888880169;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=0, attribut='', defaultwert='' where tid=888880170;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=0, attribut='', defaultwert='' where tid=888880171;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> SELECT max(ord) FROM aggregierung where kategorie=''FIN-Jahr'' ;' where tid=888880172;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> select ''1-ist'', ''Ist'' from xdummy' where tid=888880173;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> select ''1-bdat'', ''Buchungsdatum'' from xdummy;' where tid=888880179;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880180;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='<<SQL>> SELECT max(ord) FROM aggregierung where kategorie=''FIN-Jahr'' ;' where tid=888880181;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880182;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880183;]]></sql>
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880184;]]></sql>
<text table="maskeninfo" field="select_stmt" where="tid=888880160"><![CDATA[--Freemarker Template
--Buchungsbericht Drittmittel
-- 18.6. offne Festlegungen, offene Posten Einnahmen, Korrektur Einnahmendarstellung titel<4!
-- 25.6. Buchungssummme (optional)
-- 21.9. Kontrolle Kostenstellenrechte
-- 9.10. Spalte ref_h
-- 15.10 Spalte a_nr (nicht in standard xil_list)
-- 15.10. use
-- 9.11. HÜL-Nr statt Huel-Nr
-- 15.12 für ausstehende Einnahmen nur Spalte rbetrag nicht betrag
-- 17.12.10 Ausgabenberechnung auf TItelebene ergänzt (derzeit nicht benötigt)
-- 10.1.11 Sortierung nach Buchungsdatum für zugeordnete Buchungen (order by sort1, BUCHUNGSDATUM ergänzt)
-- 10.1.11 neue Spalte a_nr vom 15.10 war bei zugeordneten Buchungen falsch, default für berechtigung_via_hauptbetreuungskostenstellen vor inlineTemplate aufruf!
-- 30.6.11 aktiv=1 in sqlvar
-- 14.7.11 Korrektur Zahlungspartner
-- 18.7.11 ref_buch ohne fikr Vergleich
-- 21.9.11 utnummer
-- 2.5.13 Bezeichung Summe in Kostenstelle für HDM STuttgart
-- 4.11.13 titel auf 10stellig
-- 19.11.13 fael aufgenommen
-- 8.7.15 409,459 auch bei ausz titel
-- 8/2016 Buchungsschlüssel 414,464
-- 9/2017 BGA
-- 4/2018 vojs, abgelaufene Projekte nicht anzeigen
-- 8/2018 Parameter restrict_buchungen ergänzt
-- 11/2021 für Regensburg Kostenartennamen nachtragen
-- 6/2022 Einschränkung Monat
-- 9/2022 fikr_name eigene Spalte
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<sqlvars>
<sqlvar name="TMP_FINKOSTENART">CDATASTART
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
select content from sx_repository where
<#if use_FIN_DRITT_KOSTENARTEN?exists&&use_FIN_DRITT_KOSTENARTEN>
art like 'FIN_DRITT_KOSTENART%'
<#else>
art like 'FIN_KOSTENART%'
</#if>
and gueltig_seit<=date_val('1.1.<<ab Haushaltsjahr>>') and gueltig_bis>=('1.1.<<ab Haushaltsjahr>>')
/* and id=<<FIN-Kostenart>> */
and aktiv=1
CDATAEND
</sqlvar>
</sqlvars>
<#assign berechtigung_via_hauptbetreuungskostenstellen=false/>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
<#assign showBuchungssumme='nein'/>
<#if CUSTOM_888880160?exists>
<#assign inlineTemplate=CUSTOM_888880160?interpret>
<@inlineTemplate/>
</#if>
--Referenz auf erste Kostenstelle wird für FREIES/ZWECKGEBUNDENES BUDGET benötigt, nicht Drittmittel
--<#assign kstelle=Kostenstelle.elements?first/>
--start detailbuchungen
create temp table tmp_erg
(
sortserial serial,
sort1 integer,
ebene smallint default 3,
sortnr smallint default 1,
rechnungsjahr integer,
kapitel char(5),
dr char(5),
dr2 char(5),
titel char(10),
zweckbestimmung_ut char(3),
titelgruppe_gege char(5),
buchungsdatum date,
auswert_kz char(5),
huelnummer char(6),
buchungskzmbs char(3),
voa_buchschl integer,
utnummer integer,
betrag decimal(14,2),
betrag2 decimal(14,2),
rbetrag decimal(14,2),
a_nr varchar(255),
op_kz char(1),
kommentar char(254),
buchungsab_fb char(10),
projnr_ins char(10),
ins2 char(10),ins3 char(10),
ch110_institut char(10),
fikr varchar(200),
fikr_name varchar(200),
kostentraeger char(12),
zpartnernummer char(10),
z_vorname varchar(255),
z_name varchar(255),
bga varchar(50),
bga_name varchar(255),
join_nr integer,
r_dat date,
ref_h integer,
r_nr varchar(255),
fael date
) <@informixnolog/>;
create temp table tmp_buch
(
sortserial serial,
sort1 integer,
kontonr integer,
sortnr smallint default 1,
rechnungsjahr integer,
kapitel char(5),
dr char(5),
dr2 char(5),
titel char(10),
zweckbestimmung_ut char(3),
titelgruppe_gege char(5),
buchungsdatum date,
auswert_kz char(5),
huelnummer char(6),
buchungskzmbs char(3),
voa_buchschl integer,utnummer integer,
betrag decimal(14,2),
betrag2 decimal(14,2),
rbetrag decimal(14,2),
a_nr varchar(255),
op_kz char(1),
kommentar char(254),
buchungsab_fb char(10),projnr_ins char(10),
ins2 char(10),ins3 char(10),
ch110_institut char(10),
fikr char(12),
kostentraeger char(12),
zpartnernummer char(10),
z_vorname varchar(255),
z_name varchar(255),
bga varchar(50),
bga_name varchar(255),
join_nr integer,
r_dat date,
ref_h integer,
r_nr varchar(255),fael date
) <@informixnolog/>;
<#if SQLdialect='Postgres'>--Direkt einfuegen moeglich
insert into tmp_buch (kontonr,kapitel,dr,dr2,titel,rechnungsjahr, zweckbestimmung_ut, titelgruppe_gege, buchungsdatum,auswert_kz,huelnummer, buchungskzmbs, voa_buchschl,
utnummer,betrag, betrag2, rbetrag,a_nr,op_kz, buchungsab_fb,projnr_ins,ins2,ins3,ch110_institut, fikr, kostentraeger,zpartnernummer,join_nr,
z_name,kommentar,r_dat,ref_h,r_nr,fael,bga)
</#if>
select B.kontonr,B.kapitel,B.dr,B.dr2,B.titel, B.rechnungsjahr, B.zweckbestimmung_ut, B.titelgruppe_gege, B.buchungsdatum,B.auswert_kz,B.huelnummer, B.buchungskzmbs, B.voa_buchschl,
B.utnummer,B.betrag, B.betrag2, B.rbetrag,B.a_nr,B.op_kz, B.buchungsab_fb,B.projnr_ins,B.ins2,B.ins3,B.ch110_institut, B.fikr, B.kostentraeger,B.zpartnernummer,B.join_nr,
D.z_name,D.kommentar,D.r_dat,D.ref_h,D.r_nr,B.fael,B.bga
--'k'||B.kapitel||'dr'||B.dr||'dr2:'||B.dr2||'t'||B.titel||'ut'||B.zweckbestimmung_ut||'k1:'|| B.buchungsab_fb || 'k2:' ||B.projnr_ins
from fin_buch B, fin_buch_d D
where B.join_nr=D.join_nr and
${drittmittelprojektebedingung} and
B.rechnungsjahr=D.rechnungsjahr and
B.rechnungsjahr>=<<ab Haushaltsjahr>>
/* and B.rechnungsjahr<=<<bis Haushaltsjahr>> */
/* and B.monat=<<Monat>> */
and (
<#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>
( <#assign kst_sql=""> ${SxFinRechte(kst_sql,'31.12.<<Haushaltsjahr>>',"restrict_buchungen")} )
)
<#if MaxJahreProjektAbgelaufen?exists>
and buchungsab_fb in (select projnr from fin_proj where ${ProjektAbgelaufenFeld} is null or year(${ProjektAbgelaufenFeld})>=(year(today())-${MaxJahreProjektAbgelaufen}))
</#if>
/* and B.kapitel in (<<Kapitel>>) */
/* and B.titel in ( <<Titel>> ) */
/* and B.fikr in <@printkeys Kostenarten.allNeededKeysList /> -- <<Kostenarten>> */
/* and B.buchungsab_fb in ( <<Buchungsab_fb>> )*/
/* and B.projnr_ins in ( <<Projnr_ins>> ) */
/* and B.ins2 in ( <<ins2>> ) */
/* and B.ins3 in ( <<ins3>> ) */
/* and B.buchungsdatum >= date_val(<<Buchungsdatum (von)>>) */
/* and B.buchungsdatum <= date_val(<<Buchungsdatum (bis)>>) */
/* and B.titel in ( <<Titel>> ) */
/* and zweckbestimmung_ut in ( <<Untertitel>>) */
/* and (dr in (<<Deckungsring>>) */ /* or dr2 in (<<Deckungsring>>) )*/
/* and (B.titelgruppe_gege in <@printkeys .vars["Budgetherkunft"].allNeededKeys /> or <<Budgetherkunft>> ='null')*/
/* and B.betrag >= <<Betrag (von)>> */
/* and B.betrag <= <<Betrag (bis)>> */
/* and B.huelnummer = <<HÜL-Nr>> */
/* and B.r_nr = <<Rechnungs-Nr>> */
<#if Kostenträger?is_hash && Kostenträger.sichtname="externe Kostenträger">
-- für externe Kostenträger ist ein Join über proj nötig, Kostenträger enthält Schlüssel
/* and (kostentraeger in (select projnr from fin_proj P where P.key_extkotr in <@printkeys Kostenträger.allNeededKeys/>) or <<Kostenträger>>='null') */
<#else>
/* and (kostentraeger in <@printkeys Kostenträger.allNeededKeys/> or <<Kostenträger>> ='null') */
</#if>
/* and B.auswert_kz = <<Auswert-KZ>> */
/* and B.buchungskzmbs in (<<Buchungskz>>) */
/* and r_dat >= date_val(<<Rechnungsdatum (von)>>) */
/* and r_dat <= date_val(<<Rechnungsdatum (bis)>>) */
<#if "<<Buchungsart>>"="'0-alle'">
</#if>
<#if "<<Buchungsart>>"="'1-ist'">
and ((voa_buchschl>=400 and voa_buchschl<500) or (voa_buchschl>=600 and voa_buchschl<900))
</#if>
<#if "<<Buchungsart>>"="'1b-ist_vojs_reste'">
and (
--ISt
((voa_buchschl>=400 and voa_buchschl<500) or (voa_buchschl>=600 and voa_buchschl<900))
--vojs
--Titelschlüssel umfasst auch alle DR-Schlüssel
or voa_buchschl in (901, 951, 952, 902, 907, 957)
--Bewillingungsreste
or voa_buchschl in (104, 154, 112, 162)
)
</#if>
<#if "<<Buchungsart>>"="'3-soll'"> --Berlinspezifische sind auch <300
and (voa_buchschl<300 or voa_buchschl in (901,902,951,952))
</#if>
<#if "<<Buchungsart>>"="'3b-aks'">
<#if "<<Titel>>"!=""> Aktsoll DARSTELLUNG AUF TITELEBENE NICHT UNTERSTÜTZT
<#else>
and voa_buchschl in (101,151,102,152,104,154,110,160,111,161,112,162,201,251,202,252,203,253,204,254,206,256,103,153)
</#if>
</#if>
<#if "<<Buchungsart>>"="'3c-sonstzuweis'"> --akts-hans-reste-sperr
<#if "<<Titel>>"!=""||"<<Untertitel>>"!="">
and voa_buchschl in (102,152,111,161,203,253,204,254,206,256)
<#else>
and voa_buchschl in (102,152,111,161,112,162,203,253,204,254,206,256)
</#if>
</#if>
<#if "<<Buchungsart>>"="'2-stornos'">
and B.voa_buchschl in (351,353,361,451,452,453,454,455,456,457,458,459,461,481,482,483,484,551,556,581,553,554,555,582,583,651,652,681,682,683,684,751,752,781,782,953,954,955,956)
</#if>
<#if "<<Buchungsart>>"="'4-fest'">
and B.voa_buchschl in (301,351,302,352,303,353,304,354,311,361,312,362,
--inkl Auflösungszahlungen
402,452,414,464,404,454,406,456,408,458,411,461,533,583,633,683,634,684,904,954,906,956)
</#if>
<#if "<<Buchungsart>>"="'4b-ofest'">
and ( (B.voa_buchschl in (301,303,311) and op_kz='1')
-- or B.voa_buchschl in (402,452,404,454,406,456,408,458,411,461,533,583,633,683,634,684,904,954,906,956) --inkl Aufloesungszahlungen
)
</#if>
<#if "<<Buchungsart>>"="'5-anord'">
and B.voa_buchschl>=300 --anord selbst 5er und 6er, aber andere könnten Referenzbuchungen sein
</#if>
<#if "<<Buchungsart>>"="'6-aus'">
and (titel='' or substring(titel from 1 for 1)::smallint>=4)
<#if "<<Titel>>"!=""||"<<Untertitel>>"!="">
and (B.voa_buchschl in (409,459,401,451, 402, 452, 414,464,403, 453, 404, 454, 405, 455, 406, 456, 407, 457, 408, 458, 411, 461, 801, 851, 802, 852, 803, 853,
431,481,432,482,433, 483, 434, 484,861,811,812,862,813,863,814,864) --ausz_tit
or B.voa_buchschl in (601,651,602,652,701,751,702,752,715,821,871,822,872,823,873,824,874,631, 634,632,684, 681, 632, 682, 633, 683, 684, 831, 731, 781, 732, 782, 881, 832, 882)
)
<#else>
and (B.voa_buchschl in (401, 409,451, 459,402, 452, 414,464,403, 453, 404, 454, 405, 455, 406, 456, 407, 457, 408, 458, 411, 461, 801, 851, 802, 852, 803, 853) --ausz_dr
--Vorzeichen braucht nicht umgedreht werden aus-ein_a, bei ein_a sind alle Buchungsschluessel -
-- doppelt negativ gibt wieder positiv
or B.voa_buchschl in (631, 634, 681, 632, 682, 633, 683, 684, 831, 731, 781, 732, 782, 881, 832, 882)
--ein_a (Dr-Ebene)
)
</#if>
</#if>
<#if "<<Buchungsart>>"="'7-ein'">
--ein (ein_e fuer DR sind alle in ein enthalten)
and B.voa_buchschl in (431, 481, 432, 482, 433, 483, 434, 484, 601, 651, 602, 652, 701, 751, 702, 752, 715, 811, 861, 812, 862, 813, 863, 814, 864, 821, 871, 822, 872, 823, 873, 824, 874,
--ausz (ausz_e fuer DR sind alle in ausz enthalten)
401, 451, 402, 452, 414,464,403, 453, 404, 454, 405, 455, 406, 456, 407, 457, 408, 458, 409, 459, 411, 461, 801, 851, 802, 852, 803, 853,
431, 481, 432, 482, 433, 483, 434, 484, 861, 811, 812, 862, 813, 863, 814, 864)
and (titel='' or substring(titel from 1 for 1)::smallint<4)
</#if>
<#if "<<Buchungsart>>"="'9-hhans'">--Bewill
--Titelschlüssel umfasst auch alle DR-Schlüssel
and voa_buchschl in (101, 151, 110, 160, 120, 170, 201, 251, 202, 252)
</#if>
<#if "<<Buchungsart>>"="'8-offsolle'">
and voa_buchschl in (501, 551, 502, 552, 515, 516, 565, 553, 554, 555, 601, 651, 602, 652, 821, 871, 822, 872, 823, 873, 824, 874)
and op_kz='1'
</#if>
<#if "<<Buchungsart>>"="'10-vojs'">
--Titelschlüssel umfasst auch alle DR-Schlüssel
and voa_buchschl in (901, 951, 952, 902, 907, 957)
</#if>
<#if "<<Buchungsart>>"="'10-reste'">
and voa_buchschl in (104, 154, 112, 162)
</#if>
<#if "<<FIN-Kostenart>>"!="">
and
<#if TMP_FINKOSTENART?length<2>FEHLER kein gueltiger Eintrag fuer <<FIN-Kostenart>> gefunden</#if>
<#assign inlineTemplate = TMP_FINKOSTENART?interpret>
<@inlineTemplate />
</#if>
<#if "<<Sortierung nach>>"="'1-bdat'">
order by buchungsdatum desc,buchungsab_fb, projnr_ins
</#if>
<#if "<<Sortierung nach>>"="'2-rdat'">
order by r_dat desc,buchungsdatum desc, buchungsab_fb, projnr_ins
</#if>
<#if "<<Sortierung nach>>"="'3-rnr'">
order by r_nr,buchungsdatum desc, buchungsab_fb, projnr_ins
</#if>
<#if "<<Sortierung nach>>"="'4-zpnr'">
order by zpartnernummer,buchungsdatum desc, buchungsab_fb, projnr_ins
</#if>
<#if "<<Sortierung nach>>"="'5-vwz'">
order by kommentar,buchungsdatum desc, buchungsab_fb, projnr_ins
</#if>
<#if "<<Sortierung nach>>"="'6-huel'">
order by huelnummer,buchungsdatum desc, buchungsab_fb, projnr_ins
</#if>
<#if "<<Sortierung nach>>"="'7-betrag_auf'">
order by betrag,buchungsdatum desc, buchungsab_fb, projnr_ins
</#if>
<#if "<<Sortierung nach>>"="'8-betrag_ab'">
order by betrag desc,buchungsdatum desc, buchungsab_fb, projnr_ins
</#if>
--Informix kann kein insert .. select..ORDER BY, daher temp. Zwischentabelle nötig
<#if SQLdialect='Informix'>
into temp tmp_buch1 with no log
</#if>
;
<#if SQLdialect='Informix'>
insert into tmp_buch (kontonr,kapitel,dr,dr2,titel,rechnungsjahr, zweckbestimmung_ut, titelgruppe_gege, buchungsdatum,auswert_kz,huelnummer, buchungskzmbs, voa_buchschl,
utnummer,betrag, betrag2, rbetrag,a_nr,op_kz, buchungsab_fb,projnr_ins,ins2,ins3,ch110_institut, fikr, kostentraeger,zpartnernummer,join_nr,
z_name,kommentar,r_dat,ref_h,r_nr,fael,bga)
select * from tmp_buch1;
drop table tmp_buch1;
</#if>
create index i_tmp_sab2 on tmp_buch(voa_buchschl);
<#if SQLdialect='Informix'>update statistics for table tmp_buch;</#if>
update tmp_buch set sort1=sortserial*100;
--update tmp_buch set kommentar=(select distinct min(kommentar) from fin_buch_d where fin_buch_d.rechnungsjahr=year(tmp_buch.buchungsdatum) and fin_buch_d.join_nr=tmp_buch.join_nr) where buchungsdatum is not null;
--update tmp_buch set r_dat=(select r_dat from fin_buch_d where fin_buch_d.rechnungsjahr=year(tmp_buch.buchungsdatum) and fin_buch_d.join_nr=tmp_buch.join_nr) where buchungsdatum is not null;
--update tmp_buch set ref_h=(select ref_h from fin_buch_d where fin_buch_d.rechnungsjahr=year(tmp_buch.buchungsdatum) and fin_buch_d.join_nr=tmp_buch.join_nr) where buchungsdatum is not null;
--end detailbuch
--start ergtab
insert into tmp_erg (sortserial,sort1,ebene,sortnr,rechnungsjahr,kapitel,dr,dr2,titel,zweckbestimmung_ut,titelgruppe_gege,buchungsdatum,auswert_kz,huelnummer,buchungskzmbs,voa_buchschl,utnummer,
betrag,betrag2,rbetrag,a_nr,op_kz,kommentar,buchungsab_fb,projnr_ins,ins2,ins3,ch110_institut,fikr,kostentraeger,zpartnernummer,z_name,join_nr,r_dat,ref_h,r_nr,fael,bga)
SELECT sortserial,
sort1, 2, sortnr, rechnungsjahr, kapitel, dr,
dr2, titel, zweckbestimmung_ut, titelgruppe_gege, buchungsdatum,
auswert_kz, huelnummer, buchungskzmbs, voa_buchschl, utnummer, betrag,
betrag2, rbetrag, a_nr, op_kz, kommentar, buchungsab_fb,projnr_ins,ins2,ins3,
ch110_institut, fikr, kostentraeger, zpartnernummer, z_name,
join_nr, r_dat,
ref_h, r_nr,fael,bga
from tmp_buch B
where 1=1
--<#if "<<Buchungsart>>"="'2-stornos'">
--and voa_buchschl in (351,353,361,451,452,453,454,455,456,457,458,459,461,481,482,483,484,551,556,581,553,554,555,582,583,651,652,681,682,683,684,751,752,781,782,953,954,955,956)
--</#if>
<#if "<<Buchungsart>>"="'4-fest'">
and voa_buchschl in (301,302,303,304,311,312)
-- ohne Stornos - werden nachgetragen (301,351,302,352,303,353,304,354,311,361,312,362)
</#if>
<#if "<<Buchungsart>>"="'5-anord'">
and voa_buchschl>=500 and voa_buchschl<700
</#if>;
--end ergtab
--start ggfs. referenzierte Buchungen
<#if "<<Buchungsart>>"="'2-stornos'" || "<<Buchungsart>>"="'4-fest'" || "<<Buchungsart>>"="'5-anord'" >
create index i_tmp_sab3 on tmp_buch(rechnungsjahr,join_nr);
create index i_tmp_sab3b on tmp_buch(huelnummer);
create index i_tmp_sab4 on tmp_buch(ref_h);
<#if SQLdialect='Informix'>update statistics for table tmp_buch;</#if>
create temp table tmp_refbuch
(
sort1 integer,
ebene smallint default 3,
sortnr smallint default 1,
rechnungsjahr integer,
kapitel char(5),
dr char(5),
dr2 char(5),
titel char(10),
zweckbestimmung_ut char(3),
titelgruppe_gege char(5),
buchungsdatum date,
auswert_kz char(5),
huelnummer char(06),
buchungskzmbs char(3),
voa_buchschl integer,
utnummer integer,
betrag decimal(14,2),
betrag2 decimal(14,2),
rbetrag decimal(14,2),
a_nr varchar(255),
op_kz char(1),
kommentar char(254),
buchungsab_fb char(10),
projnr_ins char(10),
ins2 char(10),ins3 char(10),
ch110_institut char(10),
fikr char(12),
kostentraeger char(12),
zpartnernummer char(10),
z_name char(50),
join_nr integer,
r_dat date,
ref_h integer,
r_nr varchar(255),fael date, bga varchar(50)
) <@informixnolog/>;
insert into tmp_refbuch (ebene,
sort1,
kapitel,dr,dr2,
titel ,
zweckbestimmung_ut ,
titelgruppe_gege ,
buchungsdatum ,
auswert_kz,
huelnummer ,
buchungskzmbs , voa_buchschl,utnummer,
betrag ,betrag2,rbetrag,a_nr,op_kz,
-- kommentar ,
buchungsab_fb ,projnr_ins ,ins2,ins3,
ch110_institut ,fikr,kostentraeger,
zpartnernummer,join_nr, kommentar,r_dat,ref_h,r_nr,fael,bga,rechnungsjahr
)
select 4,S.sort1+1, B.kapitel,B.dr,B.dr2,B.titel, B.zweckbestimmung_ut, B.titelgruppe_gege, B.buchungsdatum,
B.auswert_kz,B.huelnummer,
B.buchungskzmbs,B.voa_buchschl,B.utnummer, B.betrag, B.betrag2,B.rbetrag,B.a_nr,B.op_kz, B.buchungsab_fb,B.projnr_ins,B.ins2,B.ins3,
B.ch110_institut, B.fikr,B.kostentraeger,B.zpartnernummer,B.join_nr
<#if "<<Buchungsart>>"="'2-stornos'">
,D.kommentar,D.r_dat,D.ref_h,D.r_nr,B.fael,B.bga,B.rechnungsjahr
from fin_buch B,fin_buch_d D, tmp_erg S
where
B.rechnungsjahr=D.rechnungsjahr and
B.join_nr=D.join_nr and
${drittmittelprojektebedingung?replace("dr","B.dr")?replace("kapitel","B.kapitel")?replace("buchungsab_fb","B.buchungsab_fb")} and
<#else>
,B.kommentar,B.r_dat,B.ref_h,B.r_nr,B.fael,B.bga,B.rechnungsjahr
from tmp_buch B, tmp_erg S
where
</#if>
B.kapitel=S.kapitel
and B.dr=S.dr
and B.dr2=S.dr2
and B.titel=S.titel
and B.zweckbestimmung_ut=S.zweckbestimmung_ut
and B.buchungsab_fb=S.buchungsab_fb
and B.projnr_ins=S.projnr_ins
and B.ins2=S.ins2 and B.ins3=B.ins3
and B.ch110_institut=S.ch110_institut
-- and B.fikr=S.fikr
and B.kostentraeger=S.kostentraeger
<#if "<<Buchungsart>>"="'2-stornos'">
and B.huelnummer::integer=S.ref_h
and B.betrag=-S.betrag
</#if>
<#if "<<Buchungsart>>"="'4-fest'"||"<<Buchungsart>>"="'5-anord'">
and S.huelnummer::integer=B.ref_h
</#if>
;
<#if "<<Buchungsart>>"="'2-stornos'" || "<<Buchungsart>>"="'4-fest'" || "<<Buchungsart>>"="'5-anord'" >
insert into tmp_refbuch (ebene,sort1,projnr_ins)
select distinct 3,S.sort1+2,''::char(5)
from tmp_erg S ;
</#if>
--update tmp_refbuch set kommentar=(select distinct min(kommentar) from fin_buch_d where fin_buch_d.rechnungsjahr=year(tmp_refbuch.buchungsdatum) and fin_buch_d.join_nr=tmp_refbuch.join_nr) where buchungsdatum is not null;
--update tmp_refbuch set r_dat=(select r_dat from fin_buch_d where fin_buch_d.rechnungsjahr=year(tmp_refbuch.buchungsdatum) and fin_buch_d.join_nr=tmp_refbuch.join_nr) where buchungsdatum is not null;
--update tmp_refbuch set ref_h=(select ref_h from fin_buch_d where fin_buch_d.rechnungsjahr=year(tmp_refbuch.buchungsdatum) and fin_buch_d.join_nr=tmp_refbuch.join_nr) where buchungsdatum is not null;
insert into tmp_erg (ebene,sort1,
kapitel,dr,dr2,
titel ,
zweckbestimmung_ut ,
titelgruppe_gege ,
buchungsdatum ,
auswert_kz,
huelnummer ,
buchungskzmbs , voa_buchschl,utnummer,
betrag ,betrag2,rbetrag,a_nr,op_kz,
buchungsab_fb ,projnr_ins ,
ins2,ins3,
ch110_institut ,fikr,kostentraeger,
zpartnernummer,join_nr,
z_name,kommentar,r_dat,ref_h,r_nr,fael,bga,rechnungsjahr)
select ebene,sort1,
kapitel,dr,dr2,
titel ,
zweckbestimmung_ut ,
titelgruppe_gege ,
buchungsdatum ,
auswert_kz,
huelnummer ,
buchungskzmbs , voa_buchschl,utnummer,
betrag ,betrag2,rbetrag,a_nr,op_kz,
buchungsab_fb ,projnr_ins ,ins2,ins3,
ch110_institut ,fikr,kostentraeger,
zpartnernummer,join_nr,
z_name,kommentar,r_dat,ref_h,r_nr,fael,bga,rechnungsjahr from tmp_refbuch;
drop table tmp_refbuch;
</#if>
--end referenzierte Buchungen
update tmp_erg set titel='xx' where (titel='' or titel is null) and (ebene=2 or ebene=4);
--start schlussselect und ZP-Name filtern
<#if "<<Zahlungspartnername>>"!="">
<#assign zp="%<<Zahlungspartnername>>%"?replace("*","%")?replace("%%","%")?replace("'","") />
create temp table tmp_zp (sort1 integer) <@informixnolog/>;
insert into tmp_zp (sort1)
select sort1
from tmp_erg
where 1=1
and trim(z_name) like '${zp}'
;
-- es sollen auch die zugehoerigen Buchungen geloescht werden, bei denen nicht unbedingt der zp mit angegeben ist
delete from tmp_erg
where sort1 not in (select sort1 from tmp_zp)
and sort1 not in (select sort1+1 from tmp_zp)
and sort1 not in (select sort1+2 from tmp_zp);
drop table tmp_zp;
</#if>
update tmp_erg set rbetrag=null where trim(op_kz)!='1';
update tmp_erg set bga_name=(select text_bga from fin_bga where tmp_erg.bga=fin_bga.key_bga);
drop table tmp_buch;
<#if showBuchungssumme='ja'>
<@selectintotmp source="tmp_erg" target="tmp_sum" select="max(sort1) as sort1,sum(betrag) as betrag, sum(rbetrag) as rbetrag"/>;
insert into tmp_erg (sort1) select sort1+1 from tmp_sum;
insert into tmp_erg (sort1,
<#if K_hs_nr=6860>ins2 <#else>kapitel</#if>
,betrag,rbetrag) select sort1+2,'Summe',betrag,rbetrag from tmp_sum;
drop table tmp_sum;
</#if>
update tmp_erg set utnummer=null where utnummer=0;
--select sort1,kapitel, titel, zweckbestimmung_ut, buchungsab_fb, projnr_ins, huelnummer, ref_h, buchungskzmbs, buchungsdatum, r_dat, round(betrag,2) as betrag,
--round(rbetrag,2) as rbetrag,zpartnernummer,z_name,kommentar,ch110_institut, kostentraeger, fikr from tmp_buch2;
update tmp_erg set fikr_name=(select kbez from fin_fikr where tmp_erg.fikr=fin_fikr.key)
where fikr is not null;
<#if K_hs_nr=6751>--X
update tmp_erg set fikr=(select trim(key)||'-'||kbez from fin_fikr where tmp_erg.fikr=fin_fikr.key)
where fikr is not null;
</#if>
<#if customize?exists>
select <#foreach f in customize.resulttable>
<#if f.field?index_of('rbetrag')==-1||"<<Buchungsart>>"="'4-fest'"||"<<Buchungsart>>"="'4b-ofest'"||"<<Buchungsart>>"="'8-offsolle'"||"<<Buchungsart>>"="'0-alle'"> --Restbetrag nur bei Festlegungen anzeigen
<#if (f.field?index_of('round(betrag')==-1||("<<Buchungsart>>"!="'4b-ofest'"&&"<<Buchungsart>>"!="'8-offsolle'"))>
${f.field} <#if f_has_next>,</#if>
</#if></#if>
</#foreach>
from tmp_erg order by sort1,buchungsdatum;
<#else>
select kapitel,dr,dr2, titel, zweckbestimmung_ut, buchungsab_fb, projnr_ins, huelnummer,ref_h, buchungskzmbs, buchungsdatum, r_dat, r_nr,
<#if "<<Buchungsart>>"!="'4b-ofest'"&&"<<Buchungsart>>"!="'8-offsolle'">round(betrag,2) as betrag, </#if>
<#if "<<Buchungsart>>"="'4-fest'"||"<<Buchungsart>>"="'4b-ofest'"||"<<Buchungsart>>"="'8-offsolle'"||"<<Buchungsart>>"="'0-alle'">round(rbetrag,2) as rbetrag,</#if>
zpartnernummer,z_name,kommentar,ch110_institut, kostentraeger, fikr from tmp_erg order by sort1,buchungsdatum;
</#if>
--end schlussselect]]></text>
<text table="maskeninfo" field="xil_proplist" where="tid=888880160"><![CDATA[--freemarker Template
XIL List
sizable_columns horizontal_scrolling
white_space_color=COLOR_WHITE
fixed_columns=2
min_heading_height=25
<#if CUSTOM_888880160?exists>
<#assign inlineTemplate=CUSTOM_888880160?interpret>
<@inlineTemplate/>
</#if>
<#if customize?exists>
<#foreach f in customize.resulttable>
<#if f.field?index_of('rbetrag')==-1||"<<Buchungsart>>"="'4-fest'"||"<<Buchungsart>>"="'4b-ofest'"||"<<Buchungsart>>"="'0-alle'">
<#if f.field?index_of('round(betrag')==-1||"<<Buchungsart>>"!="'4b-ofest'">
Column CID=2 heading_text="${f.caption}" center_heading
row_selectable col_selectable heading_platform readonly width=${f.width}
</#if></#if>
</#foreach>
<#else>
Column CID=2 heading_text="Kapitel" center_heading
row_selectable col_selectable heading_platform readonly width=14
Column CID=2 heading_text="Dr" center_heading
row_selectable col_selectable heading_platform readonly width=10
Column CID=2 heading_text="Dr2" center_heading
row_selectable col_selectable heading_platform readonly width=10
Column CID=2 heading_text="Titel" center_heading
row_selectable col_selectable heading_platform readonly width=14
Column CID=1 heading_text="Untertitel" center_heading
row_selectable col_selectable heading_platform readonly width=8
Column CID=9 heading_text="Projekt" center_heading
row_selectable col_selectable heading_platform readonly width=10
Column CID=9 heading_text="Ausgabeart" center_heading
row_selectable col_selectable heading_platform readonly width=10
Column CID=4 heading_text="HülNr." center_heading
row_selectable col_selectable heading_platform readonly width=8
Column CID=4 heading_text="Ref-HülNr." center_heading
row_selectable col_selectable heading_platform readonly width=8
Column CID=6 heading_text="BuchArt" center_heading
row_selectable col_selectable heading_platform readonly width=7
Column CID=2 heading_text="BuDat" center_heading
row_selectable col_selectable heading_platform readonly width=14
Column CID=2 heading_text="RechDat" center_heading
row_selectable col_selectable heading_platform readonly width=14
Column CID=2 heading_text="RechNr" center_heading
row_selectable col_selectable heading_platform readonly width=14
Column CID=7 heading_text="Betrag" center_heading
row_selectable col_selectable rightJust heading_platform readonly width=15
<#if "<<Buchungsart>>"="'4-fest'"||"<<Buchungsart>>"="'4b-ofest'"||"<<Buchungsart>>"="'0-alle'">
Column CID=7 heading_text="Rest-Betrag" center_heading
row_selectable col_selectable rightJust heading_platform readonly width=15
</#if>
Column CID=9 heading_text="ZpNr" center_heading
row_selectable col_selectable heading_platform readonly width=10
Column CID=9 heading_text="Zpname" center_heading
row_selectable col_selectable heading_platform readonly width=30
Column CID=9 heading_text="Kommentar" center_heading
row_selectable col_selectable heading_platform readonly width=20
Column CID=9 heading_text="KoStelle" center_heading
row_selectable col_selectable heading_platform readonly width=12
Column CID=9 heading_text="Kostenträger" center_heading
row_selectable col_selectable heading_platform readonly width=15
Column CID=9 heading_text="KoArt" center_heading
row_selectable col_selectable heading_platform readonly width=12
</#if>
@@@]]></text>
<text table="maskeninfo" field="erlaeuterung" where="tid=888880160"><![CDATA[Übersicht über Einzelbuchungen im Drittmittelbereich]]></text>
<text table="maskeninfo" field="hinweis" where="tid=888880160"><![CDATA[null]]></text>
<text table="felderinfo" field="relation" where="tid=888880160"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880161"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880162"><![CDATA[<<SQL>> select distinct kapitel,ktobez from fin_kapitel where jahr=<<ab Haushaltsjahr>> order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880163"><![CDATA[<<SQL>> select distinct titel,ktobez from fin_titel where jahr=<<ab Haushaltsjahr>> /* and kapitel in (<<Kapitel>>) */ /* and (dr in (<<Deckungsring>>) */ /* or dr2 in (<<Deckungsring>>)) */ order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880164"><![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=888880165"><![CDATA[<<SQL>> select tid,type,name,sortnr from sichten where art='FIN-Kostenstellen-Sicht' and aktiv=1 order by sortnr,type,name]]></text>
<text table="felderinfo" field="relation" where="tid=888880166"><![CDATA[<<SQL>>
--Freemarker Template
<#include "SQL_lingua_franca"/>
select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr>=<<ab Haushaltsjahr>>
/* and kapitel in (<<Kapitel>>) */
/* and (dr in (<<Deckungsring>>) */
/* or dr2 in (<<Deckungsring>>)) */
/* and titel in (<<Titel>>) */
/* and zweckbestimmung_ut in (<<Untertitel>>) */
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
and ${SxFinRechte("K2","31.12.<<ab Haushaltsjahr>>","","","","","")}
group by 1 order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880167"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880168"><![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=888880169"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880170"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880171"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880172"><![CDATA[<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880173"><![CDATA[<<SQL>> select '0-alle', 'Alle Buchungen' from xdummy union select '1-ist', 'Ist' from xdummy union select '1b-ist_vojs_reste', 'Ist+Vorjahres- und Bewilligungsreste' from xdummy union select '2-stornos', 'Stornos' from xdummy union select '3-soll', 'Soll' from xdummy union select '3b-aks', 'Aktuelles Soll (Ansatz)' from xdummy union select '4-fest', 'Festlegungen' from xdummy union select '4b-ofest', 'offene Festleg.' from xdummy union select '5-anord', 'Annahmeanordnungen' from xdummy union select '6-aus','Ausgaben' from xdummy union select '7-ein','Einnahmen' from xdummy union select '8-offsolle','Ausstehende Einnamen (OP)' from xdummy union select '9-hhans','Bewilligung' from xdummy union select '10-vojs','Vorjahresreste' from xdummy union select '10-reste','Bewilligungsreste' from xdummy order by 2;]]></text>
<text table="felderinfo" field="relation" where="tid=888880174"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880175"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880176"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880177"><![CDATA[<<SQL>> select distinct dr,ktobez from fin_dr where jahr=<<ab Haushaltsjahr>>
/* and kapitel in (<<Kapitel>>) */
order by ktobez]]></text>
<text table="felderinfo" field="relation" where="tid=888880178"><![CDATA[]]></text>
<text table="felderinfo" field="relation" where="tid=888880179"><![CDATA[<<SQL>> select '1-bdat', 'Buchungsdatum' from xdummy union select '2-rdat', 'Rechnungsdatum' from xdummy union select '3-rnr', 'Rechnungsnummer' from xdummy union select '4-zpnr', 'Zahlungspartner' from xdummy union select '5-vwz', 'Verwendungszweck' from xdummy union select '6-huel', 'HÜL-Nummer' from xdummy union select '7-betrag_auf', 'Betrag aufsteigend' from xdummy union select '8-betrag_ab', 'Betrag absteigend' from xdummy order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880180"><![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=888880181"><![CDATA[<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' order by 1;]]></text>
<text table="felderinfo" field="relation" where="tid=888880182"><![CDATA[<<SQL>>
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
<@template/>
select id,caption from sx_repository where
<#if use_FIN_DRITT_KOSTENARTEN?exists&&use_FIN_DRITT_KOSTENARTEN>
art='FIN_DRITT_KOSTENART' <#else> art='FIN_KOSTENART'</#if>
and aktiv=1 and gueltig_seit<=date_val('1.1.<<ab Haushaltsjahr>>') and gueltig_bis>=('1.1.<<ab Haushaltsjahr>>') order by sort1]]></text>
<text table="felderinfo" field="relation" where="tid=888880183"><![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=888880184"><![CDATA[<<SQL>> select val(substring(wert from 7 for 2)),name,ord from aggregierung
where kategorie='ZeitraumMonat'
and wert like 'monat=%'
order by 3]]></text>
</xupdate>
Loading…
Cancel
Save