Sofern alle bewilligten Leistungen in den Buchhaltungsstammdaten bzw. Budgetdetailsätzen eines Beteiligten beendet sind (Bis-Datum ist erreicht), ist es ratsam, die Buchhaltungsstammdaten dieses Beteiligten auf "Inaktiv" zu setzen, also das Häcken "Konto ist Aktiv" zu entfernen.
So erreicht man u.a.,
- dass in einem Fall die noch aktiven Buchhaltungsempfänger zuerst angezeigt werden,
- das Programm bei Auto-Läufen nicht in vermeintlich aktiven Buchhaltungsstammdaten versuchen muss, irgendwelche Leistungen zu berechnen und erst an beendeten Festwerten o.ä. feststellt, dass keine Sollstellungen oder Ansprüche zu erzeugen sind
- das Setzen eines Archivierungs- oder Löschdatums nicht an vermeintlich aktiven Buchhaltungsstammdaten scheitert.
Gleichwohl wird das Deaktiveren von Buchhaltungsstammdaten manchmal vergessen. Das nachfolgende SQL-Script listet die betroffenen Vorgänge und Beteiligten auf:
SQL Code für MS SQL Server
select v.bereich as "Bereich",
br.bb as "Bereichsname",
v.aktenzeichen as "Aktenzeichen",
isnull(u.name,'') as "Sachbearbeiter",
a.nachname as "Nachname JM",
a.vorname as "Vorname JM",
convert(char(10),p.geburtsdatum,104) as "GebDat JM",
ba2.bezeichnung as "Beteiligtenart",
a2.nachname as "Nachname Beteiligter",
isnull(a2.vorname,'') as "Vorname Beteiligter",
convert(char(10),h.datbis,104) as "BisDat BuchhStamm Beteiligter",
case ascii(h.typ) when 69 then 'Empfänger (aktiv)'
when 101 then 'Empfänger (inaktiv)'
when 85 then 'Pflichtiger (aktiv)'
when 117 then 'Pflichtiger (inaktiv)'
else h.typ
end as "BuchhKonto Beteiligter"
from n_vorgang v
inner join bere br on v.bereich = br.brs
left join n_benutzer u on v.sachbearbeiter = u.lfdnr
inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang
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
inner join n_beteiligtenarten ba2 on b2.beteiligtenart = ba2.betnummer
inner join n_adressen a2 on b2.adresse = a2.adressnummer
where br.bsg < 6
and b.beteiligtenart = 7
and h.datbis <= getdate()
and ascii(h.typ) in (69,85)
order by 1, 5, 6, p.geburtsdatum, 7, 8, 9
SQL Code für ORACLE
select v.bereich as "Bereich",
br.bb as "Bereichsname",
v.aktenzeichen as "Aktenzeichen",
nvl(u.name,'') as "Sachbearbeiter",
a.nachname as "Nachname JM",
a.vorname as "Vorname JM",
to_char(p.geburtsdatum,'dd.mm.yyyy') as "GebDat JM",
ba2.bezeichnung as "Beteiligtenart",
a2.nachname as "Nachname Beteiligter",
nvl(a2.vorname,'') as "Vorname Beteiligter",
to_char(h.datbis,'dd.mm.yyyy') as "BisDat BuchhStamm Beteiligter",
case h.typ when 'E' then 'Empfänger (aktiv)'
when 'e' then 'Empfänger (inaktiv)'
when 'U' then 'Pflichtiger (aktiv)'
when 'u' then 'pflichtiger (inaktiv)'
else h.typ
end as "BuchhKonto Beteiligter"
from n_vorgang v
inner join bere br on v.bereich = br.brs
left join n_benutzer u on v.sachbearbeiter = u.lfdnr
inner join n_vorgbeteiligte b on v.vorgangsnummer = b.vorgang
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
inner join n_beteiligtenarten ba2 on b2.beteiligtenart = ba2.betnummer
inner join n_adressen a2 on b2.adresse = a2.adressnummer
where br.bsg < 6
and b.beteiligtenart = 7
and h.datbis <= sysdate
and h.typ in ('E','U')
order by 1, 5, 6, p.geburtsdatum, 7, 8, 9