UVG ohne Budgetmanagement

Mit den Daten aus diesen SQL-Scripts können sowohl der zahlungspflichtige Elternteil als auch der zahlungsempfangende Elternteil angeschrieben werden, sofern sie entsprechende Buchhaltungsstammdaten im UVG-Vorgang haben und diese am Stichtag gültig sind. Damit lässt sich die Bescheiderteilung an Leistungsempfänger und die Mitteilung über die Änderung des UVG-Betrages im Zusammenhang mit der Unterhalts- oder Kindergeldänderung abwickeln.

Es werden folgende Varianten der Buchhaltungsstammdaten abgedeckt:

  • Festwert
  • Manueller Betrag
  • Mehrere Beträge (Kombination aus Festwert und Zu- bzw. Abschlägen)

Das Script geht davon aus, dass im Festwert für UVG-Zahlungen der Kindergeldabzug bereits berücksichtigt ist (der Festwert also den Netto-Zahlbetrag enthält).

In dem SQL-Script ist als Stichtag der 01.01.2018 bzw. als Ende des Stichtagsmonats der 31.07.2018 sowie ein Kindergeldabzug von 194,- Euro voreingestellt. Passen Sie diese Werte bei Bedarf im gesamten Script an. 

Weiter unten finden Sie SQL-Scripts für UVG mit Budgetmanagement.

 

SQL Code für MS SQL Server

select 	 'Festwert'                           as [Zahlungstyp],
         v.bereich                            as [Bereichsnummer],
         v.aktenzeichen                       as [Aktenzeichen],
         
         u.name                               as [Sachbearbeiter],
         u.zimmernr                           as [Zimmernr],
         u.durchwahl                          as [Durchwahl],
         u.fax                                as [Fax],
         u.email                              as [eMail],

	     a.nachname                           as [Nachname JM],
	     a.vorname                            as [Vorname JM],
         CONVERT(char(10),p.geburtsdatum,104) as [GebDat JM],
         p.geschlecht                         as [Geschlecht JM],
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Empf],
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as [Anrede2 Empf],
               
	     isnull(a2.nachname,'')               as [Nachname Empf],
	     isnull(a2.vorname,'')                as [Vorname Empf],
         isnull(a2.zusatz,'')                 as [Zusatz Empf],
         isnull(a2.strassegesamt,'')          as [Straße Empf],
         isnull(a2.plz,'')                    as [PLZ Empf],
         isnull(a2.ort,'')                    as [Ort Empf], 
         isnull((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as [Land Empf],
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Pfl],
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as [Anrede2 Pfl],              
         
         isnull(a3.nachname,'')               as [Nachname Pfl],
	     isnull(a3.vorname,'')                as [Vorname Pfl],
         isnull(a3.zusatz,'')                 as [Zusatz Pfl],
         isnull(a3.strassegesamt,'')          as [Straße Pfl],
         isnull(a3.plz,'')                    as [PLZ Pfl],
         isnull(a3.ort,'')                    as [Ort Pfl],
         isnull((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as [Land Pfl],
         
         CONVERT(char(10),DATEADD(year,6,p.geburtsdatum),104) as [6. Geburtstag JM],
         CONVERT(char(10),DATEADD(year,12,p.geburtsdatum),104) as [12. Geburtstag JM],
         CONVERT(char(10),DATEADD(year,18,p.geburtsdatum),104) as [18. Geburtstag JM],
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,6,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 2.Altersstufe],
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,12,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 3.Altersstufe],
         
         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then '1 (bis Alter ' + cast(f.fwalt1 as varchar) + ')' 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then '2 (bis Alter ' + cast(f.fwalt2 as varchar) + ')' 
               else '3 (bis Alter ' + cast(f.fwalt3 as varchar) + ')' end) as [Altersstufe im Monat des Stichtags],

         'Mindestunterhalt (§ 2 Abs. 1 Satz 1 UVG)' as [HauptBezeichnung],

         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018'
               then f.fwbet2 
               else f.fwbet3 end) + 194 as [HauptBetrag],
               
         'Erstkindergeld (§ 2 Abs. 2 UVG)' as [KGAbzugBezeichnung],
         -194 as [KGAbzugBetrag],
         '' as [Bezeichnung1],
         '' as [Betrag1],
         '' as [Bezeichnung2],
         '' as [Betrag2],
         '' as [Bezeichnung3],
         '' as [Betrag3],
         '' as [Bezeichnung4],
         '' as [Betrag4],
         '' as [Bezeichnung5],
         '' as [Betrag5],         
         
         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) >= '01.01.2018' 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) >= '01.01.2018' 
               then f.fwbet2
               else f.fwbet3 end)   as [Gesamtbetrag],
               
         ceiling((case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) >= '01.01.2018' 
               then f.fwbet1
                       when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) >= '01.01.2018' 
               then f.fwbet2  
               else f.fwbet3 end))  as [Gesamtbetrag_aufgerundet]
               
from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2 
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                 inner join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 inner join fewe f on h.fwnr = f.fwnr
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka
	                 
	                 
where    h.datvon <= '31.01.2018' 
and      (h.datbis >= '01.01.2018' or h.datbis is null)  

and      v.beginnvorgang <= '31.01.2018'
and      (v.endezahlung >= '01.01.2018' or v.endezahlung is null) 
and      (v.endevorgang >= '01.01.2018' or v.endevorgang is null) 
and      ASCII(h.typ) = 69
and      h.kzbetrag = 'F'
and      f.gvdat <= '31.01.2018'
and      (f.gbdat >= '01.01.2018' or f.gbdat is null)

UNION

select 	 'Manueller Betrag'                   as [Zahlungstyp],
         v.bereich                            as [Bereichsnummer],
         v.aktenzeichen                       as [Aktenzeichen],
         
         u.name                               as [Sachbearbeiter],
         u.zimmernr                           as [Zimmernr],
         u.durchwahl                          as [Durchwahl],
         u.fax                                as [Fax],
         u.email                              as [eMail],

	     a.nachname                           as [Nachname JM],
	     a.vorname                            as [Vorname JM],
         CONVERT(char(10),p.geburtsdatum,104) as [GebDat JM],
         p.geschlecht                         as [Geschlecht JM],
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Empf],
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as [Anrede2 Empf],                

	     isnull(a2.nachname,'')               as [Nachname Empf],
	     isnull(a2.vorname,'')                as [Vorname Empf],
         isnull(a2.zusatz,'')                 as [Zusatz Empf],
         isnull(a2.strassegesamt,'')          as [Straße Empf],
         isnull(a2.plz,'')                    as [PLZ Empf],
         isnull(a2.ort,'')                    as [Ort Empf],
         isnull((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as [Land Empf],
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Pfl],
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as [Anrede2 Pfl],              
         
         isnull(a3.nachname,'')               as [Nachname Pfl],
	     isnull(a3.vorname,'')                as [Vorname Pfl],
         isnull(a3.zusatz,'')                 as [Zusatz Pfl],
         isnull(a3.strassegesamt,'')          as [Straße Pfl],
         isnull(a3.plz,'')                    as [PLZ Pfl],
         isnull(a3.ort,'')                    as [Ort Pfl],
         isnull((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as [Land Pfl],
         
         CONVERT(char(10),DATEADD(year,6,p.geburtsdatum),104) as [6. Geburtstag JM],
         CONVERT(char(10),DATEADD(year,12,p.geburtsdatum),104) as [12. Geburtstag JM],
         CONVERT(char(10),DATEADD(year,18,p.geburtsdatum),104) as [18. Geburtstag JM],
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,6,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 2.Altersstufe],
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,12,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 3.Altersstufe],
         
         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then '1 (bis Alter 6)'
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then '2 (bis Alter 12)'
               else '3 (bis Alter 18)' end) as [Altersstufe im Monat des Stichtags],

         isnull(h.bem,'Manuell berechnete Leistung') as [HauptBezeichnung],
         h.betrag as [HauptBetrag],
         
         '' as [KGAbzugBezeichnung],
         '' as [KGAbzugBetrag],
         
         '' as [Bezeichnung1],
         '' as [Betrag1],
         '' as [Bezeichnung2],
         '' as [Betrag2],
         '' as [Bezeichnung3],
         '' as [Betrag3],
         '' as [Bezeichnung4],
         '' as [Betrag4],
         '' as [Bezeichnung5],
         '' as [Betrag5],

         
         h.betrag as [Gesamtbetrag],
         
         ceiling(h.betrag) as [Gesamtbetrag_augerundet]

from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                 inner join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka	                 
	                 
	                 
where    h.datvon <= '31.01.2018' 
and      (h.datbis >= '01.01.2018' or h.datbis is null)  

and      v.beginnvorgang <= '31.01.2018'
and      (v.endezahlung >= '01.01.2018' or v.endezahlung is null) 
and      (v.endevorgang >= '01.01.2018' or v.endevorgang is null) 
and      ASCII(h.typ) = 69
and      h.kzbetrag = 'M'

UNION

select 	 'Mehrere Beträge'                    as [Zahlungstyp],
         v.bereich                            as [Bereichsnummer],
         v.aktenzeichen                       as [Aktenzeichen],
         
         u.name                               as [Sachbearbeiter],
         u.zimmernr                           as [Zimmernr],
         u.durchwahl                          as [Durchwahl],
         u.fax                                as [Fax],
         u.email                              as [eMail],

	     a.nachname                           as [Nachname JM],
	     a.vorname                            as [Vorname JM],
         CONVERT(char(10),p.geburtsdatum,104) as [GebDat JM],
         p.geschlecht                         as [Geschlecht JM],
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Empf],
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as [Anrede2 Empf],                

	     isnull(a2.nachname,'')               as [Nachname Empf],
	     isnull(a2.vorname,'')                as [Vorname Empf],
         isnull(a2.zusatz,'')                 as [Zusatz Empf],
         isnull(a2.strassegesamt,'')          as [Straße Empf],
         isnull(a2.plz,'')                    as [PLZ Empf],
         isnull(a2.ort,'')                    as [Ort Empf], 
         isnull((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as [Land Empf],
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Pfl],
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as [Anrede2 Pfl],              
         
         isnull(a3.nachname,'')               as [Nachname Pfl],
	     isnull(a3.vorname,'')                as [Vorname Pfl],
         isnull(a3.zusatz,'')                 as [Zusatz Pfl],
         isnull(a3.strassegesamt,'')          as [Straße Pfl],
         isnull(a3.plz,'')                    as [PLZ Pfl],
         isnull(a3.ort,'')                    as [Ort Pfl],
         isnull((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as [Land Pfl],
                  
         CONVERT(char(10),DATEADD(year,6,p.geburtsdatum),104) as [6. Geburtstag JM],
         CONVERT(char(10),DATEADD(year,12,p.geburtsdatum),104) as [12. Geburtstag JM],
         CONVERT(char(10),DATEADD(year,18,p.geburtsdatum),104) as [18. Geburtstag JM],
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,6,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 2.Altersstufe],
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,12,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 3.Altersstufe],
         
         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then '1 (bis Alter ' + cast(f.fwalt1 as varchar) + ')' 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then '2 (bis Alter ' + cast(f.fwalt2 as varchar) + ')' 
               else '3 (bis Alter ' + cast(f.fwalt3 as varchar) + ')' end) as [Altersstufe im Monat des Stichtags],

         'Mindestunterhalt (§ 2 Abs. 1 Satz 1 UVG)' as [HauptBezeichnung],

         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '02' AS Datetime) > '01.01.2018' 
               then f.fwbet2 
               else f.fwbet3 end) + 194 as [HauptBetrag],
               
         'Erstkindergeld (§ 2 Abs. 2 UVG)' as [KGAbzugBezeichnung],
         -194 as [KGAbzugBetrag],
         isnull(mb.tx1,'') as [Bezeichnung1],
         isnull(mb.ae_betrag1,'') as [Betrag1],
         isnull(mb.tx2,'') as [Bezeichnung2],
         isnull(mb.ae_betrag2,'') as [Betrag2],
         isnull(mb.tx3,'') as [Bezeichnung3],
         isnull(mb.ae_betrag3,'') as [Betrag3],
         isnull(mb.tx4,'') as [Bezeichnung4],
         isnull(mb.ae_betrag4,'') as [Betrag4],
         isnull(mb.tx5,'') as [Bezeichnung5],
         isnull(mb.ae_betrag5,'') as [Betrag5],
         
         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then f.fwbet2 
               else f.fwbet3 end) +
         isnull(mb.ae_betrag1,0)+
         isnull(mb.ae_betrag2,0)+
         isnull(mb.ae_betrag3,0)+
         isnull(mb.ae_betrag4,0)+
         isnull(mb.ae_betrag5,0)   as [Gesamtbetrag],
         
         ceiling((case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then f.fwbet1
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > '01.01.2018' 
               then f.fwbet2 
               else f.fwbet3 end) +
         isnull(mb.ae_betrag1,0)+
         isnull(mb.ae_betrag2,0)+
         isnull(mb.ae_betrag3,0)+
         isnull(mb.ae_betrag4,0)+
         isnull(mb.ae_betrag5,0))   as [Gesamtbetrag_aufgerundet]

from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join betrviel mb on h.lnr = mb.bnr
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                 inner join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 inner join fewe f on mb.fwnr = f.fwnr
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka	                 
	                 
	                 
where    h.datvon <= '31.01.2018' 
and      (h.datbis >= '01.01.2018' or h.datbis is null)  

and      v.beginnvorgang <= '31.01.2018'
and      (v.endezahlung >= '01.01.2018' or v.endezahlung is null) 
and      (v.endevorgang >= '01.01.2018' or v.endevorgang is null) 
and      ASCII(h.typ) = 69
and      h.kzbetrag = 'B'
and      f.gvdat <= '31.01.2018'
and      (f.gbdat >= '01.01.2018' or f.gbdat is null)

order by 2,9,10,11

 

SQL Code für ORACLE

select 	 'Festwert'                           as "Zahlungstyp",
         v.bereich                            as "Bereichsnummer",
         v.aktenzeichen                       as "Aktenzeichen",
         
         u.name                               as "Sachbearbeiter",
         u.zimmernr                           as "Zimmernr",
         u.durchwahl                          as "Durchwahl",
         u.fax                                as "Fax",
         u.email                              as "eMail",

	     a.nachname                           as "Nachname JM",
	     a.vorname                            as "Vorname JM",
         to_char(p.geburtsdatum,'dd.mm.yyyy') as "GebDat JM",
         p.geschlecht                         as "Geschlecht JM",
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Empf",
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as "Anrede2 Empf",
               
	     nvl(a2.nachname,'')               as "Nachname Empf",
	     nvl(a2.vorname,'')                as "Vorname Empf",
         nvl(a2.zusatz,'')                 as "Zusatz Empf",
         nvl(a2.strassegesamt,'')          as "Straße Empf",
         nvl(a2.plz,'')                    as "PLZ Empf",
         nvl(a2.ort,'')                    as "Ort Empf", 
         nvl((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as "Land Empf",
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Pfl",
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as "Anrede2 Pfl",              
         
         nvl(a3.nachname,'')               as "Nachname Pfl",
	     nvl(a3.vorname,'')                as "Vorname Pfl",
         nvl(a3.zusatz,'')                 as "Zusatz Pfl",
         nvl(a3.strassegesamt,'')          as "Straße Pfl",
         nvl(a3.plz,'')                    as "PLZ Pfl",
         nvl(a3.ort,'')                    as "Ort Pfl",
         nvl((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as "Land Pfl",
         
         to_char(ADD_MONTHS(p.geburtsdatum,72),'dd.mm.yyyy') as "6. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,144),'dd.mm.yyyy') as "12. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,216),'dd.mm.yyyy') as "18. Geburtstag JM",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')  as "Beginn 2. Altersstufe",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')  as "Beginn 3. Altersstufe",
         
          (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then '1 (bis Alter ' || f.fwalt1 || ')'
                when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then '2 (bis Alter ' || f.fwalt2 || ')' 
                else '3 (bis Alter ' || f.fwalt3 || ')' end) as "Stufe im Stichtagsmonat",

         'Mindestunterhalt (§ 2 Abs. 1 Satz 1 UVG)' as "HauptBezeichnung",

          (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet1 
                when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet2 
                else f.fwbet3 end) + 194 as "HauptBetrag",
               
         'Erstkindergeld (§ 2 Abs. 2 UVG)' as "KGAbzugBezeichnung",
         -194 as "KGAbzugBetrag",
         ' ' as "Bezeichnung1",
         0 as "Betrag1",
         ' ' as "Bezeichnung2",
         0 as "Betrag2",
         ' ' as "Bezeichnung3",
         0 as "Betrag3",
         ' ' as "Bezeichnung4",
         0 as "Betrag4",
         ' ' as "Bezeichnung5",
         0 as "Betrag5",     
         
         (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet1
               when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet2 
                else f.fwbet3 end) as "Gesamtbetrag",
               
         ceil((case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
              then f.fwbet1 
                    when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
              then f.fwbet2 
              else f.fwbet3 end))  as "Gesamtbetrag_aufgerundet"
               
from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2 
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                 inner join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 inner join fewe f on h.fwnr = f.fwnr
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka
	                 
	                 
where    h.datvon <= '31.01.2018' 
and      (h.datbis >= '01.01.2018' or h.datbis is null)  

and      v.beginnvorgang <= '31.01.2018'
and      (v.endezahlung >= '01.01.2018' or v.endezahlung is null) 
and      (v.endevorgang >= '01.01.2018' or v.endevorgang is null) 
and      h.typ = 'E'
and      h.kzbetrag = 'F'
and      f.gvdat <= '31.01.2018'
and      (f.gbdat >= '01.01.2018' or f.gbdat is null)


UNION

select 	 'Manueller Betrag'                   as "Zahlungstyp",
         v.bereich                            as "Bereichsnummer",
         v.aktenzeichen                       as "Aktenzeichen",
         
         u.name                               as "Sachbearbeiter",
         u.zimmernr                           as "Zimmernr",
         u.durchwahl                          as "Durchwahl",
         u.fax                                as "Fax",
         u.email                              as "eMail",

	     a.nachname                           as "Nachname JM",
	     a.vorname                            as "Vorname JM",
         to_char(p.geburtsdatum,'dd.mm.yyyy') as "GebDat JM",
         p.geschlecht                         as "Geschlecht JM",
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Empf",
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as "Anrede2 Empf",
               
	     nvl(a2.nachname,'')               as "Nachname Empf",
	     nvl(a2.vorname,'')                as "Vorname Empf",
         nvl(a2.zusatz,'')                 as "Zusatz Empf",
         nvl(a2.strassegesamt,'')          as "Straße Empf",
         nvl(a2.plz,'')                    as "PLZ Empf",
         nvl(a2.ort,'')                    as "Ort Empf", 
         nvl((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as "Land Empf",
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Pfl",
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as "Anrede2 Pfl",              
         
         nvl(a3.nachname,'')               as "Nachname Pfl",
	     nvl(a3.vorname,'')                as "Vorname Pfl",
         nvl(a3.zusatz,'')                 as "Zusatz Pfl",
         nvl(a3.strassegesamt,'')          as "Straße Pfl",
         nvl(a3.plz,'')                    as "PLZ Pfl",
         nvl(a3.ort,'')                    as "Ort Pfl",
         nvl((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as "Land Pfl",
         
         to_char(ADD_MONTHS(p.geburtsdatum,72),'dd.mm.yyyy') as "6. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,144),'dd.mm.yyyy') as "12. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,216),'dd.mm.yyyy') as "18. Geburtstag JM",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')  as "Beginn 2. Altersstufe",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')  as "Beginn 3. Altersstufe",
         
          (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then '1 (bis Alter 6)'
                when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then '2 (bis Alter 12)' 
                else '3 (bis Alter 18)' end) as "Stufe im Stichtagsmonat",

         nvl(h.bem,'Manuell berechnete Leistung') as "HauptBezeichnung",
         h.betrag as "HauptBetrag",
         
         ' ' as "KGAbzugBezeichnung",
         0 as "KGAbzugBetrag",
         
         ' ' as "Bezeichnung1",
         0 as "Betrag1",
         ' ' as "Bezeichnung2",
         0 as "Betrag2",
         ' ' as "Bezeichnung3",
         0 as "Betrag3",
         ' ' as "Bezeichnung4",
         0 as "Betrag4",
         ' ' as "Bezeichnung5",
         0 as "Betrag5",
       
         h.betrag as "Gesamtbetrag",
         
         ceil(h.betrag) as "Gesamtbetrag_aufgerundet"

from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                 inner join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka	                 
	                 
	                 
where    h.datvon <= '31.01.2018' 
and      (h.datbis >= '01.01.2018' or h.datbis is null)  

and      v.beginnvorgang <= '31.01.2018'
and      (v.endezahlung >= '01.01.2018' or v.endezahlung is null) 
and      (v.endevorgang >= '01.01.2018' or v.endevorgang is null) 
and      h.typ = 'E'
and      h.kzbetrag = 'M'

UNION

select 	 'Mehrere Beträge'                    as "Zahlungstyp",
         v.bereich                            as "Bereichsnummer",
         v.aktenzeichen                       as "Aktenzeichen",
         
         u.name                               as "Sachbearbeiter",
         u.zimmernr                           as "Zimmernr",
         u.durchwahl                          as "Durchwahl",
         u.fax                                as "Fax",
         u.email                              as "eMail",

	     a.nachname                           as "Nachname JM",
	     a.vorname                            as "Vorname JM",
         to_char(p.geburtsdatum,'dd.mm.yyyy') as "GebDat JM",
         p.geschlecht                         as "Geschlecht JM",
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Empf",
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as "Anrede2 Empf",
               
	     nvl(a2.nachname,'')               as "Nachname Empf",
	     nvl(a2.vorname,'')                as "Vorname Empf",
         nvl(a2.zusatz,'')                 as "Zusatz Empf",
         nvl(a2.strassegesamt,'')          as "Straße Empf",
         nvl(a2.plz,'')                    as "PLZ Empf",
         nvl(a2.ort,'')                    as "Ort Empf", 
         nvl((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as "Land Empf",
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Pfl",
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as "Anrede2 Pfl",              
         
         nvl(a3.nachname,'')               as "Nachname Pfl",
	     nvl(a3.vorname,'')                as "Vorname Pfl",
         nvl(a3.zusatz,'')                 as "Zusatz Pfl",
         nvl(a3.strassegesamt,'')          as "Straße Pfl",
         nvl(a3.plz,'')                    as "PLZ Pfl",
         nvl(a3.ort,'')                    as "Ort Pfl",
         nvl((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as "Land Pfl",
         
         to_char(ADD_MONTHS(p.geburtsdatum,72),'dd.mm.yyyy') as "6. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,144),'dd.mm.yyyy') as "12. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,216),'dd.mm.yyyy') as "18. Geburtstag JM",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')  as "Beginn 2. Altersstufe",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')  as "Beginn 3. Altersstufe",
         
          (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then '1 (bis Alter ' || f.fwalt1 || ')'
                when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then '2 (bis Alter ' || f.fwalt2 || ')' 
                else '3 (bis Alter ' || f.fwalt3 || ')' end) as "Stufe im Stichtagsmonat",

         'Mindestunterhalt (§ 2 Abs. 1 Satz 1 UVG)' as "HauptBezeichnung",

          (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet1 
                when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet2 
                else f.fwbet3 end) + 194 as "HauptBetrag",
               
         'Erstkindergeld (§ 2 Abs. 2 UVG)' as "KGAbzugBezeichnung",
         -194 as "KGAbzugBetrag",
         nvl(mb.tx1,' ') as "Bezeichnung1",
         nvl(mb.ae_betrag1,0) as "Betrag1",
         nvl(mb.tx2,' ') as "Bezeichnung2",
         nvl(mb.ae_betrag2,0) as "Betrag2",
         nvl(mb.tx3,' ') as "Bezeichnung3",
         nvl(mb.ae_betrag3,0) as "Betrag3",
         nvl(mb.tx4,' ') as "Bezeichnung4",
         nvl(mb.ae_betrag4,0) as "Betrag4",
         nvl(mb.tx5,' ') as "Bezeichnung5",
         nvl(mb.ae_betrag5,0) as "Betrag5",
         
         (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet1 
               when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet2 
                else f.fwbet3 end) +
         nvl(mb.ae_betrag1,0)+
         nvl(mb.ae_betrag2,0)+
         nvl(mb.ae_betrag3,0)+
         nvl(mb.ae_betrag4,0)+
         nvl(mb.ae_betrag5,0)   as "Gesamtbetrag",
         
         ceil((case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet1 
                    when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet2 
                else f.fwbet3 end) +
         nvl(mb.ae_betrag1,0)+
         nvl(mb.ae_betrag2,0)+
         nvl(mb.ae_betrag3,0)+
         nvl(mb.ae_betrag4,0)+
         nvl(mb.ae_betrag5,0) )   as "Gesamtbetrag_aufgerundet"

from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join betrviel mb on h.lnr = mb.bnr
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                 inner join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 inner join fewe f on mb.fwnr = f.fwnr
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka	                 
	                 
	                 
where    h.datvon <= '31.01.2018' 
and      (h.datbis >= '01.01.2018' or h.datbis is null)  

and      v.beginnvorgang <= '31.01.2018'
and      (v.endezahlung >= '01.01.2018' or v.endezahlung is null) 
and      (v.endevorgang >= '01.01.2018' or v.endevorgang is null) 
and      h.typ = 'E'
and      h.kzbetrag = 'B'
and      f.gvdat <= '31.01.2018'
and      (f.gbdat >= '01.01.2018' or f.gbdat is null)

order by 2,9,10,11

 

Nicht berücksichtigt werden bei den vorstehenden Scripts Buchhaltungsstammdaten mit Budgetmanagement! Hierfür empfiehlt sich der Druckdienst in Prosoz 14plus mit den mitgelieferten Textbausteinen oder das nachfolgend beschriebene SQL-Script.

 

UVG mit Budgetmanagement

Dieses SQL-Script stellt ebenfalls alle Daten für einen Serienbrief an Zahlungspflichtigen und Zahlungsempfänger bereit.

Voraussetzungen:

  • Leistungsempfänger ist Vater oder Mutter
  • Pflichtiger ist Vater oder Mutter
  • Aktive Buchhaltungsstammdaten beim Leistungsempfänger
  • Budgetstammdaten beim Leistungsempfänger: Eine am Stichtag lfd. Zeile mit Festwert, optional eine weitere Zeile mit anderem Kennzeichen (nicht Festwert) für Zu-/Abschläge  

Das Script liefert in den letzten Spalten alle Beträge, die man für einen Serienbrief braucht: Aus dem Festwert wird je nach Altersstufe der zugrunde liegende Mindestunterhalt ermittelt, Kindergeldabzug und Zu-/Abschlag werden ebenfalls ausgewiesen und zu guter Letzt auch der sich daraus errechnete Zahlbetrag.  

In dem SQL-Script ist als Stichtag der 01.01.2018 bzw. als Ende des Stichtagsmonats der 31.07.2018 sowie ein Kindergeldabzug von 194,- Euro voreingestellt. Passen Sie diese Werte bei Bedarf im gesamten Script an.

 

SQL Code für MS SQL Server

/* UVG Serienbrief für Fälle mit Budgetdaten 
   Leistungsempfänger / -pflichtige mit Beteiligtenart Vater / Mutter

   1. Budgetdatenzeile Festwert mit Netto-UVG-Leistung (MindestUH abzgl. KG)
   evtl. 2. Budgetdatenzeile Manueller Betrag (Zuschlag oder Abzug) */

declare  @stichtag as datetime
declare  @kindergeld as integer
declare  @minuh1 as integer
declare  @minuh2 as integer
declare  @minuh3 as integer
declare  @nettobetrag1 as integer
declare  @nettobetrag2 as integer
declare  @nettobetrag3 as integer

set      @stichtag = '01.01.2018'
set      @kindergeld = 194
set      @minuh1 = 348
set      @minuh2 = 399
set      @minuh3 = 467
set      @nettobetrag1 = 154
set      @nettobetrag2 = 205
set      @nettobetrag3 = 273

select 	 v.bereich                            as [Bereichsnummer],
         v.aktenzeichen                       as [Aktenzeichen],
         
         u.name                               as [Sachbearbeiter],
         u.zimmernr                           as [Zimmernr],
         u.durchwahl                          as [Durchwahl],
         u.fax                                as [Fax],
         u.email                              as [eMail],

	     a.nachname                           as [Nachname JM],
	     a.vorname                            as [Vorname JM],
         CONVERT(char(10),p.geburtsdatum,104) as [GebDat JM],
         p.geschlecht                         as [Geschlecht JM],
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Empf],
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as [Anrede2 Empf],
               
	     isnull(a2.nachname,'')               as [Nachname Empf],
	     isnull(a2.vorname,'')                as [Vorname Empf],
         isnull(a2.zusatz,'')                 as [Zusatz Empf],
         isnull(a2.strassegesamt,'')          as [Straße Empf],
         isnull(a2.plz,'')                    as [PLZ Empf],
         isnull(a2.ort,'')                    as [Ort Empf], 
         isnull((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as [Land Empf],
         
         (case when p3.sterbedatum is not null then 'verstorben' else '' end) as [Pfl_verstorben],
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as [Anrede1 Pfl],
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' + a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' + a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as [Anrede2 Pfl],              
         
         isnull(a3.nachname,'')               as [Nachname Pfl],
	     isnull(a3.vorname,'')                as [Vorname Pfl],
         isnull(a3.zusatz,'')                 as [Zusatz Pfl],
         isnull(a3.strassegesamt,'')          as [Straße Pfl],
         isnull(a3.plz,'')                    as [PLZ Pfl],
         isnull(a3.ort,'')                    as [Ort Pfl],
         isnull((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as [Land Pfl],
         
         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then '1 (bis Alter ' + cast(f.fwalt1 as varchar) + ')' 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then '2 (bis Alter ' + cast(f.fwalt1 as varchar) + ')' 
               else '3 (bis Alter ' + cast(f.fwalt2 as varchar) + ')' end) as [Altersstufe im Stichtagsmonat], 
               
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,6,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 2.Altersstufe],                       
         CONVERT (char (10),CAST(CONVERT(CHAR(6),DATEADD(year,12,p.geburtsdatum),112) + '01' AS Datetime),104) as [Beginn 3.Altersstufe],  
                
         f.fwnr as [Festwertnummer],
         f.fwbez as [Festwertbezeichnung],
         
         (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet1
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet2 
               else f.fwbet3 
               end) as [Festwertbetrag],
         
         (case when (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet2
               else f.fwbet3 
               end) = @nettobetrag1 then @minuh1 
               when (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet2
               else f.fwbet3 
               end) = @nettobetrag2 then @minuh2 
               when (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet2
               else f.fwbet3 
               end) = @nettobetrag3 then @minuh3              
               else 0 end) as [Mindestunterhalt im Stichtagsmonat],
               
         @kindergeld as [Kindergeldabzug im Stichtagsmonat],
         
         isnull(s2.bezmanubetrag,'kein Ab-/Zuschlag') as [Bezeichnung Ab- oder Zuschlag],      
         isnull(s2.betrag,0) as [Ab- oder Zuschlag im Stichtagsmonat], 
         
         (case when (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet1
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet2 
               else f.fwbet3 
               end) = @nettobetrag1 then @minuh1 
               when (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet2
               else f.fwbet3 
               end) = @nettobetrag2 then @minuh2
                when (case when CAST (CONVERT(CHAR(6),DATEADD(year, 6, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet1 
               when CAST (CONVERT(CHAR(6),DATEADD(year, 12, p.geburtsdatum),112) + '01' AS Datetime) > @stichtag 
               then f.fwbet2
               else f.fwbet3 
               end) = @nettobetrag3 then @minuh3
               else 0 end)
         + isnull(s2.betrag,0)
         - @kindergeld as [Zahlbetrag im Stichtagsmonat]
         
               
from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2 
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                                                   
                     inner join hebush s1 on h.lnr = s1.vlnr and ascii(s1.kzbet) = 70	 
                     inner join fewe f on s1.fwnr = f.fwnr
                     
                     left join hebush s2 on h.lnr = s2.vlnr and ascii(s2.kzbet) <> 70 and s2.zeile <> s1.zeile
                               and s2.datvon <= @stichtag 
                               and (s2.datbis >= @stichtag or s2.datbis is null) 
                                                                       
	                 left join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka
	                 left join n_personendaten p3 on b3.adresse = p3.zuordnungsnummer 
	                 
	                 
where    s1.datvon <= @stichtag 
and      (s1.datbis >= @stichtag or s1.datbis is null)  

and      v.beginnvorgang <= @stichtag
and      (v.endezahlung >= @stichtag or v.endezahlung is null) 
and      (v.endevorgang >= @stichtag or v.endevorgang is null) 
and      ascii(h.typ) = 69
and      ascii(h.kzbetrag) = 80

order by v.bereich,
         a.nachname,
         a.vorname

 

SQL Code für ORACLE

/* UVG Serienbrief für Fälle mit Budgetdaten 
   Leistungsempfänger / -pflichtige mit Beteiligtenart Vater / Mutter

   1. Budgetdatenzeile Festwert mit Netto-UVG-Leistung (MindestUH abzgl. KG)
   evtl. 2. Budgetdatenzeile Manueller Betrag (Zuschlag oder Abzug) */

select 	 v.bereich                            as "Bereichsnummer",
         v.aktenzeichen                       as "Aktenzeichen",
         
         u.name                               as "Sachbearbeiter",
         u.zimmernr                           as "Zimmernr",
         u.durchwahl                          as "Durchwahl",
         u.fax                                as "Fax",
         u.email                              as "eMail",

	     a.nachname                           as "Nachname JM",
	     a.vorname                            as "Vorname JM",
         to_char(p.geburtsdatum,'dd.mm.yyyy') as "GebDat JM",
         p.geschlecht                         as "Geschlecht JM",
         
         (case when anr2.adress like 'Herr%' 
               then 'Herrn'
               when anr2.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Empf",
               
         (case when anr2.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a2.nachname
               when anr2.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a2.nachname
               else 'Sehr geehrte/r Leistungsempfänger/in' end) as "Anrede2 Empf",
               
	     nvl(a2.nachname,'')               as "Nachname Empf",
	     nvl(a2.vorname,'')                as "Vorname Empf",
         nvl(a2.zusatz,'')                 as "Zusatz Empf",
         nvl(a2.strassegesamt,'')          as "Straße Empf",
         nvl(a2.plz,'')                    as "PLZ Empf",
         nvl(a2.ort,'')                    as "Ort Empf", 
         nvl((case when l2.lbp = 'Deutschland' then '' else l2.lbp end),'') as "Land Empf",
         
         (case when anr3.adress like 'Herr%' 
               then 'Herrn'
               when anr3.adress like 'Frau%' 
               then 'Frau'
               else '' end)                   as "Anrede1 Pfl",
               
         (case when anr3.adress like 'Herr%' 
               then 'Sehr geehrter Herr ' || a3.nachname
               when anr3.adress like 'Frau%' 
               then 'Sehr geehrte Frau ' || a3.nachname
               else 'Sehr geehrte/r Unterhaltspflichtige/r' end) as "Anrede2 Pfl",              
         
         nvl(a3.nachname,'')               as "Nachname Pfl",
	     nvl(a3.vorname,'')                as "Vorname Pfl",
         nvl(a3.zusatz,'')                 as "Zusatz Pfl",
         nvl(a3.strassegesamt,'')          as "Straße Pfl",
         nvl(a3.plz,'')                    as "PLZ Pfl",
         nvl(a3.ort,'')                    as "Ort Pfl",
         nvl((case when l3.lbp = 'Deutschland' then '' else l3.lbp end),'') as "Land Pfl",

         to_char(ADD_MONTHS(p.geburtsdatum,72),'dd.mm.yyyy') as "6. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,144),'dd.mm.yyyy') as "12. Geburtstag JM",
         to_char(ADD_MONTHS(p.geburtsdatum,216),'dd.mm.yyyy') as "18. Geburtstag JM",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')  as "Beginn 2. Altersstufe",
         '01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')  as "Beginn 3. Altersstufe",
         
          (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then '1 (bis Alter ' || f.fwalt1 || ')'
                when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then '2 (bis Alter ' || f.fwalt2 || ')' 
                else '3 (bis Alter ' || f.fwalt3 || ')' end) as "Stufe im Stichtagsmonat",

         'Mindestunterhalt (§ 2 Abs. 1 Satz 1 UVG)' as "HauptBezeichnung",

          (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet1 
                when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet2 
                else f.fwbet3 end) + 194 as "HauptBetrag",
               
         'Erstkindergeld (§ 2 Abs. 2 UVG)' as "KGAbzugBezeichnung",
         -194 as "KGAbzugBetrag",
         ' ' as "Bezeichnung1",
         0 as "Betrag1",
         ' ' as "Bezeichnung2",
         0 as "Betrag2",
         ' ' as "Bezeichnung3",
         0 as "Betrag3",
         ' ' as "Bezeichnung4",
         0 as "Betrag4",
         ' ' as "Bezeichnung5",
         0 as "Betrag5",     
         
         (case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet1
               when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
                then f.fwbet2 
                else f.fwbet3 end) as "Gesamtbetrag",
               
         ceil((case when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,72),'mm.yyyy')) > to_date('01.01.2018')
              then f.fwbet1 
                    when to_date('01.' || to_char(ADD_MONTHS(p.geburtsdatum,144),'mm.yyyy')) > to_date('01.01.2018')
              then f.fwbet2 
              else f.fwbet3 end))  as "Gesamtbetrag_aufgerundet"
         
              
from     n_vorgang v inner join bere br on v.bereich = br.brs and br.bsg = 2 
                     left join n_benutzer u on v.sachbearbeiter = u.lfdnr

                     inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang and b.beteiligtenart = 7
	                 inner join n_adressen a on b.adresse = a.adressnummer 
	                 inner join n_personendaten p on b.adresse = p.zuordnungsnummer
	                 
	                 inner join hebuch h on v.muendelnr_alt = h.mnr and v.bereich = h.bereich
	                 inner join n_vorgbeteiligte b2 on h.n_vorgbet_fk = b2.beteiligtennummer 
	                                                   and v.vorgangsnummer = b2.vorgang 
	                                                   and b2.beteiligtenart in (2,3)
	                                                   
                     inner join hebush s1 on h.lnr = s1.vlnr and s1.kzbet = 'F'	 
                     inner join fewe f on s1.fwnr = f.fwnr
                     
                     left join hebush s2 on h.lnr = s2.vlnr and s2.kzbet <> 'F' and s2.zeile <> s1.zeile
                               and s2.datvon <= '31.01.2018' 
                               and (s2.datbis >= '31.01.2018' or s2.datbis is null) 
                                                                       
	                 left join n_adressen a2 on b2.adresse = a2.adressnummer
	                 left join anrede anr2 on a2.anrede = anr2.kz
	                 left join land l2 on a2.land = l2.lka
	                 
	                 left join  n_vorgbeteiligte b3 on v.vorgangsnummer = b3.vorgang 
	                                                   and b3.beteiligtenart in (2,3)
	                                                   and b3.beteiligtenart <> b2.beteiligtenart
	                 left join n_adressen a3 on b3.adresse = a3.adressnummer
	                 left join anrede anr3 on a3.anrede = anr3.kz
	                 left join land l3 on a3.land = l3.lka
	                 left join n_personendaten p3 on b3.adresse = p3.zuordnungsnummer 
	                 
	                 
where    s1.datvon <= '31.01.2018' 
and      (s1.datbis >= '31.01.2018' or s1.datbis is null)  

and      v.beginnvorgang <= '31.01.2018'
and      (v.endezahlung >= '31.01.2018' or v.endezahlung is null) 
and      (v.endevorgang >= '31.01.2018' or v.endevorgang is null) 
and      h.typ = 'E'
and      h.kzbetrag= 'P'

order by v.bereich,
         a.nachname,
         a.vorname

 

Bitte beachten Sie vor dem Download von MIS- oder SQL-Auswertungen die Grundsätze für die Nutzung von Auswertungen.